X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Ftest%2Ftest-util.c;h=dd7768d36c5652720fb64c9590683c7411628da0;hb=4bcc8c3cb57733de6eeb2528a194501fade11e6b;hp=4768310fbed20f1ef0a4a778cf2b928e6628d1ab;hpb=b4ecc959733d9d258d8ed0e8179368ee844a5578;p=elogind.git diff --git a/src/test/test-util.c b/src/test/test-util.c index 4768310fb..dd7768d36 100644 --- a/src/test/test-util.c +++ b/src/test/test-util.c @@ -192,41 +192,40 @@ static void test_safe_atod(void) { } static void test_strappend(void) { - _cleanup_free_ char *t1, *t2, *t3, *t4; + _cleanup_free_ char *t1, *t2, *t3, *t4; - t1 = strappend(NULL, NULL); - assert_se(streq(t1, "")); + t1 = strappend(NULL, NULL); + assert_se(streq(t1, "")); - t2 = strappend(NULL, "suf"); - assert_se(streq(t2, "suf")); + t2 = strappend(NULL, "suf"); + assert_se(streq(t2, "suf")); - t3 = strappend("pre", NULL); - assert_se(streq(t3, "pre")); + t3 = strappend("pre", NULL); + assert_se(streq(t3, "pre")); - t4 = strappend("pre", "suf"); - assert_se(streq(t4, "presuf")); + t4 = strappend("pre", "suf"); + assert_se(streq(t4, "presuf")); } static void test_strstrip(void) { - char *r; - char input[] = " hello, waldo. "; - - r = strstrip(input); - assert_se(streq(r, "hello, waldo.")); + char *r; + char input[] = " hello, waldo. "; + r = strstrip(input); + assert_se(streq(r, "hello, waldo.")); } static void test_delete_chars(void) { - char *r; - char input[] = " hello, waldo. abc"; + char *r; + char input[] = " hello, waldo. abc"; - r = delete_chars(input, WHITESPACE); - assert_se(streq(r, "hello,waldo.abc")); + r = delete_chars(input, WHITESPACE); + assert_se(streq(r, "hello,waldo.abc")); } static void test_in_charset(void) { - assert_se(in_charset("dddaaabbbcccc", "abcd")); - assert_se(!in_charset("dddaaabbbcccc", "abc f")); + assert_se(in_charset("dddaaabbbcccc", "abcd")); + assert_se(!in_charset("dddaaabbbcccc", "abc f")); } static void test_hexchar(void) { @@ -398,6 +397,7 @@ static void test_u64log2(void) { } static void test_get_process_comm(void) { + struct stat st; _cleanup_free_ char *a = NULL, *c = NULL, *d = NULL, *f = NULL, *i = NULL; unsigned long long b; pid_t e; @@ -406,8 +406,12 @@ static void test_get_process_comm(void) { dev_t h; int r; - assert_se(get_process_comm(1, &a) >= 0); - log_info("pid1 comm: '%s'", a); + if (stat("/proc/1/comm", &st) == 0) { + assert_se(get_process_comm(1, &a) >= 0); + log_info("pid1 comm: '%s'", a); + } else { + log_warning("/proc/1/comm does not exist."); + } assert_se(get_starttime_of_pid(1, &b) >= 0); log_info("pid1 starttime: '%llu'", b); @@ -521,6 +525,28 @@ static void test_parse_user_at_host(void) { assert_se(streq(host, "mikescomputer")); } +static void test_split_pair(void) { + _cleanup_free_ char *a = NULL, *b = NULL; + + assert_se(split_pair("", "", &a, &b) == -EINVAL); + assert_se(split_pair("foo=bar", "", &a, &b) == -EINVAL); + assert_se(split_pair("", "=", &a, &b) == -EINVAL); + assert_se(split_pair("foo=bar", "=", &a, &b) >= 0); + assert_se(streq(a, "foo")); + assert_se(streq(b, "bar")); + free(a); + free(b); + assert_se(split_pair("==", "==", &a, &b) >= 0); + assert_se(streq(a, "")); + assert_se(streq(b, "")); + free(a); + free(b); + + assert_se(split_pair("===", "==", &a, &b) >= 0); + assert_se(streq(a, "")); + assert_se(streq(b, "=")); +} + int main(int argc, char *argv[]) { test_streq_ptr(); test_first_word(); @@ -555,6 +581,7 @@ int main(int argc, char *argv[]) { test_strextend(); test_strrep(); test_parse_user_at_host(); + test_split_pair(); return 0; }