[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 18/32] tests/functional: remove hacky sleep from the tests
From: |
Alex Bennée |
Subject: |
[PATCH v4 18/32] tests/functional: remove hacky sleep from the tests |
Date: |
Wed, 8 Jan 2025 12:10:40 +0000 |
We have proper detection of prompts now so we don't need to guess with
sleep() sprinkled through the test. The extra step of calling halt is
just to flush the final bits of the log (although the last line is
still missed).
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
---
v2
- avoid long lines by iterating through an array
- drop time import
v3
- fix up on re-base
- drop stray import os that had sneaked in
---
tests/functional/test_aarch64_virt.py | 32 +++++++++++++++------------
1 file changed, 18 insertions(+), 14 deletions(-)
diff --git a/tests/functional/test_aarch64_virt.py
b/tests/functional/test_aarch64_virt.py
index 08576b0694..2d9995a95d 100755
--- a/tests/functional/test_aarch64_virt.py
+++ b/tests/functional/test_aarch64_virt.py
@@ -10,12 +10,12 @@
#
# SPDX-License-Identifier: GPL-2.0-or-later
-import time
import logging
from subprocess import check_call, DEVNULL
from qemu_test import QemuSystemTest, Asset
-from qemu_test import exec_command, wait_for_console_pattern
+from qemu_test import exec_command_and_wait_for_pattern
+from qemu_test import wait_for_console_pattern
from qemu_test import get_qemu_img
@@ -107,18 +107,22 @@ def common_aarch64_virt(self, machine):
'virtio-blk-device,drive=scratch')
self.vm.launch()
- self.wait_for_console_pattern('Welcome to Buildroot')
- time.sleep(0.1)
- exec_command(self, 'root')
- time.sleep(0.1)
- exec_command(self, 'dd if=/dev/hwrng of=/dev/vda bs=512 count=4')
- time.sleep(0.1)
- exec_command(self, 'md5sum /dev/vda')
- time.sleep(0.1)
- exec_command(self, 'cat /proc/interrupts')
- time.sleep(0.1)
- exec_command(self, 'cat /proc/self/maps')
- time.sleep(0.1)
+
+ ps1='#'
+ self.wait_for_console_pattern('login:')
+
+ commands = [
+ ('root', ps1),
+ ('cat /proc/interrupts', ps1),
+ ('cat /proc/self/maps', ps1),
+ ('uname -a', ps1),
+ ('dd if=/dev/hwrng of=/dev/vda bs=512 count=4', ps1),
+ ('md5sum /dev/vda', ps1),
+ ('halt -n', 'reboot: System halted')
+ ]
+
+ for cmd, pattern in commands:
+ exec_command_and_wait_for_pattern(self, cmd, pattern)
def test_aarch64_virt_gicv3(self):
self.common_aarch64_virt("virt,gic_version=3")
--
2.39.5
- [PATCH v4 00/32] testing/next: functional tests, qtest clocks, vm and keymaps (pre-PR-FINAL), Alex Bennée, 2025/01/08
- [PATCH v4 01/32] tests/functional: update the arm tuxrun tests, Alex Bennée, 2025/01/08
- [PATCH v4 31/32] dockerfiles: Remove 'MAINTAINER' entry in debian-tricore-cross.docker, Alex Bennée, 2025/01/08
- [PATCH v4 18/32] tests/functional: remove hacky sleep from the tests,
Alex Bennée <=
- [PATCH v4 07/32] tests/functional: update the mips64el tuxrun tests, Alex Bennée, 2025/01/08
- [PATCH v4 17/32] system/qtest: properly feedback results of clock_[step|set], Alex Bennée, 2025/01/08
- [PATCH v4 02/32] tests/functional: update the i386 tuxrun tests, Alex Bennée, 2025/01/08
- [PATCH v4 30/32] pc-bios: ensure keymaps dependencies set vnc tests, Alex Bennée, 2025/01/08
- [PATCH v4 11/32] tests/functional: update the riscv64 tuxrun tests, Alex Bennée, 2025/01/08
- [PATCH v4 22/32] tests/functional: bail aarch64_virt tests early if missing TCG, Alex Bennée, 2025/01/08
- [PATCH v4 14/32] tests/functional: update the x86_64 tuxrun tests, Alex Bennée, 2025/01/08
- [PATCH v4 15/32] tests/functional/aarch64: add tests for FEAT_RME, Alex Bennée, 2025/01/08