tests/avocado: Rename avocado_qemu.Test -> QemuSystemTest

To run user-mode emulation tests, we introduced the
avocado_qemu.QemuUserTest which inherits from avocado_qemu.QemuBaseTest.
System-mode emulation tests are based on the avocado_qemu.Test class,
which also inherits avocado_qemu.QemuBaseTest. To avoid confusion,
rename it as avocado_qemu.QemuSystemTest.

Suggested-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20211105143416.148332-7-f4bug@amsat.org>
This commit is contained in:
Philippe Mathieu-Daudé 2021-09-27 18:14:33 +02:00 committed by Philippe Mathieu-Daudé
parent 8011837a01
commit 2283b627bc
35 changed files with 80 additions and 82 deletions

View File

@ -811,10 +811,10 @@ class. Here's a simple usage example:
.. code::
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
class Version(Test):
class Version(QemuSystemTest):
"""
:avocado: tags=quick
"""
@ -859,10 +859,10 @@ and hypothetical example follows:
.. code::
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
class MultipleMachines(Test):
class MultipleMachines(QemuSystemTest):
def test_multiple_machines(self):
first_machine = self.get_vm()
second_machine = self.get_vm()

View File

@ -176,7 +176,7 @@ def interrupt_interactive_console_until_pattern(test, success_message,
:param test: an Avocado test containing a VM that will have its console
read and probed for a success or failure message
:type test: :class:`avocado_qemu.Test`
:type test: :class:`avocado_qemu.QemuSystemTest`
:param success_message: if this message appears, test succeeds
:param failure_message: if this message appears, test fails
:param interrupt_string: a string to send to the console before trying
@ -192,7 +192,7 @@ def wait_for_console_pattern(test, success_message, failure_message=None,
:param test: an Avocado test containing a VM that will have its console
read and probed for a success or failure message
:type test: :class:`avocado_qemu.Test`
:type test: :class:`avocado_qemu.QemuSystemTest`
:param success_message: if this message appears, test succeeds
:param failure_message: if this message appears, test fails
"""
@ -204,7 +204,7 @@ def exec_command(test, command):
the content.
:param test: an Avocado test containing a VM.
:type test: :class:`avocado_qemu.Test`
:type test: :class:`avocado_qemu.QemuSystemTest`
:param command: the command to send
:type command: str
"""
@ -219,7 +219,7 @@ def exec_command_and_wait_for_pattern(test, command,
:param test: an Avocado test containing a VM that will have its console
read and probed for a success or failure message
:type test: :class:`avocado_qemu.Test`
:type test: :class:`avocado_qemu.QemuSystemTest`
:param command: the command to send
:param success_message: if this message appears, test succeeds
:param failure_message: if this message appears, test fails
@ -262,11 +262,8 @@ class QemuBaseTest(avocado.Test):
cancel_on_missing=cancel_on_missing)
class Test(QemuBaseTest):
"""Facilitates system emulation tests.
TODO: Rename this class as `QemuSystemTest`.
"""
class QemuSystemTest(QemuBaseTest):
"""Facilitates system emulation tests."""
def setUp(self):
self._vms = {}
@ -508,11 +505,11 @@ class LinuxDistro:
return self._info.get('kernel_params', None)
class LinuxTest(LinuxSSHMixIn, Test):
class LinuxTest(LinuxSSHMixIn, QemuSystemTest):
"""Facilitates having a cloud-image Linux based available.
For tests that indend to interact with guests, this is a better choice
to start with than the more vanilla `Test` class.
For tests that indent to interact with guests, this is a better choice
to start with than the more vanilla `QemuSystemTest` class.
"""
timeout = 900

View File

@ -15,7 +15,7 @@ import shutil
from avocado import skip
from avocado import skipUnless
from avocado_qemu import Test
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
@ -46,7 +46,7 @@ def image_pow2ceil_expand(path):
with open(path, 'ab+') as fd:
fd.truncate(size_aligned)
class LinuxKernelTest(Test):
class LinuxKernelTest(QemuSystemTest):
KERNEL_COMMON_COMMAND_LINE = 'printk.time=0 '
def wait_for_console_pattern(self, success_message, vm=None):

View File

@ -8,9 +8,9 @@
# This work is licensed under the terms of the GNU GPL, version 2 or
# later. See the COPYING file in the top-level directory.
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
class QueryCPUModelExpansion(Test):
class QueryCPUModelExpansion(QemuSystemTest):
"""
Run query-cpu-model-expansion for each CPU model, and validate results
"""

View File

@ -7,9 +7,9 @@
#
# This work is licensed under the terms of the GNU GPL, version 2 or
# later. See the COPYING file in the top-level directory.
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
class EmptyCPUModel(Test):
class EmptyCPUModel(QemuSystemTest):
def test(self):
self.vm.add_args('-S', '-display', 'none', '-machine', 'none', '-cpu', '')
self.vm.set_qmp_monitor(enabled=False)

View File

@ -8,12 +8,12 @@
# This work is licensed under the terms of the GNU GPL, version 2 or
# later. See the COPYING file in the top-level directory.
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
from qemu.utils import get_info_usernet_hostfwd_port
class InfoUsernet(Test):
class InfoUsernet(QemuSystemTest):
def test_hostfwd(self):
self.vm.add_args('-netdev', 'user,id=vnet,hostfwd=:127.0.0.1:0-:22')

View File

@ -12,11 +12,11 @@ import os
import logging
import tempfile
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
from avocado import skipIf
class LinuxInitrd(Test):
class LinuxInitrd(QemuSystemTest):
"""
Checks QEMU evaluates correctly the initrd file passed as -initrd option.

View File

@ -12,7 +12,8 @@ import logging
import time
from avocado import skipUnless
from avocado_qemu import Test, LinuxSSHMixIn
from avocado_qemu import LinuxSSHMixIn
from avocado_qemu import QemuSystemTest
from avocado_qemu import wait_for_console_pattern
from avocado.utils import process
from avocado.utils import archive
@ -21,7 +22,7 @@ from avocado.utils import ssh
@skipUnless(os.getenv('AVOCADO_TIMEOUT_EXPECTED'), 'Test might timeout')
@skipUnless(ssh.SSH_CLIENT_BINARY, 'No SSH client available')
class LinuxSSH(Test, LinuxSSHMixIn):
class LinuxSSH(QemuSystemTest, LinuxSSHMixIn):
timeout = 150 # Not for 'configure --enable-debug --enable-debug-tcg'

View File

@ -8,11 +8,11 @@
# This work is licensed under the terms of the GNU GPL, version 2 or
# later. See the COPYING file in the top-level directory.
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
from avocado_qemu import wait_for_console_pattern
from avocado.utils import archive
class CanonA1100Machine(Test):
class CanonA1100Machine(QemuSystemTest):
"""Boots the barebox firmware and checks that the console is operational"""
timeout = 90

View File

@ -12,7 +12,7 @@ import os
import logging
from avocado import skipUnless
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
from avocado_qemu import wait_for_console_pattern
@ -29,7 +29,7 @@ except ImportError:
CV2_AVAILABLE = False
class IntegratorMachine(Test):
class IntegratorMachine(QemuSystemTest):
timeout = 90

View File

@ -11,10 +11,10 @@
import os
from avocado import skipUnless
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
from avocado_qemu import wait_for_console_pattern
class N8x0Machine(Test):
class N8x0Machine(QemuSystemTest):
"""Boots the Linux kernel and checks that the console is operational"""
timeout = 90

View File

@ -19,9 +19,9 @@
import time
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
class AVR6Machine(Test):
class AVR6Machine(QemuSystemTest):
timeout = 5
def test_freertos(self):

View File

@ -8,7 +8,7 @@
import os
import time
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
from avocado import skipUnless
from tesseract_utils import tesseract_available, tesseract_ocr
@ -20,7 +20,7 @@ except ImportError:
PIL_AVAILABLE = False
class NextCubeMachine(Test):
class NextCubeMachine(QemuSystemTest):
"""
:avocado: tags=arch:m68k
:avocado: tags=machine:next-cube

View File

@ -5,11 +5,11 @@
# This work is licensed under the terms of the GNU GPL, version 2 or
# later. See the COPYING file in the top-level directory.
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
from avocado_qemu import wait_for_console_pattern
from avocado.utils import archive
class MicroblazeMachine(Test):
class MicroblazeMachine(QemuSystemTest):
timeout = 90

View File

@ -10,10 +10,10 @@
import os
from avocado import skipUnless
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
from avocado_qemu import wait_for_console_pattern
class MipsFuloong2e(Test):
class MipsFuloong2e(QemuSystemTest):
timeout = 60

View File

@ -11,10 +11,10 @@ import os
import time
from avocado import skipUnless
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
from avocado_qemu import wait_for_console_pattern
class MipsLoongson3v(Test):
class MipsLoongson3v(QemuSystemTest):
timeout = 60
@skipUnless(os.getenv('AVOCADO_ALLOW_UNTRUSTED_CODE'), 'untrusted code')

View File

@ -12,7 +12,7 @@ import gzip
import logging
from avocado import skipUnless
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
from avocado_qemu import wait_for_console_pattern
from avocado.utils import archive
from avocado import skipIf
@ -33,7 +33,7 @@ except ImportError:
@skipUnless(NUMPY_AVAILABLE, 'Python NumPy not installed')
@skipUnless(CV2_AVAILABLE, 'Python OpenCV not installed')
class MaltaMachineFramebuffer(Test):
class MaltaMachineFramebuffer(QemuSystemTest):
timeout = 30

View File

@ -11,13 +11,13 @@
import os
from avocado import skipIf
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
from avocado_qemu import exec_command_and_wait_for_pattern
from avocado_qemu import wait_for_console_pattern
from avocado.utils import archive
class RxGdbSimMachine(Test):
class RxGdbSimMachine(QemuSystemTest):
timeout = 30
KERNEL_COMMON_COMMAND_LINE = 'printk.time=0 '

View File

@ -13,12 +13,12 @@ import os
import tempfile
from avocado import skipIf
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
from avocado_qemu import exec_command_and_wait_for_pattern
from avocado_qemu import wait_for_console_pattern
from avocado.utils import archive
class S390CCWVirtioMachine(Test):
class S390CCWVirtioMachine(QemuSystemTest):
KERNEL_COMMON_COMMAND_LINE = 'printk.time=0 '
timeout = 120

View File

@ -5,12 +5,12 @@
# This work is licensed under the terms of the GNU GPL, version 2 or
# later. See the COPYING file in the top-level directory.
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
from avocado_qemu import wait_for_console_pattern
from avocado import skip
class Leon3Machine(Test):
class Leon3Machine(QemuSystemTest):
timeout = 60

View File

@ -11,7 +11,7 @@
import tempfile
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
from avocado import skipUnless
from avocado.utils import network
@ -19,7 +19,7 @@ from avocado.utils import wait
from avocado.utils.path import find_command
class Migration(Test):
class Migration(QemuSystemTest):
"""
:avocado: tags=migration
"""

View File

@ -7,12 +7,12 @@
import os
import socket
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
from avocado_qemu import wait_for_console_pattern
from avocado_qemu import exec_command
from avocado_qemu import exec_command_and_wait_for_pattern
class Multiprocess(Test):
class Multiprocess(QemuSystemTest):
"""
:avocado: tags=multiprocess
"""

View File

@ -20,9 +20,9 @@
# License along with this library; if not, see <http://www.gnu.org/licenses/>.
#
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
class OmittedCPUProps(Test):
class OmittedCPUProps(QemuSystemTest):
"""
:avocado: tags=arch:x86_64
:avocado: tags=cpu:qemu64

View File

@ -6,11 +6,11 @@
# later. See the COPYING file in the top-level directory.
from avocado.utils import archive
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
from avocado_qemu import wait_for_console_pattern
from avocado_qemu import exec_command_and_wait_for_pattern
class Ppc405Machine(Test):
class Ppc405Machine(QemuSystemTest):
timeout = 90

View File

@ -6,11 +6,11 @@
# later. See the COPYING file in the top-level directory.
from avocado.utils import archive
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
from avocado_qemu import wait_for_console_pattern
from avocado_qemu import exec_command_and_wait_for_pattern
class BambooMachine(Test):
class BambooMachine(QemuSystemTest):
timeout = 90

View File

@ -6,10 +6,10 @@
# later. See the COPYING file in the top-level directory.
from avocado.utils import archive
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
from avocado_qemu import wait_for_console_pattern
class Mpc8544dsMachine(Test):
class Mpc8544dsMachine(QemuSystemTest):
timeout = 90
KERNEL_COMMON_COMMAND_LINE = 'printk.time=0 '

View File

@ -8,11 +8,11 @@
import os
from avocado import skipUnless
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
from avocado_qemu import wait_for_console_pattern
class IbmPrep40pMachine(Test):
class IbmPrep40pMachine(QemuSystemTest):
timeout = 60

View File

@ -6,10 +6,10 @@
# later. See the COPYING file in the top-level directory.
from avocado.utils import archive
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
from avocado_qemu import wait_for_console_pattern
class pseriesMachine(Test):
class pseriesMachine(QemuSystemTest):
timeout = 90
KERNEL_COMMON_COMMAND_LINE = 'printk.time=0 '

View File

@ -6,10 +6,10 @@
# later. See the COPYING file in the top-level directory.
from avocado.utils import archive
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
from avocado_qemu import wait_for_console_pattern
class VirtexMl507Machine(Test):
class VirtexMl507Machine(QemuSystemTest):
timeout = 90
KERNEL_COMMON_COMMAND_LINE = 'printk.time=0 '

View File

@ -9,10 +9,10 @@
# later. See the COPYING file in the top-level directory.
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
class Version(Test):
class Version(QemuSystemTest):
"""
:avocado: tags=quick
"""

View File

@ -4,8 +4,8 @@
# later. See the COPYING file in the top-level directory.
from avocado_qemu import Test
from avocado_qemu import BUILD_DIR
from avocado_qemu import QemuSystemTest
from avocado_qemu import wait_for_console_pattern
from avocado_qemu import exec_command_and_wait_for_pattern
from avocado_qemu import is_readable_executable_file
@ -27,7 +27,7 @@ def pick_default_vug_bin():
return bld_dir_path
class VirtioGPUx86(Test):
class VirtioGPUx86(QemuSystemTest):
"""
:avocado: tags=virtio-gpu
:avocado: tags=arch:x86_64

View File

@ -24,7 +24,7 @@ import logging
sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python'))
from qemu.machine import QEMUMachine
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
from avocado import skip
#list of machine types and virtqueue properties to test
@ -41,7 +41,7 @@ VM_DEV_PARAMS = {'virtio-scsi-pci': ['-device', 'virtio-scsi-pci,id=scsi0'],
'driver=null-co,id=drive0,if=none']}
class VirtioMaxSegSettingsCheck(Test):
class VirtioMaxSegSettingsCheck(QemuSystemTest):
@staticmethod
def make_pattern(props):
pattern_items = ['{0} = \w+'.format(prop) for prop in props]

View File

@ -13,7 +13,7 @@ import os
sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python'))
from qemu.machine import QEMUMachine
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
# Virtio Device IDs:
VIRTIO_NET = 1
@ -55,7 +55,7 @@ def get_pci_interfaces(vm, devtype):
interfaces = ('pci-express-device', 'conventional-pci-device')
return [i for i in interfaces if devtype_implements(vm, devtype, i)]
class VirtioVersionCheck(Test):
class VirtioVersionCheck(QemuSystemTest):
"""
Check if virtio-version-specific device types result in the
same device tree created by `disable-modern` and

View File

@ -8,10 +8,10 @@
# This work is licensed under the terms of the GNU GPL, version 2 or
# later. See the COPYING file in the top-level directory.
from avocado_qemu import Test
from avocado_qemu import QemuSystemTest
class Vnc(Test):
class Vnc(QemuSystemTest):
"""
:avocado: tags=vnc,quick
"""

View File

@ -24,7 +24,7 @@
import avocado_qemu
import re
class X86CPUModelAliases(avocado_qemu.Test):
class X86CPUModelAliases(avocado_qemu.QemuSystemTest):
"""
Validation of PC CPU model versions and CPU model aliases
@ -239,7 +239,7 @@ class X86CPUModelAliases(avocado_qemu.Test):
self.validate_aliases(cpus)
class CascadelakeArchCapabilities(avocado_qemu.Test):
class CascadelakeArchCapabilities(avocado_qemu.QemuSystemTest):
"""
Validation of Cascadelake arch-capabilities