chiark / gitweb /
util: add functions getting proc cwd and root
[elogind.git] / src / test / test-util.c
index 01e10c9fc1f8e68a1712b7f33f6e585b5055293d..b33e15aef0672b386c67d56613d9ec579e404da5 100644 (file)
@@ -490,13 +490,14 @@ 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;
         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 +533,16 @@ 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);
+
         assert_se(get_ctty_devnr(1, &h) == -ENOENT);
 
         getenv_for_pid(1, "PATH", &i);