From 8d4e897a99089995128b78b3c3e61beb4a8e2f23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Tue, 28 Jun 2022 11:54:31 +0100 Subject: [PATCH] tests: wait for migration completion before looking for STOP event MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When moving into the convergance phase, the precopy tests will first look for a STOP event and once found will look for migration completion status. If the test VM is not converging, the test suite will be waiting for the STOP event forever. If we wait for the migration completion status first, then we will trigger the previously added timeout and prevent the test hanging forever. Signed-off-by: Daniel P. Berrangé Reviewed-by: Dr. David Alan Gilbert Reviewed-by: Laurent Vivier Message-Id: <20220628105434.295905-3-berrange@redhat.com> Signed-off-by: Thomas Huth --- tests/qtest/migration-test.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c index d33e8060f9..ac9e303b1f 100644 --- a/tests/qtest/migration-test.c +++ b/tests/qtest/migration-test.c @@ -1232,6 +1232,10 @@ static void test_precopy_common(MigrateCommon *args) migrate_set_parameter_int(from, "downtime-limit", CONVERGE_DOWNTIME); + /* We do this first, as it has a timeout to stop us + * hanging forever if migration didn't converge */ + wait_for_migration_complete(from); + if (!got_stop) { qtest_qmp_eventwait(from, "STOP"); } @@ -1239,7 +1243,6 @@ static void test_precopy_common(MigrateCommon *args) qtest_qmp_eventwait(to, "RESUME"); wait_for_serial("dest_serial"); - wait_for_migration_complete(from); } if (args->finish_hook) {