mbox series

[v3,00/11] Acceptance Test: introduce base class for Linux based tests

Message ID 20210412044644.55083-1-crosa@redhat.com (mailing list archive)
Headers show
Series Acceptance Test: introduce base class for Linux based tests | expand

Message

Cleber Rosa April 12, 2021, 4:46 a.m. UTC
This introduces a base class for tests that need to interact with a
Linux guest.  It generalizes the "boot_linux.py" code, already been
used by the "virtiofs_submounts.py" and also SSH related code being
used by that and "linux_ssh_mips_malta.py".

While at it, a number of fixes on hopeful improvements to those tests
were added.

Changes from v2:

* Removed type information in docstring on python/qemu/utils.py, as
  that's already present on the type hints (John Snow)

* Reworded commit message about moving ssh-related methods to a auxiliary,
  mix-in class, and not to the base LinuxTest class (Eric Auger)

* Removed unused import of get_info_usernet_hostfwd_port on
  tests/acceptance/linux_ssh_mips_malta.py (Eric Auger)

* Added note on commit message about setUp() method also allowing one
  to define network device, which is by default, set to virtio-net
  (Eric Auger)

* Kept note about the network device that allows for SSH connections
  (Wainer Moschetta)

* Do not set up an SSH connection on tests that won't be using it
  (Eric Auger)

* Mention the use of a Fedora 31 guest image (Wainer Moschetta)

* Fix of SSH pubkey setup on tests/acceptance/virtiofs_submounts.py
  (new patch, reported by Wainer Moschetta)

Changes from v1:

* Majority of v1 patches have been merged.

* New patches:
  - Acceptance Tests: make username/password configurable
  - Acceptance Tests: set up SSH connection by default after boot for LinuxTest
  - tests/acceptance/virtiofs_submounts.py: remove launch_vm()

* Allowed for the configuration of the network device type (defaulting
  to virtio-net) [Phil]

* Fix module name typo (s/qemu.util/qemu.utils/) in the commit message
  [John]

* Tests based on LinuxTest will have the SSH connection already prepared

Cleber Rosa (11):
  tests/acceptance/virtiofs_submounts.py: add missing accel tag
  tests/acceptance/virtiofs_submounts.py: evaluate string not length
  Python: add utility function for retrieving port redirection
  Acceptance Tests: move useful ssh methods to base class
  Acceptance Tests: add port redirection for ssh by default
  Acceptance Tests: make username/password configurable
  Acceptance Tests: set up SSH connection by default after boot for
    LinuxTest
  tests/acceptance/virtiofs_submounts.py: remove launch_vm()
  Acceptance Tests: add basic documentation on LinuxTest base class
  Acceptance Tests: introduce CPU hotplug test
  tests/acceptance/virtiofs_submounts.py: fix setup of SSH pubkey

 docs/devel/testing.rst                    | 26 +++++++++
 python/qemu/utils.py                      | 33 +++++++++++
 tests/acceptance/avocado_qemu/__init__.py | 64 ++++++++++++++++++--
 tests/acceptance/boot_linux.py            | 18 +++---
 tests/acceptance/hotplug_cpu.py           | 37 ++++++++++++
 tests/acceptance/info_usernet.py          | 29 +++++++++
 tests/acceptance/linux_ssh_mips_malta.py  | 42 +-------------
 tests/acceptance/virtiofs_submounts.py    | 71 +++--------------------
 tests/vm/basevm.py                        |  7 +--
 9 files changed, 206 insertions(+), 121 deletions(-)
 create mode 100644 python/qemu/utils.py
 create mode 100644 tests/acceptance/hotplug_cpu.py
 create mode 100644 tests/acceptance/info_usernet.py