summaryrefslogtreecommitdiffstats
path: root/tests/acceptance
diff options
context:
space:
mode:
authorThomas Huth2020-12-15 19:36:21 +0100
committerCornelia Huck2020-12-21 18:11:33 +0100
commit09d4455e42e1bd2dd76d7c45dbb8560cc2371cc4 (patch)
tree0b32ea926cf7516264b62d35b3952cdc1e65f3cd /tests/acceptance
parenttests/acceptance: test hot(un)plug of ccw devices (diff)
downloadqemu-09d4455e42e1bd2dd76d7c45dbb8560cc2371cc4.tar.gz
qemu-09d4455e42e1bd2dd76d7c45dbb8560cc2371cc4.tar.xz
qemu-09d4455e42e1bd2dd76d7c45dbb8560cc2371cc4.zip
tests/acceptance: Extract the code to clear dmesg and wait for CRW reports
We will use this in more spots soon, so it's easier to put this into a separate function. Reviewed-by: Willian Rampazzo <willianr@redhat.com> Tested-by: Willian Rampazzo <willianr@redhat.com> Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <20201215183623.110128-2-thuth@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Diffstat (limited to 'tests/acceptance')
-rw-r--r--tests/acceptance/machine_s390_ccw_virtio.py30
1 files changed, 17 insertions, 13 deletions
diff --git a/tests/acceptance/machine_s390_ccw_virtio.py b/tests/acceptance/machine_s390_ccw_virtio.py
index 864ef4ee6e..3d146b9ce6 100644
--- a/tests/acceptance/machine_s390_ccw_virtio.py
+++ b/tests/acceptance/machine_s390_ccw_virtio.py
@@ -17,12 +17,24 @@ from avocado_qemu import wait_for_console_pattern
class S390CCWVirtioMachine(Test):
KERNEL_COMMON_COMMAND_LINE = 'printk.time=0 '
+ timeout = 120
+
def wait_for_console_pattern(self, success_message, vm=None):
wait_for_console_pattern(self, success_message,
failure_message='Kernel panic - not syncing',
vm=vm)
- timeout = 120
+ def wait_for_crw_reports(self):
+ exec_command_and_wait_for_pattern(self,
+ 'while ! (dmesg -c | grep CRW) ; do sleep 1 ; done',
+ 'CRW reports')
+
+ dmesg_clear_count = 1
+ def clear_guest_dmesg(self):
+ exec_command_and_wait_for_pattern(self, 'dmesg -c > /dev/null; '
+ 'echo dm_clear\ ' + str(self.dmesg_clear_count),
+ 'dm_clear ' + str(self.dmesg_clear_count))
+ self.dmesg_clear_count += 1
def test_s390x_devices(self):
@@ -100,26 +112,18 @@ class S390CCWVirtioMachine(Test):
'cat /sys/bus/pci/devices/000a\:00\:00.0/function_id',
'0x0000000c')
# add another device
- exec_command_and_wait_for_pattern(self,
- 'dmesg -c > /dev/null; echo dm_clear\ 1',
- 'dm_clear 1')
+ self.clear_guest_dmesg()
self.vm.command('device_add', driver='virtio-net-ccw',
devno='fe.0.4711', id='net_4711')
- exec_command_and_wait_for_pattern(self,
- 'while ! (dmesg -c | grep CRW) ; do sleep 1 ; done',
- 'CRW reports')
+ self.wait_for_crw_reports()
exec_command_and_wait_for_pattern(self, 'ls /sys/bus/ccw/devices/',
'0.0.4711')
# and detach it again
- exec_command_and_wait_for_pattern(self,
- 'dmesg -c > /dev/null; echo dm_clear\ 2',
- 'dm_clear 2')
+ self.clear_guest_dmesg()
self.vm.command('device_del', id='net_4711')
self.vm.event_wait(name='DEVICE_DELETED',
match={'data': {'device': 'net_4711'}})
- exec_command_and_wait_for_pattern(self,
- 'while ! (dmesg -c | grep CRW) ; do sleep 1 ; done',
- 'CRW reports')
+ self.wait_for_crw_reports()
exec_command_and_wait_for_pattern(self,
'ls /sys/bus/ccw/devices/0.0.4711',
'No such file or directory')