[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 13/20] tests/avocado: exec_command should not consume console outp
|
From: |
Philippe Mathieu-Daudé |
|
Subject: |
[PULL 13/20] tests/avocado: exec_command should not consume console output |
|
Date: |
Tue, 20 Aug 2024 00:51:09 +0200 |
From: Nicholas Piggin <npiggin@gmail.com>
_console_interaction reads data from the console even when there is only
an input string to send, and no output data to wait on. This can cause
lines to be missed by wait_for_console_pattern calls that follows an
exec_command. Fix this by not reading the console if there is no pattern
to wait for.
This solves occasional hangs in ppc_hv_tests.py, usually when run on KVM
hosts that are fast enough to output important lines quickly enough to be
consumed by exec_command, so they get missed by subsequent wait for
pattern calls.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240805232814.267843-2-npiggin@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
tests/avocado/avocado_qemu/__init__.py | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/tests/avocado/avocado_qemu/__init__.py
b/tests/avocado/avocado_qemu/__init__.py
index a3da2a96bb..ef935614cf 100644
--- a/tests/avocado/avocado_qemu/__init__.py
+++ b/tests/avocado/avocado_qemu/__init__.py
@@ -135,6 +135,13 @@ def _console_interaction(test, success_message,
failure_message,
vm.console_socket.sendall(send_string.encode())
if not keep_sending:
send_string = None # send only once
+
+ # Only consume console output if waiting for something
+ if success_message is None and failure_message is None:
+ if send_string is None:
+ break
+ continue
+
try:
msg = console.readline().decode().strip()
except UnicodeDecodeError:
--
2.45.2
- [PULL 03/20] qemu-options.hx: correct formatting -smbios type=4, (continued)
- [PULL 03/20] qemu-options.hx: correct formatting -smbios type=4, Philippe Mathieu-Daudé, 2024/08/19
- [PULL 05/20] target/mips: Use correct MMU index in get_pte(), Philippe Mathieu-Daudé, 2024/08/19
- [PULL 07/20] hw/dma/xilinx_axidma: Use semicolon at end of statement, not comma, Philippe Mathieu-Daudé, 2024/08/19
- [PULL 04/20] target/mips: Pass page table entry size as MemOp to get_pte(), Philippe Mathieu-Daudé, 2024/08/19
- [PULL 08/20] hw/remote/message.c: Don't directly invoke DeviceClass:reset, Philippe Mathieu-Daudé, 2024/08/19
- [PULL 16/20] target/sparc: Restrict STQF to sparcv9, Philippe Mathieu-Daudé, 2024/08/19
- [PULL 18/20] hw/i386/pc: Unify vmport=auto handling, Philippe Mathieu-Daudé, 2024/08/19
- [PULL 09/20] linux-user/mips: Do not try to use removed R5900 CPU, Philippe Mathieu-Daudé, 2024/08/19
- [PULL 20/20] crypto/tlscredspsk: Free username on finalize, Philippe Mathieu-Daudé, 2024/08/19
- [PULL 11/20] linux-user/mips: Select MIPS64R2-generic for Rel2 binaries, Philippe Mathieu-Daudé, 2024/08/19
- [PULL 13/20] tests/avocado: exec_command should not consume console output,
Philippe Mathieu-Daudé <=
- [PULL 17/20] hw/ppc/Kconfig: Add missing SERIAL_ISA dependency to POWERNV machine, Philippe Mathieu-Daudé, 2024/08/19
- [PULL 06/20] target/mips: Load PTE as DATA, Philippe Mathieu-Daudé, 2024/08/19
- [PULL 10/20] linux-user/mips: Select Octeon68XX CPU for Octeon binaries, Philippe Mathieu-Daudé, 2024/08/19
- [PULL 12/20] linux-user/mips: Select Loongson CPU for Loongson binaries, Philippe Mathieu-Daudé, 2024/08/19
- [PULL 15/20] contrib/plugins/execlog: Fix shadowed declaration warning, Philippe Mathieu-Daudé, 2024/08/19
- [PULL 19/20] hw/i386/pc: Ensure vmport prerequisites are fulfilled, Philippe Mathieu-Daudé, 2024/08/19
- [PULL 14/20] tests/avocado: Mark ppc_hv_tests.py as non-flaky after fixed console interaction, Philippe Mathieu-Daudé, 2024/08/19
- Re: [PULL 00/20] Misc fixes for 2024-08-20, Richard Henderson, 2024/08/20