Jakub Kicinski wrote: > On Fri, 30 Aug 2024 14:47:43 -0400 Willem de Bruijn wrote: > > > We have directories in net/lib, and it's a target, and it works, no? > > > > net/lib is not a TARGET in tools/testing/selftests/Makefile. Its > > Makefile only generates dependencies for other targets: TEST_FILES, > > TEST_GEN_FILES and TEST_INCLUDES. > > Oh right, TEST_FILES vs TEST_INCLUDES :( > > Looks like only x86 does some weird stuff and prepends $(OUTPUT) to all > test names. Otherwise the only TEST_NAME with a / in it is > > x86_64/nx_huge_pages_test.sh > > But then again maybe we should give up on the idea of using directories? > Use some separator like --, I mean: > > mv packetdrill/tcp/inq/client.pkt packetdrill/tcp--inq--client.pkt > > Assuming we're moving forward with the interpreter idea we don't need > directories for multi-threading, just for organization. Which perhaps > isn't worth the time investment? Given that we'd mostly interact with > these tests via UI which will flatten it all back? Okay, went with the simplest approach for v1: indeed just flattening the space like this. Only after implementing TEST_PROGS_RECURSE and PRESERVE_TEST_DIRS. Both make kselftest more complex and in subtle ways that could break existing tests. Also simplified the interpreter mechanism. Instead of requiring an environment variable, look for a specific executable in the TARGET dir. This will make the test just work when someone does a manual run. All is tentative and up for revision, of course.