Merge pull request #2880 from keszybz/more-tests

Add some simple tests for env_value_is_valid and env_assignment_is_valid
This commit is contained in:
Daniel Mack 2016-03-22 10:23:12 +01:00
commit 99d91109a6
3 changed files with 35 additions and 5 deletions

2
.gitignore vendored
View file

@ -182,7 +182,7 @@
/test-efi-disk.img
/test-ellipsize
/test-engine
/test-env-replace
/test-env-util
/test-escape
/test-event
/test-execute

View file

@ -1421,7 +1421,7 @@ tests += \
test-watchdog \
test-cgroup-mask \
test-job-type \
test-env-replace \
test-env-util \
test-strbuf \
test-strv \
test-path \
@ -2197,10 +2197,10 @@ test_cgroup_util_SOURCES = \
test_cgroup_util_LDADD = \
libshared.la
test_env_replace_SOURCES = \
src/test/test-env-replace.c
test_env_util_SOURCES = \
src/test/test-env-util.c
test_env_replace_LDADD = \
test_env_util_LDADD = \
libshared.la
test_strbuf_SOURCES = \

View file

@ -2,6 +2,7 @@
This file is part of systemd.
Copyright 2010 Lennart Poettering
Copyright 2016 Zbigniew Jędrzejewski-Szmek
systemd is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
@ -177,10 +178,37 @@ static void test_env_name_is_valid(void) {
assert_se(!env_name_is_valid(NULL));
assert_se(!env_name_is_valid(""));
assert_se(!env_name_is_valid("xxx\a"));
assert_se(!env_name_is_valid("xxx\007b"));
assert_se(!env_name_is_valid("\007\009"));
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"));
}
static void test_env_value_is_valid(void) {
assert_se(env_value_is_valid(""));
assert_se(env_value_is_valid("głąb kapuściany"));
assert_se(env_value_is_valid("printf \"\\x1b]0;<mock-chroot>\\x07<mock-chroot>\""));
}
static void test_env_assignment_is_valid(void) {
assert_se(env_assignment_is_valid("a="));
assert_se(env_assignment_is_valid("b=głąb kapuściany"));
assert_se(env_assignment_is_valid("c=\\007\\009\\011"));
assert_se(env_assignment_is_valid("e=printf \"\\x1b]0;<mock-chroot>\\x07<mock-chroot>\""));
assert_se(!env_assignment_is_valid("="));
assert_se(!env_assignment_is_valid("a b="));
assert_se(!env_assignment_is_valid("a ="));
assert_se(!env_assignment_is_valid(" b="));
/* no dots or dashes: http://tldp.org/LDP/abs/html/gotchas.html */
assert_se(!env_assignment_is_valid("a.b="));
assert_se(!env_assignment_is_valid("a-b="));
assert_se(!env_assignment_is_valid("\007=głąb kapuściany"));
assert_se(!env_assignment_is_valid("c\009=\007\009\011"));
assert_se(!env_assignment_is_valid("głąb=printf \"\x1b]0;<mock-chroot>\x07<mock-chroot>\""));
}
int main(int argc, char *argv[]) {
test_strv_env_delete();
test_strv_env_unset();
@ -189,6 +217,8 @@ int main(int argc, char *argv[]) {
test_replace_env_arg();
test_env_clean();
test_env_name_is_valid();
test_env_value_is_valid();
test_env_assignment_is_valid();
return 0;
}