diff options
author | Giuseppe Scrivano <gscrivano@gnu.org> | 2009-06-02 08:28:23 +0200 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2009-06-15 18:34:14 +0200 |
commit | ae494d4be80df2aff50a2ac46fdc0c23de109ea3 (patch) | |
tree | ca567ba9ae1d870b139778df835707eb1e358ee2 /tests/test-lib.sh | |
parent | 358aca5fb9cb67c593aa5f1ddf166dbefcf55f0c (diff) | |
download | coreutils-ae494d4be80df2aff50a2ac46fdc0c23de109ea3.tar.xz |
tail: use inotify if it is available
* NEWS: Document the new feature.
* m4/jm-macros.m4: Check if inotify is present.
* src/tail.c (tail_forever_inotify): New function.
(main): Use the inotify-based function, if possible.
* tests/Makefile.am: Add new tests for tail.
* tests/test-lib.sh (require_proc_pid_status_, get_process_status_):
New functions.
* tests/tail-2/pid: New file.
* tests/tail-2/wait: New file.
* tests/tail-2/tail-n0f: Refactor code into the test-lib.sh
require_proc_pid_status_ function.
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_() { |