summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Hindoe Paaboel Andersen <phomes@gmail.com>2013-02-11 21:40:59 +0100
committerThomas Hindoe Paaboel Andersen <phomes@gmail.com>2013-02-11 22:22:40 +0100
commit8354c34e14799593c85a638ef543b378ac97c6fe (patch)
tree2b9afe96b13fc72775b715ce64e3d43a809f9434
parenteb6d233862f33575b6a3e6c21ffaafa3f686248c (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)
-rw-r--r--src/test/test-env-replace.c10
-rw-r--r--src/test/test-util.c52
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();