Tests: add session_bus_run() and use it where possible

This is to avoid having again the subtil bug in dbus-appinfo.c:
session_bus_down() was called before g_test_run() so the test was
running on the user's dbus session.

https://bugzilla.gnome.org/show_bug.cgi?id=697348
This commit is contained in:
Xavier Claessens 2013-10-28 17:18:54 -04:00
parent 5280c03368
commit 940fa98290
7 changed files with 17 additions and 38 deletions

View File

@ -280,11 +280,7 @@ main (int argc, char **argv)
{ {
g_test_init (&argc, &argv, NULL); g_test_init (&argc, &argv, NULL);
session_bus_up ();
g_test_add_func ("/appinfo/dbusappinfo", test_dbus_appinfo); g_test_add_func ("/appinfo/dbusappinfo", test_dbus_appinfo);
session_bus_down (); return session_bus_run ();
return g_test_run ();
} }

View File

@ -1732,15 +1732,11 @@ int
main (int argc, main (int argc,
char *argv[]) char *argv[])
{ {
gint ret;
g_test_init (&argc, &argv, NULL); g_test_init (&argc, &argv, NULL);
/* all the tests rely on a shared main loop */ /* all the tests rely on a shared main loop */
loop = g_main_loop_new (NULL, FALSE); loop = g_main_loop_new (NULL, FALSE);
session_bus_up ();
g_test_add_func ("/gdbus/object-registration", test_object_registration); g_test_add_func ("/gdbus/object-registration", test_object_registration);
g_test_add_func ("/gdbus/registered-interfaces", test_registered_interfaces); g_test_add_func ("/gdbus/registered-interfaces", test_registered_interfaces);
g_test_add_func ("/gdbus/async-properties", test_async_properties); g_test_add_func ("/gdbus/async-properties", test_async_properties);
@ -1748,10 +1744,5 @@ main (int argc,
/* TODO: check that we spit out correct introspection data */ /* TODO: check that we spit out correct introspection data */
/* TODO: check that registering a whole subtree works */ /* TODO: check that registering a whole subtree works */
ret = g_test_run(); return session_bus_run ();
/* tear down bus */
session_bus_down ();
return ret;
} }

View File

@ -303,23 +303,15 @@ int
main (int argc, main (int argc,
char *argv[]) char *argv[])
{ {
gint ret;
g_test_init (&argc, &argv, NULL); g_test_init (&argc, &argv, NULL);
/* all the tests rely on a shared main loop */ /* all the tests rely on a shared main loop */
loop = g_main_loop_new (NULL, FALSE); loop = g_main_loop_new (NULL, FALSE);
session_bus_up ();
g_test_add_func ("/gdbus/introspection-parser", test_introspection_parser); g_test_add_func ("/gdbus/introspection-parser", test_introspection_parser);
g_test_add_func ("/gdbus/introspection-generate", test_generate); g_test_add_func ("/gdbus/introspection-generate", test_generate);
g_test_add_func ("/gdbus/introspection-default-direction", test_default_direction); g_test_add_func ("/gdbus/introspection-default-direction", test_default_direction);
g_test_add_func ("/gdbus/introspection-extra-data", test_extra_data); g_test_add_func ("/gdbus/introspection-extra-data", test_extra_data);
ret = g_test_run (); return session_bus_run ();
session_bus_down ();
return ret;
} }

View File

@ -921,17 +921,14 @@ main (int argc,
/* all the tests rely on a shared main loop */ /* all the tests rely on a shared main loop */
loop = g_main_loop_new (NULL, FALSE); loop = g_main_loop_new (NULL, FALSE);
session_bus_up ();
g_test_add_func ("/gdbus/proxy", test_proxy); g_test_add_func ("/gdbus/proxy", test_proxy);
g_test_add_func ("/gdbus/proxy/no-properties", test_no_properties); g_test_add_func ("/gdbus/proxy/no-properties", test_no_properties);
g_test_add_func ("/gdbus/proxy/wellknown-noauto", test_wellknown_noauto); g_test_add_func ("/gdbus/proxy/wellknown-noauto", test_wellknown_noauto);
g_test_add_func ("/gdbus/proxy/async", test_async); g_test_add_func ("/gdbus/proxy/async", test_async);
ret = g_test_run(); ret = session_bus_run();
g_dbus_node_info_unref (introspection_data); g_dbus_node_info_unref (introspection_data);
session_bus_down ();
return ret; return ret;
} }

View File

@ -47,3 +47,14 @@ session_bus_down (void)
g_clear_object (&singleton); g_clear_object (&singleton);
} }
gint
session_bus_run (void)
{
gint ret;
session_bus_up ();
ret = g_test_run ();
session_bus_down ();
return ret;
}

View File

@ -30,6 +30,7 @@ G_BEGIN_DECLS
void session_bus_up (void); void session_bus_up (void);
void session_bus_stop (void); void session_bus_stop (void);
void session_bus_down (void); void session_bus_down (void);
gint session_bus_run (void);
G_END_DECLS G_END_DECLS

View File

@ -2352,21 +2352,12 @@ int
main (int argc, main (int argc,
char *argv[]) char *argv[])
{ {
gint ret;
g_test_init (&argc, &argv, NULL); g_test_init (&argc, &argv, NULL);
session_bus_up ();
g_test_add_func ("/gdbus/codegen/annotations", test_annotations); g_test_add_func ("/gdbus/codegen/annotations", test_annotations);
g_test_add_func ("/gdbus/codegen/interface_stability", test_interface_stability); g_test_add_func ("/gdbus/codegen/interface_stability", test_interface_stability);
g_test_add_func ("/gdbus/codegen/object-manager", test_object_manager); g_test_add_func ("/gdbus/codegen/object-manager", test_object_manager);
g_test_add_func ("/gdbus/codegen/property-naming", test_property_naming); g_test_add_func ("/gdbus/codegen/property-naming", test_property_naming);
ret = g_test_run(); return session_bus_run ();
/* tear down bus */
session_bus_down ();
return ret;
} }