test: Test the same things with unix: that we do with tcp:
authorSimon McVittie <smcv@collabora.com>
Mon, 4 Jun 2018 15:27:49 +0000 (16:27 +0100)
committerSimon McVittie <smcv@collabora.com>
Mon, 4 Jun 2018 16:56:04 +0000 (17:56 +0100)
Minimal autobuilder environments don't always have working TCP,
so we may need to skip TCP tests. Make sure we test the equivalent
code paths via Unix sockets in those environments.

One notable exception is test/fdpass.c, which uses TCP as a transport
that is known not to be able to carry Unix fds; this needs to continue
to use TCP.

Signed-off-by: Simon McVittie <smcv@collabora.com>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=106812
(cherry picked from commit cb7dd5bfccb2882d0e9951c41040ff6a97bb827d)

test/corrupt.c
test/internals/refs.c
test/internals/server-oom.c
test/loopback.c
test/relay.c

index d6f8502..a2fad64 100644 (file)
@@ -395,5 +395,10 @@ main (int argc,
   g_test_add ("/corrupt/byte-order/tcp", Fixture, "tcp:host=127.0.0.1", setup,
       test_byte_order, teardown);
 
+#ifdef DBUS_UNIX
+  g_test_add ("/corrupt/byte-order/unix", Fixture, "unix:tmpdir=/tmp", setup,
+      test_byte_order, teardown);
+#endif
+
   return g_test_run ();
 }
index b6ad5fe..72ff874 100644 (file)
@@ -223,7 +223,12 @@ setup (Fixture *f,
 
   dbus_error_init (&f->e);
 
+#ifdef DBUS_UNIX
+  f->server = dbus_server_listen ("unix:tmpdir=/tmp", &f->e);
+#else
   f->server = dbus_server_listen ("tcp:host=127.0.0.1", &f->e);
+#endif
+
   assert_no_error (&f->e);
   g_assert (f->server != NULL);
 
index c8a37f3..e006d9f 100644 (file)
@@ -124,6 +124,9 @@ main (int argc,
   add_oom_test ("/server/new-nonce-tcp", test_new_server, "nonce-tcp:host=localhost,bind=localhost");
   add_oom_test ("/server/new-tcp-star", test_new_server, "tcp:host=localhost,bind=*");
   add_oom_test ("/server/new-tcp-v4", test_new_server, "tcp:host=localhost,bind=localhost,family=ipv4");
+#ifdef DBUS_UNIX
+  add_oom_test ("/server/unix", test_new_server, "unix:tmpdir=/tmp");
+#endif
 
   ret = g_test_run ();
 
index 59f4a28..c0bf400 100644 (file)
@@ -439,6 +439,9 @@ main (int argc,
   g_test_add ("/message/nonce-tcp", Fixture, "nonce-tcp:host=127.0.0.1", setup,
       test_message, teardown);
 
+  g_test_add ("/message/bad-guid/tcp", Fixture, "tcp:host=127.0.0.1", setup,
+      test_bad_guid, teardown);
+
 #ifdef DBUS_UNIX
   g_test_add ("/connect/unix/tmpdir", Fixture, "unix:tmpdir=/tmp", setup,
       test_connect, teardown);
@@ -455,10 +458,10 @@ main (int argc,
   g_test_add ("/connect/unix/no-runtime", Fixture,
       "unix:runtime=yes;unix:tmpdir=/tmp", setup_no_runtime, test_connect,
       teardown_no_runtime);
-#endif
 
-  g_test_add ("/message/bad-guid", Fixture, "tcp:host=127.0.0.1", setup,
+  g_test_add ("/message/bad-guid/unix", Fixture, "unix:tmpdir=/tmp", setup,
       test_bad_guid, teardown);
+#endif
 
   return g_test_run ();
 }
index 00e7966..5f90546 100644 (file)
@@ -120,7 +120,7 @@ new_conn_cb (DBusServer *server,
 
 static void
 setup (Fixture *f,
-    gconstpointer data G_GNUC_UNUSED)
+       gconstpointer address)
 {
   test_timeout_reset (1);
 
@@ -128,7 +128,7 @@ setup (Fixture *f,
   dbus_error_init (&f->e);
   g_queue_init (&f->messages);
 
-  f->server = dbus_server_listen ("tcp:host=127.0.0.1", &f->e);
+  f->server = dbus_server_listen (address, &f->e);
   assert_no_error (&f->e);
   g_assert (f->server != NULL);
 
@@ -321,12 +321,21 @@ main (int argc,
 {
   test_init (&argc, &argv);
 
-  g_test_add ("/connect", Fixture, NULL, setup,
+  g_test_add ("/connect/tcp", Fixture, "tcp:host=127.0.0.1", setup,
+      test_connect, teardown);
+  g_test_add ("/relay/tcp", Fixture, "tcp:host=127.0.0.1", setup,
+      test_relay, teardown);
+  g_test_add ("/limit/tcp", Fixture, "tcp:host=127.0.0.1", setup,
+      test_limit, teardown);
+
+#ifdef DBUS_UNIX
+  g_test_add ("/connect/unix", Fixture, "unix:tmpdir=/tmp", setup,
       test_connect, teardown);
-  g_test_add ("/relay", Fixture, NULL, setup,
+  g_test_add ("/relay/unix", Fixture, "unix:tmpdir=/tmp", setup,
       test_relay, teardown);
-  g_test_add ("/limit", Fixture, NULL, setup,
+  g_test_add ("/limit/unix", Fixture, "unix:tmpdir=/tmp", setup,
       test_limit, teardown);
+#endif
 
   return g_test_run ();
 }