migration: Add a migrate_skip command
Tests that are run with MIGRATION=yes but skip due to some requirement
not being met will show as a failure due to the harness requirement to
see one successful migration. The workaround for this is to migrate in
test's skip path. Add a new command that just tells the harness to not
expect a migration.
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Message-ID: <20240405083539.374995-4-npiggin@gmail.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
diff --git a/lib/migrate.c b/lib/migrate.c
index 92d1d95..1d22196 100644
--- a/lib/migrate.c
+++ b/lib/migrate.c
@@ -39,7 +39,24 @@
if (migrated)
return;
-
migrated = true;
+
migrate();
}
+
+/*
+ * When the test has been started in migration mode, but the test case is
+ * skipped and no migration point is reached, this can be used to tell the
+ * harness not to mark it as a failure to migrate.
+ */
+void migrate_skip(void)
+{
+ static bool did_migrate_skip;
+
+ if (did_migrate_skip)
+ return;
+ did_migrate_skip = true;
+
+ puts("Skipped VM migration (quiet)\n");
+ (void)getchar();
+}