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>
This commit is contained in:
parent
0026be1d0f
commit
0fc389fe92
@ -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)
|
||||
|
@ -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',
|
||||
|
@ -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')
|
||||
|
Loading…
Reference in New Issue
Block a user