[libsecret] Fix introspection tests



commit 66a7a81216122f2b9b845a722133da005f5237c3
Author: Stef Walter <stefw gnome org>
Date:   Tue Jul 31 14:56:52 2012 +0200

    Fix introspection tests
    
     * Regressed due to hiding of internal symbols in libsecret.so and
       creation of a separate libsecret-testable.so library

 libsecret/Makefile.am                   |    1 +
 libsecret/secret-private.h              |    2 --
 libsecret/secret-service.c              |   22 +++++++++++++---------
 libsecret/tests/Makefile.am             |    1 -
 libsecret/tests/mock-service.c          |    3 +--
 libsecret/tests/test-clear-password.py  |    3 ++-
 libsecret/tests/test-lookup-password.py |    3 ++-
 libsecret/tests/test-methods.c          |    1 +
 libsecret/tests/test-password.c         |    1 +
 libsecret/tests/test-paths.c            |    1 +
 libsecret/tests/test-service.c          |    1 +
 libsecret/tests/test-store-password.py  |    3 ++-
 libsecret/tests/test-unstable.py        |    1 +
 libsecret/tests/test-vala-lang.vala     |    1 +
 libsecret/tests/test-vala-unstable.vala |    1 +
 15 files changed, 28 insertions(+), 17 deletions(-)
---
diff --git a/libsecret/Makefile.am b/libsecret/Makefile.am
index 82c80d8..7fe9811 100644
--- a/libsecret/Makefile.am
+++ b/libsecret/Makefile.am
@@ -86,6 +86,7 @@ libsecret_testable_la_SOURCES =
 libsecret_testable_la_LIBADD = $(libsecret_ SECRET_MAJOR@_la_OBJECTS) \
 	$(libsecret_ SECRET_MAJOR@_la_LIBADD)
 libsecret_testable_la_DEPENDENCIES = $(libsecret_ SECRET_MAJOR@_la_OBJECTS)
+libsecret_testable_la_LDFLAGS = -rpath /force/shared
 
 DBUS_XML_DEFINITIONS = \
 	$(srcdir)/org.freedesktop.Secrets.xml
