>From b3b4befe29075038b1058f94256662c94414d048 Mon Sep 17 00:00:00 2001 From: Lukas Slebodnik Date: Thu, 10 Sep 2015 18:30:58 +0200 Subject: [PATCH 4/4] 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. --- src/tests/cmocka/test_ad_common.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/tests/cmocka/test_ad_common.c b/src/tests/cmocka/test_ad_common.c index 985a05fae5a4d09ab102ed611c7d03ca8e4d955b..bc9d0940bb22cc4b11f5a5b012ac4ded338714a0 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); -- 2.5.0