diff options
author | Lukas Slebodnik <lslebodn@redhat.com> | 2015-09-10 18:30:58 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2015-09-18 13:33:43 +0200 |
commit | 295c8e301e31f9bf27d921f80c14dfa5864b2383 (patch) | |
tree | 5628cf5de0a14890ab661d18e99cb23365ba537e | |
parent | 83788fb29efb971db7662887a726595df5bae093 (diff) | |
download | sssd-295c8e301e31f9bf27d921f80c14dfa5864b2383.tar.gz sssd-295c8e301e31f9bf27d921f80c14dfa5864b2383.tar.xz sssd-295c8e301e31f9bf27d921f80c14dfa5864b2383.zip |
test_ad_common: Use unique directory for keytabs
This patch also improved cleanup. The functions
test_ad_create_2way_trust_options created keytab which was used by other
following tests test_ldap_conn_list, test_conn_list. The keytab was not
removed at the end of al tests.
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
-rw-r--r-- | src/tests/cmocka/test_ad_common.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/tests/cmocka/test_ad_common.c b/src/tests/cmocka/test_ad_common.c index 985a05fae..bc9d0940b 100644 --- a/src/tests/cmocka/test_ad_common.c +++ b/src/tests/cmocka/test_ad_common.c @@ -40,14 +40,15 @@ #define REALMNAME DOMNAME #define HOST_NAME "ad."REALMNAME +#define TESTS_PATH "tp_" BASE_FILE_STEM #define TEST_AUTHID "host/"HOST_NAME #define KEYTAB_TEST_PRINC TEST_AUTHID"@"REALMNAME -#define KEYTAB_PATH TEST_DIR"/keytab_test.keytab" +#define KEYTAB_PATH TESTS_PATH"/keytab_test.keytab" #define ONEWAY_DOMNAME "ONEWAY" #define ONEWAY_HOST_NAME "ad."ONEWAY_DOMNAME -#define ONEWAY_KEYTAB_PATH TEST_DIR"/oneway_test.keytab" +#define ONEWAY_KEYTAB_PATH TESTS_PATH"/oneway_test.keytab" #define ONEWAY_AUTHID "host/"ONEWAY_HOST_NAME #define ONEWAY_TEST_PRINC ONEWAY_AUTHID"@"ONEWAY_DOMNAME @@ -86,6 +87,8 @@ static int test_ad_common_setup(void **state) { struct ad_common_test_ctx *test_ctx; + test_dom_suite_setup(TESTS_PATH); + assert_true(leak_check_setup()); check_leaks_push(global_talloc_context); @@ -111,6 +114,7 @@ static int test_ad_common_setup(void **state) static int test_ad_common_teardown(void **state) { + int ret; struct ad_common_test_ctx *test_ctx = talloc_get_type(*state, struct ad_common_test_ctx); assert_non_null(test_ctx); @@ -120,6 +124,9 @@ static int test_ad_common_teardown(void **state) assert_true(check_leaks_pop(global_talloc_context) == true); assert_true(leak_check_teardown()); + ret = rmdir(TESTS_PATH); + assert_return_code(ret, errno); + return 0; } @@ -241,6 +248,8 @@ static void test_ad_create_2way_trust_options(void **state) assert_string_equal(s, TEST_AUTHID); talloc_free(test_ctx->ad_ctx->ad_options); + + unlink(KEYTAB_PATH); } static int @@ -256,6 +265,8 @@ test_ldap_conn_setup(void **state) ret = test_ad_common_setup((void **) &test_ctx); assert_int_equal(ret, EOK); + mock_keytab_with_contents(test_ctx, KEYTAB_PATH, KEYTAB_TEST_PRINC); + ad_ctx = test_ctx->ad_ctx; ad_ctx->ad_options = ad_create_2way_trust_options(ad_ctx, @@ -305,6 +316,8 @@ test_ldap_conn_teardown(void **state) struct ad_common_test_ctx); assert_non_null(test_ctx); + unlink(KEYTAB_PATH); + talloc_free(test_ctx->subdom_ad_ctx); talloc_free(test_ctx->ad_ctx->ad_options); talloc_free(test_ctx->ad_ctx->gc_ctx); |