diff options
-rw-r--r-- | server/Makefile.am | 12 | ||||
-rw-r--r-- | server/providers/ipa/ipa_common.c | 5 | ||||
-rw-r--r-- | server/providers/ipa/ipa_common.h | 5 | ||||
-rw-r--r-- | server/tests/ipa_ldap_opt-tests.c | 59 |
4 files changed, 75 insertions, 6 deletions
diff --git a/server/Makefile.am b/server/Makefile.am index b331cf1d2..21ae79ae3 100644 --- a/server/Makefile.am +++ b/server/Makefile.am @@ -72,7 +72,8 @@ if HAVE_CHECK refcount-tests \ fail_over-tests \ find_uid-tests \ - auth-tests + auth-tests \ + ipa_ldap_opt-tests endif check_PROGRAMS = \ @@ -484,6 +485,7 @@ krb5_utils_tests_LDADD = \ $(CARES_LIBS) \ $(CHECK_LIBS) + check_and_open_tests_SOURCES = \ $(SSSD_DEBUG_OBJ) \ tests/check_and_open-tests.c \ @@ -601,6 +603,14 @@ auth_tests_LDADD = \ $(SSSD_LIBS) \ $(CHECK_LIBS) +ipa_ldap_opt_tests_SOURCES = \ + tests/ipa_ldap_opt-tests.c +ipa_ldap_opt_tests_CFLAG = \ + $(AM_CFLAGS) \ + $(CHECK_CFLAGS) +ipa_ldap_opt_tests_LDADD = \ + $(CHECK_LIBS) + endif stress_tests_SOURCES = \ diff --git a/server/providers/ipa/ipa_common.c b/server/providers/ipa/ipa_common.c index f675e0867..7686227a5 100644 --- a/server/providers/ipa/ipa_common.c +++ b/server/providers/ipa/ipa_common.c @@ -214,11 +214,6 @@ done: return ret; } -/* the following define is used to keep track of * the options in the ldap - * module, so that if they change and ipa is not updated correspondingly - * this will trigger a runtime abort error */ -#define IPA_OPTS_BASIC_TEST 31 - int ipa_get_id_options(struct ipa_options *ipa_opts, struct confdb_ctx *cdb, const char *conf_path, diff --git a/server/providers/ipa/ipa_common.h b/server/providers/ipa/ipa_common.h index 8eaae715c..60c7313f0 100644 --- a/server/providers/ipa/ipa_common.h +++ b/server/providers/ipa/ipa_common.h @@ -32,6 +32,11 @@ struct ipa_service { struct krb5_service *krb5_service; }; +/* the following define is used to keep track of the options in the ldap + * module, so that if they change and ipa is not updated correspondingly + * this will trigger a runtime abort error */ +#define IPA_OPTS_BASIC_TEST 31 + enum ipa_basic_opt { IPA_DOMAIN = 0, IPA_SERVER, diff --git a/server/tests/ipa_ldap_opt-tests.c b/server/tests/ipa_ldap_opt-tests.c new file mode 100644 index 000000000..215f94a4d --- /dev/null +++ b/server/tests/ipa_ldap_opt-tests.c @@ -0,0 +1,59 @@ +/* + SSSD + + Tests if IPA and LDAP backend options are in sync + + Authors: + Jakub Hrozek <jhrozek@redhat.com> + + Copyright (C) 2010 Red Hat + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include <check.h> +#include <stdlib.h> + +#include "providers/ipa/ipa_common.h" +#include "providers/ldap/sdap.h" + +START_TEST(test_check_num_opts) +{ + fail_if(IPA_OPTS_BASIC_TEST != SDAP_OPTS_BASIC); +} +END_TEST + +Suite *ipa_ldap_opt_suite (void) +{ + Suite *s = suite_create ("ipa_ldap_opt"); + + TCase *tc_ipa_ldap_opt = tcase_create ("ipa_ldap_opt"); + + tcase_add_test (tc_ipa_ldap_opt, test_check_num_opts); + suite_add_tcase (s, tc_ipa_ldap_opt); + + return s; +} + +int main(void) +{ + int number_failed; + Suite *s = ipa_ldap_opt_suite (); + SRunner *sr = srunner_create (s); + /* If CK_VERBOSITY is set, use that, otherwise it defaults to CK_NORMAL */ + srunner_run_all(sr, CK_ENV); + number_failed = srunner_ntests_failed (sr); + srunner_free (sr); + return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE; +} |