tests: factor out common shell code to functions

Factor out shell code used in several tests to common functions.

* tests/fanotify_mark.expected: New file.
* tests/ioctl.expected: New file.
* tests/net-fd.expected: New file.
* tests/net.expected: New file.
* tests/statfs.expected: New file.
* tests/sun_path.expected: New file.
* tests/uio.expected: New file.
* tests/ipc.sh: New file.
* tests/Makefile.am (EXTRA_DIST): Add them.
* tests/init.sh (dump_log_and_fail_with, run_prog,
run_prog_skip_if_failed, run_strace, run_strace_merge,
match_awk, match_diff, match_grep): New functions.
* tests/*.test: Use them.
diff --git a/tests/uio.test b/tests/uio.test
index 0e8b315..020b97e 100755
--- a/tests/uio.test
+++ b/tests/uio.test
@@ -4,35 +4,8 @@
 
 . "${srcdir=.}/init.sh"
 
-check_prog grep
-
-./uio || {
-	if [ $? -eq 77 ]; then
-		framework_skip_ 'preadv/pwritev syscalls are not available'
-	else
-		fail_ 'uio failed'
-	fi
-}
-
-args="-edesc ./uio"
-$STRACE $args > $LOG 2>&1 || {
-	cat $LOG
-	fail_ "$STRACE $args failed"
-}
-
-grep_log()
-{
-	local syscall="$1"; shift
-
-	LC_ALL=C grep -E -x "$syscall$*" $LOG > /dev/null || {
-		cat $LOG
-		fail_ "$STRACE $args failed to trace \"$syscall\" properly"
-	}
-}
-
-grep_log 'pread(64)?' '\(3, "\\0\\0\\0\\0", 4, 1004211379570065135\) += 4'
-grep_log 'preadv' '\(3, \[{"\\0\\0\\0\\0", 4}\], 1, 1004211379570065135\) += 4'
-grep_log 'pwrite(64)?' '\(3, "\\0\\0\\0\\0", 4, 1004211379570065135\) += 4'
-grep_log 'pwritev' '\(3, \[{"\\0\\0\\0\\0", 4}\], 1, 1004211379570065135\) += 4'
+run_prog
+run_strace -edesc $args
+match_grep
 
 exit 0