[libsoup/leaks: 4/5] tests: plug a series of leaks in different tests



commit 760bee3956c67130c10d5f60a9cc39ad37510cbf
Author: Claudio Saavedra <csaavedra igalia com>
Date:   Fri Sep 6 14:42:29 2019 +0300

    tests: plug a series of leaks in different tests

 tests/brotli-decompressor-test.c |  1 +
 tests/connection-test.c          |  2 ++
 tests/cookies-test.c             |  1 +
 tests/hsts-db-test.c             |  1 +
 tests/hsts-test.c                | 18 ++++++++++++------
 tests/websocket-test.c           |  2 ++
 tests/xmlrpc-test.c              |  4 ++++
 7 files changed, 23 insertions(+), 6 deletions(-)
---
diff --git a/tests/brotli-decompressor-test.c b/tests/brotli-decompressor-test.c
index df236677..9b9b2f37 100644
--- a/tests/brotli-decompressor-test.c
+++ b/tests/brotli-decompressor-test.c
@@ -61,6 +61,7 @@ test_brotli (void)
         g_byte_array_free (out_bytes, TRUE);
         g_object_unref (dec);
         g_free (compressed_filename);
+        g_free (uncompressed_filename);
         g_free (contents);
 }
 
diff --git a/tests/connection-test.c b/tests/connection-test.c
index 25623c8f..7e430801 100644
--- a/tests/connection-test.c
+++ b/tests/connection-test.c
@@ -1075,9 +1075,11 @@ do_one_connection_connect_fail_test (SoupSession *session, SoupURI *uri, GQuark
                                     (GAsyncReadyCallback)connect_finished,
                                     &data);
         g_main_loop_run (data.loop);
+        g_main_loop_unref (data.loop);
 
         g_assert (!data.stream);
         g_assert_error (data.error, domain, code);
+        g_clear_error (&data.error);
 
         while (*data.events) {
                 soup_test_assert (!*data.events,
diff --git a/tests/cookies-test.c b/tests/cookies-test.c
index 8161ce1b..1c07b038 100644
--- a/tests/cookies-test.c
+++ b/tests/cookies-test.c
@@ -377,6 +377,7 @@ do_remove_feature_test (void)
 
        g_main_loop_run(loop);
 
+       g_main_loop_unref (loop);
        g_object_unref (msg);
        soup_uri_free (uri);
 }
diff --git a/tests/hsts-db-test.c b/tests/hsts-db-test.c
index cee5dd32..9f007fa8 100644
--- a/tests/hsts-db-test.c
+++ b/tests/hsts-db-test.c
@@ -110,6 +110,7 @@ hsts_db_session_new (void)
                                                      SOUP_SESSION_ADD_FEATURE, hsts_db,
                                                      NULL);
        g_signal_connect (session, "request-queued", G_CALLBACK (on_request_queued), NULL);
+       g_object_unref (hsts_db);
 
        return session;
 }
diff --git a/tests/hsts-test.c b/tests/hsts-test.c
index ba919c81..0ea7e289 100644
--- a/tests/hsts-test.c
+++ b/tests/hsts-test.c
@@ -150,13 +150,18 @@ static SoupSession *
 hsts_session_new (SoupHSTSEnforcer *enforcer)
 {
        SoupSession *session;
-       if (!enforcer)
-               enforcer = soup_hsts_enforcer_new ();
 
-       session = soup_test_session_new (SOUP_TYPE_SESSION_ASYNC,
-                                       SOUP_SESSION_USE_THREAD_CONTEXT, TRUE,
-                                       SOUP_SESSION_ADD_FEATURE, enforcer,
-                                       NULL);
+       if (enforcer)
+               session = soup_test_session_new (SOUP_TYPE_SESSION_ASYNC,
+                                                SOUP_SESSION_USE_THREAD_CONTEXT, TRUE,
+                                                SOUP_SESSION_ADD_FEATURE, enforcer,
+                                                NULL);
+       else
+               session = soup_test_session_new (SOUP_TYPE_SESSION_ASYNC,
+                                                SOUP_SESSION_USE_THREAD_CONTEXT, TRUE,
+                                                SOUP_SESSION_ADD_FEATURE_BY_TYPE, SOUP_TYPE_HSTS_ENFORCER,
+                                                NULL);
+
        g_signal_connect (session, "request-queued", G_CALLBACK (on_request_queued), NULL);
 
        return session;
@@ -306,6 +311,7 @@ do_hsts_superdomain_test (void)
        /* This should work, as we have a long-lasting policy in place. If it fails,
           the subdomain policy has modified the superdomain's policy, which is wrong. */
        session_get_uri (session, "http://localhost";, SOUP_STATUS_OK);
+       g_object_unref (enforcer);
 }
 
 static void
diff --git a/tests/websocket-test.c b/tests/websocket-test.c
index 485ab6c8..6381f4b7 100644
--- a/tests/websocket-test.c
+++ b/tests/websocket-test.c
@@ -1199,6 +1199,7 @@ send_compressed_fragments_server_thread (gpointer user_data)
         g_assert_no_error (error);
 
         deflateEnd (&zstream);
+        g_byte_array_free (data, TRUE);
 
         return NULL;
 }
@@ -1741,6 +1742,7 @@ send_compressed_fragments_error_server_thread (gpointer user_data)
         g_assert_no_error (error);
 
         deflateEnd (&zstream);
+        g_byte_array_free (data, TRUE);
 
         return NULL;
 }
diff --git a/tests/xmlrpc-test.c b/tests/xmlrpc-test.c
index 58d96abc..8b1f9dab 100644
--- a/tests/xmlrpc-test.c
+++ b/tests/xmlrpc-test.c
@@ -473,6 +473,7 @@ verify_serialization_fail (GVariant *value)
        body = soup_xmlrpc_build_request ("MyMethod", value, &error);
        g_assert (body == NULL);
        g_assert (error != NULL);
+       g_clear_error (&error);
 }
 
 static void
@@ -565,6 +566,7 @@ verify_deserialization (GVariant *expected_variant,
 
        soup_xmlrpc_params_free (out_params);
        g_variant_unref (variant);
+       g_variant_unref (expected_variant);
        g_free (method_name);
        g_free (body);
 }
@@ -591,6 +593,8 @@ verify_deserialization_fail (const char *signature,
        g_assert (variant == NULL);
 
        g_free (body);
+       g_free (method_name);
+       g_clear_error (&error);
        soup_xmlrpc_params_free (out_params);
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]