Many test executables create temporary files in the current work directory for the duration of their execution. This level of test isolation allows more test executables to be invoked several times simultaneously. * tests/.gitignore: Add *.dir, remove *.log.*, *.tmp, *.tmp-*, and *.tmp.* patterns. * tests/Makefile.am (clean-local, clean-local-check): New rules. (.PHONY): Add clean-local-check. (CLEANFILES): Remove all but ksysent.h. * tests/init.sh: Strip test-specific prefix from LOG, OUT, and EXP variables. When invoked from a test, create a new test-specific directory, chdir into it, and add more ../ prefix to STRACE variable. (run_prog): Replace "./" with "../". * tests/attach-f-p.test: Replace "./" with "../". * tests/attach-p-cmd.test: Likewise. * tests/bexecve.test: Likewise. * tests/btrfs-v.test: Likewise. * tests/btrfs-vw.test: Likewise. * tests/btrfs-w.test: Likewise. * tests/count.test: Likewise. * tests/detach-running.test: Likewise. * tests/detach-sleeping.test: Likewise. * tests/detach-stopped.test: Likewise. * tests/mmap.test: Likewise. * tests/net-y-unix.test: Likewise. * tests/net-yy-inet.test: Likewise. * tests/net-yy-netlink.test: Likewise. * tests/net-yy-unix.test: Likewise. * tests/net.test: Likewise. * tests/opipe.test: Likewise. * tests/poll.test: Likewise. * tests/prctl-seccomp-strict.test: Likewise. * tests/qual_fault-exit_group.test: Likewise. * tests/qual_fault.test: Likewise. * tests/qual_inject-error-signal.test: Likewise. * tests/qual_inject-retval.test: Likewise. * tests/qual_inject-signal.test: Likewise. * tests/qual_signal.test: Likewise. * tests/qual_syscall.test: Likewise. * tests/readv.test: Likewise. * tests/redirect-fds.test: Likewise. * tests/sched.test: Likewise. * tests/scm_rights-fd.test: Likewise. * tests/seccomp-strict.test: Likewise. * tests/strace-C.test: Likewise. * tests/strace-E.expected: Likewise. * tests/strace-E.test: Likewise. * tests/strace-S.test: Likewise. * tests/strace-T.test: Likewise. * tests/strace-V.test: Likewise. * tests/strace-ff.test: Likewise. * tests/strace-k.test: Likewise. * tests/strace-r.expected: Likewise. * tests/strace-r.test: Likewise. * tests/strace-t.test: Likewise. * tests/strace-tt.test: Likewise. * tests/strace-ttt.test: Likewise. * tests/sun_path.test: Likewise. * tests/uname.test: Likewise. * tests/unix-pair-send-recv.test: Likewise. * tests/unix-pair-sendto-recvfrom.test: Likewise.
33 lines
694 B
Bash
Executable File
33 lines
694 B
Bash
Executable File
#!/bin/sh
|
|
|
|
# Check -S option.
|
|
|
|
. "${srcdir=.}/init.sh"
|
|
|
|
run_prog ../readv > /dev/null
|
|
|
|
test_c()
|
|
{
|
|
local sortby sortopts sedexpr
|
|
sortby="$1"; shift
|
|
sortopts="$1"; shift
|
|
sedexpr="$1"; shift
|
|
|
|
run_strace -c -w -S "$sortby" ../readv > /dev/null
|
|
sed -r -n -e "$sedexpr" < "$LOG" > "$OUT"
|
|
|
|
[ -s "$OUT" ] ||
|
|
fail_ "$STRACE $args output mismatch"
|
|
LC_ALL=C sort -c $sortopts "$OUT" || {
|
|
echo 'Actual output:'
|
|
cat < "$LOG"
|
|
fail_ "$STRACE $args output not sorted properly"
|
|
}
|
|
}
|
|
|
|
c='[[:space:]]+([^[:space:]]+)'
|
|
test_c calls '-n -r' '/^[[:space:]]+[0-9]/ s/^'"$c$c$c$c"'[[:space:]].*/\4/p'
|
|
test_c name '' '/^[[:space:]]+[0-9]/ s/^'"$c$c$c$c"'([[:space:]]+[0-9]+)?'"$c"'$/\6/p'
|
|
|
|
rm -f "$OUT"
|