mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 01:03:55 -06:00
tests/functional: Move the check for the parameters from avocado to functional
test_x86_64_pc in tests/avocado/boot_linux_console.py only checks whether the kernel parameters have correctly been passed to the kernel in the guest by looking for them in the console output of the guest. Let's move that to the functional test framework now, but instead of doing it in a separate test, let's do it for all tuxrun tests instead, so it is done automatically for all targets that have a tuxrun test. Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-ID: <20250414113031.151105-3-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
22baa5f340
commit
bc65ae6961
2 changed files with 5 additions and 38 deletions
|
@ -9,17 +9,9 @@
|
|||
# later. See the COPYING file in the top-level directory.
|
||||
|
||||
import os
|
||||
import lzma
|
||||
import gzip
|
||||
import shutil
|
||||
|
||||
from avocado import skip
|
||||
from avocado import skipUnless
|
||||
from avocado import skipUnless
|
||||
from avocado_qemu import QemuSystemTest
|
||||
from avocado_qemu import exec_command
|
||||
from avocado_qemu import exec_command_and_wait_for_pattern
|
||||
from avocado_qemu import interrupt_interactive_console_until_pattern
|
||||
from avocado_qemu import wait_for_console_pattern
|
||||
from avocado.utils import process
|
||||
from avocado.utils import archive
|
||||
|
@ -68,29 +60,3 @@ class LinuxKernelTest(QemuSystemTest):
|
|||
process.run("rpm2cpio %s | cpio -id %s" % (rpm, path), shell=True)
|
||||
os.chdir(cwd)
|
||||
return os.path.normpath(os.path.join(self.workdir, path))
|
||||
|
||||
class BootLinuxConsole(LinuxKernelTest):
|
||||
"""
|
||||
Boots a Linux kernel and checks that the console is operational and the
|
||||
kernel command line is properly passed from QEMU to the kernel
|
||||
"""
|
||||
timeout = 90
|
||||
|
||||
def test_x86_64_pc(self):
|
||||
"""
|
||||
:avocado: tags=arch:x86_64
|
||||
:avocado: tags=machine:pc
|
||||
"""
|
||||
kernel_url = ('https://archives.fedoraproject.org/pub/archive/fedora'
|
||||
'/linux/releases/29/Everything/x86_64/os/images/pxeboot'
|
||||
'/vmlinuz')
|
||||
kernel_hash = '23bebd2680757891cf7adedb033532163a792495'
|
||||
kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
|
||||
|
||||
self.vm.set_console()
|
||||
kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'console=ttyS0'
|
||||
self.vm.add_args('-kernel', kernel_path,
|
||||
'-append', kernel_command_line)
|
||||
self.vm.launch()
|
||||
console_pattern = 'Kernel command line: %s' % kernel_command_line
|
||||
self.wait_for_console_pattern(console_pattern)
|
||||
|
|
|
@ -77,12 +77,12 @@ class TuxRunBaselineTest(QemuSystemTest):
|
|||
blockdev = "driver=raw,file.driver=file," \
|
||||
+ f"file.filename={disk},node-name=hd0"
|
||||
|
||||
kcmd_line = self.KERNEL_COMMON_COMMAND_LINE
|
||||
kcmd_line += f" root=/dev/{self.root}"
|
||||
kcmd_line += f" console={self.console}"
|
||||
self.kcmd_line = self.KERNEL_COMMON_COMMAND_LINE
|
||||
self.kcmd_line += f" root=/dev/{self.root}"
|
||||
self.kcmd_line += f" console={self.console}"
|
||||
|
||||
self.vm.add_args('-kernel', kernel,
|
||||
'-append', kcmd_line,
|
||||
'-append', self.kcmd_line,
|
||||
'-blockdev', blockdev)
|
||||
|
||||
# Sometimes we need extra devices attached
|
||||
|
@ -103,6 +103,7 @@ class TuxRunBaselineTest(QemuSystemTest):
|
|||
wait to exit cleanly.
|
||||
"""
|
||||
ps1='root@tuxtest:~#'
|
||||
self.wait_for_console_pattern(self.kcmd_line)
|
||||
self.wait_for_console_pattern('tuxtest login:')
|
||||
exec_command_and_wait_for_pattern(self, 'root', ps1)
|
||||
exec_command_and_wait_for_pattern(self, 'cat /proc/interrupts', ps1)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue