1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-23 21:35:11 +03:00

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 9b5d6bd909)
This commit is contained in:
Thomas Hindoe Paaboel Andersen 2013-02-11 21:40:59 +01:00
parent eb6d233862
commit 8354c34e14
2 changed files with 48 additions and 12 deletions

View File

@ -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;
}

View File

@ -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_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(!first_word("Hello", "Hellooo"));
assert(!first_word("Hello", "xxxxx"));
assert(!first_word("Hellooo", "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();