]> granicus.if.org Git - strace/commitdiff
tests: do not skip tests when timeout utility is not available
authorDmitry V. Levin <ldv@altlinux.org>
Wed, 8 May 2013 01:39:55 +0000 (01:39 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Wed, 8 May 2013 01:54:32 +0000 (01:54 +0000)
* tests/init.sh (check_timeout): New function.
* tests/ptrace_setoptions: Use it.
* tests/qual_syscall: Likewise.
* tests/stat: Likewise.
* tests/strace-f: Likewise.

tests/init.sh
tests/ptrace_setoptions
tests/qual_syscall
tests/stat
tests/strace-f

index a4b537ce48e9a8cbdc22456c42a08ce491330b5e..db7f1025952416d996053318de4d91fb331d584f 100644 (file)
@@ -2,8 +2,6 @@
 
 ME_="${0##*/}"
 
-check_timeout=60
-
 warn_() { printf >&2 '%s\n' "$*"; }
 fail_() { warn_ "$ME_: failed test: $*"; exit 1; }
 skip_() { warn_ "$ME_: skipped test: $*"; exit 77; }
@@ -22,3 +20,11 @@ check_strace()
        $STRACE -V > /dev/null ||
                framework_failure_ "$STRACE is not available"
 }
+
+timeout_duration=60
+check_timeout()
+{
+       TIMEOUT="timeout -s 9 $timeout_duration"
+       $TIMEOUT true > /dev/null 2>&1 ||
+               TIMEOUT=
+}
index 7511047cf9f9d56ead252fc4da6214725d20e65e..38a2a0235f611d38482e38c12b9388521c4b8101 100755 (executable)
@@ -13,19 +13,16 @@ case "$(uname -r)" in
 esac
 
 check_strace
-check_prog timeout
+check_timeout
 
-timeout -s 9 $check_timeout \
-$STRACE -df -enone / 2>&1 |
+$TIMEOUT $STRACE -df -enone / 2>&1 |
        grep -F -x 'ptrace_setoptions = 0xe' > /dev/null ||
                fail_ 'strace -f failed to recognize proper kernel PTRACE_O_TRACECLONE support'
 
-timeout -s 9 $check_timeout \
-$STRACE -df -enone / 2>&1 |
+$TIMEOUT $STRACE -df -enone / 2>&1 |
        grep -F -x 'ptrace_setoptions = 0x1f' > /dev/null ||
                fail_ 'strace -f failed to recognize proper kernel PTRACE_O_TRACESYSGOOD support'
 
-timeout -s 9 $check_timeout \
-$STRACE -d -enone / 2>&1 |
+$TIMEOUT $STRACE -d -enone / 2>&1 |
        grep -F -x 'ptrace_setoptions = 0x11' > /dev/null ||
                fail_ 'strace failed to recognize proper kernel PTRACE_O_TRACESYSGOOD support'
index a0ac02969aabe34ef7a61f681e79c9b88871bc51..f382f1abb2c7bcac95a63b4950e2430939471e9f 100755 (executable)
@@ -5,12 +5,11 @@
 . "${srcdir=.}/init.sh"
 
 check_strace
-check_prog timeout
+check_timeout
 check_prog ls
 check_prog grep
 
-timeout -s 9 $check_timeout \
-$STRACE -e execve ls > /dev/null 2> check.log &&
+$TIMEOUT $STRACE -e execve ls > /dev/null 2> check.log &&
 grep '^execve(' check.log > /dev/null ||
        { cat check.log; fail_ 'strace -e execve does not work'; }
 
@@ -18,8 +17,7 @@ grep -v '^execve(' check.log |
 LC_ALL=C grep '^[[:alnum:]_]*(' > /dev/null &&
        { cat check.log; fail_ 'strace -e execve does not work properly'; }
 
-timeout -s 9 $check_timeout \
-$STRACE -e trace=process ls > /dev/null 2> check.log &&
+$TIMEOUT $STRACE -e trace=process ls > /dev/null 2> check.log &&
 grep '^execve(' check.log > /dev/null ||
        { cat check.log; fail_ 'strace -e trace=process does not work'; }
 
index 69fa5bf7049f18409058bbc2c09aefa6f807e38e..e0fc37997be1f7cde738983534af54e85443875e 100755 (executable)
@@ -5,11 +5,11 @@
 . "${srcdir=.}/init.sh"
 
 check_strace
+check_timeout
 check_prog dd
 check_prog find
 check_prog grep
 check_prog rm
-check_prog timeout
 
 umask 022
 truncate_cmd='dd seek=46118400000 obs=1 count=0 if=/dev/null of=sample'
@@ -17,21 +17,18 @@ $truncate_cmd > check.log 2>&1 ||
        { cat check.log; framework_skip_ 'failed to create a large sparse file'; }
 rm -f sample
 
-timeout -s 9 $check_timeout \
-$STRACE -edesc $truncate_cmd 2>&1 > /dev/null 2> check.log &&
+$TIMEOUT $STRACE -edesc $truncate_cmd 2>&1 > /dev/null 2> check.log &&
 LC_ALL=C grep -E -x 'ftruncate(64)?\(1, 46118400000\) += 0' check.log > /dev/null ||
        { cat check.log; fail_ 'strace -edesc failed to trace ftruncate/ftruncate64 properly'; }
 
 LC_ALL=C grep -E -x 'lseek\(1, 46118400000, SEEK_CUR\) += 46118400000|_llseek\(1, 46118400000, \[46118400000\], SEEK_CUR\) += 0' check.log > /dev/null ||
        { cat check.log; fail_ 'strace -edesc failed to trace lseek/_llseek properly'; }
 
-timeout -s 9 $check_timeout \
-$STRACE -efile find -L sample > /dev/null 2> check.log &&
+$TIMEOUT $STRACE -efile find -L sample > /dev/null 2> check.log &&
 LC_ALL=C grep -E -x 'stat(64)?\("sample", \{st_mode=S_IFREG\|0644, st_size=46118400000, \.\.\.\}\) += 0|(new)?fstatat(64)?\(AT_FDCWD, "sample", \{st_mode=S_IFREG\|0644, st_size=46118400000, \.\.\.\}, 0\) += 0' check.log > /dev/null ||
        { cat check.log; fail_ 'strace -efile failed to trace stat/stat64 properly'; }
 
-timeout -s 9 $check_timeout \
-$STRACE -efile find sample > /dev/null 2> check.log &&
+$TIMEOUT $STRACE -efile find sample > /dev/null 2> check.log &&
 LC_ALL=C grep -E -x 'lstat(64)?\("sample", \{st_mode=S_IFREG\|0644, st_size=46118400000, \.\.\.\}\) += 0|(new)?fstatat(64)?\(AT_FDCWD, "sample", \{st_mode=S_IFREG\|0644, st_size=46118400000, \.\.\.\}, AT_SYMLINK_NOFOLLOW\) += 0' check.log > /dev/null ||
        { cat check.log; fail_ 'strace -efile failed to trace fstatat/fstatat64 properly'; }
 
index 7b395526be19dba74c2faf8eff3279345a312677..0f76afc1ea4c2f4f042cdf50c90c3feab9dee52d 100755 (executable)
@@ -5,10 +5,9 @@
 . "${srcdir=.}/init.sh"
 
 check_strace
-check_prog timeout
+check_timeout
 time=/usr/bin/time
 check_prog $time
 
-timeout -s 9 $check_timeout \
-$STRACE -f $time /bin/ls > check.log 2>&1 ||
+$TIMEOUT $STRACE -f $time /bin/ls > check.log 2>&1 ||
        { cat check.log; fail_ 'strace -f does not work'; }