tests/acceptance: Makes linux_initrd and empty_cpu_model use QEMUMachine

On linux_initrd and empty_cpu_model tests the same effect of
calling QEMU through run() to inspect the terminated process is
achieved with a sequence of set_qmp_monitor() / launch() / wait()
commands on an QEMUMachine object. This patch changes those
tests to use QEMUMachine instead, so they follow the same pattern
to launch QEMU found on other acceptance tests.

Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
Reviewed-by: Cleber Rosa <crosa@redhat.com>
Tested-by: Cleber Rosa <crosa@redhat.com>
Message-Id: <20191211185536.16962-3-wainersm@redhat.com>
Signed-off-by: Cleber Rosa <crosa@redhat.com>
This commit is contained in:
Wainer dos Santos Moschetta 2019-12-11 13:55:36 -05:00 committed by Cleber Rosa
parent 74b56bb553
commit c80c6beb17
2 changed files with 13 additions and 12 deletions

View File

@ -7,13 +7,13 @@
# #
# This work is licensed under the terms of the GNU GPL, version 2 or # This work is licensed under the terms of the GNU GPL, version 2 or
# later. See the COPYING file in the top-level directory. # later. See the COPYING file in the top-level directory.
import subprocess
from avocado_qemu import Test from avocado_qemu import Test
class EmptyCPUModel(Test): class EmptyCPUModel(Test):
def test(self): def test(self):
cmd = [self.qemu_bin, '-S', '-display', 'none', '-machine', 'none', '-cpu', ''] self.vm.add_args('-S', '-display', 'none', '-machine', 'none', '-cpu', '')
r = subprocess.run(cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE) self.vm.set_qmp_monitor(enabled=False)
self.assertEquals(r.returncode, 1, "QEMU exit code should be 1") self.vm.launch()
self.assertEquals(r.stdout, b'', "QEMU stdout should be empty") self.vm.wait()
self.assertNotEquals(r.stderr, b'', "QEMU stderr shouldn't be empty") self.assertEquals(self.vm.exitcode(), 1, "QEMU exit code should be 1")
self.assertRegex(self.vm.get_log(), r'-cpu option cannot be empty')

View File

@ -10,7 +10,6 @@
import logging import logging
import tempfile import tempfile
from avocado.utils.process import run
from avocado_qemu import Test from avocado_qemu import Test
@ -41,13 +40,15 @@ class LinuxInitrd(Test):
initrd.seek(max_size) initrd.seek(max_size)
initrd.write(b'\0') initrd.write(b'\0')
initrd.flush() initrd.flush()
cmd = "%s -kernel %s -initrd %s -m 4096" % ( self.vm.add_args('-kernel', kernel_path, '-initrd', initrd.name,
self.qemu_bin, kernel_path, initrd.name) '-m', '4096')
res = run(cmd, ignore_status=True) self.vm.set_qmp_monitor(enabled=False)
self.assertEqual(res.exit_status, 1) self.vm.launch()
self.vm.wait()
self.assertEqual(self.vm.exitcode(), 1)
expected_msg = r'.*initrd is too large.*max: \d+, need %s.*' % ( expected_msg = r'.*initrd is too large.*max: \d+, need %s.*' % (
max_size + 1) max_size + 1)
self.assertRegex(res.stderr_text, expected_msg) self.assertRegex(self.vm.get_log(), expected_msg)
def test_with_2gib_file_should_work_with_linux_v4_16(self): def test_with_2gib_file_should_work_with_linux_v4_16(self):
""" """