diff options
author | Thomas Hindoe Paaboel Andersen <phomes@gmail.com> | 2013-02-11 21:40:59 +0100 |
---|---|---|
committer | Thomas Hindoe Paaboel Andersen <phomes@gmail.com> | 2013-02-11 22:22:40 +0100 |
commit | 8354c34e14799593c85a638ef543b378ac97c6fe (patch) | |
tree | 2b9afe96b13fc72775b715ce64e3d43a809f9434 /src | |
parent | eb6d233862f33575b6a3e6c21ffaafa3f686248c (diff) |
tests: more tests
tests for:
parse_boolean
env_name_is_valid
Also convert assert to assert_se to make sure they are run even with
optimization. (see commit 9b5d6bd909855543cba75a4469bff6f82845cf0d)
Diffstat (limited to 'src')
-rw-r--r-- | src/test/test-env-replace.c | 10 | ||||
-rw-r--r-- | src/test/test-util.c | 52 |
2 files changed, 49 insertions, 13 deletions
diff --git a/src/test/test-env-replace.c b/src/test/test-env-replace.c index d6cb2892e7..0274e97618 100644 --- a/src/test/test-env-replace.c +++ b/src/test/test-env-replace.c @@ -195,6 +195,15 @@ static void test_env_clean(void) { assert_se(e[5] == NULL); } +static void test_env_name_is_valid(void) { + assert_se(env_name_is_valid("test")); + + assert_se(!env_name_is_valid(NULL)); + assert_se(!env_name_is_valid("")); + assert_se(!env_name_is_valid("5_starting_with_a_number_is_wrong")); + assert_se(!env_name_is_valid("#ยค%&?_only_numbers_letters_and_underscore_allowed")); +} + int main(int argc, char *argv[]) { test_strv_env_delete(); test_strv_env_unset(); @@ -203,6 +212,7 @@ int main(int argc, char *argv[]) { test_replace_env_arg(); test_normalize_env_assignment(); test_env_clean(); + test_env_name_is_valid(); return 0; } diff --git a/src/test/test-util.c b/src/test/test-util.c index ebbdcfc6de..476fa09dbf 100644 --- a/src/test/test-util.c +++ b/src/test/test-util.c @@ -25,22 +25,47 @@ #include "util.h" static void test_streq_ptr(void) { - assert(streq_ptr(NULL, NULL)); - assert(!streq_ptr("abc", "cdef")); + assert_se(streq_ptr(NULL, NULL)); + assert_se(!streq_ptr("abc", "cdef")); } static void test_first_word(void) { - assert(first_word("Hello", "")); - assert(first_word("Hello", "Hello")); - assert(first_word("Hello world", "Hello")); - assert(first_word("Hello\tworld", "Hello")); - assert(first_word("Hello\nworld", "Hello")); - assert(first_word("Hello\rworld", "Hello")); - assert(first_word("Hello ", "Hello")); - - assert(!first_word("Hello", "Hellooo")); - assert(!first_word("Hello", "xxxxx")); - assert(!first_word("Hellooo", "Hello")); + assert_se(first_word("Hello", "")); + assert_se(first_word("Hello", "Hello")); + assert_se(first_word("Hello world", "Hello")); + assert_se(first_word("Hello\tworld", "Hello")); + assert_se(first_word("Hello\nworld", "Hello")); + assert_se(first_word("Hello\rworld", "Hello")); + assert_se(first_word("Hello ", "Hello")); + + assert_se(!first_word("Hello", "Hellooo")); + assert_se(!first_word("Hello", "xxxxx")); + assert_se(!first_word("Hellooo", "Hello")); +} + +static void test_parse_boolean(void) { + assert_se(parse_boolean("1") == 1); + assert_se(parse_boolean("y") == 1); + assert_se(parse_boolean("Y") == 1); + assert_se(parse_boolean("yes") == 1); + assert_se(parse_boolean("YES") == 1); + assert_se(parse_boolean("true") == 1); + assert_se(parse_boolean("TRUE") == 1); + assert_se(parse_boolean("on") == 1); + assert_se(parse_boolean("ON") == 1); + + assert_se(parse_boolean("0") == 0); + assert_se(parse_boolean("n") == 0); + assert_se(parse_boolean("N") == 0); + assert_se(parse_boolean("no") == 0); + assert_se(parse_boolean("NO") == 0); + assert_se(parse_boolean("false") == 0); + assert_se(parse_boolean("FALSE") == 0); + assert_se(parse_boolean("off") == 0); + assert_se(parse_boolean("OFF") == 0); + + assert_se(parse_boolean("garbage") < 0); + assert_se(parse_boolean("") < 0); } static void test_foreach_word_quoted(void) { @@ -75,6 +100,7 @@ static void test_default_term_for_tty(void) { int main(int argc, char *argv[]) { test_streq_ptr(); test_first_word(); + test_parse_boolean(); test_default_term_for_tty(); test_foreach_word_quoted(); |