aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Bennée <alex.bennee@linaro.org>2025-02-07 15:31:01 +0000
committerAlex Bennée <alex.bennee@linaro.org>2025-02-10 13:47:58 +0000
commit14fa0e6b2065bf693e4bdfc3fa0a84e1b8b5ffe1 (patch)
tree2012a8647413f4d0afa1b04d1eea1270bba88ae8
parent31ef3c333db3b1293b65da0e8fe602ad5ebcd698 (diff)
downloadqemu-14fa0e6b2065bf693e4bdfc3fa0a84e1b8b5ffe1.zip
qemu-14fa0e6b2065bf693e4bdfc3fa0a84e1b8b5ffe1.tar.gz
qemu-14fa0e6b2065bf693e4bdfc3fa0a84e1b8b5ffe1.tar.bz2
tests/qtest: tighten up the checks on clock_step
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. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20250207153112.3939799-7-alex.bennee@linaro.org>
-rw-r--r--system/qtest.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/system/qtest.c b/system/qtest.c
index 28b6fac..12152ef 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;