From f10d361a5b523ce7f9289ba8d45ccd847510d619 Mon Sep 17 00:00:00 2001 From: Stef Walter Date: Mon, 16 Jul 2012 17:56:24 +0200 Subject: Use '.module' extension on module configs * And want alphanumeric/_.- filenames * Currently this is just a warning, soon it will be enforced * The name of a module does not include the extension Andreas Metzler and Ubuntu both worked on this patch, and I've made some more changes. See https://bugs.launchpad.net/ubuntu/+source/p11-kit/+bug/911436 https://bugs.freedesktop.org/show_bug.cgi?id=52158 --- tests/conf-test.c | 23 ++++++++++++++++------- tests/files/system-modules/one | 3 --- tests/files/system-modules/one.module | 3 +++ tests/files/system-modules/two | 5 ----- tests/files/system-modules/two-duplicate | 3 --- tests/files/system-modules/two-duplicate.module | 3 +++ tests/files/system-modules/two.badname | 7 +++++++ tests/files/user-modules/one | 2 -- tests/files/user-modules/one.module | 2 ++ tests/files/user-modules/three | 5 ----- tests/files/user-modules/three.module | 5 +++++ tests/test-modules.c | 4 ++-- 12 files changed, 38 insertions(+), 27 deletions(-) delete mode 100644 tests/files/system-modules/one create mode 100644 tests/files/system-modules/one.module delete mode 100644 tests/files/system-modules/two delete mode 100644 tests/files/system-modules/two-duplicate create mode 100644 tests/files/system-modules/two-duplicate.module create mode 100644 tests/files/system-modules/two.badname delete mode 100644 tests/files/user-modules/one create mode 100644 tests/files/user-modules/one.module delete mode 100644 tests/files/user-modules/three create mode 100644 tests/files/user-modules/three.module (limited to 'tests') diff --git a/tests/conf-test.c b/tests/conf-test.c index eb04c71..92f7205 100644 --- a/tests/conf-test.c +++ b/tests/conf-test.c @@ -246,6 +246,15 @@ test_load_globals_user_sets_invalid (CuTest *tc) _p11_hash_free (config); } +static int +assert_msg_contains (const char *msg, + const char *text) +{ + if (msg == NULL) + return 0; + return strstr (msg, text) ? 1 : 0; +} + static void test_load_modules_merge (CuTest *tc) { @@ -258,14 +267,14 @@ test_load_modules_merge (CuTest *tc) SRCDIR "/files/system-modules", SRCDIR "/files/user-modules"); CuAssertPtrNotNull (tc, configs); - CuAssertStrEquals (tc, NULL, p11_kit_message ()); + CuAssertTrue (tc, assert_msg_contains (p11_kit_message (), "invalid config filename")); config = _p11_hash_get (configs, "one"); CuAssertPtrNotNull (tc, config); CuAssertStrEquals (tc, "mock-one.so", _p11_hash_get (config, "module")); CuAssertStrEquals (tc, _p11_hash_get (config, "setting"), "user1"); - config = _p11_hash_get (configs, "two"); + config = _p11_hash_get (configs, "two.badname"); CuAssertPtrNotNull (tc, config); CuAssertStrEquals (tc, "mock-two.so", _p11_hash_get (config, "module")); CuAssertStrEquals (tc, _p11_hash_get (config, "setting"), "system2"); @@ -290,14 +299,14 @@ test_load_modules_user_none (CuTest *tc) SRCDIR "/files/system-modules", SRCDIR "/files/user-modules"); CuAssertPtrNotNull (tc, configs); - CuAssertStrEquals (tc, NULL, p11_kit_message ()); + CuAssertTrue (tc, assert_msg_contains (p11_kit_message (), "invalid config filename")); config = _p11_hash_get (configs, "one"); CuAssertPtrNotNull (tc, config); CuAssertStrEquals (tc, "mock-one.so", _p11_hash_get (config, "module")); CuAssertStrEquals (tc, _p11_hash_get (config, "setting"), "system1"); - config = _p11_hash_get (configs, "two"); + config = _p11_hash_get (configs, "two.badname"); CuAssertPtrNotNull (tc, config); CuAssertStrEquals (tc, "mock-two.so", _p11_hash_get (config, "module")); CuAssertStrEquals (tc, _p11_hash_get (config, "setting"), "system2"); @@ -327,7 +336,7 @@ test_load_modules_user_only (CuTest *tc) CuAssertStrEquals (tc, _p11_hash_get (config, "module"), NULL); CuAssertStrEquals (tc, _p11_hash_get (config, "setting"), "user1"); - config = _p11_hash_get (configs, "two"); + config = _p11_hash_get (configs, "two.badname"); CuAssertPtrEquals (tc, NULL, config); config = _p11_hash_get (configs, "three"); @@ -350,14 +359,14 @@ test_load_modules_no_user (CuTest *tc) SRCDIR "/files/system-modules", SRCDIR "/files/non-existant"); CuAssertPtrNotNull (tc, configs); - CuAssertStrEquals (tc, NULL, p11_kit_message ()); + CuAssertTrue (tc, assert_msg_contains (p11_kit_message (), "invalid config filename")); config = _p11_hash_get (configs, "one"); CuAssertPtrNotNull (tc, config); CuAssertStrEquals (tc, "mock-one.so", _p11_hash_get (config, "module")); CuAssertStrEquals (tc, _p11_hash_get (config, "setting"), "system1"); - config = _p11_hash_get (configs, "two"); + config = _p11_hash_get (configs, "two.badname"); CuAssertPtrNotNull (tc, config); CuAssertStrEquals (tc, "mock-two.so", _p11_hash_get (config, "module")); CuAssertStrEquals (tc, _p11_hash_get (config, "setting"), "system2"); diff --git a/tests/files/system-modules/one b/tests/files/system-modules/one deleted file mode 100644 index 3620869..0000000 --- a/tests/files/system-modules/one +++ /dev/null @@ -1,3 +0,0 @@ - -module: mock-one.so -setting: system1 \ No newline at end of file diff --git a/tests/files/system-modules/one.module b/tests/files/system-modules/one.module new file mode 100644 index 0000000..3620869 --- /dev/null +++ b/tests/files/system-modules/one.module @@ -0,0 +1,3 @@ + +module: mock-one.so +setting: system1 \ No newline at end of file diff --git a/tests/files/system-modules/two b/tests/files/system-modules/two deleted file mode 100644 index f391757..0000000 --- a/tests/files/system-modules/two +++ /dev/null @@ -1,5 +0,0 @@ - -module: mock-two.so -setting: system2 - -disable-in: test-disable, test-other \ No newline at end of file diff --git a/tests/files/system-modules/two-duplicate b/tests/files/system-modules/two-duplicate deleted file mode 100644 index 907aa75..0000000 --- a/tests/files/system-modules/two-duplicate +++ /dev/null @@ -1,3 +0,0 @@ - -# This is a duplicate of the 'two' module -module: mock-two.so diff --git a/tests/files/system-modules/two-duplicate.module b/tests/files/system-modules/two-duplicate.module new file mode 100644 index 0000000..907aa75 --- /dev/null +++ b/tests/files/system-modules/two-duplicate.module @@ -0,0 +1,3 @@ + +# This is a duplicate of the 'two' module +module: mock-two.so diff --git a/tests/files/system-modules/two.badname b/tests/files/system-modules/two.badname new file mode 100644 index 0000000..b6d0f7f --- /dev/null +++ b/tests/files/system-modules/two.badname @@ -0,0 +1,7 @@ +# This module doesn't have a .module extension, but p11-kit doesn't yet +# enforce the naming, just warns, so it should still be loaded + +module: mock-two.so +setting: system2 + +disable-in: test-disable, test-other \ No newline at end of file diff --git a/tests/files/user-modules/one b/tests/files/user-modules/one deleted file mode 100644 index c371e4a..0000000 --- a/tests/files/user-modules/one +++ /dev/null @@ -1,2 +0,0 @@ - -setting: user1 \ No newline at end of file diff --git a/tests/files/user-modules/one.module b/tests/files/user-modules/one.module new file mode 100644 index 0000000..c371e4a --- /dev/null +++ b/tests/files/user-modules/one.module @@ -0,0 +1,2 @@ + +setting: user1 \ No newline at end of file diff --git a/tests/files/user-modules/three b/tests/files/user-modules/three deleted file mode 100644 index 00caab5..0000000 --- a/tests/files/user-modules/three +++ /dev/null @@ -1,5 +0,0 @@ - -module: mock-three.so -setting: user3 - -enable-in: test-enable \ No newline at end of file diff --git a/tests/files/user-modules/three.module b/tests/files/user-modules/three.module new file mode 100644 index 0000000..00caab5 --- /dev/null +++ b/tests/files/user-modules/three.module @@ -0,0 +1,5 @@ + +module: mock-three.so +setting: user3 + +enable-in: test-enable \ No newline at end of file diff --git a/tests/test-modules.c b/tests/test-modules.c index 1debed0..f755298 100644 --- a/tests/test-modules.c +++ b/tests/test-modules.c @@ -142,7 +142,7 @@ test_disable (CuTest *tc) */ modules = initialize_and_get_modules (tc); - CuAssertTrue (tc, lookup_module_with_name (tc, modules, "two") != NULL); + CuAssertTrue (tc, lookup_module_with_name (tc, modules, "two.badname") != NULL); finalize_and_free_modules (tc, modules); /* @@ -155,7 +155,7 @@ test_disable (CuTest *tc) p11_kit_set_progname ("test-disable"); modules = initialize_and_get_modules (tc); - CuAssertTrue (tc, lookup_module_with_name (tc, modules, "two") == NULL); + CuAssertTrue (tc, lookup_module_with_name (tc, modules, "two.badname") == NULL); finalize_and_free_modules (tc, modules); p11_kit_set_progname (NULL); -- cgit v1.1