tests: Add postcopy tls recovery migration test

It's easy to build this upon the postcopy tls test.  Rename the old
postcopy recovery test to postcopy/recovery/plain.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20220707185527.27747-1-peterx@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
  dgilbert: Manual merge
master
Peter Xu 2022-07-07 14:55:27 -04:00 committed by Dr. David Alan Gilbert
parent d1a27b169b
commit 767fa9cfba
1 changed files with 30 additions and 9 deletions

View File

@ -1146,17 +1146,15 @@ static void test_postcopy_tls_psk(void)
}
#endif
static void test_postcopy_recovery(void)
static void test_postcopy_recovery_common(MigrateCommon *args)
{
MigrateCommon args = {
.start = {
.hide_stderr = true,
},
};
QTestState *from, *to;
g_autofree char *uri = NULL;
if (migrate_postcopy_prepare(&from, &to, &args)) {
/* Always hide errors for postcopy recover tests since they're expected */
args->start.hide_stderr = true;
if (migrate_postcopy_prepare(&from, &to, args)) {
return;
}
@ -1207,9 +1205,28 @@ static void test_postcopy_recovery(void)
/* Restore the postcopy bandwidth to unlimited */
migrate_set_parameter_int(from, "max-postcopy-bandwidth", 0);
migrate_postcopy_complete(from, to, &args);
migrate_postcopy_complete(from, to, args);
}
static void test_postcopy_recovery(void)
{
MigrateCommon args = { };
test_postcopy_recovery_common(&args);
}
#ifdef CONFIG_GNUTLS
static void test_postcopy_recovery_tls_psk(void)
{
MigrateCommon args = {
.start_hook = test_migrate_tls_psk_start_match,
.finish_hook = test_migrate_tls_psk_finish,
};
test_postcopy_recovery_common(&args);
}
#endif
static void test_baddest(void)
{
MigrateStart args = {
@ -2410,7 +2427,9 @@ int main(int argc, char **argv)
module_call_init(MODULE_INIT_QOM);
qtest_add_func("/migration/postcopy/unix", test_postcopy);
qtest_add_func("/migration/postcopy/recovery", test_postcopy_recovery);
qtest_add_func("/migration/postcopy/recovery/plain",
test_postcopy_recovery);
qtest_add_func("/migration/postcopy/plain", test_postcopy);
qtest_add_func("/migration/bad_dest", test_baddest);
@ -2425,6 +2444,8 @@ int main(int argc, char **argv)
* general postcopy path that has TLS channel enabled.
*/
qtest_add_func("/migration/postcopy/tls/psk", test_postcopy_tls_psk);
qtest_add_func("/migration/postcopy/recovery/tls/psk",
test_postcopy_recovery_tls_psk);
#ifdef CONFIG_TASN1
qtest_add_func("/migration/precopy/unix/tls/x509/default-host",
test_precopy_unix_tls_x509_default_host);