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
--
2.30.2