From ab3c0e05d18616295afbd46acad1ca243b33861c Mon Sep 17 00:00:00 2001 From: Michal Židek Date: Fri, 18 Sep 2015 16:39:41 +0200 Subject: tests: Set p11_child_timeout to 30 in tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ticket: https://fedorahosted.org/sssd/ticket/2773 Add way to set pam specific options in pam_test_setup adn use it to set the p11_child_timeout value to 30. Reviewed-by: Lukáš Slebodník Reviewed-by: Pavel Reichl --- src/tests/cmocka/test_pam_srv.c | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/src/tests/cmocka/test_pam_srv.c b/src/tests/cmocka/test_pam_srv.c index 3567b2bca..6bae6e337 100644 --- a/src/tests/cmocka/test_pam_srv.c +++ b/src/tests/cmocka/test_pam_srv.c @@ -184,7 +184,26 @@ struct pam_ctx *mock_pctx(TALLOC_CTX *mem_ctx) return pctx; } -void test_pam_setup(struct sss_test_conf_param params[], +static int add_pam_params(struct sss_test_conf_param pam_params[], + struct confdb_ctx *cdb) +{ + const char *val[2]; + int ret; + + val[1] = NULL; + + for (int i = 0; pam_params[i].key; i++) { + val[0] = pam_params[i].value; + ret = confdb_add_param(cdb, true, CONFDB_PAM_CONF_ENTRY, + pam_params[i].key, val); + assert_int_equal(ret, EOK); + } + + return EOK; +} + +void test_pam_setup(struct sss_test_conf_param dom_params[], + struct sss_test_conf_param pam_params[], void **state) { errno_t ret; @@ -194,7 +213,7 @@ void test_pam_setup(struct sss_test_conf_param params[], pam_test_ctx->tctx = create_dom_test_ctx(pam_test_ctx, TESTS_PATH, TEST_CONF_DB, TEST_DOM_NAME, - TEST_ID_PROVIDER, params); + TEST_ID_PROVIDER, dom_params); assert_non_null(pam_test_ctx->tctx); pam_test_ctx->pam_cmds = get_pam_cmds(); @@ -217,6 +236,9 @@ void test_pam_setup(struct sss_test_conf_param params[], pam_test_ctx->rctx->cdb = pam_test_ctx->tctx->confdb; pam_test_ctx->pctx->rctx = pam_test_ctx->rctx; + ret = add_pam_params(pam_params, pam_test_ctx->rctx->cdb); + assert_int_equal(ret, EOK); + /* Create client context */ pam_test_ctx->cctx = mock_cctx(pam_test_ctx, pam_test_ctx->rctx); assert_non_null(pam_test_ctx->cctx); @@ -229,13 +251,18 @@ static int pam_test_setup(void **state) { int ret; - struct sss_test_conf_param params[] = { + struct sss_test_conf_param dom_params[] = { { "enumerate", "false" }, { "cache_credentials", "true" }, { NULL, NULL }, /* Sentinel */ }; - test_pam_setup(params, state); + struct sss_test_conf_param pam_params[] = { + { "p11_child_timeout", "30"}, + { NULL, NULL }, /* Sentinel */ + }; + + test_pam_setup(dom_params, pam_params, state); /* Prime the cache with a valid user */ ret = sysdb_add_user(pam_test_ctx->tctx->dom, -- cgit