diff options
Diffstat (limited to 'tests/restart_syscall.test')
-rwxr-xr-x | tests/restart_syscall.test | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/restart_syscall.test b/tests/restart_syscall.test new file mode 100755 index 00000000..5ae3a1d5 --- /dev/null +++ b/tests/restart_syscall.test @@ -0,0 +1,25 @@ +#!/bin/sh + +# Check how "resuming interrupted nanosleep" works. + +. "${srcdir=.}/init.sh" + +check_prog sleep +check_prog grep +run_strace -enanosleep sleep 1 +grep nanosleep < "$LOG" > /dev/null || + framework_skip_ 'sleep does not use nanosleep' + +./set_ptracer_any sleep 2 & +sleep 1 +run_strace -q -erestart_syscall -p $! + +case "$STRACE_ARCH" in + alpha|mips|or1k|s390|s390x) + # These architectures use the same register + # both for syscall number and syscall return code. + match_diff "$LOG" "$srcdir/restart_syscall_unknown.expected" + ;; + *) match_diff + ;; +esac |