On 7/10/25 2:42 AM, Thomas Huth wrote:
This patch tackles two issues. First, the tests/functional folder has become quite crowded already, some restructuring would be helpful here. Second, we currently encode the target architecture twice in the test names since a lot of the test file names contain the target, too. This contributes to the very long output lines when running "make check-functional".
I agree with the "crowded" aspect of functional tests, and subfolders are definitely welcome.
Concerning the long line, it seems that setup ("thorough" in this example) is repeated 3 times on it, which is a bigger issue than having arch name being repeated.
A simpler solution for the "long line" issue would be to change mtest2make.py to generate shorter test target names. This would not benefit for using meson test directly, but from what I understood, this is not recommended nor supported anyway.
So let's move the individual test files to target specific folders now. Then we can drop the target from the file name (and thus from the test name). Before the change, the output looked like this: ... 195/236 qemu:func-thorough+func-microblazeel-thorough+thorough / func-microblazeel-microblazeel_s3adsp1800 OK 2.00s 2 subtests passed 196/236 qemu:func-thorough+func-microblaze-thorough+thorough / func-microblaze-microblaze_replay OK 2.78s 1 subtests passed 197/236 qemu:func-thorough+func-microblaze-thorough+thorough / func-microblaze-microblaze_s3adsp1800 OK 2.02s 2 subtests passed 198/236 qemu:func-thorough+func-mips64el-thorough+thorough / func-mips64el-mips64el_fuloong2e OK 1.95s 1 subtests passed 199/236 qemu:func-thorough+func-mips64el-thorough+thorough / func-mips64el-mips64el_loongson3v SKIP 0.07s 0 subtests passed 200/236 qemu:func-thorough+func-mips64el-thorough+thorough / func-mips64el-mips64el_tuxrun OK 8.52s 1 subtests passed ... After this change, it gets a little bit shorter: ... 195/236 qemu:func-thorough+func-microblazeel-thorough+thorough / func-microblazeel-s3adsp1800 OK 2.12s 2 subtests passed 196/236 qemu:func-thorough+func-microblaze-thorough+thorough / func-microblaze-replay OK 2.90s 1 subtests passed 197/236 qemu:func-thorough+func-microblaze-thorough+thorough / func-microblaze-s3adsp1800 OK 2.07s 2 subtests passed 198/236 qemu:func-thorough+func-mips64el-thorough+thorough / func-mips64el-fuloong2e OK 2.05s 1 subtests passed 199/236 qemu:func-thorough+func-mips64el-thorough+thorough / func-mips64el-loongson3v SKIP 0.07s 0 subtests passed 200/236 qemu:func-thorough+func-mips64el-thorough+thorough / func-mips64el-tuxrun OK 8.84s 1 subtests passed ... Tests that can be used for multiple but not all targets (like the "migration" test) are now handled via symlinks in the target folders. Signed-off-by: Thomas Huth <th...@redhat.com> --- Note: Marked as RFC since I'm not that happy about the symlinks yet ... if someone has a better idea, please let me know!
Same as Manos, correctly extracting common code looks better than finding a workaround with symlinks to satisfy import rules.
Also the update to the MAINTAINERS file is still missing - I'll add that once we agreed on whether this patch is a good idea or not.
Thanks, Pierrick