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
# later. See the COPYING file in the top-level directory.
import subprocess
from avocado_qemu import Test
class EmptyCPUModel(Test):
def test(self):
cmd = [self.qemu_bin, '-S', '-display', 'none', '-machine', 'none', '-cpu', '']
r = subprocess.run(cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE)
self.assertEquals(r.returncode, 1, "QEMU exit code should be 1")
self.assertEquals(r.stdout, b'', "QEMU stdout should be empty")
self.assertNotEquals(r.stderr, b'', "QEMU stderr shouldn't be empty")
self.vm.add_args('-S', '-display', 'none', '-machine', 'none', '-cpu', '')
self.vm.set_qmp_monitor(enabled=False)
self.vm.launch()
self.vm.wait()
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 tempfile
from avocado.utils.process import run
from avocado_qemu import Test
@ -41,13 +40,15 @@ class LinuxInitrd(Test):
initrd.seek(max_size)
initrd.write(b'\0')
initrd.flush()
cmd = "%s -kernel %s -initrd %s -m 4096" % (
self.qemu_bin, kernel_path, initrd.name)
res = run(cmd, ignore_status=True)
self.assertEqual(res.exit_status, 1)
self.vm.add_args('-kernel', kernel_path, '-initrd', initrd.name,
'-m', '4096')
self.vm.set_qmp_monitor(enabled=False)
self.vm.launch()
self.vm.wait()
self.assertEqual(self.vm.exitcode(), 1)
expected_msg = r'.*initrd is too large.*max: \d+, need %s.*' % (
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):
"""