X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Ftest%2Ftest-util.c;h=1602aa63937c68bdcf3699e011a4db0557ea7d19;hb=0e707326fcecd3968efa7dc827123032f1b2cb61;hp=01b0192c1c912d223909758e967164a0fb55bc25;hpb=f32d2db140150b9d38684a699c9875b6e24ca27c;p=elogind.git diff --git a/src/test/test-util.c b/src/test/test-util.c index 01b0192c1..1602aa639 100644 --- a/src/test/test-util.c +++ b/src/test/test-util.c @@ -490,13 +490,15 @@ 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; + _cleanup_free_ char *a = NULL, *c = NULL, *d = NULL, *f = NULL, *i = NULL, *cwd = NULL, *root = NULL; + _cleanup_free_ char *env = NULL; unsigned long long b; pid_t e; uid_t u; gid_t g; dev_t h; int r; + pid_t me; if (stat("/proc/1/comm", &st) == 0) { assert_se(get_process_comm(1, &a) >= 0); @@ -532,6 +534,20 @@ static void test_get_process_comm(void) { log_info("pid1 gid: "GID_FMT, g); assert_se(g == 0); + me = getpid(); + + r = get_process_cwd(me, &cwd); + assert_se(r >= 0 || r == -EACCES); + log_info("pid1 cwd: '%s'", cwd); + + r = get_process_root(me, &root); + assert_se(r >= 0 || r == -EACCES); + log_info("pid1 root: '%s'", root); + + r = get_process_environ(me, &env); + assert_se(r >= 0 || r == -EACCES); + log_info("self strlen(environ): '%zd'", strlen(env)); + assert_se(get_ctty_devnr(1, &h) == -ENOENT); getenv_for_pid(1, "PATH", &i); @@ -1217,6 +1233,7 @@ static void test_unquote_first_word(void) { p = original = "\'fooo"; assert_se(unquote_first_word(&p, &t, true) > 0); assert_se(streq(t, "fooo")); + free(t); assert_se(p == original + 5); p = original = "yay\'foo\'bar";