diff options
author | Lukas Slebodnik <lslebodn@redhat.com> | 2015-05-29 08:13:30 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2015-06-01 15:29:19 +0200 |
commit | 7a4e3e29196e3abc1746714fcf93624edae89f93 (patch) | |
tree | 20b22cbdbf6daf740fc5e9255bf7e3baa2dcc70c /src/tests/util-tests.c | |
parent | 40bc389bc79bc41429b5a92d5ce75955f8eefaf5 (diff) | |
download | sssd-7a4e3e29196e3abc1746714fcf93624edae89f93.tar.gz sssd-7a4e3e29196e3abc1746714fcf93624edae89f93.tar.xz sssd-7a4e3e29196e3abc1746714fcf93624edae89f93.zip |
util-tests: Add validation of internal error messages
The function sss_strerror() should not return a sentence.
It shoudl return string; the same as strerror()
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
Diffstat (limited to 'src/tests/util-tests.c')
-rw-r--r-- | src/tests/util-tests.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/tests/util-tests.c b/src/tests/util-tests.c index 24ee6ab49..3d42f0193 100644 --- a/src/tests/util-tests.c +++ b/src/tests/util-tests.c @@ -29,6 +29,7 @@ #include <sys/stat.h> #include <fcntl.h> #include <stdlib.h> +#include <ctype.h> #include "util/util.h" #include "util/sss_utf8.h" @@ -1076,6 +1077,28 @@ START_TEST(test_sss_strerror_err_last) } END_TEST +START_TEST(test_sss_strerror_string_validation) +{ + enum sssd_errors idx; + const char *error; + size_t len; + char last_character; + + for (idx = ERR_BASE; idx < ERR_LAST; ++idx) { + error = sss_strerror(idx); + fail_if(error == NULL, "sss_strerror returned NULL for valid index"); + + len = strlen(error); + fail_if(len == 0, "sss_strerror returned empty string"); + + last_character = error[len - 1]; + fail_if(isalpha(last_character) == 0 && last_character != ')', + "Error string [%s] must finish with alphabetic character\n", + error); + } +} +END_TEST + Suite *util_suite(void) { Suite *s = suite_create("util"); @@ -1131,6 +1154,7 @@ Suite *util_suite(void) TCase *tc_sss_strerror = tcase_create("sss_strerror"); tcase_add_test(tc_sss_strerror, test_sss_strerror_err_last); + tcase_add_test(tc_sss_strerror, test_sss_strerror_string_validation); suite_add_tcase (s, tc_util); suite_add_tcase (s, tc_utf8); |