Blame SOURCES/0004-tests-Check-leaks-registering-migration-interface.patch

ad1357
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
ad1357
From: Frediano Ziglio <fziglio@redhat.com>
ad1357
Date: Tue, 19 Sep 2017 08:27:38 +0100
ad1357
Subject: [spice-server] tests: Check leaks registering migration interface
ad1357
ad1357
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
ad1357
Acked-by: Christophe Fergeau <cfergeau@redhat.com>
ad1357
---
ad1357
 server/tests/test-leaks.c | 36 ++++++++++++++++++++++++++++++++++++
ad1357
 1 file changed, 36 insertions(+)
ad1357
ad1357
diff --git a/server/tests/test-leaks.c b/server/tests/test-leaks.c
ad1357
index 04dcac4f4..7032000aa 100644
ad1357
--- a/server/tests/test-leaks.c
ad1357
+++ b/server/tests/test-leaks.c
ad1357
@@ -143,12 +143,48 @@ static void vmc_leaks(void)
ad1357
     basic_event_loop_destroy();
ad1357
 }
ad1357
 
ad1357
+static void migrate_cb(SpiceMigrateInstance *sin)
ad1357
+{
ad1357
+}
ad1357
+
ad1357
+static const SpiceMigrateInterface migrate_interface = {
ad1357
+    .base = {
ad1357
+        .type          = SPICE_INTERFACE_MIGRATION,
ad1357
+        .description   = "migration",
ad1357
+        .major_version = SPICE_INTERFACE_MIGRATION_MAJOR,
ad1357
+        .minor_version = SPICE_INTERFACE_MIGRATION_MINOR,
ad1357
+    },
ad1357
+    .migrate_connect_complete = migrate_cb,
ad1357
+    .migrate_end_complete = migrate_cb,
ad1357
+};
ad1357
+
ad1357
+static void migration_leaks(void)
ad1357
+{
ad1357
+    SpiceCoreInterface *core;
ad1357
+    SpiceServer *server = spice_server_new();
ad1357
+    SpiceMigrateInstance migrate;
ad1357
+
ad1357
+    g_assert_nonnull(server);
ad1357
+
ad1357
+    core = basic_event_loop_init();
ad1357
+    g_assert_nonnull(core);
ad1357
+
ad1357
+    g_assert_cmpint(spice_server_init(server, core), ==, 0);
ad1357
+
ad1357
+    migrate.base.sif = &migrate_interface.base;
ad1357
+    spice_server_add_interface(server, &migrate.base);
ad1357
+
ad1357
+    spice_server_destroy(server);
ad1357
+    basic_event_loop_destroy();
ad1357
+}
ad1357
+
ad1357
 int main(int argc, char *argv[])
ad1357
 {
ad1357
     g_test_init(&argc, &argv, NULL);
ad1357
 
ad1357
     g_test_add_func("/server/server leaks", server_leaks);
ad1357
     g_test_add_func("/server/vmc leaks", vmc_leaks);
ad1357
+    g_test_add_func("/server/migration leaks", migration_leaks);
ad1357
 
ad1357
     return g_test_run();
ad1357
 }