diff options
Diffstat (limited to 'tests/test-lib.sh')
-rw-r--r-- | tests/test-lib.sh | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/test-lib.sh b/tests/test-lib.sh index e5eed8db6..d99e3a966 100644 --- a/tests/test-lib.sh +++ b/tests/test-lib.sh @@ -122,6 +122,11 @@ uid_is_privileged_() esac } +get_process_status_() +{ + sed -n '/^State:[ ]*\([[:alpha:]]\).*/s//\1/p' /proc/$1/status +} + # Convert an ls-style permission string, like drwxr----x and -rw-r-x-wx # to the equivalent chmod --mode (-m) argument, (=,u=rwx,g=r,o=x and # =,u=rw,g=rx,o=wx). Ignore ACLs. @@ -234,6 +239,17 @@ of group names or numbers. E.g., esac } +# Is /proc/$PID/status supported? +require_proc_pid_status_() +{ + sleep 2 & + local pid=$! + sleep .5 + grep '^State:[ ]*[S]' /proc/$pid/status > /dev/null 2>&1 || + skip_test_ "/proc/$pid/status: missing or 'different'" + kill $pid +} + # Does the current (working-dir) file system support sparse files? require_sparse_support_() { |