On Tue, Apr 26, 2022 at 05:00:42PM +0100, Daniel P. Berrangé wrote:
> This validates that we correctly handle migration success and failure
> scenarios when using TLS with pre shared keys.
>
> Signed-off-by: Daniel P. Berrangé <[email protected]>
> ---
> tests/qtest/meson.build | 7 +-
> tests/qtest/migration-test.c | 159 +++++++++++++++++++++++++++-
> tests/unit/crypto-tls-psk-helpers.c | 18 +++-
> tests/unit/crypto-tls-psk-helpers.h | 1 +
> 4 files changed, 177 insertions(+), 8 deletions(-)
>
>
> -static void test_precopy_unix(void)
> +static void test_precopy_unix_plain(void)
> {
> g_autofree char *uri = g_strdup_printf("unix:%s/migsocket", tmpfs);
> MigrateCommon args = {
> @@ -922,6 +1020,19 @@ static void test_precopy_unix(void)
> test_precopy_common(&args);
> }
>
> +static void test_precopy_unix_tls_psk(void)
> +{
This function is unguarded...
> + g_autofree char *uri = g_strdup_printf("unix:%s/migsocket", tmpfs);
> + MigrateCommon args = {
> + .connect_uri = uri,
> + .listen_uri = uri,
> + .start_hook = test_migrate_tls_psk_start_match,
> + .finish_hook = test_migrate_tls_psk_finish,
> + };
> +
> + test_precopy_common(&args);
> +}
> +
> static void test_precopy_unix_dirty_ring(void)
> {
> g_autofree char *uri = g_strdup_printf("unix:%s/migsocket", tmpfs);
> @@ -1026,7 +1137,7 @@ static void test_xbzrle_unix(void)
> test_xbzrle(uri);
> }
>
> -static void test_precopy_tcp(void)
> +static void test_precopy_tcp_plain(void)
> {
> MigrateCommon args = {
> .listen_uri = "tcp:127.0.0.1:0",
> @@ -1035,6 +1146,34 @@ static void test_precopy_tcp(void)
> test_precopy_common(&args);
> }
>
> +#ifdef CONFIG_GNUTLS
> +static void test_precopy_tcp_tls_psk_match(void)
...while everything else is #ifdef CONFIG_GNUTLS...
> static void *test_migrate_fd_start_hook(QTestState *from,
> QTestState *to)
> {
> @@ -1497,8 +1636,20 @@ int main(int argc, char **argv)
> qtest_add_func("/migration/postcopy/unix", test_postcopy);
> qtest_add_func("/migration/postcopy/recovery", test_postcopy_recovery);
> qtest_add_func("/migration/bad_dest", test_baddest);
> - qtest_add_func("/migration/precopy/unix", test_precopy_unix);
> - qtest_add_func("/migration/precopy/tcp", test_precopy_tcp);
> + qtest_add_func("/migration/precopy/unix/plain", test_precopy_unix_plain);
> +#ifdef CONFIG_GNUTLS
> + qtest_add_func("/migration/precopy/unix/tls/psk",
> + test_precopy_unix_tls_psk);
> +#endif /* CONFIG_GNUTLS */
> +
> + qtest_add_func("/migration/precopy/tcp/plain", test_precopy_tcp_plain);
> +#ifdef CONFIG_GNUTLS
> + qtest_add_func("/migration/precopy/tcp/tls/psk/match",
> + test_precopy_tcp_tls_psk_match);
...including use of the function.
> + qtest_add_func("/migration/precopy/tcp/tls/psk/mismatch",
> + test_precopy_tcp_tls_psk_mismatch);
> +#endif /* CONFIG_GNUTLS */
> +
With the missing #ifdef added in,
Reviewed-by: Eric Blake <[email protected]>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org