From 51e0d0ae048517bab0860ae7797b7c5c9562f367 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20B=C5=99ezina?= Date: Tue, 28 Jul 2020 10:27:21 +0200 Subject: [PATCH] sssd-2.3.1-3: fix test compilation with check-0.15 --- 0001-fix-compilation-with-check-0.15.1.patch | 4005 +++++++++++++++++ ...warnings-format-not-a-string-literal.patch | 293 ++ sssd.spec | 7 +- 3 files changed, 4304 insertions(+), 1 deletion(-) create mode 100644 0001-fix-compilation-with-check-0.15.1.patch create mode 100644 0002-DEBUG-TESTS-Fix-warnings-format-not-a-string-literal.patch diff --git a/0001-fix-compilation-with-check-0.15.1.patch b/0001-fix-compilation-with-check-0.15.1.patch new file mode 100644 index 0000000..5a2a880 --- /dev/null +++ b/0001-fix-compilation-with-check-0.15.1.patch @@ -0,0 +1,4005 @@ +From ae92ebec5ab0535d0a24c983b36026f615a60b5e Mon Sep 17 00:00:00 2001 +From: Lukas Slebodnik +Date: Sat, 25 Jul 2020 13:18:01 +0000 +Subject: [PATCH 01/19] =?UTF-8?q?DLOPEN-TESTS:=20Fix=20error=20too=20few?= + =?UTF-8?q?=20arguments=20to=20function=20=E2=80=98=5Fck=5Fassert=5Ffailed?= + =?UTF-8?q?=E2=80=99?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* add missing messages to fail_{if,unless} macros +--- + src/tests/dlopen-tests.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/tests/dlopen-tests.c b/src/tests/dlopen-tests.c +index 4727e7cd9..4acaba2a4 100644 +--- a/src/tests/dlopen-tests.c ++++ b/src/tests/dlopen-tests.c +@@ -194,13 +194,13 @@ static char **get_so_files(size_t *_list_size) + char **libraries; + + n = scandir(LIBPFX, &namelist, file_so_filter, alphasort); +- fail_unless(n > 0); ++ fail_unless(n > 0, "Failed to scan dirrectory: " LIBPFX); + + libraries = calloc(n + 1, sizeof(char *)); + + for (int i = 0; i < n; ++i) { + libraries[i] = strdup(namelist[i]->d_name); +- fail_if(libraries[i] == NULL); ++ fail_if(libraries[i] == NULL, "Failed to allocate memory"); + + free(namelist[i]); + } +@@ -250,7 +250,7 @@ START_TEST(test_dlopen_base) + } + free(found_libraries); + +- fail_if(unchecked_library); ++ fail_if(unchecked_library, "Unchecked library found"); + } + END_TEST + +-- +2.28.0.rc2 + + +From 23849dfb089c0cbd877feaa3fbb4df94f3d62ebb Mon Sep 17 00:00:00 2001 +From: Lukas Slebodnik +Date: Sat, 25 Jul 2020 13:18:02 +0000 +Subject: [PATCH 02/19] =?UTF-8?q?SYSDB-TESTS:=20Fix=20error=20too=20few=20?= + =?UTF-8?q?arguments=20to=20function=20=E2=80=98=5Fck=5Fassert=5Ffailed?= + =?UTF-8?q?=E2=80=99?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* add missing messages to fail_{if,unless} macros +* convert assertions to different macros + +e.g. +src/tests/sysdb-tests.c:6622:5: error: too few arguments to function ‘_ck_assert_failed’ + 6622 | fail_if(ret != EOK); +--- + src/tests/sysdb-tests.c | 454 +++++++++++++++++++++------------------- + 1 file changed, 236 insertions(+), 218 deletions(-) + +diff --git a/src/tests/sysdb-tests.c b/src/tests/sysdb-tests.c +index 5381b9a17..b7e0e2389 100644 +--- a/src/tests/sysdb-tests.c ++++ b/src/tests/sysdb-tests.c +@@ -694,13 +694,13 @@ START_TEST (test_sysdb_user_new_id) + fqname = sss_create_internal_fqname(test_ctx, + username, + test_ctx->domain->name); +- fail_if(fqname == NULL); ++ fail_if(fqname == NULL, "Failed to allocate memory"); + + attrs = sysdb_new_attrs(test_ctx); +- fail_if(attrs == NULL); ++ fail_if(attrs == NULL, "Failed to allocate memory"); + + ret = sysdb_attrs_add_string(attrs, SYSDB_DESCRIPTION, desc_in); +- fail_if(ret != EOK); ++ fail_if(ret != EOK, "Failed to add attribute: " SYSDB_DESCRIPTION); + + ret = sysdb_add_user(test_ctx->domain, fqname, + 1234, 1234, fqname, "/", "/bin/bash", +@@ -713,7 +713,7 @@ START_TEST (test_sysdb_user_new_id) + fail_if(ret != EOK, "Could not retrieve user %s", fqname); + + desc = ldb_msg_find_attr_as_string(msg, SYSDB_DESCRIPTION, NULL); +- fail_unless(desc != NULL); ++ fail_unless(desc != NULL, "Failed to find attribute: " SYSDB_DESCRIPTION); + ck_assert_str_eq(desc, desc_in); + + ret = sysdb_delete_user(test_ctx->domain, fqname, 0); +@@ -738,7 +738,7 @@ START_TEST (test_sysdb_store_user) + } + + data = test_data_new_user(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + ret = test_store_user(data); + +@@ -761,7 +761,7 @@ START_TEST (test_sysdb_store_user_existing) + } + + data = test_data_new_user(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + data->shell = "/bin/ksh"; + + ret = test_store_user(data); +@@ -831,7 +831,7 @@ START_TEST (test_sysdb_remove_local_user_by_uid) + } + + data = test_data_new(test_ctx); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + data->uid = _i; + + ret = test_remove_user_by_uid(data); +@@ -855,7 +855,7 @@ START_TEST (test_sysdb_remove_local_group) + } + + data = test_data_new_group(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + ret = test_remove_group(data); + +@@ -878,7 +878,7 @@ START_TEST (test_sysdb_remove_local_group_by_gid) + } + + data = test_data_new_group(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + null_ctx_get_size(data->ctx); + ret = test_remove_group_by_gid(data); +@@ -903,7 +903,7 @@ START_TEST (test_sysdb_add_user) + } + + data = test_data_new_user(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + ret = test_add_user(data); + +@@ -926,7 +926,7 @@ START_TEST (test_sysdb_add_group) + } + + data = test_data_new_group(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + ret = test_add_group(data); + +@@ -951,7 +951,7 @@ START_TEST (test_sysdb_add_group_with_ghosts) + } + + data = test_data_new_group(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + for (j = MBO_GROUP_BASE; j < _i; j++) { + member_fqname = test_asprintf_fqname(data, data->ctx->domain, +@@ -983,7 +983,7 @@ START_TEST (test_sysdb_add_incomplete_group) + } + + data = test_data_new_group(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + ret = test_add_incomplete_group(data); + +@@ -1053,7 +1053,7 @@ START_TEST (test_sysdb_getpwnam) + } + + data = test_data_new_user(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + res = test_getpwnam(data); + fail_if(res->count != 1, +@@ -1069,7 +1069,6 @@ START_TEST (test_sysdb_getpwnam) + data->username = test_asprintf_fqname(data, test_ctx->domain, + "TESTUSER%d", _i); + fail_if(data->username == NULL, "OOM"); +- fail_if(ret != EOK); + + res = test_getpwnam(data); + fail_if(res->count != 0, +@@ -1101,15 +1100,16 @@ START_TEST(test_user_group_by_name) + test_ctx->domain->mpg_mode = MPG_ENABLED; + + data = test_data_new_user(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + ret = sysdb_search_group_by_name(data, + data->ctx->domain, + data->username, /* we're searching for the private group */ + NULL, + &msg); +- fail_if(ret != EOK); +- fail_if(msg == NULL); ++ fail_if(ret != EOK, ++ "sysdb_search_group_by_name failed with error: %d", ret); ++ fail_if(msg == NULL, "Failed to find group: %s", data->username); + + groupname = ldb_msg_find_attr_as_string(msg, SYSDB_NAME, NULL); + ck_assert_str_eq(groupname, data->username); +@@ -1131,14 +1131,15 @@ START_TEST(test_user_group_by_name_local) + } + + data = test_data_new_user(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + ret = sysdb_search_group_by_name(data, + data->ctx->domain, + data->username, /* we're searching for the private group */ + NULL, + &msg); +- fail_if(ret != ENOENT); ++ fail_if(ret != ENOENT, ++ "sysdb_search_group_by_name must return ENOENT got: %d", ret); + } + END_TEST + +@@ -1159,7 +1160,7 @@ START_TEST (test_sysdb_getgrnam) + } + + data = test_data_new_group(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + res = test_getgrnam(data); + fail_if(res->count != 1, +@@ -1176,7 +1177,6 @@ START_TEST (test_sysdb_getgrnam) + data->groupname = test_asprintf_fqname(data, test_ctx->domain, + "TESTGROUP%d", _i); + fail_if(data->groupname == NULL, "OOM"); +- fail_if(ret != EOK); + + res = test_getgrnam(data); + fail_if(res->count != 0, +@@ -1302,7 +1302,7 @@ START_TEST (test_sysdb_getpwuid) + } + + data = test_data_new_user(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + ret = sysdb_getpwuid(test_ctx, + test_ctx->domain, +@@ -1397,7 +1397,7 @@ START_TEST (test_sysdb_set_user_attr) + } + + data = test_data_new_user(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + data->attrs = sysdb_new_attrs(test_ctx); + if (ret != EOK) { +@@ -1506,7 +1506,7 @@ START_TEST (test_sysdb_get_user_attr) + } + + data = test_data_new_user(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + ret = sysdb_get_user_attr(test_ctx, test_ctx->domain, data->username, attrs, + &res); +@@ -1601,7 +1601,7 @@ START_TEST (test_sysdb_add_nonposix_user) + fail_if(fq_name == NULL, "Failed to create fq name."); + + user_attrs = sysdb_new_attrs(test_ctx); +- fail_if(user_attrs == NULL); ++ fail_if(user_attrs == NULL, "Failed to allocate memory"); + + ret = sysdb_attrs_add_bool(user_attrs, SYSDB_POSIX, false); + fail_if(ret != EOK, "Could not add attribute"); +@@ -1691,12 +1691,12 @@ START_TEST (test_sysdb_add_group_member) + } + + data = test_data_new_group(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + data->uid = _i - 1000; /* the UID of user to add */ + data->username = test_asprintf_fqname(data, test_ctx->domain, + "testuser%d", data->uid); +- fail_if(data->username == NULL); ++ fail_if(data->username == NULL, "Failed to allocate memory"); + + ret = test_add_group_member(data); + +@@ -1771,12 +1771,12 @@ START_TEST (test_sysdb_remove_group_member) + } + + data = test_data_new_group(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + data->uid = _i - 1000; /* the UID of user to remove */ + data->username = test_asprintf_fqname(data, test_ctx->domain, + "testuser%d", data->uid); +- fail_if(data->username == NULL); ++ fail_if(data->username == NULL, "Failed to allocate memory"); + + ret = test_remove_group_member(data); + fail_if(ret != EOK, "Remove group member failed: %d", ret); +@@ -1799,7 +1799,7 @@ START_TEST (test_sysdb_remove_nonexistent_user) + } + + data = test_data_new(test_ctx); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + data->uid = 12345; + + ret = test_remove_user_by_uid(data); +@@ -1823,7 +1823,7 @@ START_TEST (test_sysdb_remove_nonexistent_group) + } + + data = test_data_new(test_ctx); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + data->gid = 12345; + + ret = test_remove_group_by_gid(data); +@@ -1866,7 +1866,7 @@ START_TEST (test_sysdb_store_custom) + } + + data = test_data_new(test_ctx); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + data->uid = _i; + data->attrs = sysdb_new_attrs(test_ctx); +@@ -1905,7 +1905,7 @@ START_TEST (test_sysdb_search_custom_by_name) + } + + data = test_data_new(test_ctx); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + data->attrlist = talloc_array(test_ctx, const char *, 2); + fail_unless(data->attrlist != NULL, "talloc_array failed"); +@@ -1958,7 +1958,7 @@ START_TEST (test_sysdb_update_custom) + } + + data = test_data_new(test_ctx); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + data->uid = 29010; + data->attrs = sysdb_new_attrs(test_ctx); +@@ -2006,7 +2006,7 @@ START_TEST (test_sysdb_search_custom_update) + } + + data = test_data_new(test_ctx); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + data->attrlist = talloc_array(test_ctx, const char *, 3); + fail_unless(data->attrlist != NULL, "talloc_array failed"); +@@ -2074,7 +2074,7 @@ START_TEST (test_sysdb_search_custom) + } + + data = test_data_new(test_ctx); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + data->attrlist = talloc_array(test_ctx, const char *, 3); + fail_unless(data->attrlist != NULL, "talloc_array failed"); +@@ -2112,7 +2112,7 @@ START_TEST (test_sysdb_delete_custom) + } + + data = test_data_new(test_ctx); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + ret = test_delete_custom(data); + +@@ -2209,7 +2209,7 @@ static void cached_authentication_without_expiration(uid_t uid, + fail_unless(ret == EOK, "Could not set up the test"); + + data = test_data_new_user(test_ctx, uid); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + val[0] = "0"; + ret = confdb_add_param(test_ctx->confdb, true, CONFDB_PAM_CONF_ENTRY, +@@ -2257,7 +2257,7 @@ static void cached_authentication_with_expiration(uid_t uid, + fail_unless(ret == EOK, "Could not set up the test"); + + data = test_data_new_user(test_ctx, uid); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + val[0] = "1"; + ret = confdb_add_param(test_ctx->confdb, true, CONFDB_PAM_CONF_ENTRY, +@@ -2336,12 +2336,12 @@ START_TEST (test_sysdb_prepare_asq_test_user) + } + + data = test_data_new_group(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + data->uid = ASQ_TEST_USER_UID; + data->username = test_asprintf_fqname(data, test_ctx->domain, + "testuser%u", data->uid); +- fail_if(data->username == NULL); ++ fail_if(data->username == NULL, "Failed to allocate memory"); + + ret = test_add_group_member(data); + +@@ -2369,7 +2369,7 @@ START_TEST (test_sysdb_asq_search) + } + + data = test_data_new_user(test_ctx, ASQ_TEST_USER_UID); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + data->attrlist = talloc_array(data, const char *, 2); + fail_unless(data->attrlist != NULL, "talloc_array failed"); +@@ -2428,7 +2428,7 @@ START_TEST (test_sysdb_search_all_users) + } + + data = test_data_new(test_ctx); +- fail_unless(data != NULL); ++ fail_unless(data != NULL, "Failed to allocate memory"); + + data->attrlist = talloc_array(data, const char *, 2); + fail_unless(data->attrlist != NULL, "talloc_array failed"); +@@ -2487,7 +2487,7 @@ START_TEST (test_sysdb_delete_recursive) + } + + data = test_data_new(test_ctx); +- fail_unless(data != NULL); ++ fail_unless(data != NULL, "Failed to allocate memory"); + + ret = test_delete_recursive(data); + +@@ -2553,7 +2553,7 @@ START_TEST (test_sysdb_memberof_store_group) + } + + data = test_data_new_group(test_ctx, MBO_GROUP_BASE + _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + if (_i == 0) { + data->attrlist = NULL; +@@ -2563,7 +2563,7 @@ START_TEST (test_sysdb_memberof_store_group) + data->attrlist[0] = test_asprintf_fqname(data, data->ctx->domain, + "testgroup%d", data->gid - 1); + data->attrlist[1] = NULL; +- fail_if(data->attrlist[0] == NULL); ++ fail_if(data->attrlist[0] == NULL, "Failed to allocate memory"); + } + + ret = test_memberof_store_group(data); +@@ -2587,7 +2587,7 @@ START_TEST (test_sysdb_memberof_store_group_with_ghosts) + } + + data = test_data_new_group(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + if (_i == 0 || _i == MBO_GROUP_BASE) { + data->attrlist = NULL; +@@ -2597,7 +2597,7 @@ START_TEST (test_sysdb_memberof_store_group_with_ghosts) + data->attrlist[0] = test_asprintf_fqname(data, data->ctx->domain, + "testgroup%d", data->gid - 1); + data->attrlist[1] = NULL; +- fail_if(data->attrlist[0] == NULL); ++ fail_if(data->attrlist[0] == NULL, "Failed to allocate memory"); + } + + data->ghostlist = talloc_array(data, char *, 2); +@@ -2605,7 +2605,7 @@ START_TEST (test_sysdb_memberof_store_group_with_ghosts) + data->ghostlist[0] = test_asprintf_fqname(data, data->ctx->domain, + "testuser%d", data->gid); + data->ghostlist[1] = NULL; +- fail_if(data->ghostlist[0] == NULL); ++ fail_if(data->ghostlist[0] == NULL, "Failed to allocate memory"); + + ret = test_memberof_store_group_with_ghosts(data); + +@@ -2628,7 +2628,7 @@ START_TEST (test_sysdb_memberof_store_group_with_double_ghosts) + } + + data = test_data_new_group(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + if (_i == 0) { + data->attrlist = NULL; +@@ -2673,7 +2673,7 @@ START_TEST (test_sysdb_memberof_mod_add) + } + + data = test_data_new_group(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + ghostname = test_asprintf_fqname(data, test_ctx->domain, + "testghost%d", _i); +@@ -2755,7 +2755,7 @@ START_TEST (test_sysdb_memberof_mod_replace) + } + + data = test_data_new_group(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + /* The test replaces the testuser%i attribute with testghost%i */ + ghostname_del = test_asprintf_fqname(data, test_ctx->domain, +@@ -2842,7 +2842,7 @@ START_TEST (test_sysdb_memberof_mod_replace_keep) + } + + data = test_data_new_group(test_ctx, MBO_GROUP_BASE + 10 - _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + /* The test replaces the attributes (testusera$gid, testuserb$gid) with + * just testusera$gid. The result should be not only testusera, but also +@@ -3021,7 +3021,7 @@ START_TEST (test_sysdb_memberof_store_user) + } + + data = test_data_new_user(test_ctx, MBO_USER_BASE + _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + ret = test_store_user(data); + fail_if(ret != EOK, "Could not store user %s", data->username); +@@ -3043,12 +3043,12 @@ START_TEST (test_sysdb_memberof_add_group_member) + } + + data = test_data_new_group(test_ctx, MBO_GROUP_BASE + _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + data->uid = MBO_USER_BASE + _i; + data->username = test_asprintf_fqname(data, test_ctx->domain, + "testuser%d", data->uid); +- fail_if(data->username == NULL); ++ fail_if(data->username == NULL, "Failed to allocate memory"); + + ret = test_add_group_member(data); + fail_if(ret != EOK, "Could not modify group %s", data->groupname); +@@ -3071,7 +3071,7 @@ START_TEST (test_sysdb_memberof_check_memberuid_without_group_5) + } + + data = test_data_new_group(test_ctx, MBO_GROUP_BASE + _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + data->attrlist = talloc_array(data, const char *, 2); + fail_unless(data->attrlist != NULL, "tallo_array failed."); +@@ -3120,7 +3120,7 @@ START_TEST (test_sysdb_memberof_check_memberuid) + } + + data = test_data_new_group(test_ctx, MBO_GROUP_BASE + _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + data->attrlist = talloc_array(data, const char *, 2); + fail_unless(data->attrlist != NULL, "talloc_array failed."); +@@ -3160,7 +3160,7 @@ START_TEST (test_sysdb_memberof_check_memberuid_loop) + } + + data = test_data_new_group(test_ctx, _i + MBO_GROUP_BASE); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + data->attrlist = talloc_array(data, const char *, 2); + fail_unless(data->attrlist != NULL, "talloc_array failed."); +@@ -3200,7 +3200,7 @@ START_TEST (test_sysdb_memberof_check_memberuid_loop_without_group_5) + } + + data = test_data_new_group(test_ctx, _i + MBO_GROUP_BASE); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + data->attrlist = talloc_array(data, const char *, 2); + fail_unless(data->attrlist != NULL, "tallo_array failed."); +@@ -3249,7 +3249,7 @@ START_TEST (test_sysdb_memberof_check_nested_ghosts) + } + + data = test_data_new_group(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + data->attrlist = talloc_array(data, const char *, 2); + fail_unless(data->attrlist != NULL, "talloc_array failed."); +@@ -3284,7 +3284,7 @@ START_TEST (test_sysdb_memberof_check_nested_double_ghosts) + } + + data = test_data_new_group(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + data->attrlist = talloc_array(data, const char *, 2); + fail_unless(data->attrlist != NULL, "talloc_array failed."); +@@ -3321,7 +3321,7 @@ START_TEST (test_sysdb_memberof_remove_child_group_and_check_ghost) + } + + data = test_data_new_group(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + delgid = data->gid - 1; + + data->attrlist = talloc_array(data, const char *, 2); +@@ -3383,7 +3383,7 @@ START_TEST (test_sysdb_memberof_mod_del) + } + + data = test_data_new_group(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + ghostname = test_asprintf_fqname(data, test_ctx->domain, "testuser%d", _i); + fail_unless(ghostname != NULL, "Out of memory\n"); +@@ -3462,7 +3462,7 @@ START_TEST (test_sysdb_memberof_check_ghost) + } + + data = test_data_new_group(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + data->attrlist = talloc_array(data, const char *, 2); + fail_unless(data->attrlist != NULL, "talloc_array failed."); +@@ -3499,7 +3499,9 @@ START_TEST (test_sysdb_memberof_check_ghost) + expected = test_asprintf_fqname(data, test_ctx->domain, "testghost%d", j); + fail_if(expected == NULL, "OOM\n"); + fail_unless(strcmp(expected, +- (const char *) data->msg->elements[0].values[j-MBO_GROUP_BASE].data) == 0); ++ (const char *) data->msg->elements[0].values[j-MBO_GROUP_BASE].data) == 0, ++ "Expecting: %s dot: %s", expected, ++ (const char *) data->msg->elements[0].values[j-MBO_GROUP_BASE].data); + talloc_free(expected); + } + +@@ -3521,10 +3523,10 @@ START_TEST (test_sysdb_memberof_convert_to_real_users) + } + + data = test_data_new_user(test_ctx, _i * 2); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + data->username = test_asprintf_fqname(data, test_ctx->domain, + "testghost%d", _i); +- fail_if(data->username == NULL); ++ fail_if(data->username == NULL, "Failed to allocate memory"); + + ret = test_store_user(data); + fail_if(ret != EOK, "Cannot add user %s\n", data->username); +@@ -3550,7 +3552,7 @@ START_TEST (test_sysdb_memberof_check_convert) + } + + data = test_data_new_group(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + data->attrlist = talloc_array(data, const char *, 3); + fail_unless(data->attrlist != NULL, "talloc_array failed."); +@@ -3613,7 +3615,7 @@ START_TEST (test_sysdb_memberof_ghost_replace) + } + + data = test_data_new_group(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + /* The test replaces the testghost%i attribute with testuser%i */ + ghostname_del = test_asprintf_fqname(data, test_ctx->domain, +@@ -3687,7 +3689,7 @@ START_TEST (test_sysdb_memberof_ghost_replace_noop) + } + + data = test_data_new_group(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + /* The test replaces the testghost%i attribute with testuser%i */ + ghostname_del = test_asprintf_fqname(data, test_ctx->domain, +@@ -3757,7 +3759,7 @@ START_TEST (test_sysdb_memberof_user_cleanup) + } + + data = test_data_new_user(test_ctx, _i * 2); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + ret = test_remove_user_by_uid(data); + +@@ -3782,7 +3784,7 @@ START_TEST (test_sysdb_set_get_bool) + } + + dn = sysdb_domain_dn(test_ctx, test_ctx->domain); +- fail_unless(dn != NULL); ++ fail_unless(dn != NULL, "Failed to allocate memory"); + + /* attribute is not created yet */ + ret = sysdb_get_bool(test_ctx->sysdb, dn, attr_val, +@@ -3794,19 +3796,19 @@ START_TEST (test_sysdb_set_get_bool) + /* add attribute */ + ret = sysdb_set_bool(test_ctx->sysdb, dn, test_ctx->domain->name, + attr_val, true); +- fail_unless(ret == EOK); ++ fail_unless(ret == EOK, "sysdb_set_bool failed with error: %d", ret); + + /* successfully obtain attribute */ + ret = sysdb_get_bool(test_ctx->sysdb, dn, attr_val, + &value); + fail_unless(ret == EOK, "sysdb_get_bool failed %d:[%s]", + ret, sss_strerror(ret)); +- fail_unless(value == true); ++ fail_unless(value == true, "sysdb_get_bool must return true"); + + /* use non-existing DN */ + ne_dn = ldb_dn_new_fmt(test_ctx, test_ctx->sysdb->ldb, SYSDB_DOM_BASE, + "non-existing domain"); +- fail_unless(ne_dn != NULL); ++ fail_unless(ne_dn != NULL, "Failed to allocate memory"); + ret = sysdb_get_bool(test_ctx->sysdb, ne_dn, attr_val, + &value); + fail_unless(ret == ENOENT, +@@ -3835,7 +3837,7 @@ START_TEST (test_sysdb_set_get_uint) + } + + dn = sysdb_domain_dn(test_ctx, test_ctx->domain); +- fail_unless(dn != NULL); ++ fail_unless(dn != NULL, "Failed to allocate memory"); + + /* attribute is not created yet */ + ret = sysdb_get_uint(test_ctx->sysdb, dn, attr_val, +@@ -3847,19 +3849,19 @@ START_TEST (test_sysdb_set_get_uint) + /* add attribute */ + ret = sysdb_set_uint(test_ctx->sysdb, dn, test_ctx->domain->name, + attr_val, 0xCAFEBABE); +- fail_unless(ret == EOK); ++ fail_unless(ret == EOK, "sysdb_set_uint failed with error: %d", ret); + + /* successfully obtain attribute */ + ret = sysdb_get_uint(test_ctx->sysdb, dn, attr_val, + &value); + fail_unless(ret == EOK, "sysdb_get_uint failed %d:[%s]", + ret, sss_strerror(ret)); +- fail_unless(value == 0xCAFEBABE); ++ ck_assert_int_eq(value, 0xCAFEBABE); + + /* use non-existing DN */ + ne_dn = ldb_dn_new_fmt(test_ctx, test_ctx->sysdb->ldb, SYSDB_DOM_BASE, + "non-existing domain"); +- fail_unless(ne_dn != NULL); ++ fail_unless(ne_dn != NULL, "Failed to allocate memory"); + ret = sysdb_get_uint(test_ctx->sysdb, ne_dn, attr_val, + &value); + fail_unless(ret == ENOENT, +@@ -4147,22 +4149,24 @@ START_TEST (test_sysdb_update_members) + fail_if(user_fqname == NULL, "user_fqname returned NULL"); + + ret = sysdb_initgroups(test_ctx, test_ctx->domain, user_fqname, &res); +- fail_if(ret != EOK); +- fail_unless(res->count == 1); /* only the user itself */ ++ fail_if(ret != EOK, "sysdb_initgroups failed with error: %d", ret); ++ ck_assert_int_eq(res->count, 1); /* only the user itself */ + + /* Add a user to two groups */ + add_groups = talloc_array(test_ctx, char *, 3); + add_groups[0] = sss_create_internal_fqname(add_groups, "testgroup28001", + test_ctx->domain->name); +- fail_if(add_groups[0] == NULL); ++ fail_if(add_groups[0] == NULL, "Failed to create internal fqname for: %s", ++ test_ctx->domain->name); + add_groups[1] = sss_create_internal_fqname(add_groups, "testgroup28002", + test_ctx->domain->name); +- fail_if(add_groups[1] == NULL); ++ fail_if(add_groups[1] == NULL, "Failed to create internal fqname for: %s" ++ test_ctx->domain->name); + add_groups[2] = NULL; + + /* For later check */ + group_fqname = talloc_strdup(test_ctx, add_groups[1]); +- fail_if(group_fqname == NULL); ++ fail_if(group_fqname == NULL, "Failed to allocate memory"); + + ret = sysdb_update_members(test_ctx->domain, user_fqname, + SYSDB_MEMBER_USER, +@@ -4170,8 +4174,8 @@ START_TEST (test_sysdb_update_members) + fail_unless(ret == EOK, "Could not add groups"); + + ret = sysdb_initgroups(test_ctx, test_ctx->domain, user_fqname, &res); +- fail_if(ret != EOK); +- fail_unless(res->count == 3); ++ fail_if(ret != EOK, "sysdb_initgroups failed with error: %d", ret); ++ ck_assert_int_eq(res->count, 3); + + check_fqname = ldb_msg_find_attr_as_string(res->msgs[1], SYSDB_NAME, NULL); + ck_assert_str_eq(check_fqname, add_groups[0]); +@@ -4196,8 +4200,8 @@ START_TEST (test_sysdb_update_members) + fail_unless(ret == EOK, "Group replace failed"); + + ret = sysdb_initgroups(test_ctx, test_ctx->domain, user_fqname, &res); +- fail_if(ret != EOK); +- fail_unless(res->count == 3); ++ fail_if(ret != EOK, "sysdb_initgroups failed with error: %d", ret); ++ ck_assert_int_eq(res->count, 3); + + check_fqname = ldb_msg_find_attr_as_string(res->msgs[1], SYSDB_NAME, NULL); + ck_assert_str_eq(check_fqname, group_fqname); +@@ -4208,8 +4212,8 @@ START_TEST (test_sysdb_update_members) + talloc_zfree(del_groups); + + ret = sysdb_initgroups(test_ctx, test_ctx->domain, user_fqname, &res); +- fail_if(ret != EOK); +- fail_unless(res->count == 3); ++ fail_if(ret != EOK, "sysdb_initgroups failed with error: %d", ret); ++ ck_assert_int_eq(res->count, 3); + + /* Remove a user from two groups */ + del_groups = talloc_array(test_ctx, char *, 3); +@@ -4224,8 +4228,8 @@ START_TEST (test_sysdb_update_members) + fail_unless(ret == EOK, "Could not remove groups"); + + ret = sysdb_initgroups(test_ctx, test_ctx->domain, user_fqname, &res); +- fail_if(ret != EOK); +- fail_unless(res->count == 1); /* only the user itself */ ++ fail_if(ret != EOK, "sysdb_initgroups failed with error: %d", ret); ++ ck_assert_int_eq(res->count, 1); /* only the user itself */ + + talloc_zfree(test_ctx); + } +@@ -4248,7 +4252,7 @@ START_TEST (test_sysdb_group_dn_name) + } + + data = test_data_new_group(test_ctx, _i); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + group_dn = sysdb_group_dn(test_ctx, test_ctx->domain, data->groupname); + fail_if(group_dn == NULL, "OOM"); +@@ -4277,7 +4281,7 @@ START_TEST (test_sysdb_add_basic_netgroup) + } + + data = test_data_new(test_ctx); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + data->uid = _i; /* This is kinda abuse of uid, though */ + data->netgrname = talloc_asprintf(data, "testnetgr%d", _i); + +@@ -4310,7 +4314,7 @@ START_TEST (test_sysdb_search_netgroup_by_name) + fail_if(ret != EOK, "Could not find netgroup with name %s", netgrname); + + netgroup_dn = sysdb_netgroup_dn(test_ctx, test_ctx->domain, netgrname); +- fail_if(netgroup_dn == NULL); ++ fail_if(netgroup_dn == NULL, "Failed to allocate memory"); + fail_if(ldb_dn_compare(msg->dn, netgroup_dn) != 0, "Found wrong netgroup!\n"); + talloc_free(test_ctx); + } +@@ -4330,7 +4334,7 @@ START_TEST (test_sysdb_remove_netgroup_entry) + } + + data = test_data_new(test_ctx); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + data->netgrname = talloc_asprintf(data, "testnetgr%d", _i); + + ret = test_remove_netgroup_entry(data); +@@ -4354,7 +4358,7 @@ START_TEST (test_sysdb_remove_netgroup_by_name) + } + + data = test_data_new(test_ctx); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + data->netgrname = talloc_asprintf(data, "testnetgr%d", _i); + + ret = test_remove_netgroup_by_name(data); +@@ -4378,7 +4382,7 @@ START_TEST (test_sysdb_set_netgroup_attr) + } + + data = test_data_new(test_ctx); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + data->uid = _i; /* This is kinda abuse of uid, though */ + data->netgrname = talloc_asprintf(data, "testnetgr%d", _i); + +@@ -4756,10 +4760,10 @@ START_TEST(test_SSS_LDB_SEARCH) + + groupname = test_asprintf_fqname(test_ctx, test_ctx->domain, + "test_group"); +- fail_if(groupname == NULL); ++ fail_if(groupname == NULL, "Failed to allocate memory"); + groupname_neg = test_asprintf_fqname(test_ctx, test_ctx->domain, + "non_existing_test_group"); +- fail_if(groupname_neg == NULL); ++ fail_if(groupname_neg == NULL, "Failed to allocate memory"); + + group_dn = sysdb_group_dn(test_ctx, test_ctx->domain, groupname); + fail_if(group_dn == NULL, "sysdb_group_dn failed"); +@@ -4857,16 +4861,18 @@ void services_check_match(struct sysdb_test_ctx *test_ctx, + strerror(ret)); + } + fail_if(res == NULL, "ENOMEM"); +- fail_if(res->count != 1); ++ ck_assert_int_eq(res->count, 1); + + /* Make sure the returned entry matches */ + msg = res->msgs[0]; + ret_name = ldb_msg_find_attr_as_string(msg, SYSDB_NAME, NULL); +- fail_if(ret_name == NULL); +- fail_unless(strcmp(ret_name, primary_name) == 0); ++ fail_if(ret_name == NULL, "Cannot find attribute: " SYSDB_NAME); ++ fail_unless(strcmp(ret_name, primary_name) == 0, ++ "Wrong value returned for attribute: %s. got: %s expected: %s", ++ SYSDB_NAME, ret_name, primary_name); + + ret_port = ldb_msg_find_attr_as_int(msg, SYSDB_SVC_PORT, 0); +- fail_if (ret_port != port); ++ ck_assert_int_eq(ret_port, port); + + el = ldb_msg_find_element(msg, SYSDB_NAME_ALIAS); + for (i = 0; i < el->num_values; i++) { +@@ -4917,27 +4923,27 @@ START_TEST(test_sysdb_add_services) + fail_if(ret != EOK, "Could not set up the test"); + + primary_name = talloc_asprintf(test_ctx, "test_service"); +- fail_if(primary_name == NULL); ++ fail_if(primary_name == NULL, "Failed to allocate memory"); + + aliases = talloc_array(test_ctx, const char *, 3); +- fail_if(aliases == NULL); ++ fail_if(aliases == NULL, "Failed to allocate memory"); + + aliases[0] = talloc_asprintf(aliases, "test_service_alias1"); +- fail_if(aliases[0] == NULL); ++ fail_if(aliases[0] == NULL, "Failed to allocate memory"); + + aliases[1] = talloc_asprintf(aliases, "test_service_alias2"); +- fail_if(aliases[1] == NULL); ++ fail_if(aliases[1] == NULL, "Failed to allocate memory"); + + aliases[2] = NULL; + + protocols = talloc_array(test_ctx, const char *, 3); +- fail_if(protocols == NULL); ++ fail_if(protocols == NULL, "Failed to allocate memory"); + + protocols[0] = talloc_asprintf(protocols, "tcp"); +- fail_if(protocols[0] == NULL); ++ fail_if(protocols[0] == NULL, "Failed to allocate memory"); + + protocols[1] = talloc_asprintf(protocols, "udp"); +- fail_if(protocols[1] == NULL); ++ fail_if(protocols[1] == NULL, "Failed to allocate memory"); + + protocols[2] = NULL; + +@@ -4992,24 +4998,24 @@ START_TEST(test_sysdb_store_services) + fail_if(ret != EOK, "Could not set up the test"); + + aliases = talloc_array(test_ctx, const char *, 3); +- fail_if(aliases == NULL); ++ fail_if(aliases == NULL, "Failed to allocate memory"); + + aliases[0] = talloc_asprintf(aliases, "test_service_alias1"); +- fail_if(aliases[0] == NULL); ++ fail_if(aliases[0] == NULL, "Failed to allocate memory"); + + aliases[1] = talloc_asprintf(aliases, "test_service_alias2"); +- fail_if(aliases[1] == NULL); ++ fail_if(aliases[1] == NULL, "Failed to allocate memory"); + + aliases[2] = NULL; + + protocols = talloc_array(test_ctx, const char *, 3); +- fail_if(protocols == NULL); ++ fail_if(protocols == NULL, "Failed to allocate memory"); + + protocols[0] = talloc_asprintf(protocols, "tcp"); +- fail_if(protocols[0] == NULL); ++ fail_if(protocols[0] == NULL, "Failed to allocate memory"); + + protocols[1] = talloc_asprintf(protocols, "udp"); +- fail_if(protocols[1] == NULL); ++ fail_if(protocols[1] == NULL, "Failed to allocate memory"); + + protocols[2] = NULL; + +@@ -5112,24 +5118,24 @@ START_TEST(test_sysdb_svc_remove_alias) + fail_if(ret != EOK, "Could not set up the test"); + + aliases = talloc_array(test_ctx, const char *, 3); +- fail_if(aliases == NULL); ++ fail_if(aliases == NULL, "Failed to allocate memory"); + + aliases[0] = talloc_asprintf(aliases, "remove_alias_alias1"); +- fail_if(aliases[0] == NULL); ++ fail_if(aliases[0] == NULL, "Failed to allocate memory"); + + aliases[1] = talloc_asprintf(aliases, "remove_alias_alias2"); +- fail_if(aliases[1] == NULL); ++ fail_if(aliases[1] == NULL, "Failed to allocate memory"); + + aliases[2] = NULL; + + protocols = talloc_array(test_ctx, const char *, 3); +- fail_if(protocols == NULL); ++ fail_if(protocols == NULL, "Failed to allocate memory"); + + protocols[0] = talloc_asprintf(protocols, "tcp"); +- fail_if(protocols[0] == NULL); ++ fail_if(protocols[0] == NULL, "Failed to allocate memory"); + + protocols[1] = talloc_asprintf(protocols, "udp"); +- fail_if(protocols[1] == NULL); ++ fail_if(protocols[1] == NULL, "Failed to allocate memory"); + + protocols[2] = NULL; + +@@ -5154,16 +5160,16 @@ START_TEST(test_sysdb_svc_remove_alias) + + /* Now remove an alias */ + dn = sysdb_svc_dn(test_ctx->sysdb, test_ctx, test_ctx->domain->name, primary_name); +- fail_if (dn == NULL); ++ fail_if (dn == NULL, "Failed to allocate memory"); + + ret = sysdb_svc_remove_alias(test_ctx->sysdb, dn, aliases[1]); + fail_if (ret != EOK, "[%s]", strerror(ret)); + + ret = sysdb_transaction_commit(test_ctx->sysdb); +- fail_if(ret != EOK); ++ fail_if(ret != EOK, "sysdb_transaction_commit failed with error: %d", ret); + + ret = sysdb_transaction_start(test_ctx->sysdb); +- fail_if(ret != EOK); ++ fail_if(ret != EOK, "sysdb_transaction_start failed with error: %d", ret); + + /* Set aliases[1] to NULL to perform validation checks */ + aliases[1] = NULL; +@@ -5313,7 +5319,7 @@ START_TEST(test_sysdb_attrs_get_string_array) + fail_unless(ret == EOK, "sysdb_attrs_get_el_ext failed"); + + list = sss_ldb_el_to_string_list(tmp_ctx, el); +- fail_if(list == NULL, ("sss_ldb_el_to_string_list failed\n")); ++ fail_if(list == NULL, "sss_ldb_el_to_string_list failed"); + + ck_assert_str_eq(list[0], "val1"); + ck_assert_str_eq(list[1], "val2"); +@@ -5545,7 +5551,7 @@ START_TEST (test_sysdb_search_return_ENOENT) + talloc_zfree(res); + + data = test_data_new_user(test_ctx, 1234); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + data->sid_str = "S-5-4-3-2-1"; + + /* Search user */ +@@ -5610,7 +5616,7 @@ START_TEST (test_sysdb_search_return_ENOENT) + /* Search group */ + talloc_zfree(data); + data = test_data_new_group(test_ctx, 1234); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + data->sid_str = "S-5-4-3-2-1"; + + ret = sysdb_search_group_by_name(test_ctx, test_ctx->domain, +@@ -5748,15 +5754,15 @@ START_TEST(test_sysdb_original_dn_case_insensitive) + fail_if(ret != EOK, "Could not set up the test"); + + data = test_data_new(test_ctx); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + data->gid = 2900; + + data->groupname = test_asprintf_fqname(data, test_ctx->domain, + "case_sensitive_group1"); +- fail_if(data->groupname == NULL); ++ fail_if(data->groupname == NULL, "Failed to allocate memory"); + + data->orig_dn = talloc_asprintf(data, "cn=%s,cn=example,cn=com", data->groupname); +- fail_if(data->orig_dn == NULL); ++ fail_if(data->orig_dn == NULL, "Failed to allocate memory"); + + ret = test_add_incomplete_group(data); + fail_unless(ret == EOK, "sysdb_add_incomplete_group error [%d][%s]", +@@ -5766,7 +5772,7 @@ START_TEST(test_sysdb_original_dn_case_insensitive) + data->gid = 2901; + data->groupname = test_asprintf_fqname(data, test_ctx->domain, + "case_sensitive_group2"); +- fail_if(data->groupname == NULL); ++ fail_if(data->groupname == NULL, "Failed to allocate memory"); + c = discard_const(data->orig_dn); + while(*c != '\0') { + *c = toupper(*c); +@@ -5809,10 +5815,10 @@ START_TEST(test_sysdb_search_groups_by_orig_dn) + fail_if(ret != EOK, "Could not set up the test"); + + data = test_data_new_group(test_ctx, 456789); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + data->orig_dn = talloc_asprintf(data, "cn=%s,cn=example,cn=com", data->groupname); +- fail_if(data->orig_dn == NULL); ++ fail_if(data->orig_dn == NULL, "Failed to allocate memory"); + + ret = test_add_incomplete_group(data); + fail_unless(ret == EOK, "sysdb_add_incomplete_group error [%d][%s]", +@@ -5841,10 +5847,10 @@ START_TEST(test_sysdb_search_users_by_orig_dn) + fail_if(ret != EOK, "Could not set up the test"); + + data = test_data_new_user(test_ctx, 456789); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + data->orig_dn = talloc_asprintf(data, "cn=%s,cn=example,cn=com", data->username); +- fail_if(data->orig_dn == NULL); ++ fail_if(data->orig_dn == NULL, "Failed to allocate memory"); + + ret = sysdb_attrs_add_string(data->attrs, SYSDB_ORIG_DN, data->orig_dn); + fail_unless(ret == EOK, "sysdb_attrs_add_string failed with [%d][%s].", +@@ -5875,7 +5881,7 @@ START_TEST(test_sysdb_search_sid_str) + fail_if(ret != EOK, "Could not set up the test"); + + data = test_data_new_group(test_ctx, 2902); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + data->sid_str = "S-1-2-3-4"; + + ret = test_add_incomplete_group(data); +@@ -5905,9 +5911,8 @@ START_TEST(test_sysdb_search_sid_str) + talloc_zfree(data); + + data = test_data_new_user(test_ctx, 12345); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + data->sid_str = "S-1-2-3-4-5"; +- fail_if(data->sid_str == NULL); + + ret = sysdb_attrs_add_string(data->attrs, SYSDB_SID_STR, data->sid_str); + fail_unless(ret == EOK, "sysdb_attrs_add_string failed with [%d][%s].", +@@ -5947,7 +5952,7 @@ START_TEST(test_sysdb_search_object_by_id) + + /* test user search */ + data = test_data_new_user(test_ctx, id); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + ret = test_add_user(data); + fail_unless(ret == EOK, "sysdb_add_user failed with [%d][%s].", +@@ -5973,7 +5978,7 @@ START_TEST(test_sysdb_search_object_by_id) + + /* test group search */ + data = test_data_new_group(test_ctx, id); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + ret = test_add_group(data); + fail_unless(ret == EOK, "sysdb_add_group failed with [%d][%s].", +@@ -5999,7 +6004,7 @@ START_TEST(test_sysdb_search_object_by_id) + + /* test for bad search filter bug #3283 */ + data = test_data_new_group(test_ctx, id); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + ret = test_add_group(data); + fail_unless(ret == EOK, "sysdb_add_group failed with [%d][%s].", +@@ -6034,14 +6039,16 @@ START_TEST(test_sysdb_search_object_by_id) + + data->uid = 4001; + ret = test_remove_user_by_uid(data); +- fail_unless(ret == EOK); ++ fail_unless(ret == EOK, ++ "test_remove_user_by_uid failed with error: %d", ret); + + data->uid = 4002; + ret = test_remove_user_by_uid(data); +- fail_unless(ret == EOK); ++ fail_unless(ret == EOK, ++ "test_remove_user_by_uid failed with error: %d", ret); + + ret = test_remove_group(data); +- fail_unless(ret == EOK); ++ fail_unless(ret == EOK, "test_remove_group failed with error: %d", ret); + + talloc_free(test_ctx); + } +@@ -6060,7 +6067,7 @@ START_TEST(test_sysdb_search_object_by_uuid) + fail_if(ret != EOK, "Could not set up the test"); + + data = test_data_new_user(test_ctx, 123456); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + uuid = "11111111-2222-3333-4444-555555555555"; + +@@ -6117,7 +6124,7 @@ START_TEST(test_sysdb_search_object_by_name) + + /* test user search */ + data = test_data_new_user(test_ctx, 23456); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + data->username = user_name; + +@@ -6145,7 +6152,7 @@ START_TEST(test_sysdb_search_object_by_name) + + /* test group search */ + data = test_data_new_group(test_ctx, 23456); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + data->groupname = group_name; + +@@ -6173,16 +6180,17 @@ START_TEST(test_sysdb_search_object_by_name) + + /* test case insensitive search */ + data = test_data_new_group(test_ctx, 23456); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + data->groupname = group_name; + test_ctx->domain->case_sensitive = false; + + data->attrs = sysdb_new_attrs(test_ctx); +- fail_if(data->attrs == NULL); ++ fail_if(data->attrs == NULL, "Failed to allocate memory"); + + ret = sysdb_attrs_add_lc_name_alias(data->attrs, group_name); +- fail_unless(ret == EOK); ++ fail_unless(ret == EOK, ++ "sysdb_attrs_add_lc_name_alias failed with error: %d", ret); + + ret = test_add_group(data); + fail_unless(ret == EOK, "sysdb_add_group failed with [%d][%s].", +@@ -6225,7 +6233,7 @@ START_TEST(test_sysdb_search_user_by_cert) + fail_if(ret != EOK, "Could not set up the test"); + + data = test_data_new_user(test_ctx, 234567); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + val.data = sss_base64_decode(test_ctx, TEST_USER_CERT_DERB64, &val.length); + fail_unless(val.data != NULL, "sss_base64_decode failed."); +@@ -6257,7 +6265,7 @@ START_TEST(test_sysdb_search_user_by_cert) + + /* Add a second user with the same certificate */ + data2 = test_data_new_user(test_ctx, 2345671); +- fail_if(data2 == NULL); ++ fail_if(data2 == NULL, "Failed to allocate memory"); + + ret = sysdb_attrs_add_val(data2->attrs, SYSDB_USER_MAPPED_CERT, &val); + fail_unless(ret == EOK, "sysdb_attrs_add_val failed with [%d][%s].", +@@ -6274,9 +6282,9 @@ START_TEST(test_sysdb_search_user_by_cert) + fail_unless(res->count == 2, "Unexpected number of results, " + "expected [%u], get [%u].", 2, res->count); + name = ldb_msg_find_attr_as_string(res->msgs[0], SYSDB_NAME, ""); +- fail_unless(name != NULL); ++ fail_unless(name != NULL, "Failed to find attribute: " SYSDB_NAME); + name2 = ldb_msg_find_attr_as_string(res->msgs[1], SYSDB_NAME, ""); +- fail_unless(name2 != NULL); ++ fail_unless(name2 != NULL, "Failed to find attribute: " SYSDB_NAME); + fail_unless(((strcmp(name, data->username) == 0 + && strcmp(name2, data2->username) == 0) + || (strcmp(name, data2->username) == 0 +@@ -6342,11 +6350,11 @@ START_TEST(test_sysdb_subdomain_store_user) + ret, strerror(ret)); + + data = test_data_new_user(test_ctx, 12345); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + data->username = test_asprintf_fqname(data, subdomain, "SubDomUser"); + + alias = test_asprintf_fqname(data, subdomain, "subdomuser"); +- fail_if(alias == NULL); ++ fail_if(alias == NULL, "Failed to allocate memory"); + + ret = sysdb_attrs_add_string(data->attrs, SYSDB_NAME_ALIAS, alias); + fail_unless(ret == EOK, "sysdb_store_user failed."); +@@ -6358,10 +6366,10 @@ START_TEST(test_sysdb_subdomain_store_user) + fail_unless(ret == EOK, "sysdb_store_user failed."); + + base_dn =ldb_dn_new(test_ctx, test_ctx->sysdb->ldb, "cn=sysdb"); +- fail_unless(base_dn != NULL); ++ fail_unless(base_dn != NULL, "Failed to allocate memory"); + + check_dn = sysdb_user_dn(data, subdomain, data->username); +- fail_unless(check_dn != NULL); ++ fail_unless(check_dn != NULL, "Failed to allocate memory"); + + ret = ldb_search(test_ctx->sysdb->ldb, test_ctx, &results, base_dn, + LDB_SCOPE_SUBTREE, NULL, "name=%s", data->username); +@@ -6420,11 +6428,11 @@ START_TEST(test_sysdb_subdomain_content_delete) + ret, strerror(ret)); + + data = test_data_new_user(test_ctx, 12345); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + data->username = test_asprintf_fqname(data, subdomain, "SubDomUser"); + + alias = test_asprintf_fqname(data, subdomain, "subdomuser"); +- fail_if(alias == NULL); ++ fail_if(alias == NULL, "Failed to allocate memory"); + + ret = sysdb_attrs_add_string(data->attrs, SYSDB_NAME_ALIAS, alias); + fail_unless(ret == EOK, "sysdb_store_user failed."); +@@ -6436,10 +6444,10 @@ START_TEST(test_sysdb_subdomain_content_delete) + fail_unless(ret == EOK, "sysdb_store_user failed."); + + base_dn =ldb_dn_new(test_ctx, test_ctx->sysdb->ldb, "cn=sysdb"); +- fail_unless(base_dn != NULL); ++ fail_unless(base_dn != NULL, "Failed to allocate memory"); + + check_dn = sysdb_user_dn(data, subdomain, data->username); +- fail_unless(check_dn != NULL); ++ fail_unless(check_dn != NULL, "Failed to allocate memory"); + + ret = ldb_search(test_ctx->sysdb->ldb, test_ctx, &results, base_dn, + LDB_SCOPE_SUBTREE, NULL, "name=%s", data->username); +@@ -6508,10 +6516,10 @@ START_TEST(test_sysdb_subdomain_user_ops) + ret, strerror(ret)); + + data = test_data_new_user(test_ctx, 12345); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + data->username = test_asprintf_fqname(data, subdomain, shortname); +- fail_if(data->username == NULL); ++ fail_if(data->username == NULL, "Failed to allocate memory"); + + ret = sysdb_store_user(subdomain, data->username, + NULL, data->uid, 0, "Sub Domain User", +@@ -6520,7 +6528,7 @@ START_TEST(test_sysdb_subdomain_user_ops) + fail_unless(ret == EOK, "sysdb_store_domuser failed."); + + check_dn = sysdb_user_dn(data, subdomain, data->username); +- fail_unless(check_dn != NULL); ++ fail_unless(check_dn != NULL, "Failed to allocate memory"); + + ret = sysdb_search_user_by_name(test_ctx, subdomain, + data->username, NULL, +@@ -6531,10 +6539,10 @@ START_TEST(test_sysdb_subdomain_user_ops) + "Unexpected DN returned"); + + name = ldb_msg_find_attr_as_string(msg, SYSDB_NAME, NULL); +- fail_if(name == NULL); ++ fail_if(name == NULL, "Failed to find attribute: " SYSDB_NAME); + + ret = sss_parse_internal_fqname(data, name, &short_check, &dom_check); +- fail_if(ret != EOK); ++ fail_if(ret != EOK, "sss_parse_internal_fqname failed with error: %d", ret); + ck_assert_str_eq(short_check, shortname); + ck_assert_str_eq(dom_check, subdomain->name); + +@@ -6581,11 +6589,11 @@ START_TEST(test_sysdb_subdomain_group_ops) + ret, strerror(ret)); + + data = test_data_new_group(test_ctx, 12345); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + data->groupname = test_asprintf_fqname(data, subdomain, shortname); + + alias = test_asprintf_fqname(data, subdomain, "subdomgroup"); +- fail_if(alias == NULL); ++ fail_if(alias == NULL, "Failed to allocate memory"); + + ret = sysdb_attrs_add_string(data->attrs, SYSDB_NAME_ALIAS, alias); + fail_unless(ret == EOK, "sysdb_attrs_add_string failed."); +@@ -6595,7 +6603,7 @@ START_TEST(test_sysdb_subdomain_group_ops) + fail_unless(ret == EOK, "sysdb_store_group failed."); + + check_dn = sysdb_group_dn(data, subdomain, data->groupname); +- fail_unless(check_dn != NULL); ++ fail_unless(check_dn != NULL, "Failed to allocate memory"); + + ret = sysdb_search_group_by_name(test_ctx, subdomain, data->groupname, NULL, + &msg); +@@ -6615,10 +6623,10 @@ START_TEST(test_sysdb_subdomain_group_ops) + "Unexpected DN returned"); + + name = ldb_msg_find_attr_as_string(msg, SYSDB_NAME, NULL); +- fail_if(name == NULL); ++ fail_if(name == NULL, "Failed to find attribute: " SYSDB_NAME); + + ret = sss_parse_internal_fqname(data, name, &short_check, &dom_check); +- fail_if(ret != EOK); ++ fail_if(ret != EOK, "sss_parse_internal_fqname failed with error: %d", ret); + ck_assert_str_eq(short_check, shortname); + ck_assert_str_eq(dom_check, subdomain->name); + +@@ -7190,15 +7198,15 @@ START_TEST(test_gpo_store_retrieve) + + ret = sysdb_gpo_get_gpos(test_ctx, test_ctx->domain, &result); + fail_if(ret != EOK, "GPOs not in cache after store op"); +- fail_if(result == NULL); +- fail_if(result->count != 1); ++ fail_if(result == NULL, "Could not get GPOs"); ++ ck_assert_int_eq(result->count, 1); + + result = NULL; + ret = sysdb_gpo_get_gpo_by_guid(test_ctx, test_ctx->domain, + test_guid, &result); + fail_if(ret != EOK, "GPO not in cache after store op"); +- fail_if(result == NULL); +- fail_if(result->count != 1); ++ fail_if(result == NULL, "Could not get GPOs by guid: %s", test_guid); ++ ck_assert_int_eq(result->count, 1); + + guid = ldb_msg_find_attr_as_string(result->msgs[0], + SYSDB_GPO_GUID_ATTR, NULL); +@@ -7226,8 +7234,8 @@ START_TEST(test_gpo_replace) + ret = sysdb_gpo_get_gpo_by_guid(test_ctx, test_ctx->domain, + test_guid, &result); + fail_if(ret != EOK, "GPO not in cache after store op"); +- fail_if(result == NULL); +- fail_if(result->count != 1); ++ fail_if(result == NULL, "Could not get GPOs by guid: %s", test_guid); ++ ck_assert_int_eq(result->count, 1); + + guid = ldb_msg_find_attr_as_string(result->msgs[0], + SYSDB_GPO_GUID_ATTR, NULL); +@@ -7245,8 +7253,8 @@ START_TEST(test_gpo_replace) + ret = sysdb_gpo_get_gpo_by_guid(test_ctx, test_ctx->domain, + test_guid, &result); + fail_if(ret != EOK, "GPO not in cache after modify op"); +- fail_if(result == NULL); +- fail_if(result->count != 1); ++ fail_if(result == NULL, "Could not get GPOs by guid: %s", test_guid); ++ ck_assert_int_eq(result->count, 1); + + guid = ldb_msg_find_attr_as_string(result->msgs[0], + SYSDB_GPO_GUID_ATTR, NULL); +@@ -7299,7 +7307,8 @@ START_TEST(test_gpo_result) + ret = sysdb_gpo_get_gpo_result_setting(test_ctx, test_ctx->domain, + deny_key, &value); + ck_assert_int_eq(ret, EOK); +- fail_unless(value == NULL); ++ fail_unless(value == NULL, "Unexpected value returned for deny key " ++ "from sysdb_gpo_get_gpo_result_setting"); + + /* Updating replaces the original value */ + ret = sysdb_gpo_store_gpo_result_setting(test_ctx->domain, +@@ -7319,7 +7328,8 @@ START_TEST(test_gpo_result) + ret = sysdb_gpo_get_gpo_result_setting(test_ctx, test_ctx->domain, + allow_key, &value); + ck_assert_int_eq(ret, EOK); +- fail_unless(value == NULL); ++ fail_unless(value == NULL, "Unexpected value returned for allow key" ++ "from sysdb_gpo_get_gpo_result_setting" ); + + /* Delete the result */ + ret = sysdb_gpo_delete_gpo_result_object(test_ctx, test_ctx->domain); +@@ -7400,7 +7410,7 @@ START_TEST(test_sysdb_mark_entry_as_expired_ldb_dn) + + /* Add something to database to test against */ + data = test_data_new_user(test_ctx, 2000); +- fail_if(data == NULL); ++ fail_if(data == NULL, "Failed to allocate memory"); + + ret = sysdb_transaction_start(test_ctx->sysdb); + ck_assert_int_eq(ret, EOK); +@@ -7414,7 +7424,7 @@ START_TEST(test_sysdb_mark_entry_as_expired_ldb_dn) + filter = talloc_asprintf(data, + "("SYSDB_UIDNUM"=%llu)", + (unsigned long long) data->uid); +- fail_if(filter == NULL); ++ fail_if(filter == NULL, "Failed to allocate memory"); + + ret = sysdb_search_users(test_ctx, test_ctx->domain, + filter, attrs, &count, &msgs); +@@ -7442,7 +7452,7 @@ START_TEST(test_sysdb_mark_entry_as_expired_ldb_dn) + filter = talloc_asprintf(data, + "("SYSDB_UIDNUM"=%llu)", + (unsigned long long) data->uid); +- fail_if(filter == NULL); ++ fail_if(filter == NULL, "Failed to allocate memory"); + + ret = sysdb_search_users(test_ctx, test_ctx->domain, + filter, attrs, &count, &msgs); +@@ -7493,16 +7503,18 @@ void hosts_check_match(struct sysdb_test_ctx *test_ctx, + strerror(ret)); + } + fail_if(res == NULL, "ENOMEM"); +- fail_if(res->count != 1); ++ ck_assert_int_eq(res->count, 1); + + /* Make sure the returned entry matches */ + msg = res->msgs[0]; + ret_name = ldb_msg_find_attr_as_string(msg, SYSDB_NAME, NULL); +- fail_if(ret_name == NULL); +- fail_unless(strcmp(ret_name, primary_name) == 0); ++ fail_if(ret_name == NULL, "Failed to find attribute: " SYSDB_NAME); ++ fail_unless(strcmp(ret_name, primary_name) == 0, ++ "Wrong value returned for attribute: %s. got: %s expected: %s", ++ SYSDB_NAME, ret_name, primary_name); + + el = ldb_msg_find_element(msg, SYSDB_IP_HOST_ATTR_ADDRESS); +- fail_if(el == NULL); ++ fail_if(el == NULL, "Failed to find elemeny: " SYSDB_IP_HOST_ATTR_ADDRESS); + + len = talloc_array_length(addresses); + for (i = 0; i < el->num_values; i++) { +@@ -7511,7 +7523,8 @@ void hosts_check_match(struct sysdb_test_ctx *test_ctx, + char *canonical_address; + ret = sss_canonicalize_ip_address(test_ctx, addresses[j], + &canonical_address); +- fail_if(ret != EOK); ++ fail_if(ret != EOK, ++ "sss_canonicalize_ip_address failed: %d", ret); + + if (strcmp(canonical_address, + (const char *)el->values[i].data) == 0) { +@@ -7524,7 +7537,7 @@ void hosts_check_match(struct sysdb_test_ctx *test_ctx, + } + + el = ldb_msg_find_element(msg, SYSDB_NAME_ALIAS); +- fail_if(el == NULL); ++ fail_if(el == NULL, "Failed to find element: " SYSDB_NAME_ALIAS); + + len = talloc_array_length(aliases); + for (i = 0; i < el->num_values; i++) { +@@ -7563,36 +7576,36 @@ START_TEST(test_sysdb_add_hosts) + fail_if(ret != EOK, "Could not set up the test"); + + primary_name = talloc_asprintf(test_ctx, "test.example.org"); +- fail_if(primary_name == NULL); ++ fail_if(primary_name == NULL, "Failed to allocate memory"); + + aliases = talloc_array(test_ctx, const char *, 3); +- fail_if(aliases == NULL); ++ fail_if(aliases == NULL, "Failed to allocate memory"); + + aliases[0] = talloc_asprintf(aliases, "alias1.example.org"); +- fail_if(aliases[0] == NULL); ++ fail_if(aliases[0] == NULL, "Failed to allocate memory"); + + aliases[1] = talloc_asprintf(aliases, "alias2.example.org"); +- fail_if(aliases[1] == NULL); ++ fail_if(aliases[1] == NULL, "Failed to allocate memory"); + + aliases[2] = NULL; + + addresses = talloc_array(test_ctx, const char *, 6); +- fail_if(addresses == NULL); ++ fail_if(addresses == NULL, "Failed to allocate memory"); + + addresses[0] = talloc_asprintf(addresses, "1.1.2.3"); +- fail_if(addresses[0] == NULL); ++ fail_if(addresses[0] == NULL, "Failed to allocate memory"); + + addresses[1] = talloc_asprintf(addresses, "10.11.22.33"); +- fail_if(addresses[1] == NULL); ++ fail_if(addresses[1] == NULL, "Failed to allocate memory"); + + addresses[2] = talloc_asprintf(addresses, "100.123.123.123"); +- fail_if(addresses[2] == NULL); ++ fail_if(addresses[2] == NULL, "Failed to allocate memory"); + + addresses[3] = talloc_asprintf(addresses, "2001:0db8:85a3:0000:0000:8a2e:0370:7334"); +- fail_if(addresses[3] == NULL); ++ fail_if(addresses[3] == NULL, "Failed to allocate memory"); + + addresses[4] = talloc_asprintf(addresses, "2001:db8:85a3:0:1:8a2e:370:7334"); +- fail_if(addresses[4] == NULL); ++ fail_if(addresses[4] == NULL, "Failed to allocate memory"); + + addresses[5] = NULL; + +@@ -7651,19 +7664,24 @@ void ipnetwork_check_match(struct sysdb_test_ctx *test_ctx, + bool matched; + + ret = sss_canonicalize_ip_address(test_ctx, address, &c_addr); +- fail_if(ret != EOK); ++ fail_if(ret != EOK, "sss_canonicalize_ip_address failed: %d", ret); + + ret_name = ldb_msg_find_attr_as_string(msg, SYSDB_NAME, NULL); +- fail_if(ret_name == NULL); +- fail_unless(strcmp(ret_name, primary_name) == 0); ++ fail_if(ret_name == NULL, "Failed to find attribue: " SYSDB_NAME); ++ fail_unless(strcmp(ret_name, primary_name) == 0, ++ "Wrong value returned for attribute: %s. got: %s expected: %s", ++ SYSDB_NAME, ret_name, primary_name); + + ret_addr = ldb_msg_find_attr_as_string(msg, SYSDB_IP_NETWORK_ATTR_NUMBER, + NULL); +- fail_if(ret_addr == NULL); +- fail_unless(strcmp(ret_addr, c_addr) == 0); ++ fail_if(ret_addr == NULL, ++ "Failed to find attribue: " SYSDB_IP_NETWORK_ATTR_NUMBER); ++ fail_unless(strcmp(ret_addr, c_addr) == 0, ++ "Wrong value returned for attribute: %s. got: %s expected: %s", ++ SYSDB_IP_NETWORK_ATTR_NUMBER, ret_addr, c_addr); + + el = ldb_msg_find_element(msg, SYSDB_NAME_ALIAS); +- fail_if(el == NULL); ++ fail_if(el == NULL, "Failed to find element: " SYSDB_NAME_ALIAS); + + len = talloc_array_length(aliases); + for (i = 0; i < el->num_values; i++) { +@@ -7692,7 +7710,7 @@ void ipnetwork_check_match_name(struct sysdb_test_ctx *test_ctx, + fail_if(ret != EOK, "sysdb_getipnetworkbyname error [%s]\n", + strerror(ret)); + fail_if(res == NULL, "ENOMEM"); +- fail_if(res->count != 1); ++ ck_assert_int_eq(res->count, 1); + + ipnetwork_check_match(test_ctx, res->msgs[0], primary_name, aliases, + address); +@@ -7712,7 +7730,7 @@ void ipnetwork_check_match_addr(struct sysdb_test_ctx *test_ctx, + fail_if(ret != EOK, "sysdb_getipnetworkbyaddr error [%s]\n", + strerror(ret)); + fail_if(res == NULL, "ENOMEM"); +- fail_if(res->count != 1); ++ ck_assert_int_eq(res->count, 1); + + ipnetwork_check_match(test_ctx, res->msgs[0], primary_name, aliases, + address); +@@ -7732,21 +7750,21 @@ START_TEST(test_sysdb_add_ipnetworks) + fail_if(ret != EOK, "Could not set up the test"); + + primary_name = talloc_asprintf(test_ctx, "network_1"); +- fail_if(primary_name == NULL); ++ fail_if(primary_name == NULL, "Failed to allocate memory"); + + aliases = talloc_array(test_ctx, const char *, 3); +- fail_if(aliases == NULL); ++ fail_if(aliases == NULL, "Failed to allocate memory"); + + aliases[0] = talloc_asprintf(aliases, "network_1_alias_1"); +- fail_if(aliases[0] == NULL); ++ fail_if(aliases[0] == NULL, "Failed to allocate memory"); + + aliases[1] = talloc_asprintf(aliases, "network_1_alias_2"); +- fail_if(aliases[1] == NULL); ++ fail_if(aliases[1] == NULL, "Failed to allocate memory"); + + aliases[2] = NULL; + + address = talloc_asprintf(test_ctx, "192.168.1.0"); +- fail_if(address == NULL); ++ fail_if(address == NULL, "Failed to allocate memory"); + + ret = sysdb_transaction_start(test_ctx->sysdb); + fail_if(ret != EOK, "[%s]", strerror(ret)); +-- +2.28.0.rc2 + + +From 41e169ed5103ccb9d83842e69a8cbb21a96f587c Mon Sep 17 00:00:00 2001 +From: Lukas Slebodnik +Date: Sat, 25 Jul 2020 13:18:03 +0000 +Subject: [PATCH 03/19] SYSDB-TESTS: Fix format string + +--- + src/tests/sysdb-tests.c | 42 ++++++++++++++++++++--------------------- + 1 file changed, 21 insertions(+), 21 deletions(-) + +diff --git a/src/tests/sysdb-tests.c b/src/tests/sysdb-tests.c +index b7e0e2389..4df921c8d 100644 +--- a/src/tests/sysdb-tests.c ++++ b/src/tests/sysdb-tests.c +@@ -1031,8 +1031,8 @@ START_TEST (test_sysdb_incomplete_group_rename) + "S-1-5-21-123-456-789-111", + NULL, true, 0); + fail_unless(ret == ERR_GID_DUPLICATED, +- "Did not catch a legitimate rename", +- ret, strerror(ret)); ++ "Did not catch a legitimate rename. ret: %d [%s]", ++ ret, sss_strerror(ret)); + } + END_TEST + +@@ -1926,7 +1926,7 @@ START_TEST (test_sysdb_search_custom_by_name) + fail_if(ret != EOK, "Could not search custom object"); + + fail_unless(data->msgs_count == 1, +- "Wrong number of objects, expected [1] got [%d]", ++ "Wrong number of objects, expected [1] got [%zd]", + data->msgs_count); + fail_unless(data->msgs[0]->num_elements == 1, + "Wrong number of results, expected [1] got [%d]", +@@ -2028,7 +2028,7 @@ START_TEST (test_sysdb_search_custom_update) + fail_if(ret != EOK, "Could not search custom object"); + + fail_unless(data->msgs_count == 1, +- "Wrong number of objects, expected [1] got [%d]", ++ "Wrong number of objects, expected [1] got [%zd]", + data->msgs_count); + fail_unless(data->msgs[0]->num_elements == 2, + "Wrong number of results, expected [2] got [%d]", +@@ -2091,7 +2091,7 @@ START_TEST (test_sysdb_search_custom) + fail_if(ret != EOK, "Could not search custom object"); + + fail_unless(data->msgs_count == 10, +- "Wrong number of objects, expected [10] got [%d]", ++ "Wrong number of objects, expected [10] got [%zd]", + data->msgs_count); + + talloc_free(test_ctx); +@@ -2229,10 +2229,10 @@ static void cached_authentication_without_expiration(uid_t uid, + "return expected result [%d].", + expected_result); + +- fail_unless(expire_date == 0, "Wrong expire date, expected [%d], got [%d]", ++ fail_unless(expire_date == 0, "Wrong expire date, expected [%d], got [%ld]", + 0, expire_date); + +- fail_unless(delayed_until == -1, "Wrong delay, expected [%d], got [%d]", ++ fail_unless(delayed_until == -1, "Wrong delay, expected [%d], got [%ld]", + -1, delayed_until); + + talloc_free(test_ctx); +@@ -2292,10 +2292,10 @@ static void cached_authentication_with_expiration(uid_t uid, + "result [%d], got [%d].", expected_result, ret); + + fail_unless(expire_date == expected_expire_date, +- "Wrong expire date, expected [%d], got [%d]", ++ "Wrong expire date, expected [%ld], got [%ld]", + expected_expire_date, expire_date); + +- fail_unless(delayed_until == -1, "Wrong delay, expected [%d], got [%d]", ++ fail_unless(delayed_until == -1, "Wrong delay, expected [%d], got [%ld]", + -1, delayed_until); + + talloc_free(test_ctx); +@@ -2386,7 +2386,7 @@ START_TEST (test_sysdb_asq_search) + fail_if(ret != EOK, "Failed to send ASQ search request.\n"); + + fail_unless(msgs_count == 10, "wrong number of results, " +- "found [%d] expected [10]", msgs_count); ++ "found [%zd] expected [10]", msgs_count); + + for (i = 0; i < msgs_count; i++) { + fail_unless(msgs[i]->num_elements == 1, "wrong number of elements, " +@@ -2403,7 +2403,7 @@ START_TEST (test_sysdb_asq_search) + (const char *) msgs[i]->elements[0].values[0].data, + msgs[i]->elements[0].values[0].length) == 0, + "wrong value, found [%.*s] expected [%s]", +- msgs[i]->elements[0].values[0].length, ++ (int) msgs[i]->elements[0].values[0].length, + msgs[i]->elements[0].values[0].data, gid_str); + } + +@@ -2440,7 +2440,7 @@ START_TEST (test_sysdb_search_all_users) + fail_if(ret != EOK, "Search failed"); + + fail_unless(data->msgs_count == 10, +- "wrong number of results, found [%d] expected [10]", ++ "wrong number of results, found [%zd] expected [10]", + data->msgs_count); + + for (i = 0; i < data->msgs_count; i++) { +@@ -2465,7 +2465,7 @@ START_TEST (test_sysdb_search_all_users) + (char *) data->msgs[i]->elements[0].values[0].data, + data->msgs[i]->elements[0].values[0].length) == 0, + "wrong value, found [%.*s] expected [%s]", +- data->msgs[i]->elements[0].values[0].length, ++ (int) data->msgs[i]->elements[0].values[0].length, + data->msgs[i]->elements[0].values[0].data, uid_str); + } + +@@ -2532,8 +2532,8 @@ START_TEST (test_sysdb_attrs_replace_name) + "expected [1] got [%d].", el->num_values); + fail_unless(strncmp("bar", (char *) el->values[0].data, + el->values[0].length) == 0, +- "Wrong value, expected [bar] got [%.*s]", el->values[0].length, +- el->values[0].data); ++ "Wrong value, expected [bar] got [%.*s]", ++ (int) el->values[0].length, el->values[0].data); + + talloc_free(attrs); + } +@@ -4160,8 +4160,8 @@ START_TEST (test_sysdb_update_members) + test_ctx->domain->name); + add_groups[1] = sss_create_internal_fqname(add_groups, "testgroup28002", + test_ctx->domain->name); +- fail_if(add_groups[1] == NULL, "Failed to create internal fqname for: %s" +- test_ctx->domain->name); ++ fail_if(add_groups[1] == NULL, "Failed to create internal fqname for: %s", ++ test_ctx->domain->name); + add_groups[2] = NULL; + + /* For later check */ +@@ -4546,7 +4546,7 @@ START_TEST (test_sysdb_netgr_to_entries) + ret = sysdb_netgr_to_entries(test_ctx, res, &entries, &netgroup_count); + fail_unless(ret == EOK, "sysdb_netgr_to_entries error [%d][%s]", + ret, strerror(ret)); +- fail_unless(netgroup_count == 1, "Received [%d] triples", netgroup_count); ++ fail_unless(netgroup_count == 1, "Received [%zd] triples", netgroup_count); + bret = sysdb_netgr_ctx_cmp(entries[0], &simple_netgroup); + fail_unless(bret == true, "Netgroup triples do not match"); + +@@ -4561,7 +4561,7 @@ START_TEST (test_sysdb_netgr_to_entries) + ret = sysdb_netgr_to_entries(test_ctx, res, &entries, &netgroup_count); + fail_unless(ret == EOK, "sysdb_netgr_to_entries error [%d][%s]", + ret, strerror(ret)); +- fail_unless(netgroup_count == 1, "Received [%d] triples", netgroup_count); ++ fail_unless(netgroup_count == 1, "Received [%zd] triples", netgroup_count); + bret = sysdb_netgr_ctx_cmp(entries[0], &simple_netgroup); + fail_unless(bret == true, "Netgroup triples do not match"); + } +@@ -6779,7 +6779,7 @@ START_TEST(test_autofs_retrieve_keys_by_map) + autofsmapname, &count, &entries); + fail_if(ret != EOK, "Cannot get autofs entries for map %s\n", + autofsmapname); +- fail_if(count != expected, "Expected to find %d entries, got %d\n", ++ fail_if(count != expected, "Expected to find %d entries, got %zd\n", + expected, count); + talloc_free(test_ctx); + } +@@ -6844,7 +6844,7 @@ START_TEST(test_autofs_get_duplicate_keys) + ret = sysdb_search_entry(test_ctx, test_ctx->sysdb, dn, LDB_SCOPE_SUBTREE, + filter, attrs, &count, &msgs); + fail_unless(ret == EOK, "sysdb_search_entry returned [%d]", ret); +- fail_if(count != expected, "Found %d entries with name %s, expected %d\n", ++ fail_if(count != expected, "Found %zd entries with name %s, expected %d\n", + count, autofskey, expected); + talloc_free(test_ctx); + } +-- +2.28.0.rc2 + + +From ef5ab80c1868ecd45ecf77602c915e5f08030400 Mon Sep 17 00:00:00 2001 +From: Lukas Slebodnik +Date: Sat, 25 Jul 2020 13:18:04 +0000 +Subject: [PATCH 04/19] STRTONUM-TESTS: Fix format string issues + +--- + src/tests/strtonum-tests.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/tests/strtonum-tests.c b/src/tests/strtonum-tests.c +index eb7f1b58d..b726d2b20 100644 +--- a/src/tests/strtonum-tests.c ++++ b/src/tests/strtonum-tests.c +@@ -38,8 +38,8 @@ + + #define CHECK_RESULT(expected, actual) \ + do { \ +- fail_unless(actual == expected, "Expected %ld, got %ld", \ +- expected, actual); \ ++ fail_unless(actual == expected, "Expected %jd, got %jd", \ ++ (intmax_t)expected, (intmax_t)actual); \ + } while(0) + + #define CHECK_ERRNO(expected, actual) \ +-- +2.28.0.rc2 + + +From f1a5f93923595d8a3c30f62cfdefc71e96be4a4a Mon Sep 17 00:00:00 2001 +From: Lukas Slebodnik +Date: Sat, 25 Jul 2020 13:18:05 +0000 +Subject: [PATCH 05/19] =?UTF-8?q?RESOLV-TESTS:=20Fix=20error=20too=20few?= + =?UTF-8?q?=20arguments=20to=20function=20=E2=80=98=5Fck=5Fassert=5Ffailed?= + =?UTF-8?q?=E2=80=99?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* add missing messages to fail_{if,unless} macros +* convert assertions to different macros +--- + src/tests/resolv-tests.c | 128 +++++++++++++++++++++++---------------- + 1 file changed, 75 insertions(+), 53 deletions(-) + +diff --git a/src/tests/resolv-tests.c b/src/tests/resolv-tests.c +index bc4cd7cc1..59bda4373 100644 +--- a/src/tests/resolv-tests.c ++++ b/src/tests/resolv-tests.c +@@ -172,38 +172,58 @@ START_TEST(test_copy_hostent) + struct ares_addrttl attl[] = { { addr_1, ttl_1 }, { addr_2, ttl_2 } }; + + ctx = talloc_new(global_talloc_context); +- fail_if(ctx == NULL); ++ fail_if(ctx == NULL, "Failed to allocate memory"); + + ck_leaks_push(ctx); + + rhe = resolv_copy_hostent_ares(ctx, &he, AF_INET, &attl, 2); + +- fail_if(rhe == NULL); +- fail_if(strcmp(rhe->name, name)); +- fail_if(strcmp(rhe->aliases[0], alias_1)); +- fail_if(strcmp(rhe->aliases[1], alias_2)); +- fail_if(rhe->aliases[2] != NULL); +- fail_if(rhe->family != AF_INET); +- fail_if(memcmp(rhe->addr_list[0]->ipaddr, &addr_1, sizeof(addr_1))); +- fail_if(rhe->addr_list[0]->ttl != ttl_1); +- fail_if(memcmp(rhe->addr_list[1]->ipaddr, &addr_2, sizeof(addr_2))); +- fail_if(rhe->addr_list[1]->ttl != ttl_2); +- fail_if(rhe->addr_list[2] != NULL); ++ fail_if(rhe == NULL, "Failed to allocate memory"); ++ fail_if(strcmp(rhe->name, name), ++ "Unexpectag value for name. Got: %s expecting: %s", ++ rhe->name, name); ++ fail_if(strcmp(rhe->aliases[0], alias_1), ++ "Unexpectag value for 1st alias. Got: %s expecting: %s", ++ rhe->aliases[0], alias_1); ++ fail_if(strcmp(rhe->aliases[1], alias_2), ++ "Unexpectag value for 2nd alias. Got: %s expecting: %s", ++ rhe->aliases[1], alias_2); ++ fail_if(rhe->aliases[2] != NULL, ++ "Just 2 aliases are expected. Got: %s", rhe->aliases[2]); ++ ck_assert_int_eq(rhe->family, AF_INET); ++ fail_if(memcmp(rhe->addr_list[0]->ipaddr, &addr_1, sizeof(addr_1)), ++ "Unexpected binary value for addr_list[0]->ipaddr"); ++ ck_assert_int_eq(rhe->addr_list[0]->ttl, ttl_1); ++ fail_if(memcmp(rhe->addr_list[1]->ipaddr, &addr_2, sizeof(addr_2)), ++ "Unexpected binary value for rhe->addr_list[1]->ipaddr"); ++ ck_assert_int_eq(rhe->addr_list[1]->ttl, ttl_2); ++ fail_if(rhe->addr_list[2] != NULL, ++ "Just 2 ip addresses are expected. 3rd has to be NULL"); + + talloc_zfree(rhe); + + rhe = resolv_copy_hostent(ctx, &he); +- fail_if(rhe == NULL); +- fail_if(strcmp(rhe->name, name)); +- fail_if(strcmp(rhe->aliases[0], alias_1)); +- fail_if(strcmp(rhe->aliases[1], alias_2)); +- fail_if(rhe->aliases[2] != NULL); +- fail_if(rhe->family != AF_INET); +- fail_if(memcmp(rhe->addr_list[0]->ipaddr, &addr_2, sizeof(addr_1))); +- fail_if(rhe->addr_list[0]->ttl != RESOLV_DEFAULT_TTL); +- fail_if(memcmp(rhe->addr_list[1]->ipaddr, &addr_1, sizeof(addr_2))); +- fail_if(rhe->addr_list[1]->ttl != RESOLV_DEFAULT_TTL); +- fail_if(rhe->addr_list[2] != NULL); ++ fail_if(rhe == NULL, "Failed to allocate memory"); ++ fail_if(strcmp(rhe->name, name), ++ "Unexpectag value for name. Got: %s expecting: %s", ++ rhe->name, name); ++ fail_if(strcmp(rhe->aliases[0], alias_1), ++ "Unexpectag value for 1st alias. Got: %s expecting: %s", ++ rhe->aliases[0], alias_1); ++ fail_if(strcmp(rhe->aliases[1], alias_2), ++ "Unexpectag value for 2nd alias. Got: %s expecting: %s", ++ rhe->aliases[1], alias_2); ++ fail_if(rhe->aliases[2] != NULL, ++ "Just 2 aliases are expected. Got: %s", rhe->aliases[2]); ++ ck_assert_int_eq(rhe->family, AF_INET); ++ fail_if(memcmp(rhe->addr_list[0]->ipaddr, &addr_2, sizeof(addr_1)), ++ "Unexpected binary value for addr_list[0]->ipaddr"); ++ ck_assert_int_eq(rhe->addr_list[0]->ttl, RESOLV_DEFAULT_TTL); ++ fail_if(memcmp(rhe->addr_list[1]->ipaddr, &addr_1, sizeof(addr_2)), ++ "Unexpected binary value for addr_list[1]->ipaddr"); ++ ck_assert_int_eq(rhe->addr_list[1]->ttl, RESOLV_DEFAULT_TTL); ++ fail_if(rhe->addr_list[2] != NULL, ++ "Just 2 ip addresses are expected. 3rd has to be NULL"); + + talloc_free(rhe); + +@@ -219,36 +239,36 @@ START_TEST(test_address_to_string) + char *ptr_addr; + + ctx = talloc_new(global_talloc_context); +- fail_if(ctx == NULL); ++ fail_if(ctx == NULL, "Failed to allocate memory"); + ck_leaks_push(ctx); + + rhe = test_create_rhostent(ctx, "www.example.com", "1.2.3.4"); +- fail_if(rhe == NULL); ++ fail_if(rhe == NULL, "Failed to allocate memory"); + + str_addr = resolv_get_string_address_index(ctx, rhe, 0); +- fail_if(str_addr == NULL); ++ fail_if(str_addr == NULL, "Failed to allocate memory"); + fail_unless(strcmp(str_addr, "1.2.3.4") == 0, "Unexpected address\n"); + talloc_free(str_addr); + + ptr_addr = resolv_get_string_ptr_address(ctx, rhe->family, + rhe->addr_list[0]->ipaddr); +- fail_if(ptr_addr == NULL); ++ fail_if(ptr_addr == NULL, "Failed to allocate memory"); + fail_unless(strcmp(ptr_addr, "4.3.2.1.in-addr.arpa.") == 0, "Unexpected PTR address\n"); + talloc_free(ptr_addr); + + talloc_free(rhe); + + rhe = test_create_rhostent(ctx, "www6.example.com", "2607:f8b0:400c:c03::6a"); +- fail_if(rhe == NULL); ++ fail_if(rhe == NULL, "Failed to allocate memory"); + + str_addr = resolv_get_string_address_index(ctx, rhe, 0); +- fail_if(str_addr == NULL); ++ fail_if(str_addr == NULL, "resolv_get_string_address_index failed"); + fail_unless(strcmp(str_addr, "2607:f8b0:400c:c03::6a") == 0, "Unexpected address\n"); + talloc_free(str_addr); + + ptr_addr = resolv_get_string_ptr_address(ctx, rhe->family, + rhe->addr_list[0]->ipaddr); +- fail_if(ptr_addr == NULL); ++ fail_if(ptr_addr == NULL, "resolv_get_string_ptr_address failed"); + fail_unless(strcmp(ptr_addr, + "a.6.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.0.c.0.c.0.0.4.0.b.8.f.7.0.6.2.ip6.arpa.") == 0, "Unexpected PTR address\n"); + talloc_free(ptr_addr); +@@ -322,7 +342,7 @@ START_TEST(test_resolv_ip_addr) + } + + ck_leaks_pop(test_ctx); +- fail_unless(ret == EOK); ++ fail_unless(ret == EOK, "test_loop failed with error: %d", ret); + + talloc_zfree(test_ctx); + } +@@ -392,7 +412,7 @@ START_TEST(test_resolv_localhost) + } + + ck_leaks_pop(test_ctx); +- fail_unless(ret == EOK); ++ fail_unless(ret == EOK, "test_loop failed with error: %d", ret); + + talloc_zfree(test_ctx); + } +@@ -451,8 +471,8 @@ START_TEST(test_resolv_negative) + + ck_leaks_pop(test_ctx); + +- fail_unless(ret != EOK); +- fail_unless(test_ctx->error == ARES_ENOTFOUND); ++ fail_unless(ret != EOK, "test_loop must failed but got: EOK"); ++ ck_assert_int_eq(test_ctx->error, ARES_ENOTFOUND); + talloc_zfree(test_ctx); + } + END_TEST +@@ -556,7 +576,7 @@ START_TEST(test_resolv_internet) + ret = test_loop(test_ctx); + } + +- fail_unless(ret == EOK); ++ fail_unless(ret == EOK, "test_loop failed with error: %d", ret); + ck_leaks_pop(test_ctx); + talloc_zfree(test_ctx); + } +@@ -579,7 +599,7 @@ START_TEST(test_resolv_internet_txt) + + tevent_req_set_callback(req, test_internet, test_ctx); + ret = test_loop(test_ctx); +- fail_unless(ret == EOK); ++ fail_unless(ret == EOK, "test_loop failed with error: %d", ret); + + ck_leaks_pop(test_ctx); + +@@ -604,7 +624,7 @@ START_TEST(test_resolv_internet_srv) + + tevent_req_set_callback(req, test_internet, test_ctx); + ret = test_loop(test_ctx); +- fail_unless(ret == EOK); ++ fail_unless(ret == EOK, "test_loop failed with error: %d", ret); + + ck_leaks_pop(test_ctx); + +@@ -676,7 +696,7 @@ START_TEST(test_resolv_free_context) + } + + ret = test_loop(test_ctx); +- fail_unless(ret == EOK); ++ fail_unless(ret == EOK, "test_loop failed with error: %d", ret); + + done: + talloc_zfree(test_ctx); +@@ -713,7 +733,7 @@ START_TEST(test_resolv_sort_srv_reply) + /* prepare linked list with reversed values */ + for (i = 0; ipriority = num_replies-i; + r->weight = i; + +@@ -728,19 +748,19 @@ START_TEST(test_resolv_sort_srv_reply) + + /* do the sort */ + ret = resolv_sort_srv_reply(&replies); +- fail_if(ret != EOK); ++ fail_if(ret != EOK, "resolv_sort_srv_reply failed with error: %d", ret); + + /* check if the list is sorted */ + prev = NULL; + for (i = 1, r = replies; r; r=r->next, i++) { + talloc_zfree(prev); + prev = r; +- fail_unless(r->priority == i); ++ ck_assert_int_eq(r->priority, i); + } + talloc_zfree(prev); + + /* check if the list is complete */ +- fail_unless(i-1 == num_replies); ++ ck_assert_int_eq(i - 1, num_replies); + + /* test if the weighting algorithm runs..not much do + * deterministically test here since it is based on +@@ -748,7 +768,7 @@ START_TEST(test_resolv_sort_srv_reply) + replies = NULL; + for (i = 0; ipriority = i % 2 + 1; + r->weight = i; + +@@ -763,7 +783,7 @@ START_TEST(test_resolv_sort_srv_reply) + + /* do the sort */ + ret = resolv_sort_srv_reply(&replies); +- fail_if(ret != EOK); ++ fail_if(ret != EOK, "resolv_sort_srv_reply failed with error: %d", ret); + + /* clean up */ + prev = NULL; +@@ -800,7 +820,7 @@ START_TEST(test_resolv_sort_srv_reply_zero_weight) + /* prepare linked list */ + for (i = 0; i < num_replies; i++) { + r = talloc_zero(test_ctx, struct ares_srv_reply); +- fail_if(r == NULL); ++ fail_if(r == NULL, "Failed to allocate memory"); + + r->priority = 20; + r->priority = i <= 3 ? 10 : r->priority; +@@ -818,15 +838,17 @@ START_TEST(test_resolv_sort_srv_reply_zero_weight) + + /* do the sort */ + ret = resolv_sort_srv_reply(&replies); +- fail_if(ret != EOK); ++ fail_if(ret != EOK, "resolv_sort_srv_reply failed with error: %d", ret); + + /* check if the list contains all values and is sorted */ + for (i = 0, r = replies; r != NULL; r = r->next, i++) { + if (r->next != NULL) { +- fail_unless(r->priority <= r->next->priority); ++ fail_unless(r->priority <= r->next->priority, ++ "Got unsorted values. %d <= %d", ++ r->priority, r->next->priority); + } + } +- fail_unless(i == num_replies); ++ ck_assert_int_eq(i, num_replies); + + /* clean up */ + prev = NULL; +@@ -889,7 +911,7 @@ START_TEST(test_resolv_free_req) + + ret = test_loop(test_ctx); + ck_leaks_pop(test_ctx); +- fail_unless(ret == EOK); ++ fail_unless(ret == EOK, "test_loop failed with error: %d", ret); + + done: + talloc_zfree(test_ctx); +@@ -911,12 +933,12 @@ static void test_timeout(struct tevent_req *req) + tmp_ctx = talloc_new(test_ctx); + ck_leaks_push(tmp_ctx); + +- fail_unless(test_ctx->tested_function == TESTING_HOSTNAME); ++ ck_assert_int_eq(test_ctx->tested_function, TESTING_HOSTNAME); + recv_status = resolv_gethostbyname_recv(req, tmp_ctx, + &status, NULL, &rhostent); + talloc_zfree(req); +- fail_unless(recv_status == ETIMEDOUT); +- fail_unless(status == ARES_ETIMEOUT); ++ ck_assert_int_eq(recv_status, ETIMEDOUT); ++ ck_assert_int_eq(status, ARES_ETIMEOUT); + ck_leaks_pop(tmp_ctx); + talloc_free(tmp_ctx); + } +@@ -949,7 +971,7 @@ START_TEST(test_resolv_timeout) + ret = test_loop(test_ctx); + } + +- fail_unless(ret == EOK); ++ fail_unless(ret == EOK, "test_loop failed with error: %d", ret); + talloc_zfree(test_ctx); + } + END_TEST +-- +2.28.0.rc2 + + +From 372f34b46ef402f58c593c4bf01a6c5bd270b83f Mon Sep 17 00:00:00 2001 +From: Lukas Slebodnik +Date: Sat, 25 Jul 2020 13:18:06 +0000 +Subject: [PATCH 06/19] =?UTF-8?q?KRB5-UTILS-TESTS:=20Fix=20error=20too=20f?= + =?UTF-8?q?ew=20arguments=20to=20function=20=E2=80=98=5Fck=5Fassert=5Ffail?= + =?UTF-8?q?ed=E2=80=99?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* add missing messages to fail_{if,unless} macros +--- + src/tests/krb5_utils-tests.c | 97 +++++++++++++++++++++++++----------- + 1 file changed, 67 insertions(+), 30 deletions(-) + +diff --git a/src/tests/krb5_utils-tests.c b/src/tests/krb5_utils-tests.c +index bff42f848..b4b7ae819 100644 +--- a/src/tests/krb5_utils-tests.c ++++ b/src/tests/krb5_utils-tests.c +@@ -298,7 +298,7 @@ void setup_talloc_context(void) + fail_unless(pd != NULL, "Cannot create krb5_ctx structure."); + + pd->user = sss_create_internal_fqname(pd, USERNAME, DOMAIN_NAME); +- fail_unless(pd->user != NULL); ++ fail_unless(pd->user != NULL, "Failed to allocate memory"); + kr->uid = atoi(UID); + kr->upn = discard_const(PRINCIPAL_NAME); + pd->cli_pid = atoi(PID); +@@ -372,7 +372,7 @@ START_TEST(test_case_sensitive) + const char *expected_ci = BASE"_testuser"; + + kr->pd->user = sss_create_internal_fqname(kr, USERNAME_CASE, DOMAIN_NAME); +- fail_unless(kr->pd->user != NULL); ++ fail_unless(kr->pd->user != NULL, "Failed to allocate memory"); + ret = dp_opt_set_string(kr->krb5_ctx->opts, KRB5_CCACHEDIR, CCACHE_DIR); + fail_unless(ret == EOK, "Failed to set Ccache dir"); + +@@ -586,7 +586,8 @@ compare_map_id_name_to_krb_primary(struct map_id_name_to_krb_primary *a, + errno_t ret; + + while (a[i].id_name != NULL && a[i].krb_primary != NULL) { +- fail_unless(i < len); ++ fail_unless(i < len, ++ "Index: %d mus =t be lowwer than: %zd", i, len); + ret = sss_utf8_case_eq((const uint8_t*)a[i].id_name, + (const uint8_t*)str[i*2]); + fail_unless(ret == EOK, +@@ -613,30 +614,52 @@ START_TEST(test_parse_krb5_map_user) + { + check_leaks_push(mem_ctx); + ret = parse_krb5_map_user(mem_ctx, NULL, DOMAIN_NAME, &name_to_primary); +- fail_unless(ret == EOK); +- fail_unless(name_to_primary[0].id_name == NULL && +- name_to_primary[0].krb_primary == NULL); ++ fail_unless(ret == EOK, ++ "parse_krb5_map_user failed with error: %d", ret); ++ fail_unless(name_to_primary[0].id_name == NULL, ++ "id_name must be NULL. Got: %s", ++ name_to_primary[0].id_name); ++ fail_unless(name_to_primary[0].krb_primary == NULL, ++ "krb_primary must be NULL. Got: %s", ++ name_to_primary[0].krb_primary); + talloc_free(name_to_primary); + + ret = parse_krb5_map_user(mem_ctx, "", DOMAIN_NAME, &name_to_primary); +- fail_unless(ret == EOK); +- fail_unless(name_to_primary[0].id_name == NULL && +- name_to_primary[0].krb_primary == NULL); ++ fail_unless(ret == EOK, ++ "parse_krb5_map_user failed with error: %d", ret); ++ fail_unless(name_to_primary[0].id_name == NULL, ++ "id_name must be NULL. Got: %s", ++ name_to_primary[0].id_name); ++ fail_unless(name_to_primary[0].krb_primary == NULL, ++ "krb_primary must be NULL. Got: %s", ++ name_to_primary[0].krb_primary); + talloc_free(name_to_primary); + + ret = parse_krb5_map_user(mem_ctx, ",", DOMAIN_NAME, &name_to_primary); +- fail_unless(ret == EOK); +- fail_unless(name_to_primary[0].id_name == NULL && +- name_to_primary[0].krb_primary == NULL); ++ fail_unless(ret == EOK, ++ "parse_krb5_map_user failed with error: %d", ret); ++ fail_unless(name_to_primary[0].id_name == NULL, ++ "id_name must be NULL. Got: %s", ++ name_to_primary[0].id_name); ++ fail_unless(name_to_primary[0].krb_primary == NULL, ++ "krb_primary must be NULL. Got: %s", ++ name_to_primary[0].krb_primary); + talloc_free(name_to_primary); + + ret = parse_krb5_map_user(mem_ctx, ",,", DOMAIN_NAME, &name_to_primary); +- fail_unless(ret == EOK); +- fail_unless(name_to_primary[0].id_name == NULL && +- name_to_primary[0].krb_primary == NULL); ++ fail_unless(ret == EOK, ++ "parse_krb5_map_user failed with error: %d", ret); ++ fail_unless(name_to_primary[0].id_name == NULL, ++ "id_name must be NULL. Got: %s", ++ name_to_primary[0].id_name); ++ fail_unless(name_to_primary[0].krb_primary == NULL, ++ "krb_primary must be NULL. Got: %s", ++ name_to_primary[0].krb_primary); ++ + talloc_free(name_to_primary); + +- fail_unless(check_leaks_pop(mem_ctx)); ++ fail_unless(check_leaks_pop(mem_ctx), ++ "check_leaks_pop failed"); + } + /* valid input */ + { +@@ -647,46 +670,56 @@ START_TEST(test_parse_krb5_map_user) + "joe@testdomain", "juser@testdomain", + "jdoe@testdomain", "ßlack@testdomain" }; + ret = parse_krb5_map_user(mem_ctx, p, DOMAIN_NAME, &name_to_primary); +- fail_unless(ret == EOK); ++ fail_unless(ret == EOK, ++ "parse_krb5_map_user failed with error: %d", ret); + compare_map_id_name_to_krb_primary(name_to_primary, expected, + sizeof(expected)/sizeof(const char*)/2); + talloc_free(name_to_primary); + + ret = parse_krb5_map_user(mem_ctx, p2, DOMAIN_NAME, &name_to_primary); +- fail_unless(ret == EOK); ++ fail_unless(ret == EOK, ++ "parse_krb5_map_user failed with error: %d", ret); + compare_map_id_name_to_krb_primary(name_to_primary, expected, + sizeof(expected)/sizeof(const char*)/2); + talloc_free(name_to_primary); +- fail_unless(check_leaks_pop(mem_ctx)); ++ fail_unless(check_leaks_pop(mem_ctx), ++ "check_leaks_pop failed"); + } + /* invalid input */ + { + check_leaks_push(mem_ctx); + + ret = parse_krb5_map_user(mem_ctx, ":", DOMAIN_NAME, &name_to_primary); +- fail_unless(ret == EINVAL); ++ fail_unless(ret == EINVAL, ++ "parse_krb5_map_user must fail with EINVAL got: %d", ret); + + ret = parse_krb5_map_user(mem_ctx, "joe:", DOMAIN_NAME, + &name_to_primary); +- fail_unless(ret == EINVAL); ++ fail_unless(ret == EINVAL, ++ "parse_krb5_map_user must fail with EINVAL got: %d", ret); + + ret = parse_krb5_map_user(mem_ctx, ":joe", DOMAIN_NAME, + &name_to_primary); +- fail_unless(ret == EINVAL); ++ fail_unless(ret == EINVAL, ++ "parse_krb5_map_user must fail with EINVAL got: %d", ret); + + ret = parse_krb5_map_user(mem_ctx, "joe:,", DOMAIN_NAME, + &name_to_primary); +- fail_unless(ret == EINVAL); ++ fail_unless(ret == EINVAL, ++ "parse_krb5_map_user must fail with EINVAL got: %d", ret); + + ret = parse_krb5_map_user(mem_ctx, ",joe", DOMAIN_NAME, + &name_to_primary); +- fail_unless(ret == EINVAL); ++ fail_unless(ret == EINVAL, ++ "parse_krb5_map_user must fail with EINVAL got: %d", ret); + + ret = parse_krb5_map_user(mem_ctx, "joe:j:user", DOMAIN_NAME, + &name_to_primary); +- fail_unless(ret == EINVAL); ++ fail_unless(ret == EINVAL, ++ "parse_krb5_map_user must fail with EINVAL got: %d", ret); + +- fail_unless(check_leaks_pop(mem_ctx)); ++ fail_unless(check_leaks_pop(mem_ctx), ++ "check_leaks_pop failed"); + } + + talloc_free(mem_ctx); +@@ -695,14 +728,18 @@ END_TEST + + START_TEST(test_sss_krb5_realm_has_proxy) + { +- fail_unless(sss_krb5_realm_has_proxy(NULL) == false); ++ fail_unless(sss_krb5_realm_has_proxy(NULL) == false, ++ "sss_krb5_realm_has_proxy did not return false"); + + setenv("KRB5_CONFIG", "/dev/null", 1); +- fail_unless(sss_krb5_realm_has_proxy("REALM") == false); ++ fail_unless(sss_krb5_realm_has_proxy("REALM") == false, ++ "sss_krb5_realm_has_proxy did not return false"); + + setenv("KRB5_CONFIG", ABS_SRC_DIR"/src/tests/krb5_proxy_check_test_data.conf", 1); +- fail_unless(sss_krb5_realm_has_proxy("REALM") == false); +- fail_unless(sss_krb5_realm_has_proxy("REALM_PROXY") == true); ++ fail_unless(sss_krb5_realm_has_proxy("REALM") == false, ++ "sss_krb5_realm_has_proxy did not return false"); ++ fail_unless(sss_krb5_realm_has_proxy("REALM_PROXY") == true, ++ "sss_krb5_realm_has_proxy did not return true"); + } + END_TEST + +-- +2.28.0.rc2 + + +From fabbf90c7de4e837b9b50a64569086171bad4479 Mon Sep 17 00:00:00 2001 +From: Lukas Slebodnik +Date: Sat, 25 Jul 2020 13:18:07 +0000 +Subject: [PATCH 07/19] KRB5-UTILS-TESTS: Fix format string issues + +--- + src/tests/krb5_utils-tests.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/src/tests/krb5_utils-tests.c b/src/tests/krb5_utils-tests.c +index b4b7ae819..540fc8012 100644 +--- a/src/tests/krb5_utils-tests.c ++++ b/src/tests/krb5_utils-tests.c +@@ -487,8 +487,9 @@ START_TEST(test_NULL) + + result = expand_ccname_template(tmp_ctx, kr, test_template, NULL, true, true); + +- fail_unless(result == NULL, "Expected NULL as a result for an empty input.", +- test_template); ++ fail_unless(result == NULL, ++ "Expected NULL as a result for an empty input for " ++ "NULL template"); + } + END_TEST + +@@ -599,7 +600,7 @@ compare_map_id_name_to_krb_primary(struct map_id_name_to_krb_primary *a, + a[i].krb_primary, str[i*2+1]); + i++; + } +- fail_unless(len == i, "%u != %u", len, i); ++ fail_unless(len == i, "%zu != %u", len, i); + } + + START_TEST(test_parse_krb5_map_user) +-- +2.28.0.rc2 + + +From 7ad0af60d905167fe731c02825fc98e1dfa8497b Mon Sep 17 00:00:00 2001 +From: Lukas Slebodnik +Date: Sat, 25 Jul 2020 13:18:08 +0000 +Subject: [PATCH 08/19] CHECK-AND-OPEN-TESTS: Fix format string issues + +--- + src/tests/check_and_open-tests.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/tests/check_and_open-tests.c b/src/tests/check_and_open-tests.c +index 525e28aed..ddc4acd50 100644 +--- a/src/tests/check_and_open-tests.c ++++ b/src/tests/check_and_open-tests.c +@@ -99,7 +99,7 @@ START_TEST(test_symlink) + + ret = snprintf(newpath, newpath_length, "%s%s", filename, SUFFIX); + fail_unless(ret == newpath_length - 1, +- "snprintf failed: expected [%d] got [%d]", newpath_length -1, ++ "snprintf failed: expected [%zd] got [%d]", newpath_length - 1, + ret); + + ret = symlink(filename, newpath); +@@ -126,7 +126,7 @@ START_TEST(test_follow_symlink) + + ret = snprintf(newpath, newpath_length, "%s%s", filename, SUFFIX); + fail_unless(ret == newpath_length - 1, +- "snprintf failed: expected [%d] got [%d]", newpath_length -1, ++ "snprintf failed: expected [%zd] got [%d]", newpath_length - 1, + ret); + + ret = symlink(filename, newpath); +-- +2.28.0.rc2 + + +From 96dac929c1ff48729f60eb8aab8809dc925c1552 Mon Sep 17 00:00:00 2001 +From: Lukas Slebodnik +Date: Sat, 25 Jul 2020 13:18:09 +0000 +Subject: [PATCH 09/19] =?UTF-8?q?REFCOUNT-TESTS:=20Fix=20error=20too=20few?= + =?UTF-8?q?=20arguments=20to=20function=20=E2=80=98=5Fck=5Fassert=5Ffailed?= + =?UTF-8?q?=E2=80=99?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* add missing messages to fail_{if,unless} macros +--- + src/tests/refcount-tests.c | 18 ++++++++++-------- + 1 file changed, 10 insertions(+), 8 deletions(-) + +diff --git a/src/tests/refcount-tests.c b/src/tests/refcount-tests.c +index 232302f38..4907ab5fb 100644 +--- a/src/tests/refcount-tests.c ++++ b/src/tests/refcount-tests.c +@@ -90,29 +90,29 @@ START_TEST(test_refcount_basic) + + /* First allocate our global storage place. */ + global = talloc(NULL, struct container); +- fail_if(global == NULL); ++ fail_if(global == NULL, "Failed to allocate memory"); + + /* Allocate foo. */ + global->foo = rc_alloc(global, struct foo); +- fail_if(global->foo == NULL); ++ fail_if(global->foo == NULL, "Failed to allocate memory"); + SET_FILLER(global->foo); + REF_ASSERT(global->foo, 1); + + /* Allocate bar. */ + global->bar = rc_alloc(global, struct bar); +- fail_if(global->bar == NULL); ++ fail_if(global->bar == NULL, "Failed to allocate memory"); + SET_FILLER(global->bar); + REF_ASSERT(global->bar, 1); + + /* Allocate baz. */ + global->baz = rc_alloc(global, struct baz); +- fail_if(global->baz == NULL); ++ fail_if(global->baz == NULL, "Failed to allocate memory"); + SET_FILLER(global->baz); + REF_ASSERT(global->baz, 1); + + /* Try multiple attaches. */ + containers = talloc_array(NULL, struct container, 100); +- fail_if(containers == NULL); ++ fail_if(containers == NULL, "Failed to allocate memory"); + for (i = 0; i < 100; i++) { + containers[i].foo = rc_reference(containers, struct foo, global->foo); + containers[i].bar = rc_reference(containers, struct bar, global->bar); +@@ -153,15 +153,17 @@ START_TEST(test_refcount_swap) + + /* Allocate. */ + container1->foo = rc_alloc(container1, struct foo); +- fail_if(container1->foo == NULL); ++ fail_if(container1->foo == NULL, "Failed to allocate memory"); + SET_FILLER(container1->foo); + + /* Reference. */ + container2->foo = rc_reference(container2, struct foo, container1->foo); +- fail_if(container2->foo == NULL); ++ fail_if(container2->foo == NULL, "Failed to allocate memory"); + + /* Make sure everything is as it should be. */ +- fail_unless(container1->foo == container2->foo); ++ fail_unless(container1->foo == container2->foo, ++ "Values have to be equal. %p == %p", ++ container1->foo, container2->foo); + REF_ASSERT(container1->foo, 2); + + /* Free in reverse order. */ +-- +2.28.0.rc2 + + +From 686d7c8f0432aeb7b36a807adaccf2173cfdf5cc Mon Sep 17 00:00:00 2001 +From: Lukas Slebodnik +Date: Sat, 25 Jul 2020 13:18:10 +0000 +Subject: [PATCH 10/19] =?UTF-8?q?FAIL-OVER-TESTS:=20Fix=20error=20too=20fe?= + =?UTF-8?q?w=20arguments=20to=20function=20=E2=80=98=5Fck=5Fassert=5Ffaile?= + =?UTF-8?q?d=E2=80=99?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* add missing messages to fail_{if,unless} macros +--- + src/tests/fail_over-tests.c | 63 ++++++++++++++++++++++++------------- + 1 file changed, 42 insertions(+), 21 deletions(-) + +diff --git a/src/tests/fail_over-tests.c b/src/tests/fail_over-tests.c +index b2269ef3b..4afbc7933 100644 +--- a/src/tests/fail_over-tests.c ++++ b/src/tests/fail_over-tests.c +@@ -116,24 +116,30 @@ START_TEST(test_fo_new_service) + + ck_leaks_push(ctx); + ret = fo_new_service(ctx->fo_ctx, buf, NULL, &services[i]); +- fail_if(ret != EOK); ++ fail_if(ret != EOK, ++ "fo_new_service failed with error: %d", ret); + } + + ret = fo_new_service(ctx->fo_ctx, "service_3", NULL, &service); +- fail_if(ret != EEXIST); ++ fail_if(ret != EEXIST, ++ "fo_new_service must return EEXIST. Got: %d", ret); + + for (i = 9; i >= 0; i--) { + char buf[16]; + sprintf(buf, "service_%d", i); + + ret = fo_get_service(ctx->fo_ctx, buf, &service); +- fail_if(ret != EOK); +- fail_if(service != services[i]); ++ fail_if(ret != EOK, ++ "fo_get_service failed with error: %d", ret); ++ fail_if(service != services[i], ++ "Unexpected service returned. %p != %p", ++ service, services[i]); + talloc_free(service); + ck_leaks_pop(ctx); + + ret = fo_get_service(ctx->fo_ctx, buf, &service); +- fail_if(ret != ENOENT); ++ fail_if(ret != ENOENT, ++ "fo_get_service must return ENOENT. Got: %d", ret); + } + + ck_leaks_pop(ctx); +@@ -162,7 +168,8 @@ test_resolve_service_callback(struct tevent_req *req) + task->location, task->recv, recv_status); + if (recv_status != EOK) + return; +- fail_if(server == NULL); ++ fail_if(server == NULL, ++ "fo_resolve_service_recv must not return NULL for server"); + port = fo_get_server_port(server); + fail_if(port != task->port, "%s: Expected port %d, got %d", task->location, + task->port, port); +@@ -179,7 +186,8 @@ test_resolve_service_callback(struct tevent_req *req) + char buf[256]; + + inet_ntop(he->family, he->addr_list[i]->ipaddr, buf, sizeof(buf)); +- fail_if(strcmp(buf, "127.0.0.1") != 0 && strcmp(buf, "::1") != 0); ++ fail_if(strcmp(buf, "127.0.0.1") != 0 && strcmp(buf, "::1") != 0, ++ "Expecting either '127.0.0.1' or '::1'. Got: %s", buf); + } + } + +@@ -204,7 +212,7 @@ _get_request(struct test_ctx *test_ctx, struct fo_service *service, + struct task *task; + + task = talloc(test_ctx, struct task); +- fail_if(task == NULL); ++ fail_if(task == NULL, "Failed to allocate memory"); + + task->test_ctx = test_ctx; + task->recv = expected_recv; +@@ -228,27 +236,40 @@ START_TEST(test_fo_resolve_service) + { + struct test_ctx *ctx; + struct fo_service *service[3]; ++ int ret; + + ctx = setup_test(); +- fail_if(ctx == NULL); ++ fail_if(ctx == NULL, "Failed to allocate memory"); + + /* Add service. */ +- fail_if(fo_new_service(ctx->fo_ctx, "http", NULL, &service[0]) != EOK); ++ ret = fo_new_service(ctx->fo_ctx, "http", NULL, &service[0]); ++ fail_if(ret != EOK, "fo_new_service failed with error: %d", ret); + +- fail_if(fo_new_service(ctx->fo_ctx, "ldap", NULL, &service[1]) != EOK); ++ ret = fo_new_service(ctx->fo_ctx, "ldap", NULL, &service[1]); ++ fail_if(ret != EOK, "fo_new_service failed with error: %d", ret); + +- fail_if(fo_new_service(ctx->fo_ctx, "ntp", NULL, &service[2]) != EOK); ++ ret = fo_new_service(ctx->fo_ctx, "ntp", NULL, &service[2]); ++ fail_if(ret != EOK, "fo_new_service failed with error: %d", ret); + + /* Add servers. */ +- fail_if(fo_add_server(service[0], "localhost", 20, NULL, true) != EOK); +- fail_if(fo_add_server(service[0], "127.0.0.1", 80, NULL, false) != EOK); +- +- fail_if(fo_add_server(service[1], "localhost", 30, NULL, false) != EOK); +- fail_if(fo_add_server(service[1], "127.0.0.1", 389, NULL, true) != EOK); +- fail_if(fo_add_server(service[1], "127.0.0.1", 389, NULL, true) != EEXIST); +- fail_if(fo_add_server(service[1], "127.0.0.1", 389, NULL, false) != EEXIST); +- +- fail_if(fo_add_server(service[2], NULL, 123, NULL, true) != EOK); ++ ret = fo_add_server(service[0], "localhost", 20, NULL, true); ++ fail_if(ret != EOK, "fo_add_server failed with error: %d", ret); ++ ret = fo_add_server(service[0], "127.0.0.1", 80, NULL, false); ++ fail_if(ret != EOK, "fo_add_server failed with error: %d", ret); ++ ++ ret = fo_add_server(service[1], "localhost", 30, NULL, false); ++ fail_if(ret != EOK, "fo_add_server failed with error: %d", ret); ++ ret = fo_add_server(service[1], "127.0.0.1", 389, NULL, true); ++ fail_if(ret != EOK, "fo_add_server failed with error: %d", ret); ++ ret = fo_add_server(service[1], "127.0.0.1", 389, NULL, true); ++ fail_if(ret != EEXIST, ++ "fo_add_server must fail with EEXIST. Got: %d", ret); ++ ret = fo_add_server(service[1], "127.0.0.1", 389, NULL, false); ++ fail_if(ret != EEXIST, ++ "fo_add_server must fail with EEXIST. Got: %d", ret); ++ ++ ret = fo_add_server(service[2], NULL, 123, NULL, true); ++ fail_if(ret != EOK, "fo_add_server failed with error: %d", ret); + + /* Make requests. */ + get_request(ctx, service[0], EOK, 20, PORT_WORKING, -1); +-- +2.28.0.rc2 + + +From 0261117370d3d504a0aa0c95a2dc11b10429430c Mon Sep 17 00:00:00 2001 +From: Lukas Slebodnik +Date: Sat, 25 Jul 2020 13:18:11 +0000 +Subject: [PATCH 11/19] FAIL-OVER-TESTS: Fix format string issues + +--- + src/tests/fail_over-tests.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/tests/fail_over-tests.c b/src/tests/fail_over-tests.c +index 4afbc7933..d7bd173d6 100644 +--- a/src/tests/fail_over-tests.c ++++ b/src/tests/fail_over-tests.c +@@ -164,7 +164,7 @@ test_resolve_service_callback(struct tevent_req *req) + + recv_status = fo_resolve_service_recv(req, req, &server); + talloc_free(req); +- fail_if(recv_status != task->recv, "%s: Expected return of %d, got %d", ++ fail_if(recv_status != task->recv, "%s: Expected return of %d, got %"PRIu64, + task->location, task->recv, recv_status); + if (recv_status != EOK) + return; +-- +2.28.0.rc2 + + +From 45f1f0b2d0ac9fb98aff79a453b0228a81c35f7f Mon Sep 17 00:00:00 2001 +From: Lukas Slebodnik +Date: Sat, 25 Jul 2020 13:18:12 +0000 +Subject: [PATCH 12/19] AUTH-TESTS: Fix format string issues + +--- + src/tests/auth-tests.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/tests/auth-tests.c b/src/tests/auth-tests.c +index 67c664882..69998706e 100644 +--- a/src/tests/auth-tests.c ++++ b/src/tests/auth-tests.c +@@ -203,7 +203,7 @@ static void do_failed_login_test(uint32_t failed_login_attempts, + + fail_unless(delayed_until == expected_delay, + "check_failed_login_attempts wrong delay, " +- "expected [%d], got [%d]", ++ "expected [%ld], got [%ld]", + expected_delay, delayed_until); + + talloc_free(test_ctx); +-- +2.28.0.rc2 + + +From fb4a22c39b16899edebdf90d71ed16e0700597c6 Mon Sep 17 00:00:00 2001 +From: Lukas Slebodnik +Date: Sat, 25 Jul 2020 13:18:13 +0000 +Subject: [PATCH 13/19] =?UTF-8?q?IPA-LDAP-OPT-TESTS:=20Fix=20error=20too?= + =?UTF-8?q?=20few=20arguments=20to=20function=20=E2=80=98=5Fck=5Fassert=5F?= + =?UTF-8?q?failed=E2=80=99?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* add missing messages to fail_{if,unless} macros +* convert assertions to different macros +--- + src/tests/ipa_ldap_opt-tests.c | 87 ++++++++++++++++++++++------------ + 1 file changed, 57 insertions(+), 30 deletions(-) + +diff --git a/src/tests/ipa_ldap_opt-tests.c b/src/tests/ipa_ldap_opt-tests.c +index 8c7c81f7d..9c3bede9b 100644 +--- a/src/tests/ipa_ldap_opt-tests.c ++++ b/src/tests/ipa_ldap_opt-tests.c +@@ -171,18 +171,26 @@ END_TEST + + static void fail_unless_dp_opt_is_terminator(struct dp_option *o) + { +- fail_unless(o->opt_name == NULL); +- fail_unless(o->type == 0); +- fail_unless(o->def_val.string == NULL); +- fail_unless(o->val.string == NULL); ++ fail_unless(o->opt_name == NULL, ++ "Unexpected NULL for opt_name in dp_option"); ++ fail_unless(o->type == 0, ++ "Unexpected 0 for type in dp_option"); ++ fail_unless(o->def_val.string == NULL, ++ "Unexpected NULL for def_val.string in dp_option"); ++ fail_unless(o->val.string == NULL, ++ "Unexpected NULL for val.string in dp_option"); + } + + static void fail_unless_sdap_opt_is_terminator(struct sdap_attr_map *m) + { +- fail_unless(m->name == NULL); +- fail_unless(m->def_name == NULL); +- fail_unless(m->sys_name == NULL); +- fail_unless(m->opt_name == NULL); ++ fail_unless(m->name == NULL, ++ "Unexpected NULL for name in sdap_attr_map"); ++ fail_unless(m->def_name == NULL, ++ "Unexpected NULL for def_name in sdap_attr_map"); ++ fail_unless(m->sys_name == NULL, ++ "Unexpected NULL for sys_name in sdap_attr_map"); ++ fail_unless(m->opt_name == NULL, ++ "Unexpected NULL for opt_name in sdap_attr_map"); + } + + START_TEST(test_dp_opt_sentinel) +@@ -325,37 +333,53 @@ START_TEST(test_copy_sdap_map) + ret = sdap_copy_map(global_talloc_context, + rfc2307_user_map, SDAP_OPTS_USER, &out_map); + fail_unless(ret == EOK, "[%s]", strerror(ret)); +- fail_unless(out_map[SDAP_OPTS_USER].name == NULL); +- fail_unless(out_map[SDAP_OPTS_USER].def_name == NULL); +- fail_unless(out_map[SDAP_OPTS_USER].sys_name == NULL); +- fail_unless(out_map[SDAP_OPTS_USER].opt_name == NULL); ++ fail_unless(out_map[SDAP_OPTS_USER].name == NULL, ++ "Unexpected NULL for name with idx: %d", SDAP_OPTS_USER); ++ fail_unless(out_map[SDAP_OPTS_USER].def_name == NULL, ++ "Unexpected NULL for def_name with idx: %d", SDAP_OPTS_USER); ++ fail_unless(out_map[SDAP_OPTS_USER].sys_name == NULL, ++ "Unexpected NULL for sys_name with idx: %d", SDAP_OPTS_USER); ++ fail_unless(out_map[SDAP_OPTS_USER].opt_name == NULL, ++ "Unexpected NULL for opt_name with idx: %d", SDAP_OPTS_USER); + talloc_free(out_map); + + ret = sdap_copy_map(global_talloc_context, + rfc2307bis_user_map, SDAP_OPTS_USER, &out_map); + fail_unless(ret == EOK, "[%s]", strerror(ret)); +- fail_unless(out_map[SDAP_OPTS_USER].name == NULL); +- fail_unless(out_map[SDAP_OPTS_USER].def_name == NULL); +- fail_unless(out_map[SDAP_OPTS_USER].sys_name == NULL); +- fail_unless(out_map[SDAP_OPTS_USER].opt_name == NULL); ++ fail_unless(out_map[SDAP_OPTS_USER].name == NULL, ++ "Unexpected NULL for name with idx: %d", SDAP_OPTS_USER); ++ fail_unless(out_map[SDAP_OPTS_USER].def_name == NULL, ++ "Unexpected NULL for def_name with idx: %d", SDAP_OPTS_USER); ++ fail_unless(out_map[SDAP_OPTS_USER].sys_name == NULL, ++ "Unexpected NULL for sys_name with idx: %d", SDAP_OPTS_USER); ++ fail_unless(out_map[SDAP_OPTS_USER].opt_name == NULL, ++ "Unexpected NULL for opt_name with idx: %d", SDAP_OPTS_USER); + talloc_free(out_map); + + ret = sdap_copy_map(global_talloc_context, + ipa_user_map, SDAP_OPTS_USER, &out_map); + fail_unless(ret == EOK, "[%s]", strerror(ret)); +- fail_unless(out_map[SDAP_OPTS_USER].name == NULL); +- fail_unless(out_map[SDAP_OPTS_USER].def_name == NULL); +- fail_unless(out_map[SDAP_OPTS_USER].sys_name == NULL); +- fail_unless(out_map[SDAP_OPTS_USER].opt_name == NULL); ++ fail_unless(out_map[SDAP_OPTS_USER].name == NULL, ++ "Unexpected NULL for name with idx: %d", SDAP_OPTS_USER); ++ fail_unless(out_map[SDAP_OPTS_USER].def_name == NULL, ++ "Unexpected NULL for def_name with idx: %d", SDAP_OPTS_USER); ++ fail_unless(out_map[SDAP_OPTS_USER].sys_name == NULL, ++ "Unexpected NULL for sys_name with idx: %d", SDAP_OPTS_USER); ++ fail_unless(out_map[SDAP_OPTS_USER].opt_name == NULL, ++ "Unexpected NULL for opt_name with idx: %d", SDAP_OPTS_USER); + talloc_free(out_map); + + ret = sdap_copy_map(global_talloc_context, + gen_ad2008r2_user_map, SDAP_OPTS_USER, &out_map); + fail_unless(ret == EOK, "[%s]", strerror(ret)); +- fail_unless(out_map[SDAP_OPTS_USER].name == NULL); +- fail_unless(out_map[SDAP_OPTS_USER].def_name == NULL); +- fail_unless(out_map[SDAP_OPTS_USER].sys_name == NULL); +- fail_unless(out_map[SDAP_OPTS_USER].opt_name == NULL); ++ fail_unless(out_map[SDAP_OPTS_USER].name == NULL, ++ "Unexpected NULL for name with idx: %d", SDAP_OPTS_USER); ++ fail_unless(out_map[SDAP_OPTS_USER].def_name == NULL, ++ "Unexpected NULL for def_name with idx: %d", SDAP_OPTS_USER); ++ fail_unless(out_map[SDAP_OPTS_USER].sys_name == NULL, ++ "Unexpected NULL for sys_name with idx: %d", SDAP_OPTS_USER); ++ fail_unless(out_map[SDAP_OPTS_USER].opt_name == NULL, ++ "Unexpected NULL for opt_name with idx: %d", SDAP_OPTS_USER); + talloc_free(out_map); + } + END_TEST +@@ -382,14 +406,15 @@ START_TEST(test_extra_opts) + fail_unless(ret == EOK, "[%s]", sss_strerror(ret)); + + /* Two extra and sentinel */ +- fail_unless(new_size != SDAP_OPTS_USER + 3); ++ ck_assert_int_eq(new_size, SDAP_OPTS_USER + 3); + /* Foo would be saved to sysdb verbatim */ + ck_assert_str_eq(out_map[SDAP_OPTS_USER].name, "foo"); + ck_assert_str_eq(out_map[SDAP_OPTS_USER].sys_name, "foo"); + /* Bar would be saved to sysdb as baz */ + ck_assert_str_eq(out_map[SDAP_OPTS_USER+1].name, "bar"); + ck_assert_str_eq(out_map[SDAP_OPTS_USER+1].sys_name, "baz"); +- fail_unless(out_map[SDAP_OPTS_USER+2].name == NULL); ++ fail_unless(out_map[SDAP_OPTS_USER+2].name == NULL, ++ "Unexpected NULL for name with id: %d", SDAP_OPTS_USER + 2); + + talloc_free(out_map); + } +@@ -413,8 +438,9 @@ START_TEST(test_no_extra_opts) + &out_map, &new_size); + fail_unless(ret == EOK, "[%s]", sss_strerror(ret)); + /* Attributes and sentinel */ +- fail_unless(new_size != SDAP_OPTS_USER + 1); +- fail_unless(out_map[SDAP_OPTS_USER].name == NULL); ++ ck_assert_int_eq(new_size, SDAP_OPTS_USER + 1); ++ fail_unless(out_map[SDAP_OPTS_USER].name == NULL, ++ "Unexpected NULL for name with id: %d", SDAP_OPTS_USER); + + talloc_free(out_map); + } +@@ -441,8 +467,9 @@ START_TEST(test_extra_opts_neg) + &out_map, &new_size); + fail_unless(ret == EOK, "[%s]", strerror(ret)); + /* The faulty attributes would be just skipped */ +- fail_unless(new_size != SDAP_OPTS_USER + 1); +- fail_unless(out_map[SDAP_OPTS_USER].name == NULL); ++ ck_assert_int_eq(new_size, SDAP_OPTS_USER + 1); ++ fail_unless(out_map[SDAP_OPTS_USER].name == NULL, ++ "Unexpected NULL for name with id: %d", SDAP_OPTS_USER); + + talloc_free(out_map); + } +-- +2.28.0.rc2 + + +From 9731df5ac6c7f7a9ad5bd50ba25598c4ffa79e46 Mon Sep 17 00:00:00 2001 +From: Lukas Slebodnik +Date: Sat, 25 Jul 2020 13:18:14 +0000 +Subject: [PATCH 14/19] =?UTF-8?q?CRYPTO-TESTS:=20Fix=20error=20too=20few?= + =?UTF-8?q?=20arguments=20to=20function=20=E2=80=98=5Fck=5Fassert=5Ffailed?= + =?UTF-8?q?=E2=80=99?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* add missing messages to fail_{if,unless} macros +* convert assertions to different macros +--- + src/tests/crypto-tests.c | 63 ++++++++++++++++++++++++---------------- + 1 file changed, 38 insertions(+), 25 deletions(-) + +diff --git a/src/tests/crypto-tests.c b/src/tests/crypto-tests.c +index 6f5e22a87..4af82b078 100644 +--- a/src/tests/crypto-tests.c ++++ b/src/tests/crypto-tests.c +@@ -40,10 +40,13 @@ START_TEST(test_nss_init) + int ret; + + ret = nspr_nss_init(); +- fail_if(ret != EOK); ++ fail_if(ret != EOK, ++ "nspr_nss_init failed with error: %d", ret); ++ + + ret = nspr_nss_cleanup(); +- fail_if(ret != EOK); ++ fail_if(ret != EOK, ++ "nspr_nss_cleanup failed with error: %d", ret); + } + END_TEST + #endif +@@ -67,18 +70,22 @@ START_TEST(test_sss_password_encrypt_decrypt) + #endif + + test_ctx = talloc_new(NULL); +- fail_if(test_ctx == NULL); ++ fail_if(test_ctx == NULL, "Failed to allocate memory"); + ck_leaks_push(test_ctx); + + for (i=0; password[i]; i++) { + ret = sss_password_encrypt(test_ctx, password[i], strlen(password[i])+1, + AES_256, &obfpwd); +- fail_if(ret != expected); ++ ck_assert_int_eq(ret, expected); + + ret = sss_password_decrypt(test_ctx, obfpwd, &ctpwd); +- fail_if(ret != expected); ++ ck_assert_int_eq(ret, expected); + +- fail_if(ctpwd && strcmp(password[i], ctpwd) != 0); ++ fail_if(ctpwd == NULL, ++ "sss_password_decrypt must not return NULL"); ++ fail_if(strcmp(password[i], ctpwd) != 0, ++ "Unexpected decrypted password. Expected: %s got: %s", ++ password[i], ctpwd); + + talloc_free(obfpwd); + talloc_free(ctpwd); +@@ -116,8 +123,10 @@ START_TEST(test_hmac_sha1) + ret = sss_hmac_sha1((const unsigned char *)keys[i], strlen(keys[i]), + (const unsigned char *)message, strlen(message), + out); +- fail_if(ret != expected); +- fail_if(ret == EOK && memcmp(out, results[i], SSS_SHA1_LENGTH) != 0); ++ ck_assert_int_eq(ret, expected); ++ ck_assert_int_eq(ret, EOK); ++ fail_if(memcmp(out, results[i], SSS_SHA1_LENGTH) != 0, ++ "Unexpected result for index: %d", i); + } + } + END_TEST +@@ -129,11 +138,13 @@ START_TEST(test_base64_encode) + char *obfpwd = NULL; + + test_ctx = talloc_new(NULL); +- fail_if(test_ctx == NULL); ++ fail_if(test_ctx == NULL, "Failed to allocate memory"); + /* Base64 encode the buffer */ + obfpwd = sss_base64_encode(test_ctx, obfbuf, strlen((const char*)obfbuf)); +- fail_if(obfpwd == NULL); +- fail_if(strcmp(obfpwd,expected) != 0); ++ fail_if(obfpwd == NULL, ++ "sss_base64_encode must not return NULL"); ++ fail_if(strcmp(obfpwd, expected) != 0, ++ "Got: %s expected value: %s", obfpwd, expected); + + talloc_free(test_ctx); + } +@@ -147,12 +158,14 @@ START_TEST(test_base64_decode) + const unsigned char expected[] = "test"; + + test_ctx = talloc_new(NULL); +- fail_if(test_ctx == NULL); ++ fail_if(test_ctx == NULL, "Failed to allocate memory"); + /* Base64 decode the buffer */ + obfbuf = sss_base64_decode(test_ctx, b64encoded, &obflen); +- fail_if(!obfbuf); +- fail_if(obflen != strlen((const char*)expected)); +- fail_if(memcmp(obfbuf, expected, obflen) != 0); ++ fail_if(obfbuf == NULL, ++ "sss_base64_decode must not return NULL"); ++ ck_assert_int_eq(obflen, strlen((const char*)expected)); ++ fail_if(memcmp(obfbuf, expected, obflen) != 0, ++ "Unexpected vale returned after sss_base64_decode"); + + talloc_free(test_ctx); + } +@@ -176,14 +189,14 @@ START_TEST(test_sss_encrypt_decrypt) + int ret; + + test_ctx = talloc_new(NULL); +- fail_if(test_ctx == NULL); ++ fail_if(test_ctx == NULL, "Failed to allocate memory"); + + ret = sss_encrypt(test_ctx, AES256CBC_HMAC_SHA256, key, key_len, + (const uint8_t *)input_text, input_text_len, + &cipher_text, &cipher_text_len); + +- fail_if(ret != 0); +- fail_if(cipher_text_len == 0); ++ fail_if(ret != 0, "sss_encrypt failed with error: %d", ret); ++ fail_if(cipher_text_len == 0, "cipher_text_len must not be zero"); + + ret = memcmp(input_text, cipher_text, input_text_len); + fail_if(ret == 0, "Input and encrypted text has common prefix"); +@@ -191,8 +204,8 @@ START_TEST(test_sss_encrypt_decrypt) + ret = sss_decrypt(test_ctx, AES256CBC_HMAC_SHA256, key, key_len, + cipher_text, cipher_text_len, + &plain_text, &plain_text_len); +- fail_if(ret != 0); +- fail_if(plain_text_len != input_text_len); ++ fail_if(ret != 0, "sss_decrypt failed with error: %d", ret); ++ ck_assert_int_eq(plain_text_len, input_text_len); + + ret = memcmp(plain_text, input_text, input_text_len); + fail_if(ret != 0, "input text is not the same as de-encrypted text"); +@@ -211,21 +224,21 @@ START_TEST(test_s3crypt_sha512) + const char *expected_hash = "$6$tU67Q/9h3tm5WJ.U$aL9gjCfiSZQewHTI6A4/MHCVWrMCiJZ.gNXEIw6HO39XGbg.s2nTyGlYXeoQyQtDll3XSbIZN41fJEC3v7ELy0"; + + test_ctx = talloc_new(NULL); +- fail_if(test_ctx == NULL); ++ fail_if(test_ctx == NULL, "Failed to allocate memory"); + + ret = s3crypt_gen_salt(test_ctx, &salt); +- fail_if(ret != 0); ++ fail_if(ret != 0, "s3crypt_gen_salt failed with error: %d", ret); + + ret = s3crypt_sha512(test_ctx, password, salt, &userhash); +- fail_if(ret != 0); ++ fail_if(ret != 0, "s3crypt_sha512 failed with error: %d", ret); + + ret = s3crypt_sha512(test_ctx, password, userhash, &comphash); +- fail_if(ret != 0); ++ fail_if(ret != 0, "s3crypt_sha512 failed with error: %d", ret); + ck_assert_str_eq(userhash, comphash); + talloc_free(comphash); + + ret = s3crypt_sha512(test_ctx, password, expected_hash, &comphash); +- fail_if(ret != 0); ++ fail_if(ret != 0, "s3crypt_sha512 failed with error: %d", ret); + ck_assert_str_eq(expected_hash, comphash); + + talloc_free(test_ctx); +-- +2.28.0.rc2 + + +From bcc95a78395f5ec982ba90485eb6251e85b8678c Mon Sep 17 00:00:00 2001 +From: Lukas Slebodnik +Date: Sat, 25 Jul 2020 13:18:15 +0000 +Subject: [PATCH 15/19] =?UTF-8?q?UTIL-TESTS:=20Fix=20error=20too=20few=20a?= + =?UTF-8?q?rguments=20to=20function=20=E2=80=98=5Fck=5Fassert=5Ffailed?= + =?UTF-8?q?=E2=80=99?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* add missing messages to fail_{if,unless} macros +* convert assertions to different macros +--- + src/tests/util-tests.c | 52 +++++++++++++++++++++++++++--------------- + 1 file changed, 34 insertions(+), 18 deletions(-) + +diff --git a/src/tests/util-tests.c b/src/tests/util-tests.c +index e331f8260..11642d9b6 100644 +--- a/src/tests/util-tests.c ++++ b/src/tests/util-tests.c +@@ -445,15 +445,18 @@ START_TEST(test_fd_nonblocking) + errno_t ret; + + fd = open("/dev/null", O_RDONLY); +- fail_unless(fd > 0); ++ fail_unless(fd > 0, ++ "open failed with errno: %d", errno); + + flags = fcntl(fd, F_GETFL, 0); +- fail_if(flags & O_NONBLOCK); ++ fail_if(flags & O_NONBLOCK, ++ "Unexpected flag O_NONBLOCK[%x] in [%x]", O_NONBLOCK, flags); + + ret = sss_fd_nonblocking(fd); +- fail_unless(ret == EOK); ++ fail_unless(ret == EOK, "sss_fd_nonblocking failed with error: %d", ret); + flags = fcntl(fd, F_GETFL, 0); +- fail_unless(flags & O_NONBLOCK); ++ fail_unless(flags & O_NONBLOCK, ++ "Flag O_NONBLOCK[%x] is missing in [%x]", O_NONBLOCK, flags); + close(fd); + } + END_TEST +@@ -482,8 +485,9 @@ START_TEST(test_utf8_lowercase) + lcase = sss_utf8_tolower(munchen_utf8_upcase, + strlen((const char *)munchen_utf8_upcase), + &nlen); +- fail_if(strlen((const char *) munchen_utf8_upcase) != nlen); /* This is not true for utf8 strings in general */ +- fail_if(memcmp(lcase, munchen_utf8_lowcase, nlen)); ++ ck_assert_int_eq(strlen((const char *) munchen_utf8_upcase), nlen); /* This is not true for utf8 strings in general */ ++ fail_if(memcmp(lcase, munchen_utf8_lowcase, nlen), ++ "Unexpected binary values"); + sss_utf8_free(lcase); + } + END_TEST +@@ -497,12 +501,13 @@ START_TEST(test_utf8_talloc_lowercase) + + TALLOC_CTX *test_ctx; + test_ctx = talloc_new(NULL); +- fail_if(test_ctx == NULL); ++ fail_if(test_ctx == NULL, "Failed to allocate memory"); + + lcase = sss_tc_utf8_tolower(test_ctx, munchen_utf8_upcase, + strlen((const char *) munchen_utf8_upcase), + &nsize); +- fail_if(memcmp(lcase, munchen_utf8_lowcase, nsize)); ++ fail_if(memcmp(lcase, munchen_utf8_lowcase, nsize), ++ "Unexpected binary values"); + talloc_free(test_ctx); + } + END_TEST +@@ -515,10 +520,11 @@ START_TEST(test_utf8_talloc_str_lowercase) + + TALLOC_CTX *test_ctx; + test_ctx = talloc_new(NULL); +- fail_if(test_ctx == NULL); ++ fail_if(test_ctx == NULL, "Failed to allocate memory"); + + lcase = sss_tc_utf8_str_tolower(test_ctx, (const char *) munchen_utf8_upcase); +- fail_if(memcmp(lcase, munchen_utf8_lowcase, strlen(lcase))); ++ fail_if(memcmp(lcase, munchen_utf8_lowcase, strlen(lcase)), ++ "Unexpected binary values"); + talloc_free(test_ctx); + } + END_TEST +@@ -569,7 +575,9 @@ START_TEST(test_murmurhash3_check) + strlen(tests[i]), + 0xdeadbeef); + for (j = 0; j < i; j++) { +- fail_if(results[i] == results[j]); ++ fail_if(results[i] == results[j], ++ "Values have to be different. '%"PRIu32"' == '%"PRIu32"'", ++ results[i], results[j]); + } + } + } +@@ -599,7 +607,7 @@ START_TEST(test_murmurhash3_random) + + result1 = murmurhash3(test, len + 1, init_seed); + result2 = murmurhash3(test, len + 1, init_seed); +- fail_if(result1 != result2); ++ ck_assert_int_eq(result1, result2); + } + END_TEST + +@@ -1064,7 +1072,8 @@ static void convert_time_tz(const char* tz) + + if (tz) { + ret = setenv("TZ", tz, 1); +- fail_if(ret == -1); ++ fail_if(ret == -1, ++ "setenv failed with errno: %d", errno); + } + + ret = sss_utc_to_time_t("20140801115742Z", "%Y%m%d%H%M%SZ", &unix_time); +@@ -1072,9 +1081,12 @@ static void convert_time_tz(const char* tz) + /* restore */ + if (orig_tz != NULL) { + ret2 = setenv("TZ", orig_tz, 1); +- fail_if(ret2 == -1); ++ fail_if(ret2 == -1, ++ "setenv failed with errno: %d", errno); + } +- fail_unless(ret == EOK && difftime(1406894262, unix_time) == 0); ++ fail_unless(ret == EOK && difftime(1406894262, unix_time) == 0, ++ "Expecting 1406894262 got: ret[%d] unix_time[%ld]", ++ ret, unix_time); + } + + START_TEST(test_convert_time) +@@ -1084,11 +1096,15 @@ START_TEST(test_convert_time) + errno_t ret; + + ret = sss_utc_to_time_t("20150127133540P", format, &unix_time); +- fail_unless(ret == ERR_TIMESPEC_NOT_SUPPORTED); ++ fail_unless(ret == ERR_TIMESPEC_NOT_SUPPORTED, ++ "sss_utc_to_time_t must fail with %d. got: %d", ++ ERR_TIMESPEC_NOT_SUPPORTED, ret); + ret = sss_utc_to_time_t("0Z", format, &unix_time); +- fail_unless(ret == EINVAL); ++ fail_unless(ret == EINVAL, ++ "sss_utc_to_time_t must fail with EINVAL. got: %d", ret); + ret = sss_utc_to_time_t("000001010000Z", format, &unix_time); +- fail_unless(ret == EINVAL); ++ fail_unless(ret == EINVAL, ++ "sss_utc_to_time_t must fail with EINVAL. got: %d", ret); + + /* test that results are still same no matter what timezone is set */ + convert_time_tz(NULL); +-- +2.28.0.rc2 + + +From deef3642e58ea3d2041732f59648b398c9a6838f Mon Sep 17 00:00:00 2001 +From: Lukas Slebodnik +Date: Sat, 25 Jul 2020 13:18:16 +0000 +Subject: [PATCH 16/19] UTIL-TESTS: Fix format string issues + +--- + src/tests/util-tests.c | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/src/tests/util-tests.c b/src/tests/util-tests.c +index 11642d9b6..bf9779a22 100644 +--- a/src/tests/util-tests.c ++++ b/src/tests/util-tests.c +@@ -659,7 +659,7 @@ START_TEST(test_atomicio_read_from_file) + + fail_unless(ret == 0, "Error %d while reading\n", ret); + fail_unless(numread == bufsize, +- "Read %d bytes expected %d\n", numread, bufsize); ++ "Read %zd bytes expected %zd\n", numread, bufsize); + close(fd); + } + END_TEST +@@ -681,7 +681,7 @@ START_TEST(test_atomicio_read_from_small_file) + + fail_unless(ret == 0, "Error %d while writing\n", ret); + fail_unless(numwritten == wsize, +- "Wrote %d bytes expected %d\n", numwritten, wsize); ++ "Wrote %zd bytes expected %zd\n", numwritten, wsize); + + fsync(atio_fd); + lseek(atio_fd, 0, SEEK_SET); +@@ -692,7 +692,7 @@ START_TEST(test_atomicio_read_from_small_file) + + fail_unless(ret == 0, "Error %d while reading\n", ret); + fail_unless(numread == numwritten, +- "Read %d bytes expected %d\n", numread, numwritten); ++ "Read %zd bytes expected %zd\n", numread, numwritten); + } + END_TEST + +@@ -714,7 +714,7 @@ START_TEST(test_atomicio_read_from_large_file) + + fail_unless(ret == 0, "Error %d while writing\n", ret); + fail_unless(numwritten == wsize, +- "Wrote %d bytes expected %d\n", numwritten, wsize); ++ "Wrote %zd bytes expected %zd\n", numwritten, wsize); + + fsync(atio_fd); + lseek(atio_fd, 0, SEEK_SET); +@@ -731,7 +731,7 @@ START_TEST(test_atomicio_read_from_large_file) + + fail_unless(ret == 0, "Error %d while reading\n", ret); + fail_unless(total == numwritten, +- "Read %d bytes expected %d\n", numread, numwritten); ++ "Read %zd bytes expected %zd\n", numread, numwritten); + } + END_TEST + +@@ -752,7 +752,7 @@ START_TEST(test_atomicio_read_exact_sized_file) + + fail_unless(ret == 0, "Error %d while writing\n", ret); + fail_unless(numwritten == wsize, +- "Wrote %d bytes expected %d\n", numwritten, wsize); ++ "Wrote %zd bytes expected %zd\n", numwritten, wsize); + + fsync(atio_fd); + lseek(atio_fd, 0, SEEK_SET); +@@ -763,7 +763,7 @@ START_TEST(test_atomicio_read_exact_sized_file) + + fail_unless(ret == 0, "Error %d while reading\n", ret); + fail_unless(numread == numwritten, +- "Read %d bytes expected %d\n", numread, numwritten); ++ "Read %zd bytes expected %zd\n", numread, numwritten); + + fail_unless(rbuf[8] == '\0', "String not NULL terminated?"); + fail_unless(strcmp(wbuf, rbuf) == 0, "Read something else than wrote?"); +@@ -794,7 +794,7 @@ START_TEST(test_atomicio_read_from_empty_file) + + fail_unless(ret == 0, "Error %d while reading\n", ret); + fail_unless(numread == 0, +- "Read %d bytes expected 0\n", numread); ++ "Read %zd bytes expected 0\n", numread); + close(fd); + } + END_TEST +-- +2.28.0.rc2 + + +From 1bb674dfe22027d26e91fa8fc27ab9d1588fefbf Mon Sep 17 00:00:00 2001 +From: Lukas Slebodnik +Date: Sat, 25 Jul 2020 13:18:17 +0000 +Subject: [PATCH 17/19] =?UTF-8?q?IPA-HBAC-TESTS:=20Fix=20error=20too=20few?= + =?UTF-8?q?=20arguments=20to=20function=20=E2=80=98=5Fck=5Fassert=5Ffailed?= + =?UTF-8?q?=E2=80=99?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* add missing messages to fail_{if,unless} macros +--- + src/tests/ipa_hbac-tests.c | 195 ++++++++++++++++++--------------- + src/tests/ipa_ldap_opt-tests.c | 12 +- + 2 files changed, 116 insertions(+), 91 deletions(-) + +diff --git a/src/tests/ipa_hbac-tests.c b/src/tests/ipa_hbac-tests.c +index c8ef7fe44..2d8f8a980 100644 +--- a/src/tests/ipa_hbac-tests.c ++++ b/src/tests/ipa_hbac-tests.c +@@ -75,30 +75,30 @@ static void get_allow_all_rule(TALLOC_CTX *mem_ctx, + * remote hosts. + */ + rule = talloc_zero(mem_ctx, struct hbac_rule); +- fail_if (rule == NULL); ++ fail_if (rule == NULL, "Failed to allocate memory"); + + rule->enabled = true; + + rule->services = talloc_zero(rule, struct hbac_rule_element); +- fail_if (rule->services == NULL); ++ fail_if (rule->services == NULL, "Failed to allocate memory"); + rule->services->category = HBAC_CATEGORY_ALL; + rule->services->names = NULL; + rule->services->groups = NULL; + + rule->users = talloc_zero(rule, struct hbac_rule_element); +- fail_if (rule->users == NULL); ++ fail_if (rule->users == NULL, "Failed to allocate memory"); + rule->users->category = HBAC_CATEGORY_ALL; + rule->users->names = NULL; + rule->users->groups = NULL; + + rule->targethosts = talloc_zero(rule, struct hbac_rule_element); +- fail_if (rule->targethosts == NULL); ++ fail_if (rule->targethosts == NULL, "Failed to allocate memory"); + rule->targethosts->category = HBAC_CATEGORY_ALL; + rule->targethosts->names = NULL; + rule->targethosts->groups = NULL; + + rule->srchosts = talloc_zero(rule, struct hbac_rule_element); +- fail_if (rule->srchosts == NULL); ++ fail_if (rule->srchosts == NULL, "Failed to allocate memory"); + rule->srchosts->category = HBAC_CATEGORY_ALL; + rule->srchosts->names = NULL; + rule->srchosts->groups = NULL; +@@ -112,19 +112,19 @@ static void get_test_user(TALLOC_CTX *mem_ctx, + struct hbac_request_element *new_user; + + new_user = talloc_zero(mem_ctx, struct hbac_request_element); +- fail_if (new_user == NULL); ++ fail_if (new_user == NULL, "Failed to allocate memory"); + + new_user->name = talloc_strdup(new_user, HBAC_TEST_USER); +- fail_if(new_user->name == NULL); ++ fail_if(new_user->name == NULL, "Failed to allocate memory"); + + new_user->groups = talloc_array(new_user, const char *, 3); +- fail_if(new_user->groups == NULL); ++ fail_if(new_user->groups == NULL, "Failed to allocate memory"); + + new_user->groups[0] = talloc_strdup(new_user->groups, HBAC_TEST_GROUP1); +- fail_if(new_user->groups[0] == NULL); ++ fail_if(new_user->groups[0] == NULL, "Failed to allocate memory"); + + new_user->groups[1] = talloc_strdup(new_user->groups, HBAC_TEST_GROUP2); +- fail_if(new_user->groups[1] == NULL); ++ fail_if(new_user->groups[1] == NULL, "Failed to allocate memory"); + + new_user->groups[2] = NULL; + +@@ -137,19 +137,19 @@ static void get_test_service(TALLOC_CTX *mem_ctx, + struct hbac_request_element *new_service; + + new_service = talloc_zero(mem_ctx, struct hbac_request_element); +- fail_if (new_service == NULL); ++ fail_if (new_service == NULL, "Failed to allocate memory"); + + new_service->name = talloc_strdup(new_service, HBAC_TEST_SERVICE); +- fail_if(new_service->name == NULL); ++ fail_if(new_service->name == NULL, "Failed to allocate memory"); + + new_service->groups = talloc_array(new_service, const char *, 3); +- fail_if(new_service->groups == NULL); ++ fail_if(new_service->groups == NULL, "Failed to allocate memory"); + + new_service->groups[0] = talloc_strdup(new_service->groups, HBAC_TEST_SERVICEGROUP1); +- fail_if(new_service->groups[0] == NULL); ++ fail_if(new_service->groups[0] == NULL, "Failed to allocate memory"); + + new_service->groups[1] = talloc_strdup(new_service->groups, HBAC_TEST_SERVICEGROUP2); +- fail_if(new_service->groups[1] == NULL); ++ fail_if(new_service->groups[1] == NULL, "Failed to allocate memory"); + + new_service->groups[2] = NULL; + +@@ -162,21 +162,21 @@ static void get_test_srchost(TALLOC_CTX *mem_ctx, + struct hbac_request_element *new_srchost; + + new_srchost = talloc_zero(mem_ctx, struct hbac_request_element); +- fail_if (new_srchost == NULL); ++ fail_if (new_srchost == NULL, "Failed to allocate memory"); + + new_srchost->name = talloc_strdup(new_srchost, HBAC_TEST_SRCHOST); +- fail_if(new_srchost->name == NULL); ++ fail_if(new_srchost->name == NULL, "Failed to allocate memory"); + + new_srchost->groups = talloc_array(new_srchost, const char *, 3); +- fail_if(new_srchost->groups == NULL); ++ fail_if(new_srchost->groups == NULL, "Failed to allocate memory"); + + new_srchost->groups[0] = talloc_strdup(new_srchost->groups, + HBAC_TEST_SRCHOSTGROUP1); +- fail_if(new_srchost->groups[0] == NULL); ++ fail_if(new_srchost->groups[0] == NULL, "Failed to allocate memory"); + + new_srchost->groups[1] = talloc_strdup(new_srchost->groups, + HBAC_TEST_SRCHOSTGROUP2); +- fail_if(new_srchost->groups[1] == NULL); ++ fail_if(new_srchost->groups[1] == NULL, "Failed to allocate memory"); + + new_srchost->groups[2] = NULL; + +@@ -197,7 +197,7 @@ START_TEST(ipa_hbac_test_allow_all) + + /* Create a request */ + eval_req = talloc_zero(test_ctx, struct hbac_eval_req); +- fail_if (eval_req == NULL); ++ fail_if (eval_req == NULL, "Failed to allocate memory"); + + get_test_user(eval_req, &eval_req->user); + get_test_service(eval_req, &eval_req->service); +@@ -205,17 +205,18 @@ START_TEST(ipa_hbac_test_allow_all) + + /* Create the rules to evaluate against */ + rules = talloc_array(test_ctx, struct hbac_rule *, 2); +- fail_if (rules == NULL); ++ fail_if (rules == NULL, "Failed to allocate memory"); + + get_allow_all_rule(rules, &rules[0]); + rules[0]->name = talloc_strdup(rules[0], "Allow All"); +- fail_if(rules[0]->name == NULL); ++ fail_if(rules[0]->name == NULL, "Failed to allocate memory"); + rules[1] = NULL; + + /* Validate this rule */ + is_valid = hbac_rule_is_complete(rules[0], &missing_attrs); +- fail_unless(is_valid); +- fail_unless(missing_attrs == 0); ++ fail_unless(is_valid, "hbac_rule_is_complete failed"); ++ fail_unless(missing_attrs == 0, ++ "Unexpected missing attributes. Got: %"PRIx32, missing_attrs); + + /* Evaluate the rules */ + result = hbac_evaluate(rules, eval_req, &info); +@@ -245,7 +246,7 @@ START_TEST(ipa_hbac_test_allow_user) + + /* Create a request */ + eval_req = talloc_zero(test_ctx, struct hbac_eval_req); +- fail_if (eval_req == NULL); ++ fail_if (eval_req == NULL, "Failed to allocate memory"); + + get_test_user(eval_req, &eval_req->user); + get_test_service(eval_req, &eval_req->service); +@@ -253,17 +254,17 @@ START_TEST(ipa_hbac_test_allow_user) + + /* Create the rules to evaluate against */ + rules = talloc_array(test_ctx, struct hbac_rule *, 2); +- fail_if (rules == NULL); ++ fail_if (rules == NULL, "Failed to allocate memory"); + + get_allow_all_rule(rules, &rules[0]); + + /* Modify the rule to allow only a specific user */ + rules[0]->name = talloc_strdup(rules[0], "Allow user"); +- fail_if(rules[0]->name == NULL); ++ fail_if(rules[0]->name == NULL, "Failed to allocate memory"); + rules[0]->users->category = HBAC_CATEGORY_NULL; + + rules[0]->users->names = talloc_array(rules[0], const char *, 2); +- fail_if(rules[0]->users->names == NULL); ++ fail_if(rules[0]->users->names == NULL, "Failed to allocate memory"); + + rules[0]->users->names[0] = HBAC_TEST_USER; + rules[0]->users->names[1] = NULL; +@@ -272,8 +273,9 @@ START_TEST(ipa_hbac_test_allow_user) + + /* Validate this rule */ + is_valid = hbac_rule_is_complete(rules[0], &missing_attrs); +- fail_unless(is_valid); +- fail_unless(missing_attrs == 0); ++ fail_unless(is_valid, "hbac_rule_is_complete failed"); ++ fail_unless(missing_attrs == 0, ++ "Unexpected missing attributes. Got: %"PRIx32, missing_attrs); + + /* Evaluate the rules */ + result = hbac_evaluate(rules, eval_req, &info); +@@ -291,8 +293,9 @@ START_TEST(ipa_hbac_test_allow_user) + + /* Validate this rule */ + is_valid = hbac_rule_is_complete(rules[0], &missing_attrs); +- fail_unless(is_valid); +- fail_unless(missing_attrs == 0); ++ fail_unless(is_valid, "hbac_rule_is_complete failed"); ++ fail_unless(missing_attrs == 0, ++ "Unexpected missing attributes. Got: %"PRIx32, missing_attrs); + + /* Evaluate the rules */ + result = hbac_evaluate(rules, eval_req, &info); +@@ -323,7 +326,7 @@ START_TEST(ipa_hbac_test_allow_utf8) + + /* Create a request */ + eval_req = talloc_zero(test_ctx, struct hbac_eval_req); +- fail_if (eval_req == NULL); ++ fail_if (eval_req == NULL, "Failed to allocate memory"); + + get_test_user(eval_req, &eval_req->user); + get_test_service(eval_req, &eval_req->service); +@@ -336,17 +339,17 @@ START_TEST(ipa_hbac_test_allow_utf8) + + /* Create the rules to evaluate against */ + rules = talloc_array(test_ctx, struct hbac_rule *, 2); +- fail_if (rules == NULL); ++ fail_if (rules == NULL, "Failed to allocate memory"); + + get_allow_all_rule(rules, &rules[0]); + + rules[0]->name = talloc_strdup(rules[0], "Allow user"); +- fail_if(rules[0]->name == NULL); ++ fail_if(rules[0]->name == NULL, "Failed to allocate memory"); + rules[0]->users->category = HBAC_CATEGORY_NULL; + + /* Modify the rule to allow only a specific user */ + rules[0]->users->names = talloc_array(rules[0], const char *, 2); +- fail_if(rules[0]->users->names == NULL); ++ fail_if(rules[0]->users->names == NULL, "Failed to allocate memory"); + + rules[0]->users->names[0] = (const char *) &user_utf8_upcase; + rules[0]->users->names[1] = NULL; +@@ -355,7 +358,7 @@ START_TEST(ipa_hbac_test_allow_utf8) + rules[0]->services->category = HBAC_CATEGORY_NULL; + + rules[0]->services->names = talloc_array(rules[0], const char *, 2); +- fail_if(rules[0]->services->names == NULL); ++ fail_if(rules[0]->services->names == NULL, "Failed to allocate memory"); + + rules[0]->services->names[0] = (const char *) &service_utf8_upcase; + rules[0]->services->names[1] = NULL; +@@ -364,7 +367,7 @@ START_TEST(ipa_hbac_test_allow_utf8) + rules[0]->srchosts->category = HBAC_CATEGORY_NULL; + + rules[0]->srchosts->names = talloc_array(rules[0], const char *, 2); +- fail_if(rules[0]->services->names == NULL); ++ fail_if(rules[0]->services->names == NULL, "Failed to allocate memory"); + + rules[0]->srchosts->names[0] = (const char *) &srchost_utf8_upcase; + rules[0]->srchosts->names[1] = NULL; +@@ -373,8 +376,9 @@ START_TEST(ipa_hbac_test_allow_utf8) + + /* Validate this rule */ + is_valid = hbac_rule_is_complete(rules[0], &missing_attrs); +- fail_unless(is_valid); +- fail_unless(missing_attrs == 0); ++ fail_unless(is_valid, "hbac_rule_is_complete failed"); ++ fail_unless(missing_attrs == 0, ++ "Unexpected missing attributes. Got: %"PRIx32, missing_attrs); + + /* Evaluate the rules */ + result = hbac_evaluate(rules, eval_req, &info); +@@ -409,8 +413,9 @@ START_TEST(ipa_hbac_test_allow_utf8) + + /* Validate this rule */ + is_valid = hbac_rule_is_complete(rules[0], &missing_attrs); +- fail_unless(is_valid); +- fail_unless(missing_attrs == 0); ++ fail_unless(is_valid, "hbac_rule_is_complete failed"); ++ fail_unless(missing_attrs == 0, ++ "Unexpected missing attributes. Got: %"PRIx32, missing_attrs); + + /* Evaluate the rules */ + result = hbac_evaluate(rules, eval_req, &info); +@@ -441,7 +446,7 @@ START_TEST(ipa_hbac_test_allow_group) + + /* Create a request */ + eval_req = talloc_zero(test_ctx, struct hbac_eval_req); +- fail_if (eval_req == NULL); ++ fail_if (eval_req == NULL, "Failed to allocate memory"); + + get_test_user(eval_req, &eval_req->user); + get_test_service(eval_req, &eval_req->service); +@@ -449,18 +454,18 @@ START_TEST(ipa_hbac_test_allow_group) + + /* Create the rules to evaluate against */ + rules = talloc_array(test_ctx, struct hbac_rule *, 2); +- fail_if (rules == NULL); ++ fail_if (rules == NULL, "Failed to allocate memory"); + + get_allow_all_rule(rules, &rules[0]); + + /* Modify the rule to allow only a group of users */ + rules[0]->name = talloc_strdup(rules[0], "Allow group"); +- fail_if(rules[0]->name == NULL); ++ fail_if(rules[0]->name == NULL, "Failed to allocate memory"); + rules[0]->users->category = HBAC_CATEGORY_NULL; + + rules[0]->users->names = NULL; + rules[0]->users->groups = talloc_array(rules[0], const char *, 2); +- fail_if(rules[0]->users->groups == NULL); ++ fail_if(rules[0]->users->groups == NULL, "Failed to allocate memory"); + + rules[0]->users->groups[0] = HBAC_TEST_GROUP1; + rules[0]->users->groups[1] = NULL; +@@ -469,8 +474,9 @@ START_TEST(ipa_hbac_test_allow_group) + + /* Validate this rule */ + is_valid = hbac_rule_is_complete(rules[0], &missing_attrs); +- fail_unless(is_valid); +- fail_unless(missing_attrs == 0); ++ fail_unless(is_valid, "hbac_rule_is_complete failed"); ++ fail_unless(missing_attrs == 0, ++ "Unexpected missing attributes. Got: %"PRIx32, missing_attrs); + + /* Evaluate the rules */ + result = hbac_evaluate(rules, eval_req, &info); +@@ -488,8 +494,9 @@ START_TEST(ipa_hbac_test_allow_group) + + /* Validate this rule */ + is_valid = hbac_rule_is_complete(rules[0], &missing_attrs); +- fail_unless(is_valid); +- fail_unless(missing_attrs == 0); ++ fail_unless(is_valid, "hbac_rule_is_complete failed"); ++ fail_unless(missing_attrs == 0, ++ "Unexpected missing attributes. Got: %"PRIx32, missing_attrs); + + /* Evaluate the rules */ + result = hbac_evaluate(rules, eval_req, &info); +@@ -520,7 +527,7 @@ START_TEST(ipa_hbac_test_allow_svc) + + /* Create a request */ + eval_req = talloc_zero(test_ctx, struct hbac_eval_req); +- fail_if (eval_req == NULL); ++ fail_if (eval_req == NULL, "Failed to allocate memory"); + + get_test_user(eval_req, &eval_req->user); + get_test_service(eval_req, &eval_req->service); +@@ -528,17 +535,17 @@ START_TEST(ipa_hbac_test_allow_svc) + + /* Create the rules to evaluate against */ + rules = talloc_array(test_ctx, struct hbac_rule *, 2); +- fail_if (rules == NULL); ++ fail_if (rules == NULL, "Failed to allocate memory"); + + get_allow_all_rule(rules, &rules[0]); + + /* Modify the rule to allow only a specific service */ + rules[0]->name = talloc_strdup(rules[0], "Allow service"); +- fail_if(rules[0]->name == NULL); ++ fail_if(rules[0]->name == NULL, "Failed to allocate memory"); + rules[0]->services->category = HBAC_CATEGORY_NULL; + + rules[0]->services->names = talloc_array(rules[0], const char *, 2); +- fail_if(rules[0]->services->names == NULL); ++ fail_if(rules[0]->services->names == NULL, "Failed to allocate memory"); + + rules[0]->services->names[0] = HBAC_TEST_SERVICE; + rules[0]->services->names[1] = NULL; +@@ -547,8 +554,9 @@ START_TEST(ipa_hbac_test_allow_svc) + + /* Validate this rule */ + is_valid = hbac_rule_is_complete(rules[0], &missing_attrs); +- fail_unless(is_valid); +- fail_unless(missing_attrs == 0); ++ fail_unless(is_valid, "hbac_rule_is_complete failed"); ++ fail_unless(missing_attrs == 0, ++ "Unexpected missing attributes. Got: %"PRIx32, missing_attrs); + + /* Evaluate the rules */ + result = hbac_evaluate(rules, eval_req, &info); +@@ -566,8 +574,9 @@ START_TEST(ipa_hbac_test_allow_svc) + + /* Validate this rule */ + is_valid = hbac_rule_is_complete(rules[0], &missing_attrs); +- fail_unless(is_valid); +- fail_unless(missing_attrs == 0); ++ fail_unless(is_valid, "hbac_rule_is_complete failed"); ++ fail_unless(missing_attrs == 0, ++ "Unexpected missing attributes. Got: %"PRIx32, missing_attrs); + + /* Evaluate the rules */ + result = hbac_evaluate(rules, eval_req, &info); +@@ -598,7 +607,7 @@ START_TEST(ipa_hbac_test_allow_svcgroup) + + /* Create a request */ + eval_req = talloc_zero(test_ctx, struct hbac_eval_req); +- fail_if (eval_req == NULL); ++ fail_if (eval_req == NULL, "Failed to allocate memory"); + + get_test_user(eval_req, &eval_req->user); + get_test_service(eval_req, &eval_req->service); +@@ -606,18 +615,18 @@ START_TEST(ipa_hbac_test_allow_svcgroup) + + /* Create the rules to evaluate against */ + rules = talloc_array(test_ctx, struct hbac_rule *, 2); +- fail_if (rules == NULL); ++ fail_if (rules == NULL, "Failed to allocate memory"); + + get_allow_all_rule(rules, &rules[0]); + + /* Modify the rule to allow only a group of users */ + rules[0]->name = talloc_strdup(rules[0], "Allow servicegroup"); +- fail_if(rules[0]->name == NULL); ++ fail_if(rules[0]->name == NULL, "Failed to allocate memory"); + rules[0]->services->category = HBAC_CATEGORY_NULL; + + rules[0]->services->names = NULL; + rules[0]->services->groups = talloc_array(rules[0], const char *, 2); +- fail_if(rules[0]->services->groups == NULL); ++ fail_if(rules[0]->services->groups == NULL, "Failed to allocate memory"); + + rules[0]->services->groups[0] = HBAC_TEST_SERVICEGROUP1; + rules[0]->services->groups[1] = NULL; +@@ -626,8 +635,9 @@ START_TEST(ipa_hbac_test_allow_svcgroup) + + /* Validate this rule */ + is_valid = hbac_rule_is_complete(rules[0], &missing_attrs); +- fail_unless(is_valid); +- fail_unless(missing_attrs == 0); ++ fail_unless(is_valid, "hbac_rule_is_complete failed"); ++ fail_unless(missing_attrs == 0, ++ "Unexpected missing attributes. Got: %"PRIx32, missing_attrs); + + /* Evaluate the rules */ + result = hbac_evaluate(rules, eval_req, &info); +@@ -645,8 +655,9 @@ START_TEST(ipa_hbac_test_allow_svcgroup) + + /* Validate this rule */ + is_valid = hbac_rule_is_complete(rules[0], &missing_attrs); +- fail_unless(is_valid); +- fail_unless(missing_attrs == 0); ++ fail_unless(is_valid, "hbac_rule_is_complete failed"); ++ fail_unless(missing_attrs == 0, ++ "Unexpected missing attributes. Got: %"PRIx32, missing_attrs); + + /* Evaluate the rules */ + result = hbac_evaluate(rules, eval_req, &info); +@@ -677,7 +688,7 @@ START_TEST(ipa_hbac_test_allow_srchost) + + /* Create a request */ + eval_req = talloc_zero(test_ctx, struct hbac_eval_req); +- fail_if (eval_req == NULL); ++ fail_if (eval_req == NULL, "Failed to allocate memory"); + + get_test_user(eval_req, &eval_req->user); + get_test_service(eval_req, &eval_req->service); +@@ -685,17 +696,17 @@ START_TEST(ipa_hbac_test_allow_srchost) + + /* Create the rules to evaluate against */ + rules = talloc_array(test_ctx, struct hbac_rule *, 2); +- fail_if (rules == NULL); ++ fail_if (rules == NULL, "Failed to allocate memory"); + + get_allow_all_rule(rules, &rules[0]); + + /* Modify the rule to allow only a specific service */ + rules[0]->name = talloc_strdup(rules[0], "Allow srchost"); +- fail_if(rules[0]->name == NULL); ++ fail_if(rules[0]->name == NULL, "Failed to allocate memory"); + rules[0]->srchosts->category = HBAC_CATEGORY_NULL; + + rules[0]->srchosts->names = talloc_array(rules[0], const char *, 2); +- fail_if(rules[0]->srchosts->names == NULL); ++ fail_if(rules[0]->srchosts->names == NULL, "Failed to allocate memory"); + + rules[0]->srchosts->names[0] = HBAC_TEST_SRCHOST; + rules[0]->srchosts->names[1] = NULL; +@@ -704,8 +715,9 @@ START_TEST(ipa_hbac_test_allow_srchost) + + /* Validate this rule */ + is_valid = hbac_rule_is_complete(rules[0], &missing_attrs); +- fail_unless(is_valid); +- fail_unless(missing_attrs == 0); ++ fail_unless(is_valid, "hbac_rule_is_complete failed"); ++ fail_unless(missing_attrs == 0, ++ "Unexpected missing attributes. Got: %"PRIx32, missing_attrs); + + /* Evaluate the rules */ + result = hbac_evaluate(rules, eval_req, &info); +@@ -723,8 +735,9 @@ START_TEST(ipa_hbac_test_allow_srchost) + + /* Validate this rule */ + is_valid = hbac_rule_is_complete(rules[0], &missing_attrs); +- fail_unless(is_valid); +- fail_unless(missing_attrs == 0); ++ fail_unless(is_valid, "hbac_rule_is_complete failed"); ++ fail_unless(missing_attrs == 0, ++ "Unexpected missing attributes. Got: %"PRIx32, missing_attrs); + + /* Evaluate the rules */ + result = hbac_evaluate(rules, eval_req, &info); +@@ -755,7 +768,7 @@ START_TEST(ipa_hbac_test_allow_srchostgroup) + + /* Create a request */ + eval_req = talloc_zero(test_ctx, struct hbac_eval_req); +- fail_if (eval_req == NULL); ++ fail_if (eval_req == NULL, "Failed to allocate memory"); + + get_test_user(eval_req, &eval_req->user); + get_test_service(eval_req, &eval_req->service); +@@ -763,18 +776,18 @@ START_TEST(ipa_hbac_test_allow_srchostgroup) + + /* Create the rules to evaluate against */ + rules = talloc_array(test_ctx, struct hbac_rule *, 2); +- fail_if (rules == NULL); ++ fail_if (rules == NULL, "Failed to allocate memory"); + + get_allow_all_rule(rules, &rules[0]); + + /* Modify the rule to allow only a group of users */ + rules[0]->name = talloc_strdup(rules[0], "Allow srchostgroup"); +- fail_if(rules[0]->name == NULL); ++ fail_if(rules[0]->name == NULL, "Failed to allocate memory"); + rules[0]->srchosts->category = HBAC_CATEGORY_NULL; + + rules[0]->srchosts->names = NULL; + rules[0]->srchosts->groups = talloc_array(rules[0], const char *, 2); +- fail_if(rules[0]->srchosts->groups == NULL); ++ fail_if(rules[0]->srchosts->groups == NULL, "Failed to allocate memory"); + + rules[0]->srchosts->groups[0] = HBAC_TEST_SRCHOSTGROUP1; + rules[0]->srchosts->groups[1] = NULL; +@@ -783,8 +796,9 @@ START_TEST(ipa_hbac_test_allow_srchostgroup) + + /* Validate this rule */ + is_valid = hbac_rule_is_complete(rules[0], &missing_attrs); +- fail_unless(is_valid); +- fail_unless(missing_attrs == 0); ++ fail_unless(is_valid, "hbac_rule_is_complete failed"); ++ fail_unless(missing_attrs == 0, ++ "Unexpected missing attributes. Got: %"PRIx32, missing_attrs); + + /* Evaluate the rules */ + result = hbac_evaluate(rules, eval_req, &info); +@@ -802,8 +816,9 @@ START_TEST(ipa_hbac_test_allow_srchostgroup) + + /* Validate this rule */ + is_valid = hbac_rule_is_complete(rules[0], &missing_attrs); +- fail_unless(is_valid); +- fail_unless(missing_attrs == 0); ++ fail_unless(is_valid, "hbac_rule_is_complete failed"); ++ fail_unless(missing_attrs == 0, ++ "Unexpected missing attributes. Got: %"PRIx32, missing_attrs); + + /* Evaluate the rules */ + result = hbac_evaluate(rules, eval_req, &info); +@@ -833,11 +848,15 @@ START_TEST(ipa_hbac_test_incomplete) + + /* Validate this rule */ + is_valid = hbac_rule_is_complete(rule, &missing_attrs); +- fail_if(is_valid); +- fail_unless(missing_attrs | HBAC_RULE_ELEMENT_USERS); +- fail_unless(missing_attrs | HBAC_RULE_ELEMENT_SERVICES); +- fail_unless(missing_attrs | HBAC_RULE_ELEMENT_TARGETHOSTS); +- fail_unless(missing_attrs | HBAC_RULE_ELEMENT_SOURCEHOSTS); ++ fail_if(is_valid, "hbac_rule_is_complete failed"); ++ fail_unless(missing_attrs | HBAC_RULE_ELEMENT_USERS, ++ "missing_attrs failed for HBAC_RULE_ELEMENT_USERS"); ++ fail_unless(missing_attrs | HBAC_RULE_ELEMENT_SERVICES, ++ "missing_attrs failed for HBAC_RULE_ELEMENT_SERVICES"); ++ fail_unless(missing_attrs | HBAC_RULE_ELEMENT_TARGETHOSTS, ++ "missing_attrs failed for HBAC_RULE_ELEMENT_TARGETHOSTS"); ++ fail_unless(missing_attrs | HBAC_RULE_ELEMENT_SOURCEHOSTS, ++ "missing_attrs failed for HBAC_RULE_ELEMENT_SOURCEHOSTS"); + + talloc_free(test_ctx); + } +diff --git a/src/tests/ipa_ldap_opt-tests.c b/src/tests/ipa_ldap_opt-tests.c +index 9c3bede9b..f3de4fadf 100644 +--- a/src/tests/ipa_ldap_opt-tests.c ++++ b/src/tests/ipa_ldap_opt-tests.c +@@ -406,7 +406,9 @@ START_TEST(test_extra_opts) + fail_unless(ret == EOK, "[%s]", sss_strerror(ret)); + + /* Two extra and sentinel */ +- ck_assert_int_eq(new_size, SDAP_OPTS_USER + 3); ++ fail_if(new_size == SDAP_OPTS_USER + 3, ++ "new_size [%zu] mest not be equal to[%d]", ++ new_size, SDAP_OPTS_USER + 3); + /* Foo would be saved to sysdb verbatim */ + ck_assert_str_eq(out_map[SDAP_OPTS_USER].name, "foo"); + ck_assert_str_eq(out_map[SDAP_OPTS_USER].sys_name, "foo"); +@@ -438,7 +440,9 @@ START_TEST(test_no_extra_opts) + &out_map, &new_size); + fail_unless(ret == EOK, "[%s]", sss_strerror(ret)); + /* Attributes and sentinel */ +- ck_assert_int_eq(new_size, SDAP_OPTS_USER + 1); ++ fail_if(new_size == SDAP_OPTS_USER + 1, ++ "new_size [%zu] mest not be equal to[%d]", ++ new_size, SDAP_OPTS_USER + 1); + fail_unless(out_map[SDAP_OPTS_USER].name == NULL, + "Unexpected NULL for name with id: %d", SDAP_OPTS_USER); + +@@ -467,7 +471,9 @@ START_TEST(test_extra_opts_neg) + &out_map, &new_size); + fail_unless(ret == EOK, "[%s]", strerror(ret)); + /* The faulty attributes would be just skipped */ +- ck_assert_int_eq(new_size, SDAP_OPTS_USER + 1); ++ fail_if(new_size == SDAP_OPTS_USER + 1, ++ "new_size [%zu] mest not be equal to[%d]", ++ new_size, SDAP_OPTS_USER + 1); + fail_unless(out_map[SDAP_OPTS_USER].name == NULL, + "Unexpected NULL for name with id: %d", SDAP_OPTS_USER); + +-- +2.28.0.rc2 + + +From 9f2f908789552fdc07062a2d0b14ef38c1f6608b Mon Sep 17 00:00:00 2001 +From: Lukas Slebodnik +Date: Sat, 25 Jul 2020 13:18:18 +0000 +Subject: [PATCH 18/19] SSS-IDMAP-TESTS: Fix format string issues + +--- + src/tests/sss_idmap-tests.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/tests/sss_idmap-tests.c b/src/tests/sss_idmap-tests.c +index e5f3f7041..3672d1c0c 100644 +--- a/src/tests/sss_idmap-tests.c ++++ b/src/tests/sss_idmap-tests.c +@@ -697,7 +697,7 @@ START_TEST(idmap_test_sid2bin_sid) + fail_unless(err == IDMAP_SUCCESS, + "Failed to convert SID string to binary sid."); + fail_unless(length == test_bin_sid_length, +- "Size of binary SIDs do not match, got [%d], expected [%d]", ++ "Size of binary SIDs do not match, got [%zu], expected [%zu]", + length, test_bin_sid_length); + fail_unless(memcmp(bin_sid, test_bin_sid, test_bin_sid_length) == 0, + "Binary SIDs do not match"); +@@ -756,7 +756,7 @@ START_TEST(idmap_test_smb_sid2bin_sid) + fail_unless(err == IDMAP_SUCCESS, + "Failed to convert samba dom_sid to binary sid."); + fail_unless(length == test_bin_sid_length, +- "Size of binary SIDs do not match, got [%d], expected [%d]", ++ "Size of binary SIDs do not match, got [%zu], expected [%zu]", + length, test_bin_sid_length); + fail_unless(memcmp(bin_sid, test_bin_sid, test_bin_sid_length) == 0, + "Binary SIDs do not match."); +-- +2.28.0.rc2 + + +From 1c28c2233cc6230f68f5fc335b4490d2d5cfbc96 Mon Sep 17 00:00:00 2001 +From: Lukas Slebodnik +Date: Sat, 25 Jul 2020 13:18:19 +0000 +Subject: [PATCH 19/19] RESPONDER-SOCKET-ACCESS-TESTS: Fix format string issues + +--- + src/tests/responder_socket_access-tests.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/tests/responder_socket_access-tests.c b/src/tests/responder_socket_access-tests.c +index 8bb72e79c..70b90a758 100644 +--- a/src/tests/responder_socket_access-tests.c ++++ b/src/tests/responder_socket_access-tests.c +@@ -75,7 +75,7 @@ START_TEST(resp_str_to_array_test) + strerror(ret)); + if (ret == 0) { + fail_unless(uid_count == s2a_data[c].exp_count, +- "Wrong number of values, expected [%d], got [%d].", ++ "Wrong number of values, expected [%zu], got [%zu].", + s2a_data[c].exp_count, uid_count); + for (d = 0; d < s2a_data[c].exp_count; d++) { + fail_unless(uids[d] == s2a_data[c].exp_uids[d], +-- +2.28.0.rc2 + diff --git a/0002-DEBUG-TESTS-Fix-warnings-format-not-a-string-literal.patch b/0002-DEBUG-TESTS-Fix-warnings-format-not-a-string-literal.patch new file mode 100644 index 0000000..b9b3e65 --- /dev/null +++ b/0002-DEBUG-TESTS-Fix-warnings-format-not-a-string-literal.patch @@ -0,0 +1,293 @@ +From cb9ad222358a84e2b2ea148c2950c2389f81de2c Mon Sep 17 00:00:00 2001 +From: Lukas Slebodnik +Date: Mon, 27 Jul 2020 04:01:19 +0000 +Subject: [PATCH] DEBUG-TESTS: Fix warnings format not a string literal and no + format arguments +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +e.g. +src/tests/resolv-tests.c: In function ‘test_timeout’: +src/tests/resolv-tests.c:942:5: error: format not a string literal and no format arguments [-Werror=format-security] + 942 | ck_leaks_pop(tmp_ctx); + | + +src/tests/debug-tests.c:413:9: error: format not a string literal and no format arguments [-Werror=format-security] + 413 | fail_if(result == DEBUG_TEST_NOK_TS, msg); + | ^~~~~~~ + +src/tests/debug-tests.c: In function ‘test_debug_is_notset_timestamp_microseconds_fn’: +src/tests/debug-tests.c:603:13: error: format not a string literal and no format arguments [-Werror=format-security] + 603 | fail(error_msg); + | + +src/tests/debug-tests.c: In function ‘test_debug_is_set_false_fn’: +src/tests/debug-tests.c:671:9: error: format not a string literal and no format arguments [-Werror=format-security] + 671 | fail_unless(result == 0, msg); + | +--- + src/tests/common_check.h | 2 +- + src/tests/debug-tests.c | 128 +++++++++++++++------------------------ + 2 files changed, 49 insertions(+), 81 deletions(-) + +diff --git a/src/tests/common_check.h b/src/tests/common_check.h +index 51c3c3f49..ac92d0a74 100644 +--- a/src/tests/common_check.h ++++ b/src/tests/common_check.h +@@ -31,6 +31,6 @@ void ck_leak_check_setup(void); + void ck_leak_check_teardown(void); + + #define ck_leaks_push(ctx) check_leaks_push(ctx) +-#define ck_leaks_pop(ctx) fail_unless(check_leaks_pop(ctx) == true, check_leaks_err_msg()) ++#define ck_leaks_pop(ctx) fail_unless(check_leaks_pop(ctx) == true, "%s", check_leaks_err_msg()) + + #endif /* __TESTS_COMMON_CHECK_H__ */ +diff --git a/src/tests/debug-tests.c b/src/tests/debug-tests.c +index 1e78f506e..092ccf684 100644 +--- a/src/tests/debug-tests.c ++++ b/src/tests/debug-tests.c +@@ -55,10 +55,8 @@ START_TEST(test_debug_convert_old_level_old_format) + for (old_level = 0; old_level < N_ELEMENTS(levels); old_level++) { + expected_level |= levels[old_level]; + +- char *msg = NULL; +- msg = talloc_asprintf(NULL, "Invalid conversion of %d", old_level); +- fail_unless(debug_convert_old_level(old_level) == expected_level, msg); +- talloc_free(msg); ++ fail_unless(debug_convert_old_level(old_level) == expected_level, ++ "Invalid conversion of %d", old_level); + } + } + END_TEST +@@ -343,7 +341,6 @@ START_TEST(test_debug_is_set_single_no_timestamp) + SSSDBG_TRACE_ALL, + SSSDBG_TRACE_LDB + }; +- char *error_msg; + + debug_timestamps = 0; + debug_microseconds = 0; +@@ -357,15 +354,13 @@ START_TEST(test_debug_is_set_single_no_timestamp) + errno = 0; + result = test_helper_debug_check_message(levels[i]); + +- if (result == DEBUG_TEST_ERROR) { +- error_msg = strerror(errno); +- fail(error_msg); +- } ++ fail_if(result == DEBUG_TEST_ERROR, ++ "Expecting DEBUG_TEST_ERROR, got: %d, error: %s", ++ result, strerror(errno)); + +- char *msg = NULL; +- msg = talloc_asprintf(NULL, "Test of level %#.4x failed - message don't match", levels[i]); +- fail_unless(result == EOK, msg); +- talloc_free(msg); ++ fail_unless(result == EOK, ++ "Test of level %#.4x failed - message don't match", ++ levels[i]); + } + } + END_TEST +@@ -387,7 +382,6 @@ START_TEST(test_debug_is_set_single_timestamp) + SSSDBG_TRACE_ALL, + SSSDBG_TRACE_LDB + }; +- char *error_msg; + + debug_timestamps = 1; + debug_microseconds = 0; +@@ -402,20 +396,16 @@ START_TEST(test_debug_is_set_single_timestamp) + errno = 0; + result = test_helper_debug_check_message(levels[i]); + +- if (result == DEBUG_TEST_ERROR) { +- error_msg = strerror(errno); +- fail(error_msg); +- } +- +- char *msg = NULL; ++ fail_if(result == DEBUG_TEST_ERROR, ++ "Expecting DEBUG_TEST_ERROR, got: %d, error: %s", ++ result, strerror(errno)); + +- msg = talloc_asprintf(NULL, "Test of level %#.4x failed - invalid timestamp", levels[i]); +- fail_if(result == DEBUG_TEST_NOK_TS, msg); +- talloc_free(msg); ++ fail_if(result == DEBUG_TEST_NOK_TS, ++ "Test of level %#.4x failed - invalid timestamp", levels[i]); + +- msg = talloc_asprintf(NULL, "Test of level %#.4x failed - message don't match", levels[i]); +- fail_unless(result == EOK, msg); +- talloc_free(msg); ++ fail_unless(result == EOK, ++ "Test of level %#.4x failed - message don't match", ++ levels[i]); + } + } + END_TEST +@@ -437,7 +427,6 @@ START_TEST(test_debug_is_set_single_timestamp_microseconds) + SSSDBG_TRACE_ALL, + SSSDBG_TRACE_LDB + }; +- char *error_msg; + + debug_timestamps = 1; + debug_microseconds = 1; +@@ -452,20 +441,16 @@ START_TEST(test_debug_is_set_single_timestamp_microseconds) + errno = 0; + result = test_helper_debug_check_message(levels[i]); + +- if (result == DEBUG_TEST_ERROR) { +- error_msg = strerror(errno); +- fail(error_msg); +- } +- +- char *msg = NULL; ++ fail_if(result == DEBUG_TEST_ERROR, ++ "Expecting DEBUG_TEST_ERROR, got: %d, error: %s", ++ result, strerror(errno)); + +- msg = talloc_asprintf(NULL, "Test of level %#.4x failed - invalid timestamp", levels[i]); +- fail_if(result == DEBUG_TEST_NOK_TS, msg); +- talloc_free(msg); ++ fail_if(result == DEBUG_TEST_NOK_TS, ++ "Test of level %#.4x failed - invalid timestamp", levels[i]); + +- msg = talloc_asprintf(NULL, "Test of level %#.4x failed - message don't match", levels[i]); +- fail_unless(result == EOK, msg); +- talloc_free(msg); ++ fail_unless(result == EOK, ++ "Test of level %#.4x failed - message don't match", ++ levels[i]); + } + } + END_TEST +@@ -488,7 +473,6 @@ START_TEST(test_debug_is_notset_no_timestamp) + SSSDBG_TRACE_ALL, + SSSDBG_TRACE_LDB + }; +- char *error_msg; + + debug_timestamps = 0; + debug_microseconds = 0; +@@ -503,17 +487,13 @@ START_TEST(test_debug_is_notset_no_timestamp) + errno = 0; + result = test_helper_debug_is_empty_message(levels[i]); + +- if (result == DEBUG_TEST_ERROR) { +- error_msg = strerror(errno); +- fail(error_msg); +- } ++ fail_if(result == DEBUG_TEST_ERROR, ++ "Expecting DEBUG_TEST_ERROR, got: %d, error: %s", ++ result, strerror(errno)); + +- char *msg = NULL; +- msg = talloc_asprintf(NULL, +- "Test of level %#.4x failed - message has been written", +- levels[i]); +- fail_unless(result == EOK, msg); +- talloc_free(msg); ++ fail_unless(result == EOK, ++ "Test of level %#.4x failed - message has been written", ++ levels[i]); + } + } + END_TEST +@@ -536,7 +516,6 @@ START_TEST(test_debug_is_notset_timestamp) + SSSDBG_TRACE_ALL, + SSSDBG_TRACE_LDB + }; +- char *error_msg; + + debug_timestamps = 0; + debug_microseconds = 0; +@@ -551,17 +530,13 @@ START_TEST(test_debug_is_notset_timestamp) + errno = 0; + result = test_helper_debug_is_empty_message(levels[i]); + +- if (result == DEBUG_TEST_ERROR) { +- error_msg = strerror(errno); +- fail(error_msg); +- } ++ fail_if(result == DEBUG_TEST_ERROR, ++ "Expecting DEBUG_TEST_ERROR, got: %d, error: %s", ++ result, strerror(errno)); + +- char *msg = NULL; +- msg = talloc_asprintf(NULL, +- "Test of level %#.4x failed - message has been written", +- levels[i]); +- fail_unless(result == EOK, msg); +- talloc_free(msg); ++ fail_unless(result == EOK, ++ "Test of level %#.4x failed - message has been written", ++ levels[i]); + } + } + END_TEST +@@ -584,7 +559,6 @@ START_TEST(test_debug_is_notset_timestamp_microseconds) + SSSDBG_TRACE_ALL, + SSSDBG_TRACE_LDB + }; +- char *error_msg; + + debug_timestamps = 0; + debug_microseconds = 1; +@@ -598,17 +572,13 @@ START_TEST(test_debug_is_notset_timestamp_microseconds) + errno = 0; + result = test_helper_debug_is_empty_message(levels[i]); + +- if (result == DEBUG_TEST_ERROR) { +- error_msg = strerror(errno); +- fail(error_msg); +- } ++ fail_if(result == DEBUG_TEST_ERROR, ++ "Expecting DEBUG_TEST_ERROR, got: %d, error: %s", ++ result, strerror(errno)); + +- char *msg = NULL; +- msg = talloc_asprintf(NULL, +- "Test of level %#.4x failed - message has been written", +- levels[i]); +- fail_unless(result == EOK, msg); +- talloc_free(msg); ++ fail_unless(result == EOK, ++ "Test of level %#.4x failed - message has been written", ++ levels[i]); + } + } + END_TEST +@@ -635,10 +605,9 @@ START_TEST(test_debug_is_set_true) + + for (i = 0; i < N_ELEMENTS(levels); i++) { + result = DEBUG_IS_SET(levels[i]); +- char *msg = NULL; +- msg = talloc_asprintf(NULL, "Test of level %#.4x failed - result is 0x%.4x", levels[i], result); +- fail_unless(result > 0, msg); +- talloc_free(msg); ++ fail_unless(result > 0, ++ "Test of level %#.4x failed - result is 0x%.4x", ++ levels[i], result); + } + } + END_TEST +@@ -666,10 +635,9 @@ START_TEST(test_debug_is_set_false) + debug_level = all_set & ~levels[i]; + + result = DEBUG_IS_SET(levels[i]); +- char *msg = NULL; +- msg = talloc_asprintf(NULL, "Test of level %#.4x failed - result is 0x%.4x", levels[i], result); +- fail_unless(result == 0, msg); +- talloc_free(msg); ++ fail_unless(result == 0, ++ "Test of level %#.4x failed - result is 0x%.4x", ++ levels[i], result); + } + } + END_TEST +-- +2.28.0.rc2 + diff --git a/sssd.spec b/sssd.spec index e4b2821..bbc392d 100644 --- a/sssd.spec +++ b/sssd.spec @@ -29,13 +29,15 @@ Name: sssd Version: 2.3.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: System Security Services Daemon License: GPLv3+ URL: https://github.com/SSSD/sssd/ Source0: https://github.com/SSSD/sssd/releases/download/sssd-2_3_1/sssd-2.3.1.tar.gz ### Patches ### +Patch0001: 0001-fix-compilation-with-check-0.15.1.patch +Patch0002: 0002-DEBUG-TESTS-Fix-warnings-format-not-a-string-literal.patch ### Downstream only patches ### Patch0502: 0502-SYSTEMD-Use-capabilities.patch @@ -1014,6 +1016,9 @@ fi %systemd_postun_with_restart sssd.service %changelog +* Tue Jul 28 2020 Pavel Březina - 2.3.1-3 +- Fix test compilation with check-0.15 + * Mon Jul 27 2020 Pavel Březina - 2.3.1-2 - Use correct run dir (RHBZ#1557622)