Skip to content

Commit

Permalink
tests/qtest/migration: Add 'to' object into migrate_qmp()
Browse files Browse the repository at this point in the history
Add the 'to' object into migrate_qmp(), so we can use
migrate_get_socket_address() inside migrate_qmp() to get
the port value. This is not applied to other migrate_qmp*
because they don't need the port.

Signed-off-by: Het Gala <het.gala@nutanix.com>
Suggested-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20240312202634.63349-2-het.gala@nutanix.com
Signed-off-by: Peter Xu <peterx@redhat.com>
  • Loading branch information
hetgala99 authored and xzpeter committed Apr 23, 2024
1 parent c25df57 commit 8c47168
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 17 deletions.
3 changes: 2 additions & 1 deletion tests/qtest/migration-helpers.c
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,8 @@ void migrate_qmp_fail(QTestState *who, const char *uri, const char *fmt, ...)
* Arguments are built from @fmt... (formatted like
* qobject_from_jsonf_nofail()) with "uri": @uri spliced in.
*/
void migrate_qmp(QTestState *who, const char *uri, const char *fmt, ...)
void migrate_qmp(QTestState *who, QTestState *to, const char *uri,
const char *fmt, ...)
{
va_list ap;
QDict *args;
Expand Down
5 changes: 3 additions & 2 deletions tests/qtest/migration-helpers.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,9 @@ typedef struct QTestMigrationState {
bool migrate_watch_for_events(QTestState *who, const char *name,
QDict *event, void *opaque);

G_GNUC_PRINTF(3, 4)
void migrate_qmp(QTestState *who, const char *uri, const char *fmt, ...);
G_GNUC_PRINTF(4, 5)
void migrate_qmp(QTestState *who, QTestState *to, const char *uri,
const char *fmt, ...);

G_GNUC_PRINTF(3, 4)
void migrate_incoming_qmp(QTestState *who, const char *uri,
Expand Down
28 changes: 14 additions & 14 deletions tests/qtest/migration-test.c
Original file line number Diff line number Diff line change
Expand Up @@ -1350,7 +1350,7 @@ static int migrate_postcopy_prepare(QTestState **from_ptr,
wait_for_suspend(from, &src_state);

g_autofree char *uri = migrate_get_socket_address(to, "socket-address");
migrate_qmp(from, uri, "{}");
migrate_qmp(from, to, uri, "{}");

migrate_wait_for_dirty_mem(from, to);

Expand Down Expand Up @@ -1500,7 +1500,7 @@ static void postcopy_recover_fail(QTestState *from, QTestState *to)
g_assert_cmpint(ret, ==, 1);

migrate_recover(to, "fd:fd-mig");
migrate_qmp(from, "fd:fd-mig", "{'resume': true}");
migrate_qmp(from, to, "fd:fd-mig", "{'resume': true}");

/*
* Make sure both QEMU instances will go into RECOVER stage, then test
Expand Down Expand Up @@ -1588,7 +1588,7 @@ static void test_postcopy_recovery_common(MigrateCommon *args)
* Try to rebuild the migration channel using the resume flag and
* the newly created channel
*/
migrate_qmp(from, uri, "{'resume': true}");
migrate_qmp(from, to, uri, "{'resume': true}");

/* Restore the postcopy bandwidth to unlimited */
migrate_set_parameter_int(from, "max-postcopy-bandwidth", 0);
Expand Down Expand Up @@ -1669,7 +1669,7 @@ static void test_baddest(void)
if (test_migrate_start(&from, &to, "tcp:127.0.0.1:0", &args)) {
return;
}
migrate_qmp(from, "tcp:127.0.0.1:0", "{}");
migrate_qmp(from, to, "tcp:127.0.0.1:0", "{}");
wait_for_migration_fail(from, false);
test_migrate_end(from, to, false);
}
Expand Down Expand Up @@ -1708,7 +1708,7 @@ static void test_analyze_script(void)
uri = g_strdup_printf("exec:cat > %s", file);

migrate_ensure_converge(from);
migrate_qmp(from, uri, "{}");
migrate_qmp(from, to, uri, "{}");
wait_for_migration_complete(from);

pid = fork();
Expand Down Expand Up @@ -1777,7 +1777,7 @@ static void test_precopy_common(MigrateCommon *args)
goto finish;
}

migrate_qmp(from, connect_uri, "{}");
migrate_qmp(from, to, connect_uri, "{}");

if (args->result != MIG_TEST_SUCCEED) {
bool allow_active = args->result == MIG_TEST_FAIL;
Expand Down Expand Up @@ -1873,7 +1873,7 @@ static void test_file_common(MigrateCommon *args, bool stop_src)
goto finish;
}

migrate_qmp(from, connect_uri, "{}");
migrate_qmp(from, to, connect_uri, "{}");
wait_for_migration_complete(from);

/*
Expand Down Expand Up @@ -2029,7 +2029,7 @@ static void test_ignore_shared(void)
/* Wait for the first serial output from the source */
wait_for_serial("src_serial");

migrate_qmp(from, uri, "{}");
migrate_qmp(from, to, uri, "{}");

migrate_wait_for_dirty_mem(from, to);

Expand Down Expand Up @@ -2568,7 +2568,7 @@ static void do_test_validate_uuid(MigrateStart *args, bool should_fail)
/* Wait for the first serial output from the source */
wait_for_serial("src_serial");

migrate_qmp(from, uri, "{}");
migrate_qmp(from, to, uri, "{}");

if (should_fail) {
qtest_set_expected_status(to, EXIT_FAILURE);
Expand Down Expand Up @@ -2671,7 +2671,7 @@ static void test_migrate_auto_converge(void)
/* Wait for the first serial output from the source */
wait_for_serial("src_serial");

migrate_qmp(from, uri, "{}");
migrate_qmp(from, to, uri, "{}");

/* Wait for throttling begins */
percentage = 0;
Expand Down Expand Up @@ -3040,7 +3040,7 @@ static void test_multifd_tcp_cancel(void)

uri = migrate_get_socket_address(to, "socket-address");

migrate_qmp(from, uri, "{}");
migrate_qmp(from, to, uri, "{}");

migrate_wait_for_dirty_mem(from, to);

Expand Down Expand Up @@ -3072,7 +3072,7 @@ static void test_multifd_tcp_cancel(void)

migrate_ensure_non_converge(from);

migrate_qmp(from, uri, "{}");
migrate_qmp(from, to2, uri, "{}");

migrate_wait_for_dirty_mem(from, to2);

Expand Down Expand Up @@ -3405,7 +3405,7 @@ static void test_migrate_dirty_limit(void)
migrate_dirty_limit_wait_showup(from, dirtylimit_period, dirtylimit_value);

/* Start migrate */
migrate_qmp(from, uri, "{}");
migrate_qmp(from, to, uri, "{}");

/* Wait for dirty limit throttle begin */
throttle_us_per_full = 0;
Expand Down Expand Up @@ -3446,7 +3446,7 @@ static void test_migrate_dirty_limit(void)
}

/* Start migrate */
migrate_qmp(from, uri, "{}");
migrate_qmp(from, to, uri, "{}");

/* Wait for dirty limit throttle begin */
throttle_us_per_full = 0;
Expand Down

0 comments on commit 8c47168

Please sign in to comment.