diff --git a/libsecret/secret-private.h b/libsecret/secret-private.h
index aa66689..74c9297 100644
--- a/libsecret/secret-private.h
+++ b/libsecret/secret-private.h
@@ -120,8 +120,6 @@ gboolean             _secret_util_set_property_sync           (GDBusProxy *proxy
 
 gboolean             _secret_util_have_cached_properties      (GDBusProxy *proxy);
 
-void                 _secret_service_set_default_bus_name     (const gchar *bus_name);
-
 SecretSession *      _secret_service_get_session              (SecretService *self);
 
 void                 _secret_service_take_session             (SecretService *self,
diff --git a/libsecret/secret-service.c b/libsecret/secret-service.c
index 6d4218b..9234db2 100644
--- a/libsecret/secret-service.c
+++ b/libsecret/secret-service.c
@@ -107,7 +107,6 @@
 EGG_SECURE_GLIB_DEFINITIONS ();
 
 GQuark _secret_error_quark = 0;
-static const gchar *default_bus_name = SECRET_SERVICE_BUS_NAME;
 
 enum {
 	PROP_0,
@@ -732,11 +731,16 @@ secret_service_async_initable_iface (GAsyncInitableIface *iface)
 	iface->init_finish = secret_service_async_initable_init_finish;
 }
 
-void
-_secret_service_set_default_bus_name (const gchar *bus_name)
+static const gchar *
+get_default_bus_name (void)
 {
-	g_return_if_fail (bus_name != NULL);
-	default_bus_name = bus_name;
+	const gchar *bus_name;
+
+	bus_name = g_getenv ("SECRET_SERVICE_BUS_NAME");
+	if (bus_name == NULL)
+		bus_name = SECRET_SERVICE_BUS_NAME;
+
+	return bus_name;
 }
 
 /**
@@ -772,7 +776,7 @@ secret_service_get (SecretServiceFlags flags,
 		                            cancellable, callback, user_data,
 		                            "g-flags", G_DBUS_PROXY_FLAGS_NONE,
 		                            "g-interface-info", _secret_gen_service_interface_info (),
-		                            "g-name", default_bus_name,
+		                            "g-name", get_default_bus_name (),
 		                            "g-bus-type", G_BUS_TYPE_SESSION,
 		                            "g-object-path", SECRET_SERVICE_PATH,
 		                            "g-interface-name", SECRET_SERVICE_INTERFACE,
@@ -870,7 +874,7 @@ secret_service_get_sync (SecretServiceFlags flags,
 		service = g_initable_new (SECRET_TYPE_SERVICE, cancellable, error,
 		                          "g-flags", G_DBUS_PROXY_FLAGS_NONE,
 		                          "g-interface-info", _secret_gen_service_interface_info (),
-		                          "g-name", default_bus_name,
+		                          "g-name", get_default_bus_name (),
 		                          "g-bus-type", G_BUS_TYPE_SESSION,
 		                          "g-object-path", SECRET_SERVICE_PATH,
 		                          "g-interface-name", SECRET_SERVICE_INTERFACE,
@@ -944,7 +948,7 @@ secret_service_new (GType service_gtype,
 	g_return_if_fail (g_type_is_a (service_gtype, SECRET_TYPE_SERVICE));
 
 	if (service_bus_name == NULL)
-		service_bus_name = default_bus_name;
+		service_bus_name = get_default_bus_name ();
 
 	g_async_initable_new_async (service_gtype, G_PRIORITY_DEFAULT,
 	                            cancellable, callback, user_data,
@@ -1027,7 +1031,7 @@ secret_service_new_sync (GType service_gtype,
 	g_return_val_if_fail (g_type_is_a (service_gtype, SECRET_TYPE_SERVICE), NULL);
 
 	if (service_bus_name == NULL)
-		service_bus_name = default_bus_name;
+		service_bus_name = get_default_bus_name ();
 
 	return g_initable_new (service_gtype, cancellable, error,
 	                       "g-flags", G_DBUS_PROXY_FLAGS_NONE,
diff --git a/libsecret/tests/Makefile.am b/libsecret/tests/Makefile.am
index aed83e0..572aa66 100644
--- a/libsecret/tests/Makefile.am
+++ b/libsecret/tests/Makefile.am
@@ -25,7 +25,6 @@ libmock_service_la_LDFLAGS = \
 	-rpath /force/shared
 
 libmock_service_la_LIBADD = \
-	$(top_builddir)/libsecret/libsecret-testable.la \
 	$(LIBGCRYPT_LIBS)
 
 LDADD =  \
diff --git a/libsecret/tests/mock-service.c b/libsecret/tests/mock-service.c
index 6a5a0f6..583e015 100644
--- a/libsecret/tests/mock-service.c
+++ b/libsecret/tests/mock-service.c
@@ -45,7 +45,7 @@ mock_service_start (const gchar *mock_script,
 	g_return_val_if_fail (mock_script != NULL, FALSE);
 	g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
 
-	_secret_service_set_default_bus_name (MOCK_SERVICE_NAME);
+	g_setenv ("SECRET_SERVICE_BUS_NAME", MOCK_SERVICE_NAME, TRUE);
 
 	if (pipe (wait_pipe) < 0) {
 		g_set_error_literal (error, G_IO_ERROR, g_io_error_from_errno (errno),
@@ -88,6 +88,5 @@ mock_service_stop (void)
 	}
 
 	g_spawn_close_pid (pid);
-	secret_service_disconnect ();
 	pid = 0;
 }
diff --git a/libsecret/tests/test-clear-password.py b/libsecret/tests/test-clear-password.py
index 8d01506..b16b1e2 100644
--- a/libsecret/tests/test-clear-password.py
+++ b/libsecret/tests/test-clear-password.py
@@ -3,7 +3,7 @@
 import unittest
 
 from gi.repository import MockService as Mock
-from gi.repository import Secret, GLib
+from gi.repository import Secret, SecretUnstable, GLib
 
 STORE_SCHEMA = Secret.Schema.new("org.mock.Schema",
 	Secret.SchemaFlags.NONE,
@@ -19,6 +19,7 @@ class TestRemove(unittest.TestCase):
 		Mock.start("mock-service-normal.py")
 
 	def tearDown(self):
+		SecretUnstable.Service.disconnect()
 		Mock.stop()
 
 	def testSynchronous(self):
diff --git a/libsecret/tests/test-lookup-password.py b/libsecret/tests/test-lookup-password.py
index 5e05e39..884d056 100644
--- a/libsecret/tests/test-lookup-password.py
+++ b/libsecret/tests/test-lookup-password.py
@@ -3,7 +3,7 @@
 import unittest
 
 from gi.repository import MockService as Mock
-from gi.repository import Secret, GLib
+from gi.repository import Secret, SecretUnstable, GLib
 
 STORE_SCHEMA = Secret.Schema.new("org.mock.Schema",
 	Secret.SchemaFlags.NONE,
@@ -19,6 +19,7 @@ class TestLookup(unittest.TestCase):
 		Mock.start("mock-service-normal.py")
 
 	def tearDown(self):
+		SecretUnstable.Service.disconnect()
 		Mock.stop()
 
 	def testSynchronous(self):
diff --git a/libsecret/tests/test-methods.c b/libsecret/tests/test-methods.c
index b94188a..410a578 100644
--- a/libsecret/tests/test-methods.c
+++ b/libsecret/tests/test-methods.c
@@ -89,6 +89,7 @@ static void
 teardown_mock (Test *test,
                gconstpointer unused)
 {
+	secret_service_disconnect ();
 	mock_service_stop ();
 }
 
diff --git a/libsecret/tests/test-password.c b/libsecret/tests/test-password.c
index 758ab65..7968f69 100644
--- a/libsecret/tests/test-password.c
+++ b/libsecret/tests/test-password.c
@@ -75,6 +75,7 @@ static void
 teardown (Test *test,
           gconstpointer unused)
 {
+	secret_service_disconnect ();
 	mock_service_stop ();
 }
 
diff --git a/libsecret/tests/test-paths.c b/libsecret/tests/test-paths.c
index 8ca5568..6173ed6 100644
--- a/libsecret/tests/test-paths.c
+++ b/libsecret/tests/test-paths.c
@@ -89,6 +89,7 @@ static void
 teardown_mock (Test *test,
                gconstpointer unused)
 {
+	secret_service_disconnect ();
 	mock_service_stop ();
 }
 
diff --git a/libsecret/tests/test-service.c b/libsecret/tests/test-service.c
index 557c76c..87fa272 100644
--- a/libsecret/tests/test-service.c
+++ b/libsecret/tests/test-service.c
@@ -47,6 +47,7 @@ static void
 teardown_mock (Test *test,
                gconstpointer unused)
 {
+	secret_service_disconnect ();
 	mock_service_stop ();
 }
 
diff --git a/libsecret/tests/test-store-password.py b/libsecret/tests/test-store-password.py
index a14b382..83037e3 100644
--- a/libsecret/tests/test-store-password.py
+++ b/libsecret/tests/test-store-password.py
@@ -3,7 +3,7 @@
 import unittest
 
 from gi.repository import MockService as Mock
-from gi.repository import Secret, GLib
+from gi.repository import Secret, SecretUnstable, GLib
 
 STORE_SCHEMA = Secret.Schema.new("org.mock.Schema",
 	Secret.SchemaFlags.NONE,
@@ -19,6 +19,7 @@ class TestStore(unittest.TestCase):
 		Mock.start("mock-service-normal.py")
 
 	def tearDown(self):
+		SecretUnstable.Service.disconnect()
 		Mock.stop()
 
 	def testSynchronous(self):
diff --git a/libsecret/tests/test-unstable.py b/libsecret/tests/test-unstable.py
index 09b3968..00d6862 100644
--- a/libsecret/tests/test-unstable.py
+++ b/libsecret/tests/test-unstable.py
@@ -10,6 +10,7 @@ class TestStore(unittest.TestCase):
 		Mock.start("mock-service-normal.py")
 
 	def tearDown(self):
+		Secret.Service.disconnect()
 		Mock.stop()
 
 	def testSynchronous(self):
diff --git a/libsecret/tests/test-vala-lang.vala b/libsecret/tests/test-vala-lang.vala
index fad5252..b50e637 100644
--- a/libsecret/tests/test-vala-lang.vala
+++ b/libsecret/tests/test-vala-lang.vala
@@ -165,6 +165,7 @@ private static int main (string[] args) {
 
   var res = GLib.Test.run ();
 
+  Secret.Service.disconnect ();
   MockService.stop ();
   schema = null;
 
diff --git a/libsecret/tests/test-vala-unstable.vala b/libsecret/tests/test-vala-unstable.vala
index ac28ce5..2f39f8b 100644
--- a/libsecret/tests/test-vala-unstable.vala
+++ b/libsecret/tests/test-vala-unstable.vala
@@ -20,6 +20,7 @@ private static int main (string[] args) {
 	GLib.Test.add_data_func ("/vala/unstable/read-alias", test_read_alias);
 
 	var res = GLib.Test.run ();
+	Secret.Service.disconnect ();
 	MockService.stop ();
 	return res;
 }



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