On Thu, Jul 10, 2025 at 12:51 PM Thomas Huth <th...@redhat.com> 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". > > 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!
How about making those tests utility functions that each target arch imports and calls? It feels cleaner than symlinks, I think. > 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. > > tests/functional/aarch64/meson.build | 47 +++ > .../test_aspeed_ast2700.py} | 0 > .../test_aspeed_ast2700fc.py} | 0 > .../test_device_passthrough.py} | 0 > .../test_hotplug_pci.py} | 0 > .../test_imx8mp_evk.py} | 0 > tests/functional/aarch64/test_migration.py | 1 + > tests/functional/aarch64/test_multiprocess.py | 1 + > .../test_raspi3.py} | 0 > .../test_raspi4.py} | 0 > .../test_replay.py} | 0 > .../test_reverse_debug.py} | 0 > .../test_rme_sbsaref.py} | 2 +- > .../test_rme_virt.py} | 0 > .../test_sbsaref.py} | 0 > .../test_sbsaref_alpine.py} | 2 +- > .../test_sbsaref_freebsd.py} | 2 +- > .../test_smmu.py} | 0 > .../test_tcg_plugins.py} | 0 > .../test_tuxrun.py} | 0 > .../test_virt.py} | 0 > .../test_virt_gpu.py} | 0 > .../test_xen.py} | 0 > .../test_xlnx_versal.py} | 0 > tests/functional/alpha/meson.build | 9 + > .../test_clipper.py} | 0 > tests/functional/alpha/test_migration.py | 1 + > .../test_replay.py} | 0 > tests/functional/arm/meson.build | 61 +++ > .../test_aspeed_ast1030.py} | 0 > .../test_aspeed_ast2500.py} | 0 > .../test_aspeed_ast2600.py} | 0 > .../test_aspeed_bletchley.py} | 0 > .../test_aspeed_catalina.py} | 0 > .../test_aspeed_gb200nvl_bmc.py} | 0 > .../test_aspeed_palmetto.py} | 0 > .../test_aspeed_rainier.py} | 0 > .../test_aspeed_romulus.py} | 0 > .../test_aspeed_witherspoon.py} | 0 > .../{test_arm_bflt.py => arm/test_bflt.py} | 0 > .../test_bpim2u.py} | 0 > .../test_canona1100.py} | 0 > .../test_collie.py} | 0 > .../test_cubieboard.py} | 0 > .../test_emcraft_sf2.py} | 0 > .../test_integratorcp.py} | 0 > .../test_microbit.py} | 0 > tests/functional/arm/test_migration.py | 1 + > .../test_orangepi.py} | 0 > .../test_quanta_gsj.py} | 0 > .../test_raspi2.py} | 0 > .../test_realview.py} | 0 > .../test_replay.py} | 0 > .../test_smdkc210.py} | 0 > .../test_stellaris.py} | 0 > .../{test_arm_sx1.py => arm/test_sx1.py} | 0 > .../test_tuxrun.py} | 0 > .../test_vexpress.py} | 0 > .../{test_arm_virt.py => arm/test_virt.py} | 0 > tests/functional/avr/meson.build | 5 + > .../test_mega2560.py} | 0 > .../{test_avr_uno.py => avr/test_uno.py} | 0 > .../{ => generic}/test_empty_cpu_model.py | 0 > .../{ => generic}/test_info_usernet.py | 0 > .../{ => generic}/test_migration.py | 0 > .../functional/{ => generic}/test_version.py | 0 > tests/functional/hppa/meson.build | 4 + > .../test_seabios.py} | 0 > tests/functional/i386/meson.build | 9 + > tests/functional/i386/test_migration.py | 1 + > .../test_replay.py} | 0 > .../test_tuxrun.py} | 0 > tests/functional/loongarch64/meson.build | 4 + > .../test_virt.py} | 0 > tests/functional/m68k/meson.build | 8 + > .../test_mcf5208evb.py} | 0 > .../test_nextcube.py} | 0 > .../{test_m68k_q800.py => m68k/test_q800.py} | 0 > .../test_replay.py} | 0 > .../test_tuxrun.py} | 0 > tests/functional/meson.build | 364 ++---------------- > tests/functional/microblaze/meson.build | 5 + > .../test_replay.py} | 0 > .../test_s3adsp1800.py} | 0 > tests/functional/microblazeel/meson.build | 4 + > .../test_s3adsp1800.py} | 2 +- > tests/functional/mips/meson.build | 11 + > .../test_malta.py} | 0 > .../test_replay.py} | 0 > .../test_tuxrun.py} | 0 > tests/functional/mips64/meson.build | 10 + > .../test_malta.py} | 2 +- > .../test_tuxrun.py} | 0 > tests/functional/mips64el/meson.build | 14 + > .../test_fuloong2e.py} | 0 > .../test_loongson3v.py} | 0 > .../test_malta.py} | 4 +- > .../test_replay.py} | 0 > .../test_tuxrun.py} | 0 > tests/functional/mipsel/meson.build | 12 + > .../test_malta.py} | 2 +- > .../test_replay.py} | 0 > .../test_tuxrun.py} | 0 > tests/functional/or1k/meson.build | 5 + > .../test_replay.py} | 0 > .../{test_or1k_sim.py => or1k/test_sim.py} | 0 > tests/functional/ppc/meson.build | 22 ++ > .../{test_ppc_40p.py => ppc/test_40p.py} | 0 > .../{test_ppc_74xx.py => ppc/test_74xx.py} | 0 > .../{test_ppc_amiga.py => ppc/test_amiga.py} | 0 > .../test_bamboo.py} | 0 > .../{test_ppc_mac.py => ppc/test_mac.py} | 0 > tests/functional/ppc/test_migration.py | 1 + > .../test_mpc8544ds.py} | 0 > .../test_replay.py} | 0 > .../test_sam460ex.py} | 0 > .../test_tuxrun.py} | 0 > .../test_virtex_ml507.py} | 0 > tests/functional/ppc64/meson.build | 25 ++ > .../test_e500.py} | 0 > .../{test_ppc64_hv.py => ppc64/test_hv.py} | 0 > .../test_mac99.py} | 0 > tests/functional/ppc64/test_migration.py | 1 + > .../test_powernv.py} | 0 > .../test_pseries.py} | 0 > .../test_replay.py} | 0 > .../test_reverse_debug.py} | 0 > .../test_tuxrun.py} | 0 > tests/functional/riscv32/meson.build | 9 + > tests/functional/riscv32/test_migration.py | 1 + > tests/functional/riscv32/test_opensbi.py | 1 + > .../test_tuxrun.py} | 0 > tests/functional/riscv64/meson.build | 13 + > .../test_opensbi.py} | 0 > .../test_tuxrun.py} | 0 > tests/functional/rx/meson.build | 4 + > .../{test_rx_gdbsim.py => rx/test_gdbsim.py} | 0 > tests/functional/s390x/meson.build | 12 + > .../test_ccw_virtio.py} | 0 > .../test_replay.py} | 0 > .../test_topology.py} | 0 > .../test_tuxrun.py} | 0 > tests/functional/sh4/meson.build | 10 + > .../{test_sh4_r2d.py => sh4/test_r2d.py} | 0 > .../test_tuxrun.py} | 0 > tests/functional/sh4eb/meson.build | 4 + > .../{test_sh4eb_r2d.py => sh4eb/test_r2d.py} | 0 > tests/functional/sparc/meson.build | 9 + > tests/functional/sparc/test_migration.py | 1 + > .../test_replay.py} | 0 > .../test_sun4m.py} | 0 > tests/functional/sparc64/meson.build | 9 + > tests/functional/sparc64/test_migration.py | 1 + > .../test_sun4u.py} | 0 > .../test_tuxrun.py} | 0 > tests/functional/x86_64/meson.build | 37 ++ > .../functional/{ => x86_64}/test_acpi_bits.py | 0 > .../{ => x86_64}/test_cpu_queries.py | 0 > .../test_hotplug_blk.py} | 0 > .../test_hotplug_cpu.py} | 0 > .../{ => x86_64}/test_intel_iommu.py | 0 > .../test_kvm_xen.py} | 0 > .../{ => x86_64}/test_linux_initrd.py | 0 > .../{ => x86_64}/test_mem_addr_space.py | 0 > tests/functional/{ => x86_64}/test_memlock.py | 0 > tests/functional/x86_64/test_migration.py | 1 + > .../{ => x86_64}/test_multiprocess.py | 0 > .../{ => x86_64}/test_netdev_ethtool.py | 0 > .../{ => x86_64}/test_pc_cpu_hotplug_props.py | 0 > .../test_replay.py} | 0 > .../test_reverse_debug.py} | 0 > .../test_tuxrun.py} | 0 > .../{ => x86_64}/test_virtio_balloon.py | 0 > .../{ => x86_64}/test_virtio_gpu.py | 0 > .../{ => x86_64}/test_virtio_version.py | 0 > tests/functional/{ => x86_64}/test_vnc.py | 0 > .../test_x86_cpu_model_versions.py | 0 > tests/functional/xtensa/meson.build | 5 + > .../test_lx60.py} | 0 > .../test_replay.py} | 0 > 180 files changed, 426 insertions(+), 333 deletions(-) > create mode 100644 tests/functional/aarch64/meson.build > rename tests/functional/{test_aarch64_aspeed_ast2700.py => > aarch64/test_aspeed_ast2700.py} (100%) > rename tests/functional/{test_aarch64_aspeed_ast2700fc.py => > aarch64/test_aspeed_ast2700fc.py} (100%) > rename tests/functional/{test_aarch64_device_passthrough.py => > aarch64/test_device_passthrough.py} (100%) > rename tests/functional/{test_aarch64_hotplug_pci.py => > aarch64/test_hotplug_pci.py} (100%) > rename tests/functional/{test_aarch64_imx8mp_evk.py => > aarch64/test_imx8mp_evk.py} (100%) > create mode 120000 tests/functional/aarch64/test_migration.py > create mode 120000 tests/functional/aarch64/test_multiprocess.py > rename tests/functional/{test_aarch64_raspi3.py => aarch64/test_raspi3.py} > (100%) > rename tests/functional/{test_aarch64_raspi4.py => aarch64/test_raspi4.py} > (100%) > rename tests/functional/{test_aarch64_replay.py => aarch64/test_replay.py} > (100%) > rename tests/functional/{test_aarch64_reverse_debug.py => > aarch64/test_reverse_debug.py} (100%) > rename tests/functional/{test_aarch64_rme_sbsaref.py => > aarch64/test_rme_sbsaref.py} (98%) > rename tests/functional/{test_aarch64_rme_virt.py => > aarch64/test_rme_virt.py} (100%) > rename tests/functional/{test_aarch64_sbsaref.py => aarch64/test_sbsaref.py} > (100%) > rename tests/functional/{test_aarch64_sbsaref_alpine.py => > aarch64/test_sbsaref_alpine.py} (97%) > rename tests/functional/{test_aarch64_sbsaref_freebsd.py => > aarch64/test_sbsaref_freebsd.py} (97%) > rename tests/functional/{test_aarch64_smmu.py => aarch64/test_smmu.py} (100%) > rename tests/functional/{test_aarch64_tcg_plugins.py => > aarch64/test_tcg_plugins.py} (100%) > rename tests/functional/{test_aarch64_tuxrun.py => aarch64/test_tuxrun.py} > (100%) > rename tests/functional/{test_aarch64_virt.py => aarch64/test_virt.py} (100%) > rename tests/functional/{test_aarch64_virt_gpu.py => > aarch64/test_virt_gpu.py} (100%) > rename tests/functional/{test_aarch64_xen.py => aarch64/test_xen.py} (100%) > rename tests/functional/{test_aarch64_xlnx_versal.py => > aarch64/test_xlnx_versal.py} (100%) > create mode 100644 tests/functional/alpha/meson.build > rename tests/functional/{test_alpha_clipper.py => alpha/test_clipper.py} > (100%) > create mode 120000 tests/functional/alpha/test_migration.py > rename tests/functional/{test_alpha_replay.py => alpha/test_replay.py} (100%) > create mode 100644 tests/functional/arm/meson.build > rename tests/functional/{test_arm_aspeed_ast1030.py => > arm/test_aspeed_ast1030.py} (100%) > rename tests/functional/{test_arm_aspeed_ast2500.py => > arm/test_aspeed_ast2500.py} (100%) > rename tests/functional/{test_arm_aspeed_ast2600.py => > arm/test_aspeed_ast2600.py} (100%) > rename tests/functional/{test_arm_aspeed_bletchley.py => > arm/test_aspeed_bletchley.py} (100%) > rename tests/functional/{test_arm_aspeed_catalina.py => > arm/test_aspeed_catalina.py} (100%) > rename tests/functional/{test_arm_aspeed_gb200nvl_bmc.py => > arm/test_aspeed_gb200nvl_bmc.py} (100%) > mode change 100644 => 100755 > rename tests/functional/{test_arm_aspeed_palmetto.py => > arm/test_aspeed_palmetto.py} (100%) > rename tests/functional/{test_arm_aspeed_rainier.py => > arm/test_aspeed_rainier.py} (100%) > rename tests/functional/{test_arm_aspeed_romulus.py => > arm/test_aspeed_romulus.py} (100%) > rename tests/functional/{test_arm_aspeed_witherspoon.py => > arm/test_aspeed_witherspoon.py} (100%) > rename tests/functional/{test_arm_bflt.py => arm/test_bflt.py} (100%) > rename tests/functional/{test_arm_bpim2u.py => arm/test_bpim2u.py} (100%) > rename tests/functional/{test_arm_canona1100.py => arm/test_canona1100.py} > (100%) > rename tests/functional/{test_arm_collie.py => arm/test_collie.py} (100%) > rename tests/functional/{test_arm_cubieboard.py => arm/test_cubieboard.py} > (100%) > rename tests/functional/{test_arm_emcraft_sf2.py => arm/test_emcraft_sf2.py} > (100%) > rename tests/functional/{test_arm_integratorcp.py => > arm/test_integratorcp.py} (100%) > rename tests/functional/{test_arm_microbit.py => arm/test_microbit.py} (100%) > create mode 120000 tests/functional/arm/test_migration.py > rename tests/functional/{test_arm_orangepi.py => arm/test_orangepi.py} (100%) > rename tests/functional/{test_arm_quanta_gsj.py => arm/test_quanta_gsj.py} > (100%) > rename tests/functional/{test_arm_raspi2.py => arm/test_raspi2.py} (100%) > rename tests/functional/{test_arm_realview.py => arm/test_realview.py} (100%) > rename tests/functional/{test_arm_replay.py => arm/test_replay.py} (100%) > rename tests/functional/{test_arm_smdkc210.py => arm/test_smdkc210.py} (100%) > rename tests/functional/{test_arm_stellaris.py => arm/test_stellaris.py} > (100%) > rename tests/functional/{test_arm_sx1.py => arm/test_sx1.py} (100%) > rename tests/functional/{test_arm_tuxrun.py => arm/test_tuxrun.py} (100%) > rename tests/functional/{test_arm_vexpress.py => arm/test_vexpress.py} (100%) > rename tests/functional/{test_arm_virt.py => arm/test_virt.py} (100%) > create mode 100644 tests/functional/avr/meson.build > rename tests/functional/{test_avr_mega2560.py => avr/test_mega2560.py} (100%) > rename tests/functional/{test_avr_uno.py => avr/test_uno.py} (100%) > rename tests/functional/{ => generic}/test_empty_cpu_model.py (100%) > rename tests/functional/{ => generic}/test_info_usernet.py (100%) > rename tests/functional/{ => generic}/test_migration.py (100%) > rename tests/functional/{ => generic}/test_version.py (100%) > create mode 100644 tests/functional/hppa/meson.build > rename tests/functional/{test_hppa_seabios.py => hppa/test_seabios.py} (100%) > create mode 100644 tests/functional/i386/meson.build > create mode 120000 tests/functional/i386/test_migration.py > rename tests/functional/{test_i386_replay.py => i386/test_replay.py} (100%) > rename tests/functional/{test_i386_tuxrun.py => i386/test_tuxrun.py} (100%) > create mode 100644 tests/functional/loongarch64/meson.build > rename tests/functional/{test_loongarch64_virt.py => > loongarch64/test_virt.py} (100%) > create mode 100644 tests/functional/m68k/meson.build > rename tests/functional/{test_m68k_mcf5208evb.py => m68k/test_mcf5208evb.py} > (100%) > rename tests/functional/{test_m68k_nextcube.py => m68k/test_nextcube.py} > (100%) > rename tests/functional/{test_m68k_q800.py => m68k/test_q800.py} (100%) > rename tests/functional/{test_m68k_replay.py => m68k/test_replay.py} (100%) > rename tests/functional/{test_m68k_tuxrun.py => m68k/test_tuxrun.py} (100%) > create mode 100644 tests/functional/microblaze/meson.build > rename tests/functional/{test_microblaze_replay.py => > microblaze/test_replay.py} (100%) > rename tests/functional/{test_microblaze_s3adsp1800.py => > microblaze/test_s3adsp1800.py} (100%) > create mode 100644 tests/functional/microblazeel/meson.build > rename tests/functional/{test_microblazeel_s3adsp1800.py => > microblazeel/test_s3adsp1800.py} (92%) > create mode 100644 tests/functional/mips/meson.build > rename tests/functional/{test_mips_malta.py => mips/test_malta.py} (100%) > rename tests/functional/{test_mips_replay.py => mips/test_replay.py} (100%) > rename tests/functional/{test_mips_tuxrun.py => mips/test_tuxrun.py} (100%) > create mode 100644 tests/functional/mips64/meson.build > rename tests/functional/{test_mips64_malta.py => mips64/test_malta.py} (96%) > rename tests/functional/{test_mips64_tuxrun.py => mips64/test_tuxrun.py} > (100%) > create mode 100644 tests/functional/mips64el/meson.build > rename tests/functional/{test_mips64el_fuloong2e.py => > mips64el/test_fuloong2e.py} (100%) > rename tests/functional/{test_mips64el_loongson3v.py => > mips64el/test_loongson3v.py} (100%) > rename tests/functional/{test_mips64el_malta.py => mips64el/test_malta.py} > (98%) > rename tests/functional/{test_mips64el_replay.py => mips64el/test_replay.py} > (100%) > rename tests/functional/{test_mips64el_tuxrun.py => mips64el/test_tuxrun.py} > (100%) > create mode 100644 tests/functional/mipsel/meson.build > rename tests/functional/{test_mipsel_malta.py => mipsel/test_malta.py} (98%) > rename tests/functional/{test_mipsel_replay.py => mipsel/test_replay.py} > (100%) > rename tests/functional/{test_mipsel_tuxrun.py => mipsel/test_tuxrun.py} > (100%) > create mode 100644 tests/functional/or1k/meson.build > rename tests/functional/{test_or1k_replay.py => or1k/test_replay.py} (100%) > rename tests/functional/{test_or1k_sim.py => or1k/test_sim.py} (100%) > create mode 100644 tests/functional/ppc/meson.build > rename tests/functional/{test_ppc_40p.py => ppc/test_40p.py} (100%) > rename tests/functional/{test_ppc_74xx.py => ppc/test_74xx.py} (100%) > rename tests/functional/{test_ppc_amiga.py => ppc/test_amiga.py} (100%) > rename tests/functional/{test_ppc_bamboo.py => ppc/test_bamboo.py} (100%) > rename tests/functional/{test_ppc_mac.py => ppc/test_mac.py} (100%) > create mode 120000 tests/functional/ppc/test_migration.py > rename tests/functional/{test_ppc_mpc8544ds.py => ppc/test_mpc8544ds.py} > (100%) > rename tests/functional/{test_ppc_replay.py => ppc/test_replay.py} (100%) > rename tests/functional/{test_ppc_sam460ex.py => ppc/test_sam460ex.py} (100%) > rename tests/functional/{test_ppc_tuxrun.py => ppc/test_tuxrun.py} (100%) > rename tests/functional/{test_ppc_virtex_ml507.py => > ppc/test_virtex_ml507.py} (100%) > create mode 100644 tests/functional/ppc64/meson.build > rename tests/functional/{test_ppc64_e500.py => ppc64/test_e500.py} (100%) > rename tests/functional/{test_ppc64_hv.py => ppc64/test_hv.py} (100%) > rename tests/functional/{test_ppc64_mac99.py => ppc64/test_mac99.py} (100%) > create mode 120000 tests/functional/ppc64/test_migration.py > rename tests/functional/{test_ppc64_powernv.py => ppc64/test_powernv.py} > (100%) > rename tests/functional/{test_ppc64_pseries.py => ppc64/test_pseries.py} > (100%) > rename tests/functional/{test_ppc64_replay.py => ppc64/test_replay.py} (100%) > rename tests/functional/{test_ppc64_reverse_debug.py => > ppc64/test_reverse_debug.py} (100%) > rename tests/functional/{test_ppc64_tuxrun.py => ppc64/test_tuxrun.py} (100%) > create mode 100644 tests/functional/riscv32/meson.build > create mode 120000 tests/functional/riscv32/test_migration.py > create mode 120000 tests/functional/riscv32/test_opensbi.py > rename tests/functional/{test_riscv32_tuxrun.py => riscv32/test_tuxrun.py} > (100%) > create mode 100644 tests/functional/riscv64/meson.build > rename tests/functional/{test_riscv_opensbi.py => riscv64/test_opensbi.py} > (100%) > rename tests/functional/{test_riscv64_tuxrun.py => riscv64/test_tuxrun.py} > (100%) > create mode 100644 tests/functional/rx/meson.build > rename tests/functional/{test_rx_gdbsim.py => rx/test_gdbsim.py} (100%) > create mode 100644 tests/functional/s390x/meson.build > rename tests/functional/{test_s390x_ccw_virtio.py => > s390x/test_ccw_virtio.py} (100%) > rename tests/functional/{test_s390x_replay.py => s390x/test_replay.py} (100%) > rename tests/functional/{test_s390x_topology.py => s390x/test_topology.py} > (100%) > rename tests/functional/{test_s390x_tuxrun.py => s390x/test_tuxrun.py} (100%) > create mode 100644 tests/functional/sh4/meson.build > rename tests/functional/{test_sh4_r2d.py => sh4/test_r2d.py} (100%) > rename tests/functional/{test_sh4_tuxrun.py => sh4/test_tuxrun.py} (100%) > create mode 100644 tests/functional/sh4eb/meson.build > rename tests/functional/{test_sh4eb_r2d.py => sh4eb/test_r2d.py} (100%) > create mode 100644 tests/functional/sparc/meson.build > create mode 120000 tests/functional/sparc/test_migration.py > rename tests/functional/{test_sparc_replay.py => sparc/test_replay.py} (100%) > rename tests/functional/{test_sparc_sun4m.py => sparc/test_sun4m.py} (100%) > create mode 100644 tests/functional/sparc64/meson.build > create mode 120000 tests/functional/sparc64/test_migration.py > rename tests/functional/{test_sparc64_sun4u.py => sparc64/test_sun4u.py} > (100%) > rename tests/functional/{test_sparc64_tuxrun.py => sparc64/test_tuxrun.py} > (100%) > create mode 100644 tests/functional/x86_64/meson.build > rename tests/functional/{ => x86_64}/test_acpi_bits.py (100%) > rename tests/functional/{ => x86_64}/test_cpu_queries.py (100%) > rename tests/functional/{test_x86_64_hotplug_blk.py => > x86_64/test_hotplug_blk.py} (100%) > rename tests/functional/{test_x86_64_hotplug_cpu.py => > x86_64/test_hotplug_cpu.py} (100%) > rename tests/functional/{ => x86_64}/test_intel_iommu.py (100%) > rename tests/functional/{test_x86_64_kvm_xen.py => x86_64/test_kvm_xen.py} > (100%) > rename tests/functional/{ => x86_64}/test_linux_initrd.py (100%) > rename tests/functional/{ => x86_64}/test_mem_addr_space.py (100%) > rename tests/functional/{ => x86_64}/test_memlock.py (100%) > create mode 120000 tests/functional/x86_64/test_migration.py > rename tests/functional/{ => x86_64}/test_multiprocess.py (100%) > rename tests/functional/{ => x86_64}/test_netdev_ethtool.py (100%) > rename tests/functional/{ => x86_64}/test_pc_cpu_hotplug_props.py (100%) > rename tests/functional/{test_x86_64_replay.py => x86_64/test_replay.py} > (100%) > rename tests/functional/{test_x86_64_reverse_debug.py => > x86_64/test_reverse_debug.py} (100%) > rename tests/functional/{test_x86_64_tuxrun.py => x86_64/test_tuxrun.py} > (100%) > rename tests/functional/{ => x86_64}/test_virtio_balloon.py (100%) > rename tests/functional/{ => x86_64}/test_virtio_gpu.py (100%) > rename tests/functional/{ => x86_64}/test_virtio_version.py (100%) > rename tests/functional/{ => x86_64}/test_vnc.py (100%) > rename tests/functional/{ => x86_64}/test_x86_cpu_model_versions.py (100%) > create mode 100644 tests/functional/xtensa/meson.build > rename tests/functional/{test_xtensa_lx60.py => xtensa/test_lx60.py} (100%) > rename tests/functional/{test_xtensa_replay.py => xtensa/test_replay.py} > (100%) > > diff --git a/tests/functional/aarch64/meson.build > b/tests/functional/aarch64/meson.build > new file mode 100644 > index 00000000000..ebb16282692 > --- /dev/null > +++ b/tests/functional/aarch64/meson.build > @@ -0,0 +1,47 @@ > + > +# Timeouts for individual tests that can be slow e.g. with debugging enabled > +test_aarch64_timeouts = { > + 'aspeed_ast2700' : 600, > + 'aspeed_ast2700fc' : 600, > + 'device_passthrough' : 720, > + 'imx8mp_evk' : 240, > + 'raspi4' : 480, > + 'reverse_debug' : 180, > + 'rme_virt' : 1200, > + 'rme_sbsaref' : 1200, > + 'sbsaref_alpine' : 1200, > + 'sbsaref_freebsd' : 720, > + 'smmu' : 720, > + 'tuxrun' : 240, > + 'virt' : 360, > + 'virt_gpu' : 480, > +} > + > +tests_aarch64_system_quick = [ > + 'migration', > +] > + > +tests_aarch64_system_thorough = [ > + 'aspeed_ast2700', > + 'aspeed_ast2700fc', > + 'device_passthrough', > + 'hotplug_pci', > + 'imx8mp_evk', > + 'raspi3', > + 'raspi4', > + 'replay', > + 'reverse_debug', > + 'rme_virt', > + 'rme_sbsaref', > + 'sbsaref', > + 'sbsaref_alpine', > + 'sbsaref_freebsd', > + 'smmu', > + 'tcg_plugins', > + 'tuxrun', > + 'virt', > + 'virt_gpu', > + 'xen', > + 'xlnx_versal', > + 'multiprocess', > +] > diff --git a/tests/functional/test_aarch64_aspeed_ast2700.py > b/tests/functional/aarch64/test_aspeed_ast2700.py > similarity index 100% > rename from tests/functional/test_aarch64_aspeed_ast2700.py > rename to tests/functional/aarch64/test_aspeed_ast2700.py > diff --git a/tests/functional/test_aarch64_aspeed_ast2700fc.py > b/tests/functional/aarch64/test_aspeed_ast2700fc.py > similarity index 100% > rename from tests/functional/test_aarch64_aspeed_ast2700fc.py > rename to tests/functional/aarch64/test_aspeed_ast2700fc.py > diff --git a/tests/functional/test_aarch64_device_passthrough.py > b/tests/functional/aarch64/test_device_passthrough.py > similarity index 100% > rename from tests/functional/test_aarch64_device_passthrough.py > rename to tests/functional/aarch64/test_device_passthrough.py > diff --git a/tests/functional/test_aarch64_hotplug_pci.py > b/tests/functional/aarch64/test_hotplug_pci.py > similarity index 100% > rename from tests/functional/test_aarch64_hotplug_pci.py > rename to tests/functional/aarch64/test_hotplug_pci.py > diff --git a/tests/functional/test_aarch64_imx8mp_evk.py > b/tests/functional/aarch64/test_imx8mp_evk.py > similarity index 100% > rename from tests/functional/test_aarch64_imx8mp_evk.py > rename to tests/functional/aarch64/test_imx8mp_evk.py > diff --git a/tests/functional/aarch64/test_migration.py > b/tests/functional/aarch64/test_migration.py > new file mode 120000 > index 00000000000..3933b7f3345 > --- /dev/null > +++ b/tests/functional/aarch64/test_migration.py > @@ -0,0 +1 @@ > +../generic/test_migration.py > \ No newline at end of file > diff --git a/tests/functional/aarch64/test_multiprocess.py > b/tests/functional/aarch64/test_multiprocess.py > new file mode 120000 > index 00000000000..ff4ff5314a7 > --- /dev/null > +++ b/tests/functional/aarch64/test_multiprocess.py > @@ -0,0 +1 @@ > +../x86_64/test_multiprocess.py > \ No newline at end of file > diff --git a/tests/functional/test_aarch64_raspi3.py > b/tests/functional/aarch64/test_raspi3.py > similarity index 100% > rename from tests/functional/test_aarch64_raspi3.py > rename to tests/functional/aarch64/test_raspi3.py > diff --git a/tests/functional/test_aarch64_raspi4.py > b/tests/functional/aarch64/test_raspi4.py > similarity index 100% > rename from tests/functional/test_aarch64_raspi4.py > rename to tests/functional/aarch64/test_raspi4.py > diff --git a/tests/functional/test_aarch64_replay.py > b/tests/functional/aarch64/test_replay.py > similarity index 100% > rename from tests/functional/test_aarch64_replay.py > rename to tests/functional/aarch64/test_replay.py > diff --git a/tests/functional/test_aarch64_reverse_debug.py > b/tests/functional/aarch64/test_reverse_debug.py > similarity index 100% > rename from tests/functional/test_aarch64_reverse_debug.py > rename to tests/functional/aarch64/test_reverse_debug.py > diff --git a/tests/functional/test_aarch64_rme_sbsaref.py > b/tests/functional/aarch64/test_rme_sbsaref.py > similarity index 98% > rename from tests/functional/test_aarch64_rme_sbsaref.py > rename to tests/functional/aarch64/test_rme_sbsaref.py > index 746770e776d..100f1c7738b 100755 > --- a/tests/functional/test_aarch64_rme_sbsaref.py > +++ b/tests/functional/aarch64/test_rme_sbsaref.py > @@ -13,7 +13,7 @@ > > from qemu_test import QemuSystemTest, Asset, wait_for_console_pattern > from qemu_test import exec_command_and_wait_for_pattern > -from test_aarch64_rme_virt import test_realms_guest > +from test_rme_virt import test_realms_guest > > > class Aarch64RMESbsaRefMachine(QemuSystemTest): > diff --git a/tests/functional/test_aarch64_rme_virt.py > b/tests/functional/aarch64/test_rme_virt.py > similarity index 100% > rename from tests/functional/test_aarch64_rme_virt.py > rename to tests/functional/aarch64/test_rme_virt.py > diff --git a/tests/functional/test_aarch64_sbsaref.py > b/tests/functional/aarch64/test_sbsaref.py > similarity index 100% > rename from tests/functional/test_aarch64_sbsaref.py > rename to tests/functional/aarch64/test_sbsaref.py > diff --git a/tests/functional/test_aarch64_sbsaref_alpine.py > b/tests/functional/aarch64/test_sbsaref_alpine.py > similarity index 97% > rename from tests/functional/test_aarch64_sbsaref_alpine.py > rename to tests/functional/aarch64/test_sbsaref_alpine.py > index 87769993831..abb8f5114bd 100755 > --- a/tests/functional/test_aarch64_sbsaref_alpine.py > +++ b/tests/functional/aarch64/test_sbsaref_alpine.py > @@ -12,7 +12,7 @@ > > from qemu_test import QemuSystemTest, Asset, skipSlowTest > from qemu_test import wait_for_console_pattern > -from test_aarch64_sbsaref import fetch_firmware > +from test_sbsaref import fetch_firmware > > > class Aarch64SbsarefAlpine(QemuSystemTest): > diff --git a/tests/functional/test_aarch64_sbsaref_freebsd.py > b/tests/functional/aarch64/test_sbsaref_freebsd.py > similarity index 97% > rename from tests/functional/test_aarch64_sbsaref_freebsd.py > rename to tests/functional/aarch64/test_sbsaref_freebsd.py > index 7ef016fba62..3b942f7795c 100755 > --- a/tests/functional/test_aarch64_sbsaref_freebsd.py > +++ b/tests/functional/aarch64/test_sbsaref_freebsd.py > @@ -12,7 +12,7 @@ > > from qemu_test import QemuSystemTest, Asset, skipSlowTest > from qemu_test import wait_for_console_pattern > -from test_aarch64_sbsaref import fetch_firmware > +from test_sbsaref import fetch_firmware > > > class Aarch64SbsarefFreeBSD(QemuSystemTest): > diff --git a/tests/functional/test_aarch64_smmu.py > b/tests/functional/aarch64/test_smmu.py > similarity index 100% > rename from tests/functional/test_aarch64_smmu.py > rename to tests/functional/aarch64/test_smmu.py > diff --git a/tests/functional/test_aarch64_tcg_plugins.py > b/tests/functional/aarch64/test_tcg_plugins.py > similarity index 100% > rename from tests/functional/test_aarch64_tcg_plugins.py > rename to tests/functional/aarch64/test_tcg_plugins.py > diff --git a/tests/functional/test_aarch64_tuxrun.py > b/tests/functional/aarch64/test_tuxrun.py > similarity index 100% > rename from tests/functional/test_aarch64_tuxrun.py > rename to tests/functional/aarch64/test_tuxrun.py > diff --git a/tests/functional/test_aarch64_virt.py > b/tests/functional/aarch64/test_virt.py > similarity index 100% > rename from tests/functional/test_aarch64_virt.py > rename to tests/functional/aarch64/test_virt.py > diff --git a/tests/functional/test_aarch64_virt_gpu.py > b/tests/functional/aarch64/test_virt_gpu.py > similarity index 100% > rename from tests/functional/test_aarch64_virt_gpu.py > rename to tests/functional/aarch64/test_virt_gpu.py > diff --git a/tests/functional/test_aarch64_xen.py > b/tests/functional/aarch64/test_xen.py > similarity index 100% > rename from tests/functional/test_aarch64_xen.py > rename to tests/functional/aarch64/test_xen.py > diff --git a/tests/functional/test_aarch64_xlnx_versal.py > b/tests/functional/aarch64/test_xlnx_versal.py > similarity index 100% > rename from tests/functional/test_aarch64_xlnx_versal.py > rename to tests/functional/aarch64/test_xlnx_versal.py > diff --git a/tests/functional/alpha/meson.build > b/tests/functional/alpha/meson.build > new file mode 100644 > index 00000000000..a69ac82dd2c > --- /dev/null > +++ b/tests/functional/alpha/meson.build > @@ -0,0 +1,9 @@ > + > +tests_alpha_system_quick = [ > + 'migration', > +] > + > +tests_alpha_system_thorough = [ > + 'clipper', > + 'replay', > +] > diff --git a/tests/functional/test_alpha_clipper.py > b/tests/functional/alpha/test_clipper.py > similarity index 100% > rename from tests/functional/test_alpha_clipper.py > rename to tests/functional/alpha/test_clipper.py > diff --git a/tests/functional/alpha/test_migration.py > b/tests/functional/alpha/test_migration.py > new file mode 120000 > index 00000000000..3933b7f3345 > --- /dev/null > +++ b/tests/functional/alpha/test_migration.py > @@ -0,0 +1 @@ > +../generic/test_migration.py > \ No newline at end of file > diff --git a/tests/functional/test_alpha_replay.py > b/tests/functional/alpha/test_replay.py > similarity index 100% > rename from tests/functional/test_alpha_replay.py > rename to tests/functional/alpha/test_replay.py > diff --git a/tests/functional/arm/meson.build > b/tests/functional/arm/meson.build > new file mode 100644 > index 00000000000..59acfb10f1e > --- /dev/null > +++ b/tests/functional/arm/meson.build > @@ -0,0 +1,61 @@ > + > +# Timeouts for individual tests that can be slow e.g. with debugging enabled > +test_arm_timeouts = { > + 'aspeed_palmetto' : 120, > + 'aspeed_romulus' : 120, > + 'aspeed_witherspoon' : 120, > + 'aspeed_ast2500' : 720, > + 'aspeed_ast2600' : 1200, > + 'aspeed_bletchley' : 480, > + 'aspeed_catalina' : 480, > + 'aspeed_gb200nvl_bmc' : 480, > + 'aspeed_rainier' : 480, > + 'bpim2u' : 500, > + 'collie' : 180, > + 'cubieboard' : 360, > + 'orangepi' : 540, > + 'quanta_gsj' : 240, > + 'raspi2' : 120, > + 'replay' : 240, > + 'tuxrun' : 240, > + 'sx1' : 360, > +} > + > +tests_arm_system_quick = [ > + 'migration', > +] > + > +tests_arm_system_thorough = [ > + 'aspeed_ast1030', > + 'aspeed_palmetto', > + 'aspeed_romulus', > + 'aspeed_witherspoon', > + 'aspeed_ast2500', > + 'aspeed_ast2600', > + 'aspeed_bletchley', > + 'aspeed_catalina', > + 'aspeed_gb200nvl_bmc', > + 'aspeed_rainier', > + 'bpim2u', > + 'canona1100', > + 'collie', > + 'cubieboard', > + 'emcraft_sf2', > + 'integratorcp', > + 'microbit', > + 'orangepi', > + 'quanta_gsj', > + 'raspi2', > + 'realview', > + 'replay', > + 'smdkc210', > + 'stellaris', > + 'sx1', > + 'vexpress', > + 'virt', > + 'tuxrun', > +] > + > +tests_arm_linuxuser_thorough = [ > + 'bflt', > +] > diff --git a/tests/functional/test_arm_aspeed_ast1030.py > b/tests/functional/arm/test_aspeed_ast1030.py > similarity index 100% > rename from tests/functional/test_arm_aspeed_ast1030.py > rename to tests/functional/arm/test_aspeed_ast1030.py > diff --git a/tests/functional/test_arm_aspeed_ast2500.py > b/tests/functional/arm/test_aspeed_ast2500.py > similarity index 100% > rename from tests/functional/test_arm_aspeed_ast2500.py > rename to tests/functional/arm/test_aspeed_ast2500.py > diff --git a/tests/functional/test_arm_aspeed_ast2600.py > b/tests/functional/arm/test_aspeed_ast2600.py > similarity index 100% > rename from tests/functional/test_arm_aspeed_ast2600.py > rename to tests/functional/arm/test_aspeed_ast2600.py > diff --git a/tests/functional/test_arm_aspeed_bletchley.py > b/tests/functional/arm/test_aspeed_bletchley.py > similarity index 100% > rename from tests/functional/test_arm_aspeed_bletchley.py > rename to tests/functional/arm/test_aspeed_bletchley.py > diff --git a/tests/functional/test_arm_aspeed_catalina.py > b/tests/functional/arm/test_aspeed_catalina.py > similarity index 100% > rename from tests/functional/test_arm_aspeed_catalina.py > rename to tests/functional/arm/test_aspeed_catalina.py > diff --git a/tests/functional/test_arm_aspeed_gb200nvl_bmc.py > b/tests/functional/arm/test_aspeed_gb200nvl_bmc.py > old mode 100644 > new mode 100755 > similarity index 100% > rename from tests/functional/test_arm_aspeed_gb200nvl_bmc.py > rename to tests/functional/arm/test_aspeed_gb200nvl_bmc.py > diff --git a/tests/functional/test_arm_aspeed_palmetto.py > b/tests/functional/arm/test_aspeed_palmetto.py > similarity index 100% > rename from tests/functional/test_arm_aspeed_palmetto.py > rename to tests/functional/arm/test_aspeed_palmetto.py > diff --git a/tests/functional/test_arm_aspeed_rainier.py > b/tests/functional/arm/test_aspeed_rainier.py > similarity index 100% > rename from tests/functional/test_arm_aspeed_rainier.py > rename to tests/functional/arm/test_aspeed_rainier.py > diff --git a/tests/functional/test_arm_aspeed_romulus.py > b/tests/functional/arm/test_aspeed_romulus.py > similarity index 100% > rename from tests/functional/test_arm_aspeed_romulus.py > rename to tests/functional/arm/test_aspeed_romulus.py > diff --git a/tests/functional/test_arm_aspeed_witherspoon.py > b/tests/functional/arm/test_aspeed_witherspoon.py > similarity index 100% > rename from tests/functional/test_arm_aspeed_witherspoon.py > rename to tests/functional/arm/test_aspeed_witherspoon.py > diff --git a/tests/functional/test_arm_bflt.py > b/tests/functional/arm/test_bflt.py > similarity index 100% > rename from tests/functional/test_arm_bflt.py > rename to tests/functional/arm/test_bflt.py > diff --git a/tests/functional/test_arm_bpim2u.py > b/tests/functional/arm/test_bpim2u.py > similarity index 100% > rename from tests/functional/test_arm_bpim2u.py > rename to tests/functional/arm/test_bpim2u.py > diff --git a/tests/functional/test_arm_canona1100.py > b/tests/functional/arm/test_canona1100.py > similarity index 100% > rename from tests/functional/test_arm_canona1100.py > rename to tests/functional/arm/test_canona1100.py > diff --git a/tests/functional/test_arm_collie.py > b/tests/functional/arm/test_collie.py > similarity index 100% > rename from tests/functional/test_arm_collie.py > rename to tests/functional/arm/test_collie.py > diff --git a/tests/functional/test_arm_cubieboard.py > b/tests/functional/arm/test_cubieboard.py > similarity index 100% > rename from tests/functional/test_arm_cubieboard.py > rename to tests/functional/arm/test_cubieboard.py > diff --git a/tests/functional/test_arm_emcraft_sf2.py > b/tests/functional/arm/test_emcraft_sf2.py > similarity index 100% > rename from tests/functional/test_arm_emcraft_sf2.py > rename to tests/functional/arm/test_emcraft_sf2.py > diff --git a/tests/functional/test_arm_integratorcp.py > b/tests/functional/arm/test_integratorcp.py > similarity index 100% > rename from tests/functional/test_arm_integratorcp.py > rename to tests/functional/arm/test_integratorcp.py > diff --git a/tests/functional/test_arm_microbit.py > b/tests/functional/arm/test_microbit.py > similarity index 100% > rename from tests/functional/test_arm_microbit.py > rename to tests/functional/arm/test_microbit.py > diff --git a/tests/functional/arm/test_migration.py > b/tests/functional/arm/test_migration.py > new file mode 120000 > index 00000000000..3933b7f3345 > --- /dev/null > +++ b/tests/functional/arm/test_migration.py > @@ -0,0 +1 @@ > +../generic/test_migration.py > \ No newline at end of file > diff --git a/tests/functional/test_arm_orangepi.py > b/tests/functional/arm/test_orangepi.py > similarity index 100% > rename from tests/functional/test_arm_orangepi.py > rename to tests/functional/arm/test_orangepi.py > diff --git a/tests/functional/test_arm_quanta_gsj.py > b/tests/functional/arm/test_quanta_gsj.py > similarity index 100% > rename from tests/functional/test_arm_quanta_gsj.py > rename to tests/functional/arm/test_quanta_gsj.py > diff --git a/tests/functional/test_arm_raspi2.py > b/tests/functional/arm/test_raspi2.py > similarity index 100% > rename from tests/functional/test_arm_raspi2.py > rename to tests/functional/arm/test_raspi2.py > diff --git a/tests/functional/test_arm_realview.py > b/tests/functional/arm/test_realview.py > similarity index 100% > rename from tests/functional/test_arm_realview.py > rename to tests/functional/arm/test_realview.py > diff --git a/tests/functional/test_arm_replay.py > b/tests/functional/arm/test_replay.py > similarity index 100% > rename from tests/functional/test_arm_replay.py > rename to tests/functional/arm/test_replay.py > diff --git a/tests/functional/test_arm_smdkc210.py > b/tests/functional/arm/test_smdkc210.py > similarity index 100% > rename from tests/functional/test_arm_smdkc210.py > rename to tests/functional/arm/test_smdkc210.py > diff --git a/tests/functional/test_arm_stellaris.py > b/tests/functional/arm/test_stellaris.py > similarity index 100% > rename from tests/functional/test_arm_stellaris.py > rename to tests/functional/arm/test_stellaris.py > diff --git a/tests/functional/test_arm_sx1.py > b/tests/functional/arm/test_sx1.py > similarity index 100% > rename from tests/functional/test_arm_sx1.py > rename to tests/functional/arm/test_sx1.py > diff --git a/tests/functional/test_arm_tuxrun.py > b/tests/functional/arm/test_tuxrun.py > similarity index 100% > rename from tests/functional/test_arm_tuxrun.py > rename to tests/functional/arm/test_tuxrun.py > diff --git a/tests/functional/test_arm_vexpress.py > b/tests/functional/arm/test_vexpress.py > similarity index 100% > rename from tests/functional/test_arm_vexpress.py > rename to tests/functional/arm/test_vexpress.py > diff --git a/tests/functional/test_arm_virt.py > b/tests/functional/arm/test_virt.py > similarity index 100% > rename from tests/functional/test_arm_virt.py > rename to tests/functional/arm/test_virt.py > diff --git a/tests/functional/avr/meson.build > b/tests/functional/avr/meson.build > new file mode 100644 > index 00000000000..b311ee89dc8 > --- /dev/null > +++ b/tests/functional/avr/meson.build > @@ -0,0 +1,5 @@ > + > +tests_avr_system_thorough = [ > + 'mega2560', > + 'uno', > +] > diff --git a/tests/functional/test_avr_mega2560.py > b/tests/functional/avr/test_mega2560.py > similarity index 100% > rename from tests/functional/test_avr_mega2560.py > rename to tests/functional/avr/test_mega2560.py > diff --git a/tests/functional/test_avr_uno.py > b/tests/functional/avr/test_uno.py > similarity index 100% > rename from tests/functional/test_avr_uno.py > rename to tests/functional/avr/test_uno.py > diff --git a/tests/functional/test_empty_cpu_model.py > b/tests/functional/generic/test_empty_cpu_model.py > similarity index 100% > rename from tests/functional/test_empty_cpu_model.py > rename to tests/functional/generic/test_empty_cpu_model.py > diff --git a/tests/functional/test_info_usernet.py > b/tests/functional/generic/test_info_usernet.py > similarity index 100% > rename from tests/functional/test_info_usernet.py > rename to tests/functional/generic/test_info_usernet.py > diff --git a/tests/functional/test_migration.py > b/tests/functional/generic/test_migration.py > similarity index 100% > rename from tests/functional/test_migration.py > rename to tests/functional/generic/test_migration.py > diff --git a/tests/functional/test_version.py > b/tests/functional/generic/test_version.py > similarity index 100% > rename from tests/functional/test_version.py > rename to tests/functional/generic/test_version.py > diff --git a/tests/functional/hppa/meson.build > b/tests/functional/hppa/meson.build > new file mode 100644 > index 00000000000..046241562cb > --- /dev/null > +++ b/tests/functional/hppa/meson.build > @@ -0,0 +1,4 @@ > + > +tests_hppa_system_quick = [ > + 'seabios', > +] > diff --git a/tests/functional/test_hppa_seabios.py > b/tests/functional/hppa/test_seabios.py > similarity index 100% > rename from tests/functional/test_hppa_seabios.py > rename to tests/functional/hppa/test_seabios.py > diff --git a/tests/functional/i386/meson.build > b/tests/functional/i386/meson.build > new file mode 100644 > index 00000000000..90bed3cbc35 > --- /dev/null > +++ b/tests/functional/i386/meson.build > @@ -0,0 +1,9 @@ > + > +tests_i386_system_quick = [ > + 'migration', > +] > + > +tests_i386_system_thorough = [ > + 'replay', > + 'tuxrun', > +] > diff --git a/tests/functional/i386/test_migration.py > b/tests/functional/i386/test_migration.py > new file mode 120000 > index 00000000000..3933b7f3345 > --- /dev/null > +++ b/tests/functional/i386/test_migration.py > @@ -0,0 +1 @@ > +../generic/test_migration.py > \ No newline at end of file > diff --git a/tests/functional/test_i386_replay.py > b/tests/functional/i386/test_replay.py > similarity index 100% > rename from tests/functional/test_i386_replay.py > rename to tests/functional/i386/test_replay.py > diff --git a/tests/functional/test_i386_tuxrun.py > b/tests/functional/i386/test_tuxrun.py > similarity index 100% > rename from tests/functional/test_i386_tuxrun.py > rename to tests/functional/i386/test_tuxrun.py > diff --git a/tests/functional/loongarch64/meson.build > b/tests/functional/loongarch64/meson.build > new file mode 100644 > index 00000000000..90f2e4056f4 > --- /dev/null > +++ b/tests/functional/loongarch64/meson.build > @@ -0,0 +1,4 @@ > + > +tests_loongarch64_system_thorough = [ > + 'virt', > +] > diff --git a/tests/functional/test_loongarch64_virt.py > b/tests/functional/loongarch64/test_virt.py > similarity index 100% > rename from tests/functional/test_loongarch64_virt.py > rename to tests/functional/loongarch64/test_virt.py > diff --git a/tests/functional/m68k/meson.build > b/tests/functional/m68k/meson.build > new file mode 100644 > index 00000000000..c499fecb3cf > --- /dev/null > +++ b/tests/functional/m68k/meson.build > @@ -0,0 +1,8 @@ > + > +tests_m68k_system_thorough = [ > + 'mcf5208evb', > + 'nextcube', > + 'replay', > + 'q800', > + 'tuxrun', > +] > diff --git a/tests/functional/test_m68k_mcf5208evb.py > b/tests/functional/m68k/test_mcf5208evb.py > similarity index 100% > rename from tests/functional/test_m68k_mcf5208evb.py > rename to tests/functional/m68k/test_mcf5208evb.py > diff --git a/tests/functional/test_m68k_nextcube.py > b/tests/functional/m68k/test_nextcube.py > similarity index 100% > rename from tests/functional/test_m68k_nextcube.py > rename to tests/functional/m68k/test_nextcube.py > diff --git a/tests/functional/test_m68k_q800.py > b/tests/functional/m68k/test_q800.py > similarity index 100% > rename from tests/functional/test_m68k_q800.py > rename to tests/functional/m68k/test_q800.py > diff --git a/tests/functional/test_m68k_replay.py > b/tests/functional/m68k/test_replay.py > similarity index 100% > rename from tests/functional/test_m68k_replay.py > rename to tests/functional/m68k/test_replay.py > diff --git a/tests/functional/test_m68k_tuxrun.py > b/tests/functional/m68k/test_tuxrun.py > similarity index 100% > rename from tests/functional/test_m68k_tuxrun.py > rename to tests/functional/m68k/test_tuxrun.py > diff --git a/tests/functional/meson.build b/tests/functional/meson.build > index 050c9000b95..c7ee4b1f172 100644 > --- a/tests/functional/meson.build > +++ b/tests/functional/meson.build > @@ -9,63 +9,33 @@ if get_option('tcg_interpreter') > subdir_done() > endif > > -# Timeouts for individual tests that can be slow e.g. with debugging enabled > -test_timeouts = { > - 'aarch64_aspeed_ast2700' : 600, > - 'aarch64_aspeed_ast2700fc' : 600, > - 'aarch64_device_passthrough' : 720, > - 'aarch64_imx8mp_evk' : 240, > - 'aarch64_raspi4' : 480, > - 'aarch64_reverse_debug' : 180, > - 'aarch64_rme_virt' : 1200, > - 'aarch64_rme_sbsaref' : 1200, > - 'aarch64_sbsaref_alpine' : 1200, > - 'aarch64_sbsaref_freebsd' : 720, > - 'aarch64_smmu' : 720, > - 'aarch64_tuxrun' : 240, > - 'aarch64_virt' : 360, > - 'aarch64_virt_gpu' : 480, > - 'acpi_bits' : 420, > - 'arm_aspeed_palmetto' : 120, > - 'arm_aspeed_romulus' : 120, > - 'arm_aspeed_witherspoon' : 120, > - 'arm_aspeed_ast2500' : 720, > - 'arm_aspeed_ast2600' : 1200, > - 'arm_aspeed_bletchley' : 480, > - 'arm_aspeed_catalina' : 480, > - 'arm_aspeed_gb200nvl_bmc' : 480, > - 'arm_aspeed_rainier' : 480, > - 'arm_bpim2u' : 500, > - 'arm_collie' : 180, > - 'arm_cubieboard' : 360, > - 'arm_orangepi' : 540, > - 'arm_quanta_gsj' : 240, > - 'arm_raspi2' : 120, > - 'arm_replay' : 240, > - 'arm_tuxrun' : 240, > - 'arm_sx1' : 360, > - 'intel_iommu': 300, > - 'mips_malta' : 480, > - 'mipsel_malta' : 420, > - 'mipsel_replay' : 480, > - 'mips64_malta' : 240, > - 'mips64el_malta' : 420, > - 'mips64el_replay' : 180, > - 'netdev_ethtool' : 180, > - 'ppc_40p' : 240, > - 'ppc64_hv' : 1000, > - 'ppc64_powernv' : 480, > - 'ppc64_pseries' : 480, > - 'ppc64_replay' : 210, > - 'ppc64_tuxrun' : 420, > - 'ppc64_mac99' : 120, > - 'riscv64_tuxrun' : 120, > - 's390x_ccw_virtio' : 420, > - 'sh4_tuxrun' : 240, > - 'virtio_balloon': 120, > - 'x86_64_kvm_xen' : 180, > - 'x86_64_replay' : 480, > -} > +subdir('aarch64') > +subdir('alpha') > +subdir('arm') > +subdir('avr') > +subdir('hppa') > +subdir('i386') > +subdir('loongarch64') > +subdir('m68k') > +subdir('microblaze') > +subdir('microblazeel') > +subdir('mips') > +subdir('mips64') > +subdir('mips64el') > +subdir('mipsel') > +subdir('or1k') > +subdir('ppc') > +subdir('ppc64') > +subdir('riscv32') > +subdir('riscv64') > +subdir('rx') > +subdir('s390x') > +subdir('sh4') > +subdir('sh4eb') > +subdir('sparc') > +subdir('sparc64') > +subdir('x86_64') > +subdir('xtensa') > > tests_generic_system = [ > 'empty_cpu_model', > @@ -79,271 +49,6 @@ tests_generic_linuxuser = [ > tests_generic_bsduser = [ > ] > > -tests_aarch64_system_quick = [ > - 'migration', > -] > - > -tests_aarch64_system_thorough = [ > - 'aarch64_aspeed_ast2700', > - 'aarch64_aspeed_ast2700fc', > - 'aarch64_device_passthrough', > - 'aarch64_hotplug_pci', > - 'aarch64_imx8mp_evk', > - 'aarch64_raspi3', > - 'aarch64_raspi4', > - 'aarch64_replay', > - 'aarch64_reverse_debug', > - 'aarch64_rme_virt', > - 'aarch64_rme_sbsaref', > - 'aarch64_sbsaref', > - 'aarch64_sbsaref_alpine', > - 'aarch64_sbsaref_freebsd', > - 'aarch64_smmu', > - 'aarch64_tcg_plugins', > - 'aarch64_tuxrun', > - 'aarch64_virt', > - 'aarch64_virt_gpu', > - 'aarch64_xen', > - 'aarch64_xlnx_versal', > - 'multiprocess', > -] > - > -tests_alpha_system_quick = [ > - 'migration', > -] > - > -tests_alpha_system_thorough = [ > - 'alpha_clipper', > - 'alpha_replay', > -] > - > -tests_arm_system_quick = [ > - 'migration', > -] > - > -tests_arm_system_thorough = [ > - 'arm_aspeed_ast1030', > - 'arm_aspeed_palmetto', > - 'arm_aspeed_romulus', > - 'arm_aspeed_witherspoon', > - 'arm_aspeed_ast2500', > - 'arm_aspeed_ast2600', > - 'arm_aspeed_bletchley', > - 'arm_aspeed_catalina', > - 'arm_aspeed_gb200nvl_bmc', > - 'arm_aspeed_rainier', > - 'arm_bpim2u', > - 'arm_canona1100', > - 'arm_collie', > - 'arm_cubieboard', > - 'arm_emcraft_sf2', > - 'arm_integratorcp', > - 'arm_microbit', > - 'arm_orangepi', > - 'arm_quanta_gsj', > - 'arm_raspi2', > - 'arm_realview', > - 'arm_replay', > - 'arm_smdkc210', > - 'arm_stellaris', > - 'arm_sx1', > - 'arm_vexpress', > - 'arm_virt', > - 'arm_tuxrun', > -] > - > -tests_arm_linuxuser_thorough = [ > - 'arm_bflt', > -] > - > -tests_avr_system_thorough = [ > - 'avr_mega2560', > - 'avr_uno', > -] > - > -tests_hppa_system_quick = [ > - 'hppa_seabios', > -] > - > -tests_i386_system_quick = [ > - 'migration', > -] > - > -tests_i386_system_thorough = [ > - 'i386_replay', > - 'i386_tuxrun', > -] > - > -tests_loongarch64_system_thorough = [ > - 'loongarch64_virt', > -] > - > -tests_m68k_system_thorough = [ > - 'm68k_mcf5208evb', > - 'm68k_nextcube', > - 'm68k_replay', > - 'm68k_q800', > - 'm68k_tuxrun', > -] > - > -tests_microblaze_system_thorough = [ > - 'microblaze_replay', > - 'microblaze_s3adsp1800' > -] > - > -tests_microblazeel_system_thorough = [ > - 'microblazeel_s3adsp1800' > -] > - > -tests_mips_system_thorough = [ > - 'mips_malta', > - 'mips_replay', > - 'mips_tuxrun', > -] > - > -tests_mipsel_system_thorough = [ > - 'mipsel_malta', > - 'mipsel_replay', > - 'mipsel_tuxrun', > -] > - > -tests_mips64_system_thorough = [ > - 'mips64_malta', > - 'mips64_tuxrun', > -] > - > -tests_mips64el_system_thorough = [ > - 'mips64el_fuloong2e', > - 'mips64el_loongson3v', > - 'mips64el_malta', > - 'mips64el_replay', > - 'mips64el_tuxrun', > -] > - > -tests_or1k_system_thorough = [ > - 'or1k_replay', > - 'or1k_sim', > -] > - > -tests_ppc_system_quick = [ > - 'migration', > - 'ppc_74xx', > -] > - > -tests_ppc_system_thorough = [ > - 'ppc_40p', > - 'ppc_amiga', > - 'ppc_bamboo', > - 'ppc_mac', > - 'ppc_mpc8544ds', > - 'ppc_replay', > - 'ppc_sam460ex', > - 'ppc_tuxrun', > - 'ppc_virtex_ml507', > -] > - > -tests_ppc64_system_quick = [ > - 'migration', > -] > - > -tests_ppc64_system_thorough = [ > - 'ppc64_e500', > - 'ppc64_hv', > - 'ppc64_powernv', > - 'ppc64_pseries', > - 'ppc64_replay', > - 'ppc64_reverse_debug', > - 'ppc64_tuxrun', > - 'ppc64_mac99', > -] > - > -tests_riscv32_system_quick = [ > - 'migration', > - 'riscv_opensbi', > -] > - > -tests_riscv32_system_thorough = [ > - 'riscv32_tuxrun', > -] > - > -tests_riscv64_system_quick = [ > - 'migration', > - 'riscv_opensbi', > -] > - > -tests_riscv64_system_thorough = [ > - 'riscv64_tuxrun', > -] > - > -tests_rx_system_thorough = [ > - 'rx_gdbsim', > -] > - > -tests_s390x_system_thorough = [ > - 's390x_ccw_virtio', > - 's390x_replay', > - 's390x_topology', > - 's390x_tuxrun', > -] > - > -tests_sh4_system_thorough = [ > - 'sh4_r2d', > - 'sh4_tuxrun', > -] > - > -tests_sh4eb_system_thorough = [ > - 'sh4eb_r2d', > -] > - > -tests_sparc_system_quick = [ > - 'migration', > -] > - > -tests_sparc_system_thorough = [ > - 'sparc_replay', > - 'sparc_sun4m', > -] > - > -tests_sparc64_system_quick = [ > - 'migration', > -] > - > -tests_sparc64_system_thorough = [ > - 'sparc64_sun4u', > - 'sparc64_tuxrun', > -] > - > -tests_x86_64_system_quick = [ > - 'cpu_queries', > - 'mem_addr_space', > - 'migration', > - 'pc_cpu_hotplug_props', > - 'virtio_version', > - 'x86_cpu_model_versions', > - 'vnc', > - 'memlock', > -] > - > -tests_x86_64_system_thorough = [ > - 'acpi_bits', > - 'intel_iommu', > - 'linux_initrd', > - 'multiprocess', > - 'netdev_ethtool', > - 'virtio_balloon', > - 'virtio_gpu', > - 'x86_64_hotplug_blk', > - 'x86_64_hotplug_cpu', > - 'x86_64_kvm_xen', > - 'x86_64_replay', > - 'x86_64_reverse_debug', > - 'x86_64_tuxrun', > -] > - > -tests_xtensa_system_thorough = [ > - 'xtensa_lx60', > - 'xtensa_replay', > -] > > precache_all = [] > foreach speed : ['quick', 'thorough'] > @@ -386,7 +91,11 @@ foreach speed : ['quick', 'thorough'] > > foreach test : target_tests > testname = '@0@-@1@'.format(target_base, test) > - testfile = 'test_' + test + '.py' > + if fs.exists('generic' / 'test_' + test + '.py') > + testfile = 'generic' / 'test_' + test + '.py' > + else > + testfile = target_base / 'test_' + test + '.py' > + endif > testpath = meson.current_source_dir() / testfile > teststamp = testname + '.tstamp' > test_precache_env = environment() > @@ -400,6 +109,11 @@ foreach speed : ['quick', 'thorough'] > build_by_default: false, > env: test_precache_env) > precache_all += precache > + if is_variable('test_' + target_base + '_timeouts') > + time_out = get_variable('test_' + target_base + > '_timeouts').get(test, 90) > + else > + time_out = 90 > + endif > > # Ideally we would add 'precache' to 'depends' here, such that > # 'build_by_default: false' lets the pre-caching automatically > @@ -415,8 +129,8 @@ foreach speed : ['quick', 'thorough'] > env: test_env, > args: [testpath], > protocol: 'tap', > - timeout: test_timeouts.get(test, 90), > - priority: test_timeouts.get(test, 90), > + timeout: time_out, > + priority: time_out, > suite: suites) > endforeach > endforeach > diff --git a/tests/functional/microblaze/meson.build > b/tests/functional/microblaze/meson.build > new file mode 100644 > index 00000000000..a067393acdc > --- /dev/null > +++ b/tests/functional/microblaze/meson.build > @@ -0,0 +1,5 @@ > + > +tests_microblaze_system_thorough = [ > + 'replay', > + 's3adsp1800' > +] > diff --git a/tests/functional/test_microblaze_replay.py > b/tests/functional/microblaze/test_replay.py > similarity index 100% > rename from tests/functional/test_microblaze_replay.py > rename to tests/functional/microblaze/test_replay.py > diff --git a/tests/functional/test_microblaze_s3adsp1800.py > b/tests/functional/microblaze/test_s3adsp1800.py > similarity index 100% > rename from tests/functional/test_microblaze_s3adsp1800.py > rename to tests/functional/microblaze/test_s3adsp1800.py > diff --git a/tests/functional/microblazeel/meson.build > b/tests/functional/microblazeel/meson.build > new file mode 100644 > index 00000000000..69e3f58dd81 > --- /dev/null > +++ b/tests/functional/microblazeel/meson.build > @@ -0,0 +1,4 @@ > + > +tests_microblazeel_system_thorough = [ > + 's3adsp1800' > +] > diff --git a/tests/functional/test_microblazeel_s3adsp1800.py > b/tests/functional/microblazeel/test_s3adsp1800.py > similarity index 92% > rename from tests/functional/test_microblazeel_s3adsp1800.py > rename to tests/functional/microblazeel/test_s3adsp1800.py > index 915902d48bd..75ce8856ed1 100755 > --- a/tests/functional/test_microblazeel_s3adsp1800.py > +++ b/tests/functional/microblazeel/test_s3adsp1800.py > @@ -7,7 +7,7 @@ > # This work is licensed under the terms of the GNU GPL, version 2 or > # later. See the COPYING file in the top-level directory. > > -from test_microblaze_s3adsp1800 import MicroblazeMachine > +from microblaze.test_s3adsp1800 import MicroblazeMachine > > > class MicroblazeLittleEndianMachine(MicroblazeMachine): > diff --git a/tests/functional/mips/meson.build > b/tests/functional/mips/meson.build > new file mode 100644 > index 00000000000..3c09f461770 > --- /dev/null > +++ b/tests/functional/mips/meson.build > @@ -0,0 +1,11 @@ > + > +# Timeouts for individual tests that can be slow e.g. with debugging enabled > +test_mips_timeouts = { > + 'malta' : 480, > +} > + > +tests_mips_system_thorough = [ > + 'malta', > + 'replay', > + 'tuxrun', > +] > diff --git a/tests/functional/test_mips_malta.py > b/tests/functional/mips/test_malta.py > similarity index 100% > rename from tests/functional/test_mips_malta.py > rename to tests/functional/mips/test_malta.py > diff --git a/tests/functional/test_mips_replay.py > b/tests/functional/mips/test_replay.py > similarity index 100% > rename from tests/functional/test_mips_replay.py > rename to tests/functional/mips/test_replay.py > diff --git a/tests/functional/test_mips_tuxrun.py > b/tests/functional/mips/test_tuxrun.py > similarity index 100% > rename from tests/functional/test_mips_tuxrun.py > rename to tests/functional/mips/test_tuxrun.py > diff --git a/tests/functional/mips64/meson.build > b/tests/functional/mips64/meson.build > new file mode 100644 > index 00000000000..65166fc1a45 > --- /dev/null > +++ b/tests/functional/mips64/meson.build > @@ -0,0 +1,10 @@ > + > +# Timeouts for individual tests that can be slow e.g. with debugging enabled > +test_mips64_timeouts = { > + 'malta' : 240, > +} > + > +tests_mips64_system_thorough = [ > + 'malta', > + 'tuxrun', > +] > diff --git a/tests/functional/test_mips64_malta.py > b/tests/functional/mips64/test_malta.py > similarity index 96% > rename from tests/functional/test_mips64_malta.py > rename to tests/functional/mips64/test_malta.py > index 53c3e0c1221..a553d3c5bc7 100755 > --- a/tests/functional/test_mips64_malta.py > +++ b/tests/functional/mips64/test_malta.py > @@ -5,7 +5,7 @@ > # SPDX-License-Identifier: GPL-2.0-or-later > > from qemu_test import LinuxKernelTest, Asset > -from test_mips_malta import mips_check_wheezy > +from mips.test_malta import mips_check_wheezy > > > class MaltaMachineConsole(LinuxKernelTest): > diff --git a/tests/functional/test_mips64_tuxrun.py > b/tests/functional/mips64/test_tuxrun.py > similarity index 100% > rename from tests/functional/test_mips64_tuxrun.py > rename to tests/functional/mips64/test_tuxrun.py > diff --git a/tests/functional/mips64el/meson.build > b/tests/functional/mips64el/meson.build > new file mode 100644 > index 00000000000..096b12dc607 > --- /dev/null > +++ b/tests/functional/mips64el/meson.build > @@ -0,0 +1,14 @@ > + > +# Timeouts for individual tests that can be slow e.g. with debugging enabled > +test_mips64el_timeouts = { > + 'malta' : 420, > + 'replay' : 180, > +} > + > +tests_mips64el_system_thorough = [ > + 'fuloong2e', > + 'loongson3v', > + 'malta', > + 'replay', > + 'tuxrun', > +] > diff --git a/tests/functional/test_mips64el_fuloong2e.py > b/tests/functional/mips64el/test_fuloong2e.py > similarity index 100% > rename from tests/functional/test_mips64el_fuloong2e.py > rename to tests/functional/mips64el/test_fuloong2e.py > diff --git a/tests/functional/test_mips64el_loongson3v.py > b/tests/functional/mips64el/test_loongson3v.py > similarity index 100% > rename from tests/functional/test_mips64el_loongson3v.py > rename to tests/functional/mips64el/test_loongson3v.py > diff --git a/tests/functional/test_mips64el_malta.py > b/tests/functional/mips64el/test_malta.py > similarity index 98% > rename from tests/functional/test_mips64el_malta.py > rename to tests/functional/mips64el/test_malta.py > index 3cc79b74c18..8fdc49b3005 100755 > --- a/tests/functional/test_mips64el_malta.py > +++ b/tests/functional/mips64el/test_malta.py > @@ -16,7 +16,7 @@ > from qemu_test import exec_command_and_wait_for_pattern > from qemu_test import skipIfMissingImports, skipFlakyTest, skipUntrustedTest > > -from test_mips_malta import mips_check_wheezy > +from mips.test_malta import mips_check_wheezy > > > class MaltaMachineConsole(LinuxKernelTest): > @@ -191,7 +191,7 @@ def test_mips_malta_i6400_framebuffer_logo_8cores(self): > self.do_test_i6400_framebuffer_logo(8) > > > -from test_mipsel_malta import MaltaMachineYAMON > +from mipsel.test_malta import MaltaMachineYAMON > > if __name__ == '__main__': > LinuxKernelTest.main() > diff --git a/tests/functional/test_mips64el_replay.py > b/tests/functional/mips64el/test_replay.py > similarity index 100% > rename from tests/functional/test_mips64el_replay.py > rename to tests/functional/mips64el/test_replay.py > diff --git a/tests/functional/test_mips64el_tuxrun.py > b/tests/functional/mips64el/test_tuxrun.py > similarity index 100% > rename from tests/functional/test_mips64el_tuxrun.py > rename to tests/functional/mips64el/test_tuxrun.py > diff --git a/tests/functional/mipsel/meson.build > b/tests/functional/mipsel/meson.build > new file mode 100644 > index 00000000000..f719f03e1a3 > --- /dev/null > +++ b/tests/functional/mipsel/meson.build > @@ -0,0 +1,12 @@ > + > +# Timeouts for individual tests that can be slow e.g. with debugging enabled > +test_mipsel_timeouts = { > + 'malta' : 420, > + 'replay' : 480, > +} > + > +tests_mipsel_system_thorough = [ > + 'malta', > + 'replay', > + 'tuxrun', > +] > diff --git a/tests/functional/test_mipsel_malta.py > b/tests/functional/mipsel/test_malta.py > similarity index 98% > rename from tests/functional/test_mipsel_malta.py > rename to tests/functional/mipsel/test_malta.py > index 9ee2884da8e..427e163d19d 100755 > --- a/tests/functional/test_mipsel_malta.py > +++ b/tests/functional/mipsel/test_malta.py > @@ -13,7 +13,7 @@ > from qemu_test import interrupt_interactive_console_until_pattern > from qemu_test import wait_for_console_pattern > > -from test_mips_malta import mips_check_wheezy > +from mips.test_malta import mips_check_wheezy > > > class MaltaMachineConsole(LinuxKernelTest): > diff --git a/tests/functional/test_mipsel_replay.py > b/tests/functional/mipsel/test_replay.py > similarity index 100% > rename from tests/functional/test_mipsel_replay.py > rename to tests/functional/mipsel/test_replay.py > diff --git a/tests/functional/test_mipsel_tuxrun.py > b/tests/functional/mipsel/test_tuxrun.py > similarity index 100% > rename from tests/functional/test_mipsel_tuxrun.py > rename to tests/functional/mipsel/test_tuxrun.py > diff --git a/tests/functional/or1k/meson.build > b/tests/functional/or1k/meson.build > new file mode 100644 > index 00000000000..e439087d938 > --- /dev/null > +++ b/tests/functional/or1k/meson.build > @@ -0,0 +1,5 @@ > + > +tests_or1k_system_thorough = [ > + 'replay', > + 'sim', > +] > diff --git a/tests/functional/test_or1k_replay.py > b/tests/functional/or1k/test_replay.py > similarity index 100% > rename from tests/functional/test_or1k_replay.py > rename to tests/functional/or1k/test_replay.py > diff --git a/tests/functional/test_or1k_sim.py > b/tests/functional/or1k/test_sim.py > similarity index 100% > rename from tests/functional/test_or1k_sim.py > rename to tests/functional/or1k/test_sim.py > diff --git a/tests/functional/ppc/meson.build > b/tests/functional/ppc/meson.build > new file mode 100644 > index 00000000000..81f73a44417 > --- /dev/null > +++ b/tests/functional/ppc/meson.build > @@ -0,0 +1,22 @@ > + > +# Timeouts for individual tests that can be slow e.g. with debugging enabled > +test_ppc_timeouts = { > + '40p' : 240, > +} > + > +tests_ppc_system_quick = [ > + 'migration', > + '74xx', > +] > + > +tests_ppc_system_thorough = [ > + '40p', > + 'amiga', > + 'bamboo', > + 'mac', > + 'mpc8544ds', > + 'replay', > + 'sam460ex', > + 'tuxrun', > + 'virtex_ml507', > +] > diff --git a/tests/functional/test_ppc_40p.py > b/tests/functional/ppc/test_40p.py > similarity index 100% > rename from tests/functional/test_ppc_40p.py > rename to tests/functional/ppc/test_40p.py > diff --git a/tests/functional/test_ppc_74xx.py > b/tests/functional/ppc/test_74xx.py > similarity index 100% > rename from tests/functional/test_ppc_74xx.py > rename to tests/functional/ppc/test_74xx.py > diff --git a/tests/functional/test_ppc_amiga.py > b/tests/functional/ppc/test_amiga.py > similarity index 100% > rename from tests/functional/test_ppc_amiga.py > rename to tests/functional/ppc/test_amiga.py > diff --git a/tests/functional/test_ppc_bamboo.py > b/tests/functional/ppc/test_bamboo.py > similarity index 100% > rename from tests/functional/test_ppc_bamboo.py > rename to tests/functional/ppc/test_bamboo.py > diff --git a/tests/functional/test_ppc_mac.py > b/tests/functional/ppc/test_mac.py > similarity index 100% > rename from tests/functional/test_ppc_mac.py > rename to tests/functional/ppc/test_mac.py > diff --git a/tests/functional/ppc/test_migration.py > b/tests/functional/ppc/test_migration.py > new file mode 120000 > index 00000000000..3933b7f3345 > --- /dev/null > +++ b/tests/functional/ppc/test_migration.py > @@ -0,0 +1 @@ > +../generic/test_migration.py > \ No newline at end of file > diff --git a/tests/functional/test_ppc_mpc8544ds.py > b/tests/functional/ppc/test_mpc8544ds.py > similarity index 100% > rename from tests/functional/test_ppc_mpc8544ds.py > rename to tests/functional/ppc/test_mpc8544ds.py > diff --git a/tests/functional/test_ppc_replay.py > b/tests/functional/ppc/test_replay.py > similarity index 100% > rename from tests/functional/test_ppc_replay.py > rename to tests/functional/ppc/test_replay.py > diff --git a/tests/functional/test_ppc_sam460ex.py > b/tests/functional/ppc/test_sam460ex.py > similarity index 100% > rename from tests/functional/test_ppc_sam460ex.py > rename to tests/functional/ppc/test_sam460ex.py > diff --git a/tests/functional/test_ppc_tuxrun.py > b/tests/functional/ppc/test_tuxrun.py > similarity index 100% > rename from tests/functional/test_ppc_tuxrun.py > rename to tests/functional/ppc/test_tuxrun.py > diff --git a/tests/functional/test_ppc_virtex_ml507.py > b/tests/functional/ppc/test_virtex_ml507.py > similarity index 100% > rename from tests/functional/test_ppc_virtex_ml507.py > rename to tests/functional/ppc/test_virtex_ml507.py > diff --git a/tests/functional/ppc64/meson.build > b/tests/functional/ppc64/meson.build > new file mode 100644 > index 00000000000..58867c3b5b6 > --- /dev/null > +++ b/tests/functional/ppc64/meson.build > @@ -0,0 +1,25 @@ > + > +# Timeouts for individual tests that can be slow e.g. with debugging enabled > +test_ppc64_timeouts = { > + 'hv' : 1000, > + 'powernv' : 480, > + 'pseries' : 480, > + 'replay' : 210, > + 'tuxrun' : 420, > + 'mac99' : 120, > +} > + > +tests_ppc64_system_quick = [ > + 'migration', > +] > + > +tests_ppc64_system_thorough = [ > + 'e500', > + 'hv', > + 'powernv', > + 'pseries', > + 'replay', > + 'reverse_debug', > + 'tuxrun', > + 'mac99', > +] > diff --git a/tests/functional/test_ppc64_e500.py > b/tests/functional/ppc64/test_e500.py > similarity index 100% > rename from tests/functional/test_ppc64_e500.py > rename to tests/functional/ppc64/test_e500.py > diff --git a/tests/functional/test_ppc64_hv.py > b/tests/functional/ppc64/test_hv.py > similarity index 100% > rename from tests/functional/test_ppc64_hv.py > rename to tests/functional/ppc64/test_hv.py > diff --git a/tests/functional/test_ppc64_mac99.py > b/tests/functional/ppc64/test_mac99.py > similarity index 100% > rename from tests/functional/test_ppc64_mac99.py > rename to tests/functional/ppc64/test_mac99.py > diff --git a/tests/functional/ppc64/test_migration.py > b/tests/functional/ppc64/test_migration.py > new file mode 120000 > index 00000000000..3933b7f3345 > --- /dev/null > +++ b/tests/functional/ppc64/test_migration.py > @@ -0,0 +1 @@ > +../generic/test_migration.py > \ No newline at end of file > diff --git a/tests/functional/test_ppc64_powernv.py > b/tests/functional/ppc64/test_powernv.py > similarity index 100% > rename from tests/functional/test_ppc64_powernv.py > rename to tests/functional/ppc64/test_powernv.py > diff --git a/tests/functional/test_ppc64_pseries.py > b/tests/functional/ppc64/test_pseries.py > similarity index 100% > rename from tests/functional/test_ppc64_pseries.py > rename to tests/functional/ppc64/test_pseries.py > diff --git a/tests/functional/test_ppc64_replay.py > b/tests/functional/ppc64/test_replay.py > similarity index 100% > rename from tests/functional/test_ppc64_replay.py > rename to tests/functional/ppc64/test_replay.py > diff --git a/tests/functional/test_ppc64_reverse_debug.py > b/tests/functional/ppc64/test_reverse_debug.py > similarity index 100% > rename from tests/functional/test_ppc64_reverse_debug.py > rename to tests/functional/ppc64/test_reverse_debug.py > diff --git a/tests/functional/test_ppc64_tuxrun.py > b/tests/functional/ppc64/test_tuxrun.py > similarity index 100% > rename from tests/functional/test_ppc64_tuxrun.py > rename to tests/functional/ppc64/test_tuxrun.py > diff --git a/tests/functional/riscv32/meson.build > b/tests/functional/riscv32/meson.build > new file mode 100644 > index 00000000000..19298b564fe > --- /dev/null > +++ b/tests/functional/riscv32/meson.build > @@ -0,0 +1,9 @@ > + > +tests_riscv32_system_quick = [ > + 'migration', > + 'opensbi', > +] > + > +tests_riscv32_system_thorough = [ > + 'tuxrun', > +] > diff --git a/tests/functional/riscv32/test_migration.py > b/tests/functional/riscv32/test_migration.py > new file mode 120000 > index 00000000000..3933b7f3345 > --- /dev/null > +++ b/tests/functional/riscv32/test_migration.py > @@ -0,0 +1 @@ > +../generic/test_migration.py > \ No newline at end of file > diff --git a/tests/functional/riscv32/test_opensbi.py > b/tests/functional/riscv32/test_opensbi.py > new file mode 120000 > index 00000000000..67763bc7829 > --- /dev/null > +++ b/tests/functional/riscv32/test_opensbi.py > @@ -0,0 +1 @@ > +../riscv64/test_opensbi.py > \ No newline at end of file > diff --git a/tests/functional/test_riscv32_tuxrun.py > b/tests/functional/riscv32/test_tuxrun.py > similarity index 100% > rename from tests/functional/test_riscv32_tuxrun.py > rename to tests/functional/riscv32/test_tuxrun.py > diff --git a/tests/functional/riscv64/meson.build > b/tests/functional/riscv64/meson.build > new file mode 100644 > index 00000000000..c03772882cb > --- /dev/null > +++ b/tests/functional/riscv64/meson.build > @@ -0,0 +1,13 @@ > + > +test_riscv64_timeouts = { > + 'tuxrun' : 120, > +} > + > +tests_riscv64_system_quick = [ > + 'migration', > + 'opensbi', > +] > + > +tests_riscv64_system_thorough = [ > + 'tuxrun', > +] > diff --git a/tests/functional/test_riscv_opensbi.py > b/tests/functional/riscv64/test_opensbi.py > similarity index 100% > rename from tests/functional/test_riscv_opensbi.py > rename to tests/functional/riscv64/test_opensbi.py > diff --git a/tests/functional/test_riscv64_tuxrun.py > b/tests/functional/riscv64/test_tuxrun.py > similarity index 100% > rename from tests/functional/test_riscv64_tuxrun.py > rename to tests/functional/riscv64/test_tuxrun.py > diff --git a/tests/functional/rx/meson.build b/tests/functional/rx/meson.build > new file mode 100644 > index 00000000000..da311c169e8 > --- /dev/null > +++ b/tests/functional/rx/meson.build > @@ -0,0 +1,4 @@ > + > +tests_rx_system_thorough = [ > + 'gdbsim', > +] > diff --git a/tests/functional/test_rx_gdbsim.py > b/tests/functional/rx/test_gdbsim.py > similarity index 100% > rename from tests/functional/test_rx_gdbsim.py > rename to tests/functional/rx/test_gdbsim.py > diff --git a/tests/functional/s390x/meson.build > b/tests/functional/s390x/meson.build > new file mode 100644 > index 00000000000..892e7d6dd52 > --- /dev/null > +++ b/tests/functional/s390x/meson.build > @@ -0,0 +1,12 @@ > + > +# Timeouts for individual tests that can be slow e.g. with debugging enabled > +test_s390x_timeouts = { > + 'ccw_virtio' : 420, > +} > + > +tests_s390x_system_thorough = [ > + 'ccw_virtio', > + 'replay', > + 'topology', > + 'tuxrun', > +] > diff --git a/tests/functional/test_s390x_ccw_virtio.py > b/tests/functional/s390x/test_ccw_virtio.py > similarity index 100% > rename from tests/functional/test_s390x_ccw_virtio.py > rename to tests/functional/s390x/test_ccw_virtio.py > diff --git a/tests/functional/test_s390x_replay.py > b/tests/functional/s390x/test_replay.py > similarity index 100% > rename from tests/functional/test_s390x_replay.py > rename to tests/functional/s390x/test_replay.py > diff --git a/tests/functional/test_s390x_topology.py > b/tests/functional/s390x/test_topology.py > similarity index 100% > rename from tests/functional/test_s390x_topology.py > rename to tests/functional/s390x/test_topology.py > diff --git a/tests/functional/test_s390x_tuxrun.py > b/tests/functional/s390x/test_tuxrun.py > similarity index 100% > rename from tests/functional/test_s390x_tuxrun.py > rename to tests/functional/s390x/test_tuxrun.py > diff --git a/tests/functional/sh4/meson.build > b/tests/functional/sh4/meson.build > new file mode 100644 > index 00000000000..d731581048a > --- /dev/null > +++ b/tests/functional/sh4/meson.build > @@ -0,0 +1,10 @@ > + > +# Timeouts for individual tests that can be slow e.g. with debugging enabled > +test_sh4_timeouts = { > + 'tuxrun' : 240, > +} > + > +tests_sh4_system_thorough = [ > + 'r2d', > + 'tuxrun', > +] > diff --git a/tests/functional/test_sh4_r2d.py > b/tests/functional/sh4/test_r2d.py > similarity index 100% > rename from tests/functional/test_sh4_r2d.py > rename to tests/functional/sh4/test_r2d.py > diff --git a/tests/functional/test_sh4_tuxrun.py > b/tests/functional/sh4/test_tuxrun.py > similarity index 100% > rename from tests/functional/test_sh4_tuxrun.py > rename to tests/functional/sh4/test_tuxrun.py > diff --git a/tests/functional/sh4eb/meson.build > b/tests/functional/sh4eb/meson.build > new file mode 100644 > index 00000000000..5575e235776 > --- /dev/null > +++ b/tests/functional/sh4eb/meson.build > @@ -0,0 +1,4 @@ > + > +tests_sh4eb_system_thorough = [ > + 'r2d', > +] > diff --git a/tests/functional/test_sh4eb_r2d.py > b/tests/functional/sh4eb/test_r2d.py > similarity index 100% > rename from tests/functional/test_sh4eb_r2d.py > rename to tests/functional/sh4eb/test_r2d.py > diff --git a/tests/functional/sparc/meson.build > b/tests/functional/sparc/meson.build > new file mode 100644 > index 00000000000..18d9c75c23a > --- /dev/null > +++ b/tests/functional/sparc/meson.build > @@ -0,0 +1,9 @@ > + > +tests_sparc_system_quick = [ > + 'migration', > +] > + > +tests_sparc_system_thorough = [ > + 'replay', > + 'sun4m', > +] > diff --git a/tests/functional/sparc/test_migration.py > b/tests/functional/sparc/test_migration.py > new file mode 120000 > index 00000000000..3933b7f3345 > --- /dev/null > +++ b/tests/functional/sparc/test_migration.py > @@ -0,0 +1 @@ > +../generic/test_migration.py > \ No newline at end of file > diff --git a/tests/functional/test_sparc_replay.py > b/tests/functional/sparc/test_replay.py > similarity index 100% > rename from tests/functional/test_sparc_replay.py > rename to tests/functional/sparc/test_replay.py > diff --git a/tests/functional/test_sparc_sun4m.py > b/tests/functional/sparc/test_sun4m.py > similarity index 100% > rename from tests/functional/test_sparc_sun4m.py > rename to tests/functional/sparc/test_sun4m.py > diff --git a/tests/functional/sparc64/meson.build > b/tests/functional/sparc64/meson.build > new file mode 100644 > index 00000000000..4a5a65defd3 > --- /dev/null > +++ b/tests/functional/sparc64/meson.build > @@ -0,0 +1,9 @@ > + > +tests_sparc64_system_quick = [ > + 'migration', > +] > + > +tests_sparc64_system_thorough = [ > + 'sun4u', > + 'tuxrun', > +] > diff --git a/tests/functional/sparc64/test_migration.py > b/tests/functional/sparc64/test_migration.py > new file mode 120000 > index 00000000000..3933b7f3345 > --- /dev/null > +++ b/tests/functional/sparc64/test_migration.py > @@ -0,0 +1 @@ > +../generic/test_migration.py > \ No newline at end of file > diff --git a/tests/functional/test_sparc64_sun4u.py > b/tests/functional/sparc64/test_sun4u.py > similarity index 100% > rename from tests/functional/test_sparc64_sun4u.py > rename to tests/functional/sparc64/test_sun4u.py > diff --git a/tests/functional/test_sparc64_tuxrun.py > b/tests/functional/sparc64/test_tuxrun.py > similarity index 100% > rename from tests/functional/test_sparc64_tuxrun.py > rename to tests/functional/sparc64/test_tuxrun.py > diff --git a/tests/functional/x86_64/meson.build > b/tests/functional/x86_64/meson.build > new file mode 100644 > index 00000000000..49b05a8a170 > --- /dev/null > +++ b/tests/functional/x86_64/meson.build > @@ -0,0 +1,37 @@ > + > +# Timeouts for individual tests that can be slow e.g. with debugging enabled > +test_x86_64_timeouts = { > + 'acpi_bits' : 420, > + 'intel_iommu': 300, > + 'netdev_ethtool' : 180, > + 'kvm_xen' : 180, > + 'replay' : 480, > + 'virtio_balloon': 120, > +} > + > +tests_x86_64_system_quick = [ > + 'cpu_queries', > + 'mem_addr_space', > + 'migration', > + 'pc_cpu_hotplug_props', > + 'virtio_version', > + 'x86_cpu_model_versions', > + 'vnc', > + 'memlock', > +] > + > +tests_x86_64_system_thorough = [ > + 'acpi_bits', > + 'intel_iommu', > + 'linux_initrd', > + 'multiprocess', > + 'netdev_ethtool', > + 'virtio_balloon', > + 'virtio_gpu', > + 'hotplug_blk', > + 'hotplug_cpu', > + 'kvm_xen', > + 'replay', > + 'reverse_debug', > + 'tuxrun', > +] > diff --git a/tests/functional/test_acpi_bits.py > b/tests/functional/x86_64/test_acpi_bits.py > similarity index 100% > rename from tests/functional/test_acpi_bits.py > rename to tests/functional/x86_64/test_acpi_bits.py > diff --git a/tests/functional/test_cpu_queries.py > b/tests/functional/x86_64/test_cpu_queries.py > similarity index 100% > rename from tests/functional/test_cpu_queries.py > rename to tests/functional/x86_64/test_cpu_queries.py > diff --git a/tests/functional/test_x86_64_hotplug_blk.py > b/tests/functional/x86_64/test_hotplug_blk.py > similarity index 100% > rename from tests/functional/test_x86_64_hotplug_blk.py > rename to tests/functional/x86_64/test_hotplug_blk.py > diff --git a/tests/functional/test_x86_64_hotplug_cpu.py > b/tests/functional/x86_64/test_hotplug_cpu.py > similarity index 100% > rename from tests/functional/test_x86_64_hotplug_cpu.py > rename to tests/functional/x86_64/test_hotplug_cpu.py > diff --git a/tests/functional/test_intel_iommu.py > b/tests/functional/x86_64/test_intel_iommu.py > similarity index 100% > rename from tests/functional/test_intel_iommu.py > rename to tests/functional/x86_64/test_intel_iommu.py > diff --git a/tests/functional/test_x86_64_kvm_xen.py > b/tests/functional/x86_64/test_kvm_xen.py > similarity index 100% > rename from tests/functional/test_x86_64_kvm_xen.py > rename to tests/functional/x86_64/test_kvm_xen.py > diff --git a/tests/functional/test_linux_initrd.py > b/tests/functional/x86_64/test_linux_initrd.py > similarity index 100% > rename from tests/functional/test_linux_initrd.py > rename to tests/functional/x86_64/test_linux_initrd.py > diff --git a/tests/functional/test_mem_addr_space.py > b/tests/functional/x86_64/test_mem_addr_space.py > similarity index 100% > rename from tests/functional/test_mem_addr_space.py > rename to tests/functional/x86_64/test_mem_addr_space.py > diff --git a/tests/functional/test_memlock.py > b/tests/functional/x86_64/test_memlock.py > similarity index 100% > rename from tests/functional/test_memlock.py > rename to tests/functional/x86_64/test_memlock.py > diff --git a/tests/functional/x86_64/test_migration.py > b/tests/functional/x86_64/test_migration.py > new file mode 120000 > index 00000000000..3933b7f3345 > --- /dev/null > +++ b/tests/functional/x86_64/test_migration.py > @@ -0,0 +1 @@ > +../generic/test_migration.py > \ No newline at end of file > diff --git a/tests/functional/test_multiprocess.py > b/tests/functional/x86_64/test_multiprocess.py > similarity index 100% > rename from tests/functional/test_multiprocess.py > rename to tests/functional/x86_64/test_multiprocess.py > diff --git a/tests/functional/test_netdev_ethtool.py > b/tests/functional/x86_64/test_netdev_ethtool.py > similarity index 100% > rename from tests/functional/test_netdev_ethtool.py > rename to tests/functional/x86_64/test_netdev_ethtool.py > diff --git a/tests/functional/test_pc_cpu_hotplug_props.py > b/tests/functional/x86_64/test_pc_cpu_hotplug_props.py > similarity index 100% > rename from tests/functional/test_pc_cpu_hotplug_props.py > rename to tests/functional/x86_64/test_pc_cpu_hotplug_props.py > diff --git a/tests/functional/test_x86_64_replay.py > b/tests/functional/x86_64/test_replay.py > similarity index 100% > rename from tests/functional/test_x86_64_replay.py > rename to tests/functional/x86_64/test_replay.py > diff --git a/tests/functional/test_x86_64_reverse_debug.py > b/tests/functional/x86_64/test_reverse_debug.py > similarity index 100% > rename from tests/functional/test_x86_64_reverse_debug.py > rename to tests/functional/x86_64/test_reverse_debug.py > diff --git a/tests/functional/test_x86_64_tuxrun.py > b/tests/functional/x86_64/test_tuxrun.py > similarity index 100% > rename from tests/functional/test_x86_64_tuxrun.py > rename to tests/functional/x86_64/test_tuxrun.py > diff --git a/tests/functional/test_virtio_balloon.py > b/tests/functional/x86_64/test_virtio_balloon.py > similarity index 100% > rename from tests/functional/test_virtio_balloon.py > rename to tests/functional/x86_64/test_virtio_balloon.py > diff --git a/tests/functional/test_virtio_gpu.py > b/tests/functional/x86_64/test_virtio_gpu.py > similarity index 100% > rename from tests/functional/test_virtio_gpu.py > rename to tests/functional/x86_64/test_virtio_gpu.py > diff --git a/tests/functional/test_virtio_version.py > b/tests/functional/x86_64/test_virtio_version.py > similarity index 100% > rename from tests/functional/test_virtio_version.py > rename to tests/functional/x86_64/test_virtio_version.py > diff --git a/tests/functional/test_vnc.py > b/tests/functional/x86_64/test_vnc.py > similarity index 100% > rename from tests/functional/test_vnc.py > rename to tests/functional/x86_64/test_vnc.py > diff --git a/tests/functional/test_x86_cpu_model_versions.py > b/tests/functional/x86_64/test_x86_cpu_model_versions.py > similarity index 100% > rename from tests/functional/test_x86_cpu_model_versions.py > rename to tests/functional/x86_64/test_x86_cpu_model_versions.py > diff --git a/tests/functional/xtensa/meson.build > b/tests/functional/xtensa/meson.build > new file mode 100644 > index 00000000000..ca1b6e943b4 > --- /dev/null > +++ b/tests/functional/xtensa/meson.build > @@ -0,0 +1,5 @@ > + > +tests_xtensa_system_thorough = [ > + 'lx60', > + 'replay', > +] > diff --git a/tests/functional/test_xtensa_lx60.py > b/tests/functional/xtensa/test_lx60.py > similarity index 100% > rename from tests/functional/test_xtensa_lx60.py > rename to tests/functional/xtensa/test_lx60.py > diff --git a/tests/functional/test_xtensa_replay.py > b/tests/functional/xtensa/test_replay.py > similarity index 100% > rename from tests/functional/test_xtensa_replay.py > rename to tests/functional/xtensa/test_replay.py > -- > 2.50.0 > >