From 66a7a81216122f2b9b845a722133da005f5237c3 Mon Sep 17 00:00:00 2001 From: Stef Walter Date: Tue, 31 Jul 2012 14:56:52 +0200 Subject: [PATCH] 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; } -- 2.7.4