* tests/init.sh (run_strace_match_diff): New function.
* tests/acct.test: Rewrite using run_strace_match_diff.
* tests/aio.test: Likewise.
* tests/alarm.test: Likewise.
* tests/chmod.test: Likewise.
* tests/clock_nanosleep.test: Likewise.
* tests/clock_xettime.test: Likewise.
* tests/copy_file_range.test: Likewise.
* tests/creat.test: Likewise.
* tests/dup.test: Likewise.
* tests/dup2.test: Likewise.
* tests/dup3.test: Likewise.
* tests/epoll_create1.test: Likewise.
* tests/execveat-v.test: Likewise.
* tests/execveat.test: Likewise.
* tests/fchmod.test: Likewise.
* tests/fcntl.test: Likewise.
* tests/file_handle.test: Likewise.
* tests/flock.test: Likewise.
* tests/fork-f.test: Likewise.
* tests/ftruncate.test: Likewise.
* tests/ftruncate64.test: Likewise.
* tests/getcwd.test: Likewise.
* tests/getdents.test: Likewise.
* tests/getdents64.test: Likewise.
* tests/getrandom.test: Likewise.
* tests/getrusage.test: Likewise.
* tests/getxxid.test: Likewise.
* tests/inet-cmsg.test: Likewise.
* tests/init.sh: Likewise.
* tests/membarrier.test: Likewise.
* tests/mincore.test: Likewise.
* tests/mknod.test: Likewise.
* tests/mlock2.test: Likewise.
* tests/mmsg.test: Likewise.
* tests/nanosleep.test: Likewise.
* tests/open.test: Likewise.
* tests/openat.test: Likewise.
* tests/pselect6.test: Likewise.
* tests/readdir.test: Likewise.
* tests/readlink.test: Likewise.
* tests/readv.test: Likewise.
* tests/recvmsg.test: Likewise.
* tests/rename.test: Likewise.
* tests/renameat.test: Likewise.
* tests/rt_sigpending.test: Likewise.
* tests/rt_sigprocmask.test: Likewise.
* tests/rt_sigqueueinfo.test: Likewise.
* tests/rt_sigsuspend.test: Likewise.
* tests/rt_sigtimedwait.test: Likewise.
* tests/rt_tgsigqueueinfo.test: Likewise.
* tests/sched_get_priority_mxx.test: Likewise.
* tests/sched_xetaffinity.test: Likewise.
* tests/sched_xetparam.test: Likewise.
* tests/sched_xetscheduler.test: Likewise.
* tests/seccomp.test: Likewise.
* tests/select.test: Likewise.
* tests/sendfile.test: Likewise.
* tests/sendfile64.test: Likewise.
* tests/splice.test: Likewise.
* tests/statx.sh: Likewise.
* tests/sysinfo.test: Likewise.
* tests/syslog.test: Likewise.
* tests/tee.test: Likewise.
* tests/time.test: Likewise.
* tests/timer_create.test: Likewise.
* tests/timer_xettime.test: Likewise.
* tests/timerfd_xettime.test: Likewise.
* tests/times-fail.test: Likewise.
* tests/times.test: Likewise.
* tests/truncate.test: Likewise.
* tests/truncate64.test: Likewise.
* tests/umask.test: Likewise.
* tests/umount.test: Likewise.
* tests/umount2.test: Likewise.
* tests/userfaultfd.test: Likewise.
* tests/vmsplice.test: Likewise.
* tests/xet_robust_list.test: Likewise.
* tests/xetitimer.test: Likewise.
* tests/xetpgid.test: Likewise.
* tests/xetpriority.test: Likewise.
* tests/xettimeofday.test: Likewise.
# Check acct syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -eacct -a21 $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff -a21
. "${srcdir=.}/init.sh"
-run_prog > /dev/null
syscalls=io_setup,io_submit,io_getevents,io_cancel,io_destroy
-run_strace -a14 -e trace=$syscalls $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a14 -e trace=$syscalls
# Check alarm syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a10 -ealarm $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff -a10
# Check chmod syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a28 -echmod $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a28
#!/bin/sh
-# Check clock_nanosleep syscall decoding.
+# Check clock_nanosleep, clock_gettime, and setitimer syscalls decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-syscalls=clock_nanosleep,clock_gettime,setitimer
-run_strace -e trace=$syscalls $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -e trace=clock_nanosleep,clock_gettime,setitimer
# Check clock_getres, clock_gettime, and clock_settime syscalls decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-syscalls=clock_getres,clock_gettime,clock_settime
-run_strace -a36 -e trace=$syscalls $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a36 -e trace=clock_getres,clock_gettime,clock_settime
# Check copy_file_range syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -ecopy_file_range $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff
# Check creat syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -ecreat -a21 $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff -a21
# Check dup syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -edup -a8 $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff -a8
# Check dup2 syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -edup2 -a13 $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff -a13
# Check dup3 syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -edup3 -a24 $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff -a24
# Check epoll_create1 syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a28 -eepoll_create1 $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a28
# Check verbose decoding of execveat syscall.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -veexecveat $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff -v -e trace=execveat
# Check execveat syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -eexecveat $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff
#!/bin/sh
-. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a16 -efchmod $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+# Check fchmod syscall decoding.
-exit 0
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a16
# Check fcntl decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-syscall=$NAME
-run_strace -a8 -e$syscall $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a8
# Check name_to_handle_at and open_by_handle_at syscalls decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -ename_to_handle_at,open_by_handle_at $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -e trace=name_to_handle_at,open_by_handle_at
# Check flock syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -eflock -a19 $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff -a19
# Check how strace -f follows fork syscall.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a26 -qq -f -echdir -esignal=none $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a26 -qq -f -e trace=chdir -e signal=none
# Check ftruncate syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a24 -eftruncate $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a24
# Check ftruncate64 syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a36 -eftruncate64 $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a36
# Check getcwd syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -egetcwd -a18 $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff -a18
. "${srcdir=.}/init.sh"
rm -rf -- "$LOG".dir
-run_prog > /dev/null
-run_strace -a22 -vegetdents $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a22 -v
. "${srcdir=.}/init.sh"
rm -rf -- "$LOG".dir
-run_prog > /dev/null
-run_strace -a24 -vegetdents64 $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a24 -v
# Check getrandom syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -e getrandom -xx -s3 -a32 $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a32 -xx -s3
# Check getrusage syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -v -egetrusage $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff -v
# Check getxpid, getxuid, and getxgid syscalls decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a10 -egetxpid,getxuid,getxgid $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a10 -e trace=getxpid,getxuid,getxgid
# Check IPPROTO_IP control messages decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -erecvmsg $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -e trace=recvmsg
}
}
+# Usage: run_strace_match_diff [args to run_strace]
+run_strace_match_diff()
+{
+ args="$*"
+ [ -n "$args" -a -z "${args##*-e trace=*}" ] ||
+ set -- -e trace="$NAME" "$@"
+ run_prog > /dev/null
+ run_strace "$@" $args > "$EXP"
+ match_diff "$LOG" "$EXP"
+ rm -f "$EXP"
+}
+
check_prog cat
check_prog rm
# Check membarrier syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a36 -emembarrier $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a36
# Check mincore syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a22 -emincore $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff -a22
# Check mknod syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -emknod -a29 $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff -a29
# Check mlock2 syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -e mlock2 $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff
# Check how iovecs in struct mmsghdr are decoded.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -e trace=recvmmsg,sendmmsg -e read=0 -e write=1 $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -e trace=recvmmsg,sendmmsg -e read=0 -e write=1
#!/bin/sh
-# Check nanosleep syscall decoding.
+# Check nanosleep and setitimer syscalls decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-syscalls=nanosleep,setitimer
-run_strace -a20 -e trace=$syscalls $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a20 -e trace=nanosleep,setitimer
# Check open syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-syscall=$NAME
-sample=$syscall.sample
-run_strace -a30 -e$syscall -P$sample $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff -a30 -P $NAME.sample
# Check openat syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-syscall=$NAME
-sample=$syscall.sample
-run_strace -e$syscall -P$sample $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff -P $NAME.sample
# Check pselect6 syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -e pselect6 $args > "$OUT"
-match_diff "$LOG" "$OUT"
-
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff
. "${srcdir=.}/init.sh"
rm -rf -- "$LOG".dir
-run_prog > /dev/null
-run_strace -a16 -ereaddir $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a16
# Check readlink syscall decoding.
. "${srcdir=.}/init.sh"
-
-syscall=$NAME
-run_prog > /dev/null
-run_strace -xx -e $syscall $args > "$OUT"
-match_diff "$LOG" "$OUT"
-
-rm -f -- "$OUT"
+run_strace_match_diff -xx
# Check decoding of readv and writev syscalls.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a16 -eread=0 -ewrite=1 -ereadv,writev $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a16 -eread=0 -ewrite=1 -e trace=readv,writev
# Check decoding of recvmsg and sendmsg syscalls.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -eread=0 -ewrite=1 -erecvmsg,sendmsg $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -eread=0 -ewrite=1 -e trace=recvmsg,sendmsg
# Check rename syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -erename -a35 $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff -a35
#!/bin/sh
-# Check rename syscall decoding.
+# Check renameat syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -erenameat $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff
# Check rt_sigpending syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a20 -ert_sigpending $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff -a20
# Check rt_sigprocmask syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -ert_sigprocmask $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff
# Check decoding of rt_sigqueueinfo syscall
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -ert_sigqueueinfo -esignal=none $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -esignal=none
# Check rt_sigsuspend syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a20 -ert_sigsuspend -esignal=none $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff -a20 -esignal=none
# Check rt_sigtimedwait syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a38 -ert_sigtimedwait $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff -a38
# Check decoding of rt_tgsigqueueinfo syscall
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -ert_tgsigqueueinfo -esignal=none $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff -esignal=none
# Check sched_get_priority_min and sched_get_priority_max syscalls decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -esched_get_priority_min,sched_get_priority_max -a33 $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff -a33 -e trace=sched_get_priority_min,sched_get_priority_max
# Check sched_getaffinity and sched_setaffinity syscalls decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a28 -esched_getaffinity,sched_setaffinity $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a28 -e trace=sched_getaffinity,sched_setaffinity
# Check sched_getparam and sched_setparam syscalls decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -esched_getparam,sched_setparam -a23 $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff -a23 -e trace=sched_getparam,sched_setparam
# Check sched_getscheduler and sched_setscheduler syscalls decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -esched_getscheduler,sched_setscheduler -a22 $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff -a22 -e trace=sched_getscheduler,sched_setscheduler
# Check how SECCOMP_MODE_FILTER is decoded.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -veprctl $args > "$OUT"
-match_diff "$LOG" "$OUT"
-
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -v -e trace=prctl
# Check select syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-syscall=$NAME
-run_strace -a36 -e$syscall $args > "$OUT"
-match_diff "$LOG" "$OUT"
-
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a36
# Check sendfile syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a24 -esendfile $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a27
# Check sendfile64 syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a24 -esendfile64 $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a29
# Check splice syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -esplice $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff
# Check decoding of stat family syscalls.
. "${srcdir=.}/init.sh"
-
-syscall=$NAME
-run_prog > /dev/null
-run_strace -ve$syscall -P$syscall.sample $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -v -P $NAME.sample
# Check decoding of sysinfo syscall
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a14 -esysinfo $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a14
# Check syslog syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -esyslog -a36 $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff -a36
# Check tee syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -etee $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff
# Check time syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a10 -etime $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a10
# Check timer_create syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -e timer_create $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff
#!/bin/sh
-# Check timer_settime and timer_gettime syscalls decoding.
+# Check timer_create, timer_settime, and timer_gettime syscalls decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-syscalls=timer_create,timer_settime,timer_gettime
-run_strace -e trace=$syscalls $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -e trace=timer_create,timer_settime,timer_gettime
# Check timerfd_create, timerfd_settime, and timerfd_gettime syscalls decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-syscalls=timerfd_create,timerfd_settime,timerfd_gettime
-run_strace -e trace=$syscalls $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -e trace=timerfd_create,timerfd_settime,timerfd_gettime
# Check decoding of failing times syscall
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a12 -etimes $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a12 -e trace=times
# Check decoding of times syscall
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -etimes -esignal=none $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -esignal=none
# Check truncate syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -etruncate $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff
# Check truncate64 syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -etruncate64 $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff
# Check umask syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -eumask -a11 $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff -a11
. "${srcdir=.}/init.sh"
-run_prog > /dev/null
case "$STRACE_ARCH" in
alpha) syscall=oldumount ;;
*) syscall=umount ;;
esac
-run_strace -a24 -s6 -e$syscall $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a24 -s6 -e trace=$syscall
. "${srcdir=.}/init.sh"
-run_prog > /dev/null
case "$STRACE_ARCH" in
alpha|ia64) syscall=umount ;;
*) syscall=umount2 ;;
esac
-run_strace -s7 -e$syscall $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -s7 -e trace=$syscall
# Check userfaultfd syscall decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a38 -euserfaultfd $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a38
# Check decoding of vmsplice syscall.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -ewrite=1 -evmsplice $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff -ewrite=1
# Check get_robust_list and set_robust_list syscalls decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a24 -eget_robust_list,set_robust_list $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a24 -e trace=get_robust_list,set_robust_list
# Check setitimer and getitimer syscalls decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-syscalls=setitimer,getitimer
-run_strace -e trace=$syscalls $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -e trace=setitimer,getitimer
# Check getpgid and setpgid syscalls decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a11 -egetpgid,setpgid $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff -a11 -e trace=getpgid,setpgid
# Check getpriority and setpriority syscalls decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -egetpriority,setpriority -a29 $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace_match_diff -a29 -e trace=getpriority,setpriority
# Check gettimeofday and settimeofday syscalls decoding.
. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-syscalls=gettimeofday,settimeofday
-run_strace -a20 -e trace=$syscalls $args > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a20 -e trace=gettimeofday,settimeofday