tests/qtest/migration: Fix cpr-tests in case the machine is not available
When QEMU has been compiled with "--without-default-devices", the migration cpr-tests are currently failing since the first test leaves a socket file behind that avoids that the second test can be initialized correctly. Make sure that we delete the socket file in case that the migrate_start() failed due to the missing machine. Signed-off-by: Thomas Huth <thuth@redhat.com> Link: https://lore.kernel.org/qemu-devel/20250930090932.235151-1-thuth@redhat.com Signed-off-by: Fabiano Rosas <farosas@suse.de>
This commit is contained in:
parent
030cd88556
commit
bfa07595eb
3 changed files with 9 additions and 4 deletions
|
|
@ -97,7 +97,10 @@ static void test_mode_transfer_common(bool incoming_defer)
|
|||
.start_hook = test_mode_transfer_start,
|
||||
};
|
||||
|
||||
test_precopy_common(&args);
|
||||
if (test_precopy_common(&args) < 0) {
|
||||
close(cpr_sockfd);
|
||||
unlink(cpr_path);
|
||||
}
|
||||
}
|
||||
|
||||
static void test_mode_transfer(void)
|
||||
|
|
|
|||
|
|
@ -736,7 +736,7 @@ void test_postcopy_recovery_common(MigrateCommon *args)
|
|||
migrate_postcopy_complete(from, to, args);
|
||||
}
|
||||
|
||||
void test_precopy_common(MigrateCommon *args)
|
||||
int test_precopy_common(MigrateCommon *args)
|
||||
{
|
||||
QTestState *from, *to;
|
||||
void *data_hook = NULL;
|
||||
|
|
@ -746,7 +746,7 @@ void test_precopy_common(MigrateCommon *args)
|
|||
g_assert(!args->cpr_channel || args->connect_channels);
|
||||
|
||||
if (migrate_start(&from, &to, args->listen_uri, &args->start)) {
|
||||
return;
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (args->start_hook) {
|
||||
|
|
@ -869,6 +869,8 @@ finish:
|
|||
}
|
||||
|
||||
migrate_end(from, to, args->result == MIG_TEST_SUCCEED);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void file_dirty_offset_region(void)
|
||||
|
|
|
|||
|
|
@ -227,7 +227,7 @@ void migrate_end(QTestState *from, QTestState *to, bool test_dest);
|
|||
|
||||
void test_postcopy_common(MigrateCommon *args);
|
||||
void test_postcopy_recovery_common(MigrateCommon *args);
|
||||
void test_precopy_common(MigrateCommon *args);
|
||||
int test_precopy_common(MigrateCommon *args);
|
||||
void test_file_common(MigrateCommon *args, bool stop_src);
|
||||
void *migrate_hook_start_precopy_tcp_multifd_common(QTestState *from,
|
||||
QTestState *to,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue