Similar to what's been done with the TLS x509 tests, pass an object in to the TLS PSK common hook so a couple of extra hooks can be removed, making the code easier to follow.
Signed-off-by: Fabiano Rosas <[email protected]> --- tests/qtest/migration/tls-tests.c | 64 +++++++++++++++++-------------- 1 file changed, 36 insertions(+), 28 deletions(-) diff --git a/tests/qtest/migration/tls-tests.c b/tests/qtest/migration/tls-tests.c index 6a858b766f..2eeed1fc5b 100644 --- a/tests/qtest/migration/tls-tests.c +++ b/tests/qtest/migration/tls-tests.c @@ -30,13 +30,26 @@ struct TestMigrateTLSPSKData { char *pskfilealt; }; +typedef struct { + bool mismatch; +} TestMigrateTLSPSK; + +static TestMigrateTLSPSK tls_psk_match = { + .mismatch = false, +}; + +static TestMigrateTLSPSK tls_psk_mismatch = { + .mismatch = true, +}; + static char *tmpfs; static void * migrate_hook_start_tls_psk_common(QTestState *from, QTestState *to, - bool mismatch) + void *opaque) { + TestMigrateTLSPSK *args = opaque; struct TestMigrateTLSPSKData *data = g_new0(struct TestMigrateTLSPSKData, 1); @@ -46,7 +59,7 @@ migrate_hook_start_tls_psk_common(QTestState *from, g_mkdir_with_parents(data->workdir, 0700); test_tls_psk_init(data->pskfile); - if (mismatch) { + if (args->mismatch) { data->workdiralt = g_strdup_printf("%s/tlscredspskalt0", tmpfs); data->pskfilealt = g_strdup_printf("%s/%s", data->workdiralt, QCRYPTO_TLS_CREDS_PSKFILE); @@ -69,7 +82,7 @@ migrate_hook_start_tls_psk_common(QTestState *from, " 'id': 'tlscredspsk0'," " 'endpoint': 'server'," " 'dir': %s } }", - mismatch ? data->workdiralt : data->workdir); + args->mismatch ? data->workdiralt : data->workdir); migrate_set_parameter_str(from, "tls-creds", "tlscredspsk0"); migrate_set_parameter_str(to, "tls-creds", "tlscredspsk0"); @@ -77,20 +90,6 @@ migrate_hook_start_tls_psk_common(QTestState *from, return data; } -static void * -migrate_hook_start_tls_psk_match(QTestState *from, - QTestState *to) -{ - return migrate_hook_start_tls_psk_common(from, to, false); -} - -static void * -migrate_hook_start_tls_psk_mismatch(QTestState *from, - QTestState *to) -{ - return migrate_hook_start_tls_psk_common(from, to, true); -} - static void migrate_hook_end_tls_psk(QTestState *from, QTestState *to, @@ -339,7 +338,8 @@ static void test_precopy_tls_x509_common(MigrateCommon *args, static void test_postcopy_tls_psk(char *name, MigrateCommon *args) { - args->start_hook = migrate_hook_start_tls_psk_match; + args->start_hook_full = migrate_hook_start_tls_psk_common; + args->start_hook_data = &tls_psk_match; args->end_hook = migrate_hook_end_tls_psk; test_postcopy_common(args); @@ -347,7 +347,8 @@ static void test_postcopy_tls_psk(char *name, MigrateCommon *args) static void test_postcopy_preempt_tls_psk(char *name, MigrateCommon *args) { - args->start_hook = migrate_hook_start_tls_psk_match; + args->start_hook_full = migrate_hook_start_tls_psk_common; + args->start_hook_data = &tls_psk_match; args->end_hook = migrate_hook_end_tls_psk; args->start.caps[MIGRATION_CAPABILITY_POSTCOPY_PREEMPT] = true; @@ -357,7 +358,8 @@ static void test_postcopy_preempt_tls_psk(char *name, MigrateCommon *args) static void test_postcopy_recovery_tls_psk(char *name, MigrateCommon *args) { - args->start_hook = migrate_hook_start_tls_psk_match; + args->start_hook_full = migrate_hook_start_tls_psk_common; + args->start_hook_data = &tls_psk_match; args->end_hook = migrate_hook_end_tls_psk; test_postcopy_recovery_common(args); @@ -366,7 +368,8 @@ static void test_postcopy_recovery_tls_psk(char *name, MigrateCommon *args) static void test_multifd_postcopy_recovery_tls_psk(char *name, MigrateCommon *args) { - args->start_hook = migrate_hook_start_tls_psk_match; + args->start_hook_full = migrate_hook_start_tls_psk_common; + args->start_hook_data = &tls_psk_match; args->end_hook = migrate_hook_end_tls_psk; args->start.caps[MIGRATION_CAPABILITY_MULTIFD] = true; @@ -377,7 +380,8 @@ static void test_multifd_postcopy_recovery_tls_psk(char *name, /* This contains preempt+recovery+tls test altogether */ static void test_postcopy_preempt_all(char *name, MigrateCommon *args) { - args->start_hook = migrate_hook_start_tls_psk_match; + args->start_hook_full = migrate_hook_start_tls_psk_common; + args->start_hook_data = &tls_psk_match; args->end_hook = migrate_hook_end_tls_psk; args->start.caps[MIGRATION_CAPABILITY_POSTCOPY_PREEMPT] = true; @@ -388,7 +392,8 @@ static void test_postcopy_preempt_all(char *name, MigrateCommon *args) static void test_multifd_postcopy_preempt_recovery_tls_psk(char *name, MigrateCommon *args) { - args->start_hook = migrate_hook_start_tls_psk_match; + args->start_hook_full = migrate_hook_start_tls_psk_common; + args->start_hook_data = &tls_psk_match; args->end_hook = migrate_hook_end_tls_psk; args->start.caps[MIGRATION_CAPABILITY_MULTIFD] = true; @@ -403,7 +408,8 @@ static void test_precopy_unix_tls_psk(char *name, MigrateCommon *args) args->connect_uri = uri; args->listen_uri = uri; - args->start_hook = migrate_hook_start_tls_psk_match; + args->start_hook_full = migrate_hook_start_tls_psk_common; + args->start_hook_data = &tls_psk_match; args->end_hook = migrate_hook_end_tls_psk; test_precopy_common(args); @@ -443,7 +449,8 @@ static void test_precopy_unix_tls_x509_override_host(char *name, static void test_precopy_tcp_tls_psk_match(char *name, MigrateCommon *args) { args->listen_uri = "tcp:127.0.0.1:0"; - args->start_hook = migrate_hook_start_tls_psk_match; + args->start_hook_full = migrate_hook_start_tls_psk_common; + args->start_hook_data = &tls_psk_match; args->end_hook = migrate_hook_end_tls_psk; test_precopy_common(args); @@ -452,7 +459,8 @@ static void test_precopy_tcp_tls_psk_match(char *name, MigrateCommon *args) static void test_precopy_tcp_tls_psk_mismatch(char *name, MigrateCommon *args) { args->listen_uri = "tcp:127.0.0.1:0"; - args->start_hook = migrate_hook_start_tls_psk_mismatch; + args->start_hook_full = migrate_hook_start_tls_psk_common; + args->start_hook_data = &tls_psk_mismatch; args->end_hook = migrate_hook_end_tls_psk; args->result = MIG_TEST_FAIL; @@ -589,7 +597,7 @@ migrate_hook_start_multifd_tcp_tls_psk_match(QTestState *from, QTestState *to) { migrate_hook_start_precopy_tcp_multifd_common(from, to, "none"); - return migrate_hook_start_tls_psk_match(from, to); + return migrate_hook_start_tls_psk_common(from, to, &tls_psk_match); } static void * @@ -597,7 +605,7 @@ migrate_hook_start_multifd_tcp_tls_psk_mismatch(QTestState *from, QTestState *to) { migrate_hook_start_precopy_tcp_multifd_common(from, to, "none"); - return migrate_hook_start_tls_psk_mismatch(from, to); + return migrate_hook_start_tls_psk_common(from, to, &tls_psk_mismatch); } #ifdef CONFIG_TASN1 -- 2.51.0
