gio/tests/socket: fix minor memleak
[platform/upstream/glib.git] / gio / tests / unix-fd.c
index 2612521..4d984df 100644 (file)
@@ -1,7 +1,7 @@
 #include <gio/gio.h>
+#include <gio/gnetworking.h>
 #include <gio/gunixfdmessage.h>
 #include <gio/gunixsocketaddress.h>
-#include <sys/socket.h>
 #include <string.h>
 #include <unistd.h>
 
@@ -57,6 +57,10 @@ test_fds (void)
   gint flags;
   gint nm;
   gint s;
+  gchar *path;
+  GByteArray *array;
+  gboolean abstract;
+  GUnixSocketAddressType type;
 
   create_fd_list (fd_list);
 
@@ -115,8 +119,6 @@ test_fds (void)
   g_object_unref (message);
   g_object_unref (list);
 
-
-
   message = G_UNIX_FD_MESSAGE (g_unix_fd_message_new ());
   list = g_unix_fd_message_get_fd_list (message);
   s = pipe (sv);
@@ -155,6 +157,24 @@ test_fds (void)
   g_assert (G_IS_UNIX_SOCKET_ADDRESS (addr));
   g_assert_cmpint (g_unix_socket_address_get_address_type (G_UNIX_SOCKET_ADDRESS (addr)), ==, G_UNIX_SOCKET_ADDRESS_ANONYMOUS);
   g_assert_cmpint (g_unix_socket_address_get_path_len (G_UNIX_SOCKET_ADDRESS (addr)), ==, 0);
+
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+  g_assert (!g_unix_socket_address_get_is_abstract (G_UNIX_SOCKET_ADDRESS (addr)));
+G_GNUC_END_IGNORE_DEPRECATIONS
+
+  g_object_get (addr,
+                "path", &path,
+                "path-as-array", &array,
+                "abstract", &abstract,
+                "address-type", &type,
+                NULL);
+  g_assert_cmpstr (path, ==, "");
+  g_assert_cmpint (array->len, ==, 0);
+  g_assert (!abstract);
+  g_assert (type == G_UNIX_SOCKET_ADDRESS_ANONYMOUS);
+  g_free (path);
+  g_byte_array_free (array, TRUE);
+
   g_object_unref (addr);
 
   buffer[0] = 0xff;
@@ -215,8 +235,6 @@ main (int argc, char **argv)
 {
   g_test_init (&argc, &argv, NULL);
 
-  g_type_init ();
-
   g_test_add_func ("/unix-streams/file-descriptors", test_fds);
 
   return g_test_run();