mbox series

[00/22,for,10.0] tests/functional: various improvements wrt assets/scratch files

Message ID 20241129173120.761728-1-berrange@redhat.com (mailing list archive)
Headers show
Series tests/functional: various improvements wrt assets/scratch files | expand

Message

Daniel P. Berrangé Nov. 29, 2024, 5:30 p.m. UTC
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