[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 3/6] tests/qtest: capture RESUME events during migration
From: |
Daniel P . Berrangé |
Subject: |
[PATCH v2 3/6] tests/qtest: capture RESUME events during migration |
Date: |
Fri, 21 Apr 2023 18:14:08 +0100 |
When running migration tests we monitor for a STOP event so we can skip
redundant waits. This will be needed for the RESUME event too shortly.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
tests/qtest/migration-helpers.c | 12 +++++++++---
tests/qtest/migration-helpers.h | 1 +
tests/qtest/migration-test.c | 1 +
3 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/tests/qtest/migration-helpers.c b/tests/qtest/migration-helpers.c
index f6f3c6680f..61396335cc 100644
--- a/tests/qtest/migration-helpers.c
+++ b/tests/qtest/migration-helpers.c
@@ -24,14 +24,20 @@
#define MIGRATION_STATUS_WAIT_TIMEOUT 120
bool got_stop;
+bool got_resume;
-static void check_stop_event(QTestState *who)
+static void check_events(QTestState *who)
{
QDict *event = qtest_qmp_event_ref(who, "STOP");
if (event) {
got_stop = true;
qobject_unref(event);
}
+ event = qtest_qmp_event_ref(who, "RESUME");
+ if (event) {
+ got_resume = true;
+ qobject_unref(event);
+ }
}
#ifndef _WIN32
@@ -48,7 +54,7 @@ QDict *wait_command_fd(QTestState *who, int fd, const char
*command, ...)
va_end(ap);
resp = qtest_qmp_receive(who);
- check_stop_event(who);
+ check_events(who);
g_assert(!qdict_haskey(resp, "error"));
g_assert(qdict_haskey(resp, "return"));
@@ -73,7 +79,7 @@ QDict *wait_command(QTestState *who, const char *command, ...)
resp = qtest_vqmp(who, command, ap);
va_end(ap);
- check_stop_event(who);
+ check_events(who);
g_assert(!qdict_haskey(resp, "error"));
g_assert(qdict_haskey(resp, "return"));
diff --git a/tests/qtest/migration-helpers.h b/tests/qtest/migration-helpers.h
index a188b62787..726a66cfc1 100644
--- a/tests/qtest/migration-helpers.h
+++ b/tests/qtest/migration-helpers.h
@@ -16,6 +16,7 @@
#include "libqtest.h"
extern bool got_stop;
+extern bool got_resume;
#ifndef _WIN32
G_GNUC_PRINTF(3, 4)
diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
index e16120ff30..6492ffa7fe 100644
--- a/tests/qtest/migration-test.c
+++ b/tests/qtest/migration-test.c
@@ -596,6 +596,7 @@ static int test_migrate_start(QTestState **from, QTestState
**to,
}
got_stop = false;
+ got_resume = false;
bootpath = g_strdup_printf("%s/bootsect", tmpfs);
if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
/* the assembled x86 boot sector should be exactly one sector large */
--
2.40.0
[PATCH v2 5/6] tests/qtest: massively speed up migration-tet, Daniel P . Berrangé, 2023/04/21
[PATCH v2 3/6] tests/qtest: capture RESUME events during migration,
Daniel P . Berrangé <=
[PATCH v2 4/6] tests/qtest: make more migration pre-copy scenarios run non-live, Daniel P . Berrangé, 2023/04/21