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

Reply via email to