Hi! > I realise we could add new test cases _basically_ forever, but I'd like > to see a little more coverage in test_invalid_fd(). It currently tests > both pipes and sockets, but we have so many more fd types. Maybe there > are good abstractions inside LTP already for creating these? I'd > like to see tests that the following also return -EINVAL: > > - an io_uring fd > - /dev/zero > - /proc/self/maps (or something else in /proc we can get unprivileged > access to) > - a directory (debatable! maybe we should allow prefetching a > directory!) This sounds like a good idea. We do have an API to iterate over filesystems but not API to iterate over file descriptors, I suppose that we will need an enum with fd type passed along with the file descriptor so that we can set the expectations right and then just define a function that would take the structure and do the test, something as: enum tst_fd_type { TST_FD_IO_URING, TST_FD_DEV_ZERO, TST_FD_PROC_MAPS, ... }; struct tst_fd { enum tst_fd_type type; int fd; }; static void test_fd(struct tst_fd *fd) { if (fd->type == TST_FD...) TST_EXP_PASS(...); else TST_EXP_FAIL(...); } I can add something like this once we are done with the September LTP release. -- Cyril Hrubis chrubis@xxxxxxx