Message ID | 20230418133100.48799-2-berrange@redhat.com |
---|---|
State | New |
Headers | show |
Series | tests/qtest: make migraton-test faster | expand |
Daniel P. Berrangé <berrange@redhat.com> wrote: > 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> Reviewed-by: Juan Quintela <quintela@redhat.com> I am waiting for you to check the problem than Lukas detected, but this part of the patch is "obviously" correct. Famous last words.
On Thu, Apr 20, 2023 at 01:32:37PM +0200, Juan Quintela wrote: > Daniel P. Berrangé <berrange@redhat.com> wrote: > > 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> > > Reviewed-by: Juan Quintela <quintela@redhat.com> > > > I am waiting for you to check the problem than Lukas detected, but this > part of the patch is "obviously" correct. > > Famous last words. Actually it has a small flaw - I don't set 'got_resume = false' at the start of each test :-( With regards, Daniel
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)
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 + 2 files changed, 10 insertions(+), 3 deletions(-)