diff options
author | Thomas Huth | 2022-08-24 17:11:21 +0200 |
---|---|---|
committer | Thomas Huth | 2022-08-29 15:28:51 +0200 |
commit | 0fc389fe9208f0bfd9fa41cd7e6315a0989a3729 (patch) | |
tree | 497c0c21127ac9bec022146f2a0144aae3f64114 | |
parent | tests/vm: Add libslirp to the VM tests (diff) | |
download | qemu-0fc389fe9208f0bfd9fa41cd7e6315a0989a3729.tar.gz qemu-0fc389fe9208f0bfd9fa41cd7e6315a0989a3729.tar.xz qemu-0fc389fe9208f0bfd9fa41cd7e6315a0989a3729.zip |
tests/avocado: Do not run tests that require libslirp if it is not available
Some avocado tests blindly assume that QEMU has been compiled with libslirp
enabled and fail badly if it is missing. Add a proper check to cancel the
tests in this case.
Message-Id: <20220824151122.704946-6-thuth@redhat.com>
Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
-rw-r--r-- | tests/avocado/avocado_qemu/__init__.py | 7 | ||||
-rw-r--r-- | tests/avocado/info_usernet.py | 1 | ||||
-rw-r--r-- | tests/avocado/replay_linux.py | 1 |
3 files changed, 9 insertions, 0 deletions
diff --git a/tests/avocado/avocado_qemu/__init__.py b/tests/avocado/avocado_qemu/__init__.py index 9d17a287cf..3b5b8e7f2d 100644 --- a/tests/avocado/avocado_qemu/__init__.py +++ b/tests/avocado/avocado_qemu/__init__.py @@ -299,6 +299,12 @@ class QemuSystemTest(QemuBaseTest): self.cancel("%s accelerator does not seem to be " "available" % accelerator) + def require_netdev(self, netdevname): + netdevhelp = run_cmd([self.qemu_bin, + '-M', 'none', '-netdev', 'help'])[0]; + if netdevhelp.find('\n' + netdevname + '\n') < 0: + self.cancel('no support for user networking') + def _new_vm(self, name, *args): self._sd = tempfile.TemporaryDirectory(prefix="avo_qemu_sock_") vm = QEMUMachine(self.qemu_bin, base_temp_dir=self.workdir, @@ -550,6 +556,7 @@ class LinuxTest(LinuxSSHMixIn, QemuSystemTest): def setUp(self, ssh_pubkey=None, network_device_type='virtio-net'): super().setUp() + self.require_netdev('user') self._set_distro() self.vm.add_args('-smp', self.smp) self.vm.add_args('-m', self.memory) diff --git a/tests/avocado/info_usernet.py b/tests/avocado/info_usernet.py index dc01f74150..b862a47dba 100644 --- a/tests/avocado/info_usernet.py +++ b/tests/avocado/info_usernet.py @@ -16,6 +16,7 @@ from qemu.utils import get_info_usernet_hostfwd_port class InfoUsernet(QemuSystemTest): def test_hostfwd(self): + self.require_netdev('user') self.vm.add_args('-netdev', 'user,id=vnet,hostfwd=:127.0.0.1:0-:22') self.vm.launch() res = self.vm.command('human-monitor-command', diff --git a/tests/avocado/replay_linux.py b/tests/avocado/replay_linux.py index e1f9981a34..a76dd507fc 100644 --- a/tests/avocado/replay_linux.py +++ b/tests/avocado/replay_linux.py @@ -55,6 +55,7 @@ class ReplayLinux(LinuxTest): '%s,drive=disk%s-rr%s' % (device, id, bus_string)) def launch_and_wait(self, record, args, shift): + self.require_netdev('user') vm = self.get_vm() vm.add_args('-smp', '1') vm.add_args('-m', '1024') |