[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 17/22] tests/qtest/migration: Split postcopy tests
From: |
Fabiano Rosas |
Subject: |
[PULL 17/22] tests/qtest/migration: Split postcopy tests |
Date: |
Thu, 12 Dec 2024 12:09:44 -0300 |
Split the next group of tests from migration-test.c, the postcopy
tests. This is another well-defined group of tests and postcopy is a
unique enough feature that it deserves it's own file.
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>
---
tests/qtest/meson.build | 1 +
tests/qtest/migration-test.c | 78 +-----------------
tests/qtest/migration/framework.h | 1 +
tests/qtest/migration/postcopy-tests.c | 106 +++++++++++++++++++++++++
4 files changed, 109 insertions(+), 77 deletions(-)
create mode 100644 tests/qtest/migration/postcopy-tests.c
diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build
index eeb8ecf695..ff33034ca6 100644
--- a/tests/qtest/meson.build
+++ b/tests/qtest/meson.build
@@ -338,6 +338,7 @@ migration_files = [files(
'migration/migration-qmp.c',
'migration/migration-util.c',
'migration/compression-tests.c',
+ 'migration/postcopy-tests.c',
)]
migration_tls_files = []
diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
index 3528676678..fa759022d1 100644
--- a/tests/qtest/migration-test.c
+++ b/tests/qtest/migration-test.c
@@ -43,65 +43,6 @@
static char *tmpfs;
-static void test_postcopy(void)
-{
- MigrateCommon args = { };
-
- test_postcopy_common(&args);
-}
-
-static void test_postcopy_suspend(void)
-{
- MigrateCommon args = {
- .start.suspend_me = true,
- };
-
- test_postcopy_common(&args);
-}
-
-static void test_postcopy_preempt(void)
-{
- MigrateCommon args = {
- .postcopy_preempt = true,
- };
-
- test_postcopy_common(&args);
-}
-
-static void test_postcopy_recovery(void)
-{
- MigrateCommon args = { };
-
- test_postcopy_recovery_common(&args);
-}
-
-static void test_postcopy_recovery_fail_handshake(void)
-{
- MigrateCommon args = {
- .postcopy_recovery_fail_stage = POSTCOPY_FAIL_RECOVERY,
- };
-
- test_postcopy_recovery_common(&args);
-}
-
-static void test_postcopy_recovery_fail_reconnect(void)
-{
- MigrateCommon args = {
- .postcopy_recovery_fail_stage = POSTCOPY_FAIL_CHANNEL_ESTABLISH,
- };
-
- test_postcopy_recovery_common(&args);
-}
-
-static void test_postcopy_preempt_recovery(void)
-{
- MigrateCommon args = {
- .postcopy_preempt = true,
- };
-
- test_postcopy_recovery_common(&args);
-}
-
static void test_baddest(void)
{
MigrateStart args = {
@@ -1558,6 +1499,7 @@ int main(int argc, char **argv)
migration_test_add_tls(env);
migration_test_add_compression(env);
+ migration_test_add_postcopy(env);
migration_test_add("/migration/bad_dest", test_baddest);
#ifndef _WIN32
@@ -1571,24 +1513,6 @@ int main(int argc, char **argv)
test_precopy_unix_suspend_notlive);
}
- if (env->has_uffd) {
- migration_test_add("/migration/postcopy/plain", test_postcopy);
- migration_test_add("/migration/postcopy/recovery/plain",
- test_postcopy_recovery);
- migration_test_add("/migration/postcopy/preempt/plain",
- test_postcopy_preempt);
- migration_test_add("/migration/postcopy/preempt/recovery/plain",
- test_postcopy_preempt_recovery);
-
migration_test_add("/migration/postcopy/recovery/double-failures/handshake",
- test_postcopy_recovery_fail_handshake);
-
migration_test_add("/migration/postcopy/recovery/double-failures/reconnect",
- test_postcopy_recovery_fail_reconnect);
- if (env->is_x86) {
- migration_test_add("/migration/postcopy/suspend",
- test_postcopy_suspend);
- }
- }
-
migration_test_add("/migration/precopy/unix/plain",
test_precopy_unix_plain);
migration_test_add("/migration/precopy/file",
diff --git a/tests/qtest/migration/framework.h
b/tests/qtest/migration/framework.h
index bc978d4c1c..1ac3aea4b2 100644
--- a/tests/qtest/migration/framework.h
+++ b/tests/qtest/migration/framework.h
@@ -221,5 +221,6 @@ void migration_test_add_tls(MigrationTestEnv *env);
static inline void migration_test_add_tls(MigrationTestEnv *env) {};
#endif
void migration_test_add_compression(MigrationTestEnv *env);
+void migration_test_add_postcopy(MigrationTestEnv *env);
#endif /* TEST_FRAMEWORK_H */
diff --git a/tests/qtest/migration/postcopy-tests.c
b/tests/qtest/migration/postcopy-tests.c
new file mode 100644
index 0000000000..daf7449f2c
--- /dev/null
+++ b/tests/qtest/migration/postcopy-tests.c
@@ -0,0 +1,106 @@
+/*
+ * QTest testcases for postcopy migration
+ *
+ * Copyright (c) 2016-2018 Red Hat, Inc. and/or its affiliates
+ * based on the vhost-user-test.c that is:
+ * Copyright (c) 2014 Virtual Open Systems Sarl.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ */
+
+#include "qemu/osdep.h"
+#include "libqtest.h"
+#include "migration/framework.h"
+#include "migration/migration-util.h"
+#include "qapi/qmp/qlist.h"
+#include "qemu/module.h"
+#include "qemu/option.h"
+#include "qemu/range.h"
+#include "qemu/sockets.h"
+
+static void test_postcopy(void)
+{
+ MigrateCommon args = { };
+
+ test_postcopy_common(&args);
+}
+
+static void test_postcopy_suspend(void)
+{
+ MigrateCommon args = {
+ .start.suspend_me = true,
+ };
+
+ test_postcopy_common(&args);
+}
+
+static void test_postcopy_preempt(void)
+{
+ MigrateCommon args = {
+ .postcopy_preempt = true,
+ };
+
+ test_postcopy_common(&args);
+}
+
+static void test_postcopy_recovery(void)
+{
+ MigrateCommon args = { };
+
+ test_postcopy_recovery_common(&args);
+}
+
+static void test_postcopy_recovery_fail_handshake(void)
+{
+ MigrateCommon args = {
+ .postcopy_recovery_fail_stage = POSTCOPY_FAIL_RECOVERY,
+ };
+
+ test_postcopy_recovery_common(&args);
+}
+
+static void test_postcopy_recovery_fail_reconnect(void)
+{
+ MigrateCommon args = {
+ .postcopy_recovery_fail_stage = POSTCOPY_FAIL_CHANNEL_ESTABLISH,
+ };
+
+ test_postcopy_recovery_common(&args);
+}
+
+static void test_postcopy_preempt_recovery(void)
+{
+ MigrateCommon args = {
+ .postcopy_preempt = true,
+ };
+
+ test_postcopy_recovery_common(&args);
+}
+
+void migration_test_add_postcopy(MigrationTestEnv *env)
+{
+ if (env->has_uffd) {
+ migration_test_add("/migration/postcopy/plain", test_postcopy);
+ migration_test_add("/migration/postcopy/recovery/plain",
+ test_postcopy_recovery);
+ migration_test_add("/migration/postcopy/preempt/plain",
+ test_postcopy_preempt);
+ migration_test_add("/migration/postcopy/preempt/recovery/plain",
+ test_postcopy_preempt_recovery);
+
+ migration_test_add(
+ "/migration/postcopy/recovery/double-failures/handshake",
+ test_postcopy_recovery_fail_handshake);
+
+ migration_test_add(
+ "/migration/postcopy/recovery/double-failures/reconnect",
+ test_postcopy_recovery_fail_reconnect);
+
+ if (env->is_x86) {
+ migration_test_add("/migration/postcopy/suspend",
+ test_postcopy_suspend);
+ }
+ }
+}
--
2.35.3
- [PULL 05/22] tests/qtest/migration: Standardize hook names, (continued)
- [PULL 05/22] tests/qtest/migration: Standardize hook names, Fabiano Rosas, 2024/12/12
- [PULL 06/22] tests/qtest/migration: Stop calling everything "test", Fabiano Rosas, 2024/12/12
- [PULL 07/22] tests/migration: Disambiguate guestperf vs. a-b, Fabiano Rosas, 2024/12/12
- [PULL 08/22] tests/qtest/migration: Move bootfile code to its own file, Fabiano Rosas, 2024/12/12
- [PULL 09/22] tests/qtest/migration: Move qmp helpers to a separate file, Fabiano Rosas, 2024/12/12
- [PULL 10/22] tests/qtest/migration: Rename migration-helpers.c, Fabiano Rosas, 2024/12/12
- [PULL 11/22] tests/qtest/migration: Move ufd_version_check to utils, Fabiano Rosas, 2024/12/12
- [PULL 12/22] tests/qtest/migration: Move kvm_dirty_ring_supported to utils, Fabiano Rosas, 2024/12/12
- [PULL 13/22] tests/qtest/migration: Isolate test initialization, Fabiano Rosas, 2024/12/12
- [PULL 15/22] tests/qtest/migration: Split TLS tests from migration-test.c, Fabiano Rosas, 2024/12/12
- [PULL 17/22] tests/qtest/migration: Split postcopy tests,
Fabiano Rosas <=
- [PULL 20/22] tests/qtest/migration: Split CPR tests, Fabiano Rosas, 2024/12/12
- [PULL 21/22] tests/qtest/migration-test: Fix and enable test_ignore_shared, Fabiano Rosas, 2024/12/12
- [PULL 14/22] tests/qtest/migration: Move common test code, Fabiano Rosas, 2024/12/12
- [PULL 22/22] tests/qtest/migration: Split validation tests + misc, Fabiano Rosas, 2024/12/12
- [PULL 16/22] tests/qtest/migration: Split compression tests from migration-test.c, Fabiano Rosas, 2024/12/12
- [PULL 18/22] tests/qtest/migration: Split file tests, Fabiano Rosas, 2024/12/12
- [PULL 19/22] tests/qtest/migration: Split precopy tests, Fabiano Rosas, 2024/12/12
- Re: [PULL 00/22] QTest patches for 2024-12-12, Stefan Hajnoczi, 2024/12/12