From 88a142a202a3ae5e82f222cbb5ce75372d66e719 Mon Sep 17 00:00:00 2001 From: Philip Chimento Date: Tue, 24 Mar 2015 21:12:35 -0700 Subject: Refactor EosApplication test add code UniqueAppFixture is a more appropriate name for the fixture since it is not only used to test config directories. Add a macro to make the test adding code more convenient. [endlessm/eos-sdk#2934] --- test/endless/test-application.c | 44 +++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 24 deletions(-) (limited to 'test/endless') diff --git a/test/endless/test-application.c b/test/endless/test-application.c index 75165d4..bb31b8f 100644 --- a/test/endless/test-application.c +++ b/test/endless/test-application.c @@ -14,7 +14,7 @@ typedef struct { gchar *unique_id; EosApplication *app; -} ConfigDirFixture; +} UniqueAppFixture; static void test_two_windows (EosApplication *app) @@ -36,7 +36,7 @@ test_two_windows (EosApplication *app) } static void -config_dir_setup (ConfigDirFixture *fixture, +unique_app_setup (UniqueAppFixture *fixture, gconstpointer unused) { fixture->unique_id = generate_unique_app_id (); @@ -45,7 +45,7 @@ config_dir_setup (ConfigDirFixture *fixture, } static void -config_dir_teardown (ConfigDirFixture *fixture, +unique_app_teardown (UniqueAppFixture *fixture, gconstpointer unused) { /* Clean up the temporary config directory */ @@ -57,7 +57,7 @@ config_dir_teardown (ConfigDirFixture *fixture, } static void -test_config_dir_get (ConfigDirFixture *fixture, +test_config_dir_get (UniqueAppFixture *fixture, gconstpointer unused) { GFile *dir1 = eos_application_get_config_dir (fixture->app); @@ -72,7 +72,7 @@ test_config_dir_get (ConfigDirFixture *fixture, } static void -test_config_dir_returns_expected_path (ConfigDirFixture *fixture, +test_config_dir_returns_expected_path (UniqueAppFixture *fixture, gconstpointer unused) { GFile *config_dir = eos_application_get_config_dir (fixture->app); @@ -96,7 +96,7 @@ test_config_dir_returns_expected_path (ConfigDirFixture *fixture, } static void -test_config_dir_exists (ConfigDirFixture *fixture, +test_config_dir_exists (UniqueAppFixture *fixture, gconstpointer unused) { GFile *config_dir = eos_application_get_config_dir (fixture->app); @@ -119,7 +119,7 @@ set_writable (GFile *file, } static void -test_config_dir_fails_if_not_writable (ConfigDirFixture *fixture, +test_config_dir_fails_if_not_writable (UniqueAppFixture *fixture, gconstpointer unused) { /* Pre-create the config dir and make it non-writable */ @@ -150,27 +150,23 @@ void add_application_tests (void) { ADD_APP_WINDOW_TEST ("/application/two-windows", test_two_windows); - g_test_add ("/application/config-dir-get", ConfigDirFixture, NULL, - config_dir_setup, - test_config_dir_get, - config_dir_teardown); - g_test_add ("/application/config-dir-expected-path", ConfigDirFixture, NULL, - config_dir_setup, - test_config_dir_returns_expected_path, - config_dir_teardown); - g_test_add ("/application/config-dir-exists", ConfigDirFixture, NULL, - config_dir_setup, - test_config_dir_exists, - config_dir_teardown); + +#define ADD_APP_TEST(path, func) \ + g_test_add((path), UniqueAppFixture, NULL, \ + unique_app_setup, (func), unique_app_teardown) + + ADD_APP_TEST ("/application/config-dir-get", test_config_dir_get); + ADD_APP_TEST ("/application/config-dir-expected-path", + test_config_dir_returns_expected_path); + ADD_APP_TEST ("/application/config-dir-exists", test_config_dir_exists); /* Only run this test if UID is not root; root can write to any directory no matter what its permissions. */ if (getuid() > 0 && geteuid() > 0) { - g_test_add ("/application/config-dir-fails-if-not-writable", - ConfigDirFixture, NULL, - config_dir_setup, - test_config_dir_fails_if_not_writable, - config_dir_teardown); + ADD_APP_TEST ("/application/config-dir-fails-if-not-writable", + test_config_dir_fails_if_not_writable); } + +#undef ADD_APP_TEST } -- cgit v1.2.3