This series is an attempt to bring a little more guaranteed order to asset and scratch file handling in the functional tests. The main highlights are:
* Add custom @skipXXXXX decorators for common scenarios present in QEMU tests * Add helpers for creating file paths for various well known types of data, or well known locations, to avoid adhoc path manipulation * Add helpers to simplify uncompressing and extracting archives, from files downloaded as assets The series overall has a neutral diffstat, but if you look at just test files, as opposed to the shared infra, you'll see a significant reduction of lines of code in the tests, and I believe its easier to read them with less boilerplate. Daniel P. Berrangé (22): tests/functional: increase timeouts for arm sx1 test tests/functional: remove unused system imports tests/functional: remove duplicated 'qemu_test' import statements tests/functional: remove pointless with statement tests/functional: remove duplicated 'which' function impl tests/functional: introduce some helpful decorators tests/functional: switch to new test skip decorators tests/functional: add helpers for building file paths tests/functional: switch over to using self.log_file(...) tests/functional: switch over to using self.build_file(...) tests/functional: switch over to using self.data_file(...) tests/functional: switch over to using self.scratch_file() tests/functional: switch over to using self.socket_dir(...) tests/functional: remove redundant 'rmtree' call tests/functional: add common zip_extract helper tests/functional: add common deb_extract helper tests/functional: generalize archive_extract tests/functional: add 'archive_extract' to QemuBaseTest tests/functional: convert tests to new archive_extract helper tests/functional: generalize uncompress tests/functional: add 'uncompress' to QemuBaseTest tests/functional: convert tests to new uncompress helper tests/functional/qemu_test/__init__.py | 5 +- tests/functional/qemu_test/cmd.py | 10 ++ tests/functional/qemu_test/decorators.py | 105 ++++++++++++ tests/functional/qemu_test/linuxkernel.py | 27 +--- tests/functional/qemu_test/testcase.py | 149 +++++++++++++++++- tests/functional/qemu_test/tuxruntest.py | 11 +- tests/functional/qemu_test/utils.py | 66 +++++++- tests/functional/test_aarch64_aspeed.py | 21 +-- tests/functional/test_aarch64_raspi3.py | 9 +- tests/functional/test_aarch64_raspi4.py | 25 ++- tests/functional/test_aarch64_sbsaref.py | 16 +- .../functional/test_aarch64_sbsaref_alpine.py | 5 +- .../test_aarch64_sbsaref_freebsd.py | 5 +- tests/functional/test_aarch64_virt.py | 12 +- tests/functional/test_acpi_bits.py | 121 +++++--------- tests/functional/test_alpha_clipper.py | 6 +- tests/functional/test_arm_aspeed.py | 52 +++--- tests/functional/test_arm_bflt.py | 16 +- tests/functional/test_arm_bpim2u.py | 44 +++--- tests/functional/test_arm_canona1100.py | 12 +- tests/functional/test_arm_collie.py | 1 - tests/functional/test_arm_integratorcp.py | 31 ++-- tests/functional/test_arm_orangepi.py | 53 +++---- tests/functional/test_arm_raspi2.py | 25 ++- tests/functional/test_arm_sx1.py | 7 +- tests/functional/test_arm_vexpress.py | 9 +- tests/functional/test_linux_initrd.py | 7 +- tests/functional/test_loongarch64_virt.py | 6 +- tests/functional/test_m68k_mcf5208evb.py | 9 +- tests/functional/test_m68k_nextcube.py | 19 +-- tests/functional/test_m68k_q800.py | 5 +- .../functional/test_microblaze_s3adsp1800.py | 13 +- .../test_microblazeel_s3adsp1800.py | 14 +- tests/functional/test_mips64el_fuloong2e.py | 13 +- tests/functional/test_mips64el_loongson3v.py | 10 +- tests/functional/test_mips64el_malta.py | 49 +++--- tests/functional/test_mips_malta.py | 19 +-- tests/functional/test_mipsel_malta.py | 28 ++-- tests/functional/test_multiprocess.py | 4 +- tests/functional/test_netdev_ethtool.py | 3 +- tests/functional/test_or1k_sim.py | 8 +- tests/functional/test_ppc64_e500.py | 6 +- tests/functional/test_ppc64_hv.py | 49 ++---- tests/functional/test_ppc64_powernv.py | 3 +- tests/functional/test_ppc64_pseries.py | 3 +- tests/functional/test_ppc_405.py | 6 +- tests/functional/test_ppc_40p.py | 9 +- tests/functional/test_ppc_74xx.py | 3 +- tests/functional/test_ppc_amiga.py | 20 ++- tests/functional/test_ppc_bamboo.py | 20 +-- tests/functional/test_ppc_mac.py | 7 +- tests/functional/test_ppc_mpc8544ds.py | 10 +- tests/functional/test_ppc_virtex_ml507.py | 12 +- tests/functional/test_riscv_opensbi.py | 4 +- tests/functional/test_rx_gdbsim.py | 17 +- tests/functional/test_s390x_ccw_virtio.py | 12 +- tests/functional/test_s390x_topology.py | 15 +- tests/functional/test_sh4_r2d.py | 14 +- tests/functional/test_sh4_tuxrun.py | 4 - tests/functional/test_sh4eb_r2d.py | 16 +- tests/functional/test_sparc64_sun4u.py | 12 +- tests/functional/test_sparc_sun4m.py | 6 +- tests/functional/test_virtio_gpu.py | 19 +-- tests/functional/test_virtio_version.py | 2 - tests/functional/test_xtensa_lx60.py | 7 +- 65 files changed, 677 insertions(+), 649 deletions(-) create mode 100644 tests/functional/qemu_test/decorators.py -- 2.46.0
