[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 06/17] tests/qtest: tighten up the checks on clock_step
From: |
Alex Bennée |
Subject: |
[PATCH v2 06/17] tests/qtest: tighten up the checks on clock_step |
Date: |
Fri, 7 Feb 2025 15:31:01 +0000 |
It is invalid to call clock_step with an implied time to step forward
as if no timers are running we won't be able to advance.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
---
v3
- used Peter's suggested wording
- used plain old if over ternary operator
---
system/qtest.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/system/qtest.c b/system/qtest.c
index 28b6fac37c..12152efbcd 100644
--- a/system/qtest.c
+++ b/system/qtest.c
@@ -708,10 +708,19 @@ static void qtest_process_command(CharBackend *chr, gchar
**words)
} else {
ns = qemu_clock_deadline_ns_all(QEMU_CLOCK_VIRTUAL,
QEMU_TIMER_ATTR_ALL);
+ if (ns < 0) {
+ qtest_send(chr, "FAIL "
+ "cannot advance clock to the next deadline "
+ "because there is no pending deadline\n");
+ return;
+ }
}
new_ns = qemu_clock_advance_virtual_time(old_ns + ns);
- qtest_sendf(chr, "%s %"PRIi64"\n",
- new_ns > old_ns ? "OK" : "FAIL", new_ns);
+ if (new_ns > old_ns) {
+ qtest_sendf(chr, "OK %"PRIi64"\n", new_ns);
+ } else {
+ qtest_sendf(chr, "FAIL could not advance time\n");
+ }
} else if (strcmp(words[0], "module_load") == 0) {
Error *local_err = NULL;
int rv;
--
2.39.5
- [PATCH v2 00/17] maintainer updates for feb25 (qtest, gdbstub, plugins) pre-PR, Alex Bennée, 2025/02/07
- [PATCH v2 01/17] tests/docker: replicate the check-rust-tools-nightly CI job, Alex Bennée, 2025/02/07
- [PATCH v2 02/17] tests/qtest: don't attempt to clock_step while waiting for virtio ISR, Alex Bennée, 2025/02/07
- [PATCH v2 05/17] tests/qtest: rename qtest_send_prefix and roll-up into qtest_send, Alex Bennée, 2025/02/07
- [PATCH v2 03/17] tests/qtest: don't step clock at start of npcm7xx periodic IRQ test, Alex Bennée, 2025/02/07
- [PATCH v2 11/17] gdbstub: Try unlinking the unix socket before binding, Alex Bennée, 2025/02/07
- [PATCH v2 08/17] tests/qtest/migration: Add --full option, Alex Bennée, 2025/02/07
- [PATCH v2 06/17] tests/qtest: tighten up the checks on clock_step,
Alex Bennée <=
- [PATCH v2 04/17] tests/qtest: simplify qtest_process_inbuf, Alex Bennée, 2025/02/07
- [PATCH v2 16/17] docs/user: Document the %d placeholder and suspend=n QEMU_GDB features, Alex Bennée, 2025/02/07
- [PATCH v2 07/17] Revert "util/timer: avoid deadlock when shutting down", Alex Bennée, 2025/02/07
- [PATCH v2 10/17] gdbstub: Allow the %d placeholder in the socket path, Alex Bennée, 2025/02/07
- [PATCH v2 13/17] user: Introduce host_interrupt_signal, Alex Bennée, 2025/02/07
- [PATCH v2 14/17] osdep: Introduce qemu_kill_thread(), Alex Bennée, 2025/02/07
- [PATCH v2 15/17] gdbstub: Allow late attachment, Alex Bennée, 2025/02/07
- [PATCH v2 12/17] user: Introduce user/signal.h, Alex Bennée, 2025/02/07
- [PATCH v2 09/17] tests/qtest/migration: Pick smoke tests, Alex Bennée, 2025/02/07
- [PATCH v2 17/17] tests/tcg: Add late gdbstub attach test, Alex Bennée, 2025/02/07