On Thu, 2 May 2024 21:20:11 +0000 Joe Damato wrote:
--- a/tools/testing/selftests/net/Makefile +++ b/tools/testing/selftests/net/Makefile @@ -84,6 +84,7 @@ TEST_GEN_FILES += sctp_hello TEST_GEN_FILES += csum TEST_GEN_FILES += ip_local_port_range TEST_GEN_FILES += bind_wildcard +TEST_GEN_FILES += epoll_busy_poll
"GEN" is for files which are built for other tests to use. IOW unless there's also a wrapper script under TEST_PROGS (or the C code is itself under TEST_PROGS) this test won't be executed by most CIs.
FWIW here's how we run the tests in our CI upstream CI: https://github.com/linux-netdev/nipa/wiki/How-to-run-netdev-selftests-CI-sty...
TEST_PROGS += test_vxlan_mdb.sh TEST_PROGS += test_bridge_neigh_suppress.sh TEST_PROGS += test_vxlan_nolocalbypass.sh
+static void do_simple_test(void) +{
- int fd;
- fd = epoll_create1(0);
- if (fd == -1)
error(1, errno, "epoll_create");
- do_simple_test_invalid_fd();
- do_simple_test_invalid_ioctl(fd);
- do_simple_test_get_params(fd);
- do_simple_test_set_invalid(fd);
- do_simple_test_set_and_get_valid(fd);
You don't want to use the kselftest_harness for this? No strong preference here, but seems like you could pop the epoll_create1 into a FIXTURE() and then the test cases into TEST_F() and we'd get the KTAP output formatting, ability to run the tests selectively etc. for free.
tools/testing/selftests/net/tap.c is probably a good example to take a look at