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