Convert test scripts that follow simple testing patterns to a table.
Generate all these scripts from gen_tests.in file using gen_tests.sh
script at bootstrap time.
The largest set of test scripts has been converted using
the following command:
grep -l ^run_strace_match_diff *.test |while read f; do
n="${f%.test}"
grep '^[^#]' "$f" |
grep -Evq '^(\. "\${srcdir=\.}/init\.sh"|run_strace_match_diff)' ||
sed -n 's/^run_strace_match_diff\(.*\)/'$n'\1/p' "$f"
done
The second largest set of test scripts has been converted using
the following command:
grep -l srcdir= *.test |while read f; do
n="${f%.test}"
grep '^[^#]' "$f" |
grep -Fvq srcdir= ||
sed -n 's/^. "\${srcdir=.}\/\([^"]\+\)".*/'$n'\t+\1/p' "$f"
done
* tests/gen_tests.in: New file.
* tests/gen_tests.sh: New file.
* bootstrap: Invoke it.
* tests/.gitignore: Add *.gen.test and gen_tests.am.
* tests/_newselect.test: Remove.
* tests/accept.test: Ditto.
* tests/accept4.test: Ditto.
* tests/access.test: Ditto.
* tests/acct.test: Ditto.
* tests/add_key.test: Ditto.
* tests/adjtimex.test: Ditto.
* tests/aio.test: Ditto.
* tests/alarm.test: Ditto.
* tests/bpf.test: Ditto.
* tests/btrfs.test: Ditto.
* tests/chmod.test: Ditto.
* tests/chown.test: Ditto.
* tests/chown32.test: Ditto.
* tests/chroot.test: Ditto.
* tests/clock_adjtime.test: Ditto.
* tests/clock_nanosleep.test: Ditto.
* tests/clock_xettime.test: Ditto.
* tests/copy_file_range.test: Ditto.
* tests/creat.test: Ditto.
* tests/delete_module.test: Ditto.
* tests/dup.test: Ditto.
* tests/dup2.test: Ditto.
* tests/dup3.test: Ditto.
* tests/epoll_create.test: Ditto.
* tests/epoll_create1.test: Ditto.
* tests/epoll_ctl.test: Ditto.
* tests/epoll_pwait.test: Ditto.
* tests/epoll_wait.test: Ditto.
* tests/erestartsys.test: Ditto.
* tests/execveat-v.test: Ditto.
* tests/execveat.test: Ditto.
* tests/faccessat.test: Ditto.
* tests/fadvise64_64.test: Ditto.
* tests/fallocate.test: Ditto.
* tests/fanotify_init.test: Ditto.
* tests/fanotify_mark.test: Ditto.
* tests/fchdir.test: Ditto.
* tests/fchmod.test: Ditto.
* tests/fchmodat.test: Ditto.
* tests/fchown.test: Ditto.
* tests/fchown32.test: Ditto.
* tests/fchownat.test: Ditto.
* tests/fcntl.test: Ditto.
* tests/fcntl64.test: Ditto.
* tests/fdatasync.test: Ditto.
* tests/file_handle.test: Ditto.
* tests/file_ioctl.test: Ditto.
* tests/finit_module.test: Ditto.
* tests/flock.test: Ditto.
* tests/fork-f.test: Ditto.
* tests/fstat64.test: Ditto.
* tests/fstatat64.test: Ditto.
* tests/fstatfs.test: Ditto.
* tests/fstatfs64.test: Ditto.
* tests/fsync.test: Ditto.
* tests/ftruncate.test: Ditto.
* tests/ftruncate64.test: Ditto.
* tests/futimesat.test: Ditto.
* tests/get_mempolicy.test: Ditto.
* tests/getcpu.test: Ditto.
* tests/getcwd.test: Ditto.
* tests/getdents.test: Ditto.
* tests/getdents64.test: Ditto.
* tests/getegid.test: Ditto.
* tests/getegid32.test: Ditto.
* tests/geteuid.test: Ditto.
* tests/geteuid32.test: Ditto.
* tests/getgid.test: Ditto.
* tests/getgid32.test: Ditto.
* tests/getgroups.test: Ditto.
* tests/getgroups32.test: Ditto.
* tests/getpeername.test: Ditto.
* tests/getpgrp.test: Ditto.
* tests/getrandom.test: Ditto.
* tests/getresgid.test: Ditto.
* tests/getresgid32.test: Ditto.
* tests/getresuid.test: Ditto.
* tests/getresuid32.test: Ditto.
* tests/getrlimit.test: Ditto.
* tests/getrusage.test: Ditto.
* tests/getsid.test: Ditto.
* tests/getsockname.test: Ditto.
* tests/getuid32.test: Ditto.
* tests/getxxid.test: Ditto.
* tests/inet-cmsg.test: Ditto.
* tests/init_module.test: Ditto.
* tests/inotify.test: Ditto.
* tests/inotify_init1.test: Ditto.
* tests/int_0x80.test: Ditto.
* tests/ioctl_block.test: Ditto.
* tests/ioctl_evdev.test: Ditto.
* tests/ioctl_loop.test: Ditto.
* tests/ioctl_mtd.test: Ditto.
* tests/ioctl_rtc.test: Ditto.
* tests/ioctl_scsi.test: Ditto.
* tests/ioctl_sg_io_v3.test: Ditto.
* tests/ioctl_sg_io_v4.test: Ditto.
* tests/ioctl_uffdio.test: Ditto.
* tests/ioctl_v4l2.test: Ditto.
* tests/ioperm.test: Ditto.
* tests/iopl.test: Ditto.
* tests/ioprio.test: Ditto.
* tests/ip_mreq.test: Ditto.
* tests/ipc.test: Ditto.
* tests/ipc_msg.test: Ditto.
* tests/ipc_sem.test: Ditto.
* tests/ipc_shm.test: Ditto.
* tests/kcmp.test: Ditto.
* tests/kexec_file_load.test: Ditto.
* tests/kexec_load.test: Ditto.
* tests/keyctl.test: Ditto.
* tests/kill.test: Ditto.
* tests/lchown.test: Ditto.
* tests/lchown32.test: Ditto.
* tests/link.test: Ditto.
* tests/linkat.test: Ditto.
* tests/lookup_dcookie.test: Ditto.
* tests/lstat.test: Ditto.
* tests/lstat64.test: Ditto.
* tests/mbind.test: Ditto.
* tests/membarrier.test: Ditto.
* tests/memfd_create.test: Ditto.
* tests/migrate_pages.test: Ditto.
* tests/mincore.test: Ditto.
* tests/mkdir.test: Ditto.
* tests/mkdirat.test: Ditto.
* tests/mknod.test: Ditto.
* tests/mknodat.test: Ditto.
* tests/mlock.test: Ditto.
* tests/mlock2.test: Ditto.
* tests/mlockall.test: Ditto.
* tests/mmap64.test: Ditto.
* tests/mmsg-silent.test: Ditto.
* tests/mmsg.test: Ditto.
* tests/mmsg_name-v.test: Ditto.
* tests/mmsg_name.test: Ditto.
* tests/mount.test: Ditto.
* tests/move_pages.test: Ditto.
* tests/mq.test: Ditto.
* tests/mq_sendrecv-read.test: Ditto.
* tests/mq_sendrecv-write.test: Ditto.
* tests/mq_sendrecv.test: Ditto.
* tests/msg_control-v.test: Ditto.
* tests/msg_control.test: Ditto.
* tests/msg_name.test: Ditto.
* tests/munlockall.test: Ditto.
* tests/nanosleep.test: Ditto.
* tests/net-icmp_filter.test: Ditto.
* tests/net-sockaddr.test: Ditto.
* tests/newfstatat.test: Ditto.
* tests/old_mmap.test: Ditto.
* tests/oldfstat.test: Ditto.
* tests/oldlstat.test: Ditto.
* tests/oldstat.test: Ditto.
* tests/open.test: Ditto.
* tests/openat.test: Ditto.
* tests/pause.test: Ditto.
* tests/perf_event_open.test: Ditto.
* tests/perf_event_open_nonverbose.test: Ditto.
* tests/perf_event_open_unabbrev.test: Ditto.
* tests/pipe2.test: Ditto.
* tests/pkey_alloc.test: Ditto.
* tests/pkey_free.test: Ditto.
* tests/pkey_mprotect.test: Ditto.
* tests/ppoll-v.test: Ditto.
* tests/ppoll.test: Ditto.
* tests/preadv-pwritev.test: Ditto.
* tests/preadv.test: Ditto.
* tests/preadv2-pwritev2.test: Ditto.
* tests/printstr.test: Ditto.
* tests/prlimit64.test: Ditto.
* tests/process_vm_readv.test: Ditto.
* tests/process_vm_writev.test: Ditto.
* tests/pselect6.test: Ditto.
* tests/ptrace.test: Ditto.
* tests/pwritev.test: Ditto.
* tests/quotactl-v.test: Ditto.
* tests/quotactl-xfs-v.test: Ditto.
* tests/quotactl-xfs.test: Ditto.
* tests/quotactl.test: Ditto.
* tests/readahead.test: Ditto.
* tests/readdir.test: Ditto.
* tests/readlink.test: Ditto.
* tests/readlinkat.test: Ditto.
* tests/reboot.test: Ditto.
* tests/recvfrom.test: Ditto.
* tests/recvmmsg-timeout.test: Ditto.
* tests/recvmsg.test: Ditto.
* tests/remap_file_pages.test: Ditto.
* tests/rename.test: Ditto.
* tests/renameat.test: Ditto.
* tests/renameat2.test: Ditto.
* tests/request_key.test: Ditto.
* tests/rmdir.test: Ditto.
* tests/rt_sigpending.test: Ditto.
* tests/rt_sigprocmask.test: Ditto.
* tests/rt_sigqueueinfo.test: Ditto.
* tests/rt_sigreturn.test: Ditto.
* tests/rt_sigsuspend.test: Ditto.
* tests/rt_sigtimedwait.test: Ditto.
* tests/rt_tgsigqueueinfo.test: Ditto.
* tests/sched_get_priority_mxx.test: Ditto.
* tests/sched_rr_get_interval.test: Ditto.
* tests/sched_xetaffinity.test: Ditto.
* tests/sched_xetattr.test: Ditto.
* tests/sched_xetparam.test: Ditto.
* tests/sched_xetscheduler.test: Ditto.
* tests/sched_yield.test: Ditto.
* tests/seccomp-filter-v.test: Ditto.
* tests/seccomp-filter.test: Ditto.
* tests/select.test: Ditto.
* tests/semop.test: Ditto.
* tests/sendfile.test: Ditto.
* tests/sendfile64.test: Ditto.
* tests/set_mempolicy.test: Ditto.
* tests/setdomainname.test: Ditto.
* tests/setfsgid.test: Ditto.
* tests/setfsgid32.test: Ditto.
* tests/setfsuid.test: Ditto.
* tests/setfsuid32.test: Ditto.
* tests/setgid.test: Ditto.
* tests/setgid32.test: Ditto.
* tests/setgroups.test: Ditto.
* tests/setgroups32.test: Ditto.
* tests/sethostname.test: Ditto.
* tests/setns.test: Ditto.
* tests/setregid.test: Ditto.
* tests/setregid32.test: Ditto.
* tests/setresgid.test: Ditto.
* tests/setresgid32.test: Ditto.
* tests/setresuid.test: Ditto.
* tests/setresuid32.test: Ditto.
* tests/setreuid.test: Ditto.
* tests/setreuid32.test: Ditto.
* tests/setrlimit.test: Ditto.
* tests/setuid.test: Ditto.
* tests/setuid32.test: Ditto.
* tests/shutdown.test: Ditto.
* tests/siginfo.test: Ditto.
* tests/signal_receive.test: Ditto.
* tests/signalfd4.test: Ditto.
* tests/sigreturn.test: Ditto.
* tests/socketcall.test: Ditto.
* tests/splice.test: Ditto.
* tests/stat.test: Ditto.
* tests/stat64.test: Ditto.
* tests/statfs64.test: Ditto.
* tests/statx.sh: Ditto.
* tests/statx.test: Ditto.
* tests/swap.test: Ditto.
* tests/symlink.test: Ditto.
* tests/symlinkat.test: Ditto.
* tests/sync.test: Ditto.
* tests/sync_file_range.test: Ditto.
* tests/sync_file_range2.test: Ditto.
* tests/sysinfo.test: Ditto.
* tests/syslog.test: Ditto.
* tests/tee.test: Ditto.
* tests/time.test: Ditto.
* tests/timer_create.test: Ditto.
* tests/timer_xettime.test: Ditto.
* tests/timerfd_xettime.test: Ditto.
* tests/times-fail.test: Ditto.
* tests/times.test: Ditto.
* tests/truncate.test: Ditto.
* tests/truncate64.test: Ditto.
* tests/ugetrlimit.test: Ditto.
* tests/umask.test: Ditto.
* tests/umoven-illptr.test: Ditto.
* tests/umovestr-illptr.test: Ditto.
* tests/umovestr3.test: Ditto.
* tests/unlink.test: Ditto.
* tests/unlinkat.test: Ditto.
* tests/unshare.test: Ditto.
* tests/userfaultfd.test: Ditto.
* tests/ustat.test: Ditto.
* tests/utime.test: Ditto.
* tests/utimes.test: Ditto.
* tests/vfork-f.test: Ditto.
* tests/vhangup.test: Ditto.
* tests/vmsplice.test: Ditto.
* tests/wait4-v.test: Ditto.
* tests/wait4.test: Ditto.
* tests/waitid-v.test: Ditto.
* tests/waitid.test: Ditto.
* tests/waitpid.test: Ditto.
* tests/xattr-strings.test: Ditto.
* tests/xet_robust_list.test: Ditto.
* tests/xetitimer.test: Ditto.
* tests/xetpgid.test: Ditto.
* tests/xetpriority.test: Ditto.
* tests/xettimeofday.test: Ditto.
* tests/Makefile.am (DECODER_TESTS, MISC_TESTS): Remove them.
Include gen_tests.am.
(TESTS): Add $(GEN_TESTS).
(XFAIL_TESTS_x86_64, XFAIL_TESTS_x32): Rename int_0x80.test
to int_0x80.gen.test.
(EXTRA_DIST): Add gen_tests.in and gen_tests.sh, remove statx.sh.
(clean-local-check): Remove $(GEN_TESTS:.gen.test=.dir).
#!/bin/sh -eu
+./generate_mpers_am.sh
+./xlat/gen.sh
+./tests/gen_tests.sh
+
for m in m32 mx32; do
tests=tests-$m
rm -rf $tests
done
done
-./generate_mpers_am.sh
-./xlat/gen.sh
-
exec autoreconf -f -i "$@"
*.dir
+*.gen.test
*.log
*.o
*.trs
ftruncate64
futex
futimesat
+gen_tests.am
get_mempolicy
getcpu
getcwd
stack_fcall_SOURCES = stack-fcall.c \
stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c
+include gen_tests.am
+
if USE_LIBUNWIND
LIBUNWIND_TESTS = strace-k.test
else
endif
DECODER_TESTS = \
- _newselect.test \
- accept.test \
- accept4.test \
- access.test \
- acct.test \
- add_key.test \
- adjtimex.test \
- aio.test \
- alarm.test \
- bpf.test \
brk.test \
btrfs-v.test \
btrfs-vw.test \
btrfs-w.test \
- btrfs.test \
caps-abbrev.test \
caps.test \
- chmod.test \
- chown.test \
- chown32.test \
- chroot.test \
- clock_adjtime.test \
- clock_nanosleep.test \
- clock_xettime.test \
- copy_file_range.test \
- creat.test \
- delete_module.test \
- dup.test \
- dup2.test \
- dup3.test \
- epoll_create.test \
- epoll_create1.test \
- epoll_ctl.test \
- epoll_pwait.test \
- epoll_wait.test \
- erestartsys.test \
eventfd.test \
execve-v.test \
execve.test \
- execveat-v.test \
- execveat.test \
- faccessat.test \
fadvise64.test \
- fadvise64_64.test \
- fallocate.test \
- fanotify_init.test \
- fanotify_mark.test \
- fchdir.test \
- fchmod.test \
- fchmodat.test \
- fchown.test \
- fchown32.test \
- fchownat.test \
- fcntl.test \
- fcntl64.test \
- fdatasync.test \
- file_handle.test \
- file_ioctl.test \
- finit_module.test \
- flock.test \
fstat.test \
- fstat64.test \
- fstatat64.test \
- fstatfs.test \
- fstatfs64.test \
- fsync.test \
- ftruncate.test \
- ftruncate64.test \
futex.test \
- futimesat.test \
- get_mempolicy.test \
- getcpu.test \
- getcwd.test \
- getdents.test \
- getdents64.test \
- getegid.test \
- getegid32.test \
- geteuid.test \
- geteuid32.test \
- getgid.test \
- getgid32.test \
- getgroups.test \
- getgroups32.test \
- getpeername.test \
- getpgrp.test \
- getrandom.test \
- getresgid.test \
- getresgid32.test \
- getresuid.test \
- getresuid32.test \
- getrlimit.test \
- getrusage.test \
- getsid.test \
- getsockname.test \
getuid.test \
- getuid32.test \
- getxxid.test \
- inet-cmsg.test \
- init_module.test \
- inotify.test \
- inotify_init1.test \
ioctl.test \
- ioctl_block.test \
ioctl_dm-v.test \
ioctl_dm.test \
ioctl_evdev-v.test \
- ioctl_evdev.test \
ioctl_loop-nv.test \
ioctl_loop-v.test \
- ioctl_loop.test \
- ioctl_mtd.test \
ioctl_rtc-v.test \
- ioctl_rtc.test \
- ioctl_scsi.test \
- ioctl_sg_io_v3.test \
- ioctl_sg_io_v4.test \
ioctl_sock_gifconf.test \
- ioctl_uffdio.test \
- ioctl_v4l2.test \
- ioperm.test \
- iopl.test \
- ioprio.test \
- ip_mreq.test \
- ipc.test \
- ipc_msg.test \
ipc_msgbuf.test \
- ipc_sem.test \
- ipc_shm.test \
- kcmp.test \
- kexec_file_load.test \
- kexec_load.test \
- keyctl.test \
- kill.test \
- lchown.test \
- lchown32.test \
- link.test \
- linkat.test \
llseek.test \
- lookup_dcookie.test \
lseek.test \
- lstat.test \
- lstat64.test \
- mbind.test \
- membarrier.test \
- memfd_create.test \
- migrate_pages.test \
- mincore.test \
- mkdir.test \
- mkdirat.test \
- mknod.test \
- mknodat.test \
- mlock.test \
- mlock2.test \
- mlockall.test \
mmap.test \
- mmap64.test \
- mmsg-silent.test \
- mmsg.test \
- mmsg_name-v.test \
- mmsg_name.test \
- mount.test \
- move_pages.test \
- mq.test \
- mq_sendrecv-read.test \
- mq_sendrecv-write.test \
- mq_sendrecv.test \
- msg_control-v.test \
- msg_control.test \
- msg_name.test \
- munlockall.test \
- nanosleep.test \
- net-icmp_filter.test \
- net-sockaddr.test \
net-y-unix.test \
net-yy-inet.test \
net-yy-netlink.test \
net-yy-unix.test \
net.test \
netlink_protocol.test \
- newfstatat.test \
nsyscalls.test \
- old_mmap.test \
- oldfstat.test \
- oldlstat.test \
oldselect.test \
- oldstat.test \
- open.test \
- openat.test \
- pause.test \
- perf_event_open.test \
- perf_event_open_nonverbose.test \
- perf_event_open_unabbrev.test \
personality.test \
pipe.test \
- pipe2.test \
- pkey_alloc.test \
- pkey_free.test \
- pkey_mprotect.test \
poll.test \
- ppoll-v.test \
- ppoll.test \
prctl-arg2-intptr.test \
prctl-dumpable.test \
prctl-name.test \
prctl-tid_address.test \
prctl-tsc.test \
pread64-pwrite64.test \
- preadv-pwritev.test \
- preadv.test \
- preadv2-pwritev2.test \
- printstr.test \
- prlimit64.test \
- process_vm_readv.test \
- process_vm_writev.test \
- pselect6.test \
- ptrace.test \
- pwritev.test \
qual_fault-exit_group.test \
- quotactl-v.test \
- quotactl-xfs-v.test \
- quotactl-xfs.test \
- quotactl.test \
read-write.test \
- readahead.test \
- readdir.test \
- readlink.test \
- readlinkat.test \
readv.test \
- reboot.test \
- recvfrom.test \
- recvmmsg-timeout.test \
- recvmsg.test \
- remap_file_pages.test \
- rename.test \
- renameat.test \
- renameat2.test \
- request_key.test \
- rmdir.test \
- rt_sigpending.test \
- rt_sigprocmask.test \
- rt_sigqueueinfo.test \
- rt_sigreturn.test \
- rt_sigsuspend.test \
- rt_sigtimedwait.test \
- rt_tgsigqueueinfo.test \
sched.test \
- sched_get_priority_mxx.test \
- sched_rr_get_interval.test \
- sched_xetaffinity.test \
- sched_xetattr.test \
- sched_xetparam.test \
- sched_xetscheduler.test \
- sched_yield.test \
scm_rights-fd.test \
- seccomp-filter-v.test \
- seccomp-filter.test \
seccomp-strict.test \
- select.test \
- semop.test \
- sendfile.test \
- sendfile64.test \
- set_mempolicy.test \
- setdomainname.test \
- setfsgid.test \
- setfsgid32.test \
- setfsuid.test \
- setfsuid32.test \
- setgid.test \
- setgid32.test \
- setgroups.test \
- setgroups32.test \
- sethostname.test \
- setns.test \
- setregid.test \
- setregid32.test \
- setresgid.test \
- setresgid32.test \
- setresuid.test \
- setresuid32.test \
- setreuid.test \
- setreuid32.test \
- setrlimit.test \
- setuid.test \
- setuid32.test \
shmxt.test \
- shutdown.test \
sigaction.test \
sigaltstack.test \
- siginfo.test \
- signalfd4.test \
- sigreturn.test \
- socketcall.test \
- splice.test \
- stat.test \
- stat64.test \
statfs.test \
- statfs64.test \
- statx.test \
sun_path.test \
- swap.test \
- symlink.test \
- symlinkat.test \
- sync.test \
- sync_file_range.test \
- sync_file_range2.test \
- sysinfo.test \
- syslog.test \
- tee.test \
- time.test \
- timer_create.test \
- timer_xettime.test \
- timerfd_xettime.test \
- times-fail.test \
- times.test \
- truncate.test \
- truncate64.test \
- ugetrlimit.test \
uio.test \
- umask.test \
umount.test \
umount2.test \
- umoven-illptr.test \
- umovestr-illptr.test \
umovestr.test \
umovestr2.test \
- umovestr3.test \
uname.test \
unix-pair-send-recv.test \
unix-pair-sendto-recvfrom.test \
- unlink.test \
- unlinkat.test \
- unshare.test \
- userfaultfd.test \
- ustat.test \
- utime.test \
utimensat.test \
- utimes.test \
- vhangup.test \
- vmsplice.test \
- wait4-v.test \
- wait4.test \
- waitid-v.test \
- waitid.test \
- waitpid.test \
- xattr-strings.test \
xattr.test \
- xet_robust_list.test \
- xetitimer.test \
- xetpgid.test \
- xetpriority.test \
- xettimeofday.test \
# end of DECODER_TESTS
MISC_TESTS = \
detach-sleeping.test \
detach-stopped.test \
filter-unavailable.test \
- fork-f.test \
- int_0x80.test \
ksysent.test \
opipe.test \
options-syntax.test \
redirect-fds.test \
redirect.test \
restart_syscall.test \
- signal_receive.test \
strace-C.test \
strace-E.test \
strace-S.test \
strace-tt.test \
strace-ttt.test \
threads-execve.test \
- vfork-f.test \
# end of MISC_TESTS
-TESTS = $(DECODER_TESTS) $(MISC_TESTS) $(LIBUNWIND_TESTS)
+TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(LIBUNWIND_TESTS)
XFAIL_TESTS_ =
XFAIL_TESTS_m32 = $(LIBUNWIND_TESTS)
XFAIL_TESTS_mx32 = $(LIBUNWIND_TESTS)
-XFAIL_TESTS_x86_64 = int_0x80.test
-XFAIL_TESTS_x32 = int_0x80.test
+XFAIL_TESTS_x86_64 = int_0x80.gen.test
+XFAIL_TESTS_x32 = int_0x80.gen.test
XFAIL_TESTS = $(XFAIL_TESTS_$(MPERS_NAME)) $(XFAIL_TESTS_$(ARCH))
TEST_LOG_COMPILER = env
VALGRIND_FLAGS = --quiet
VALGRIND_SUPPRESSIONS_FILES = $(srcdir)/strace.supp
-EXTRA_DIST = init.sh run.sh match.awk \
+EXTRA_DIST = gen_tests.in gen_tests.sh init.sh run.sh match.awk \
caps-abbrev.awk \
caps.awk \
count-f.expected \
sigaltstack.expected \
sockname.c \
statfs.expected \
- statx.sh \
strace-C.expected \
strace-E.expected \
strace-T.expected \
clean-local: clean-local-check
.PHONY: clean-local-check
clean-local-check:
- -rm -rf -- $(TESTS:.test=.dir)
+ -rm -rf -- $(TESTS:.test=.dir) $(GEN_TESTS:.gen.test=.dir)
CLEANFILES = ksysent.h
+++ /dev/null
-#!/bin/sh
-
-# Check _newselect syscall decoding.
-
-. "${srcdir=.}/select.test"
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of accept syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of accept4 syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a37
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of access syscall.
-
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a30 -P access_sample
+++ /dev/null
-#!/bin/sh
-
-# Check acct syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of add_key syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a30 -s12
+++ /dev/null
-#!/bin/sh
-
-# Check adjtimex syscall decoding.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a15
+++ /dev/null
-#!/bin/sh
-
-# Check io_* syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-
-syscalls=io_setup,io_submit,io_getevents,io_cancel,io_destroy
-run_strace_match_diff -a14 -e trace=$syscalls
+++ /dev/null
-#!/bin/sh
-
-# Check alarm syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
+++ /dev/null
-#!/bin/sh
-
-# Check bpf syscall decoding.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a20
+++ /dev/null
-#!/bin/sh
-
-# Check basic btrfs ioctl decoding.
-
-. "${srcdir=.}/ioctl.test"
+++ /dev/null
-#!/bin/sh
-
-# Check chmod syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
+++ /dev/null
-#!/bin/sh
-
-# Check chown syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
+++ /dev/null
-#!/bin/sh
-
-# Check chown32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a31
+++ /dev/null
-#!/bin/sh
-
-# Check chroot syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24
+++ /dev/null
-#!/bin/sh
-
-# Check clock_adjtime syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a37
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of clock_nanosleep and clock_gettime syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=clock_nanosleep,clock_gettime
+++ /dev/null
-#!/bin/sh
-
-# Check clock_getres, clock_gettime, and clock_settime syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a36 -e trace=clock_getres,clock_gettime,clock_settime
+++ /dev/null
-#!/bin/sh
-
-# Check copy_file_range syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check creat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of delete_module syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a23
+++ /dev/null
-#!/bin/sh
-
-# Check dup syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a8
+++ /dev/null
-#!/bin/sh
-
-# Check dup2 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a13
+++ /dev/null
-#!/bin/sh
-
-# Check dup3 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24
+++ /dev/null
-#!/bin/sh
-
-# Check epoll_create syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a17
+++ /dev/null
-#!/bin/sh
-
-# Check epoll_create1 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
+++ /dev/null
-#!/bin/sh
-
-# Check epoll_ctl syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of epoll_pwait syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check epoll_wait syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a26
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of ERESTARTSYS error code.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a34 -e signal=none -e trace=recvfrom
+++ /dev/null
-#!/bin/sh
-
-# Check verbose decoding of execveat syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -e trace=execveat
+++ /dev/null
-#!/bin/sh
-
-# Check execveat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check faccessat syscall decoding.
-
-. "${srcdir=.}/openat.test"
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of fadvise64_64 syscall.
-
-. "${srcdir=.}/fadvise64.test"
+++ /dev/null
-#!/bin/sh
-
-# Check getcwd syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a18
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of fanotify_init syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of fanotify_mark syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a32
+++ /dev/null
-#!/bin/sh
-
-# Check fchdir syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a11
+++ /dev/null
-#!/bin/sh
-
-# Check fchmod syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a15
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of fchmodat syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check fchown syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a16
+++ /dev/null
-#!/bin/sh
-
-# Check fchown32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a18
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of fchownat syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check fcntl decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a8
+++ /dev/null
-#!/bin/sh
-
-# Check fcntl64 syscall decoding.
-
-. "${srcdir=.}/fcntl.test"
+++ /dev/null
-#!/bin/sh
-
-# Check fdatasync syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a14
+++ /dev/null
-#!/bin/sh
-
-# Check name_to_handle_at and open_by_handle_at syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=name_to_handle_at,open_by_handle_at
+++ /dev/null
-#!/bin/sh
-
-# Check FS_IOC_FIEMAP ioctl decoding.
-
-. "${srcdir=.}/ioctl.test"
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of finit_module syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25
+++ /dev/null
-#!/bin/sh
-
-# Check flock syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a19
+++ /dev/null
-#!/bin/sh
-
-# Check how strace -f follows fork syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a26 -qq -f -e trace=chdir -e signal=none
+++ /dev/null
-#!/bin/sh
-
-# Check fstat64 syscall decoding.
-
-. "${srcdir=.}/fstat.test"
+++ /dev/null
-#!/bin/sh
-
-# Check fstatat64 syscall decoding.
-
-. "${srcdir=.}/statx.sh"
+++ /dev/null
-#!/bin/sh
-
-# Check fstatfs syscall decoding.
-
-. "${srcdir=.}/statfs.test"
+++ /dev/null
-#!/bin/sh
-
-# Check fstatfs64 syscall decoding.
-
-. "${srcdir=.}/statfs.test"
+++ /dev/null
-#!/bin/sh
-
-# Check fsync syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
+++ /dev/null
-#!/bin/sh
-
-# Check ftruncate syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24
+++ /dev/null
-#!/bin/sh
-
-# Check ftruncate64 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a36
+++ /dev/null
-#!/bin/sh
-
-# Check futimesat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
--- /dev/null
+# Input for gen_tests.sh
+#
+# Copyright (c) 2017 The strace developers.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+# derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+_newselect
+accept -a22
+accept4 -a37
+access -a30 -P access_sample
+acct -a20
+add_key -a30 -s12
+adjtimex -a15
+aio -a14 -e trace=io_setup,io_submit,io_getevents,io_cancel,io_destroy
+alarm -a10
+bpf -a20
+btrfs +ioctl.test
+chmod -a28
+chown -a28
+chown32 -a31
+chroot -a24
+clock_adjtime -a37
+clock_nanosleep -e trace=clock_nanosleep,clock_gettime
+clock_xettime -a36 -e trace=clock_getres,clock_gettime,clock_settime
+copy_file_range
+creat -a20
+delete_module -a23
+dup -a8
+dup2 -a13
+dup3 -a24
+epoll_create -a17
+epoll_create1 -a28
+epoll_ctl
+epoll_pwait
+epoll_wait -a26
+erestartsys -a34 -e signal=none -e trace=recvfrom
+execveat
+execveat-v -v -e trace=execveat
+faccessat -P $NAME.sample
+fadvise64_64 +fadvise64.test
+fallocate -a18
+fanotify_init
+fanotify_mark -a32
+fchdir -a11
+fchmod -a15
+fchmodat
+fchown -a16
+fchown32 -a18
+fchownat
+fcntl -a8
+fcntl64 -a8
+fdatasync -a14
+file_handle -e trace=name_to_handle_at,open_by_handle_at
+file_ioctl +ioctl.test
+finit_module -a25
+flock -a19
+fork-f -a26 -qq -f -e signal=none -e trace=chdir
+fstat64 +fstat.test
+fstatat64 -a32 -v -P $NAME.sample -P /dev/full
+fstatfs +statfs.test
+fstatfs64 +statfs.test
+fsync -a10
+ftruncate -a24
+ftruncate64 -a36
+futimesat -a28
+get_mempolicy -s3 -a38
+getcpu -a25
+getcwd -a18
+getdents -a22 -v
+getdents64 -a24 -v
+getegid +getuid.test
+getegid32 +getuid.test
+geteuid +getuid.test
+geteuid32 +getuid.test
+getgid +getuid.test
+getgid32 +getuid.test
+getgroups -a17
+getgroups32 -a19
+getpeername -a27
+getpgrp -a10
+getrandom -a32 -s3
+getresgid -a25
+getresgid32 -a27
+getresuid -a25
+getresuid32 -a27
+getrlimit -a27
+getrusage -v
+getsid -a10
+getsockname -a27
+getuid32 +getuid.test
+getxxid -a10 -e trace=getxpid,getxuid,getxgid
+inet-cmsg -e trace=recvmsg
+init_module -a27
+inotify -a23 -e trace=inotify_add_watch,inotify_rm_watch
+inotify_init1 -a27
+int_0x80 -a11 -e trace=getgid32
+ioctl_block +ioctl.test
+ioctl_evdev +ioctl.test
+ioctl_loop +ioctl.test
+ioctl_mtd +ioctl.test
+ioctl_rtc +ioctl.test
+ioctl_scsi +ioctl.test
+ioctl_sg_io_v3 +ioctl.test
+ioctl_sg_io_v4 +ioctl.test
+ioctl_uffdio +ioctl.test
+ioctl_v4l2 +ioctl.test
+ioperm -a27
+iopl -a8
+ioprio -a18 -e trace=ioprio_get,ioprio_set
+ip_mreq -e trace=setsockopt
+ipc -a19
+ipc_msg +ipc.sh
+ipc_sem +ipc.sh
+ipc_shm +ipc.sh
+kcmp -a27
+kexec_file_load -s9
+kexec_load -s9
+keyctl -a31 -s10
+kill -a12 -esignal=none
+lchown -a30
+lchown32 -a32
+link
+linkat
+lookup_dcookie -a27
+lstat -a32 -v -P $NAME.sample -P /dev/full
+lstat64 -a32 -v -P $NAME.sample -P /dev/full
+mbind
+membarrier -a36
+memfd_create
+migrate_pages -a33
+mincore -a22
+mkdir -a20
+mkdirat -a28
+mknod -a18
+mknodat -a35
+mlock -a20 -e trace=mlock,munlock
+mlock2
+mlockall -a12
+mmap64 +mmap.test
+mmsg -e read=0 -e write=1 -e trace=recvmmsg,sendmmsg
+mmsg-silent -a25 -e verbose=none -e trace=sendmmsg,recvmmsg
+mmsg_name -a25 -e trace=sendmmsg,recvmmsg
+mmsg_name-v -v -a25 -e trace=sendmmsg,recvmmsg
+mount
+move_pages -s3
+mq -a28 -e trace=mq_getsetattr,mq_open,mq_unlink
+mq_sendrecv -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink
+mq_sendrecv-read -eread=0 -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink
+mq_sendrecv-write -ewrite=0 -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink
+msg_control -a21 -e trace=sendmsg
+msg_control-v -v -a21 -e trace=sendmsg
+msg_name -a20 -e trace=recvmsg
+munlockall -a13
+nanosleep -a20
+net-icmp_filter -e trace=getsockopt,setsockopt
+net-sockaddr -a24 -e trace=connect
+newfstatat -a32 -v -P $NAME.sample -P /dev/full
+old_mmap -a11 -e trace=mmap
+oldfstat +fstat.test
+oldlstat -a32 -v -P $NAME.sample -P /dev/full
+oldstat -a32 -v -P $NAME.sample -P /dev/full
+open -a30 -P $NAME.sample
+openat -P $NAME.sample
+pause -a8 -esignal=none
+perf_event_open -a1
+perf_event_open_nonverbose -a34 -e verbose=none -e trace=perf_event_open
+perf_event_open_unabbrev -a1 -v -e trace=perf_event_open
+pipe2 -a15
+pkey_alloc -a17
+pkey_free -a13
+pkey_mprotect -a37
+ppoll -s2
+ppoll-v -v -s2 -e trace=ppoll
+preadv -a21
+preadv-pwritev -a19 -eread=0 -ewrite=1 -e trace=preadv,pwritev
+preadv2-pwritev2 -a22 -eread=0 -ewrite=1 -e trace=preadv2,pwritev2
+printstr -e trace=writev
+prlimit64
+process_vm_readv -s5 -a37
+process_vm_writev -s5 -a38
+pselect6
+ptrace -a23 -e signal=none
+pwritev -a22 -s7
+quotactl
+quotactl-v -v -e trace=quotactl
+quotactl-xfs -e trace=quotactl
+quotactl-xfs-v -v -e trace=quotactl
+readahead -a1
+readdir -a16
+readlink -xx
+readlinkat -xx
+reboot
+recvfrom -a35
+recvmmsg-timeout -a25 -e trace=recvmmsg
+recvmsg -eread=0 -ewrite=1 -e trace=recvmsg,sendmsg
+remap_file_pages
+rename -a35
+renameat
+renameat2
+request_key -a33 -s12
+rmdir -a22
+rt_sigpending -a20
+rt_sigprocmask
+rt_sigqueueinfo -esignal=none
+rt_sigreturn -esignal='!USR1'
+rt_sigsuspend -a20 -esignal=none
+rt_sigtimedwait -a38
+rt_tgsigqueueinfo -esignal=none
+sched_get_priority_mxx -a33 -e trace=sched_get_priority_min,sched_get_priority_max
+sched_rr_get_interval -a31
+sched_xetaffinity -a28 -e trace=sched_getaffinity,sched_setaffinity
+sched_xetattr -a29 -e trace=sched_getattr,sched_setattr
+sched_xetparam -a23 -e trace=sched_getparam,sched_setparam
+sched_xetscheduler -a22 -e trace=sched_getscheduler,sched_setscheduler
+sched_yield -a14
+seccomp-filter -e trace=seccomp
+seccomp-filter-v -v -e trace=seccomp
+select -a36
+semop -a32 -e trace=semop,semtimedop
+sendfile -a27
+sendfile64 -a29
+set_mempolicy -s3 -a35
+setdomainname -a24
+setfsgid -a12
+setfsgid32 -a14
+setfsuid -a12
+setfsuid32 -a14
+setgid -a10
+setgid32 -a12
+setgroups -s2 -a17
+setgroups32 -s2 -a19
+sethostname -a22
+setns -a21
+setregid -a15
+setregid32 -a17
+setresgid -a19
+setresgid32 -a21
+setresuid -a19
+setresuid32 -a21
+setreuid -a15
+setreuid32 -a17
+setrlimit -a27
+setuid -a10
+setuid32 -a12
+shutdown -a24
+siginfo -e trace=none
+signal_receive -a16 -e trace=kill
+signalfd4
+sigreturn -esignal='!USR1'
+socketcall -a20
+splice
+stat -a32 -v -P $NAME.sample -P /dev/full
+stat64 -a32 -v -P $NAME.sample -P /dev/full
+statfs64 +statfs.test
+statx -a32 -v -P $NAME.sample -P /dev/full
+swap -a23 -e trace=swapon,swapoff
+symlink -a34
+symlinkat
+sync -a7
+sync_file_range
+sync_file_range2
+sysinfo -a14
+syslog -a36
+tee
+time -a10
+timer_create
+timer_xettime -e trace=timer_create,timer_settime,timer_gettime
+timerfd_xettime -e trace=timerfd_create,timerfd_settime,timerfd_gettime
+times -esignal=none
+times-fail -a12 -e trace=times
+truncate
+truncate64
+ugetrlimit -a28
+umask -a11
+umoven-illptr -a36 -e trace=nanosleep
+umovestr-illptr -a11 -e trace=chdir
+umovestr3 -a14 -e trace=chdir
+unlink -a24
+unlinkat -a35
+unshare -a11
+userfaultfd -a38
+ustat -a33
+utime -a 16 -e trace=utime
+utimes -a21
+vfork-f -a26 -qq -f -e signal=none -e trace=chdir
+vhangup -a10
+vmsplice -ewrite=1
+wait4 -esignal=none
+wait4-v -v -e signal=none -e trace=wait4
+waitid -esignal=none
+waitid-v -v -e signal=none -e trace=waitid
+waitpid -a28
+xattr-strings -a22 -s 4 -e trace=fsetxattr
+xet_robust_list -a24 -e trace=get_robust_list,set_robust_list
+xetitimer -a29 -e trace=setitimer,getitimer
+xetpgid -a11 -e trace=getpgid,setpgid
+xetpriority -a29 -e trace=getpriority,setpriority
+xettimeofday -a20 -e trace=gettimeofday,settimeofday
--- /dev/null
+#!/bin/sh -efu
+#
+# Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+# derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+usage()
+{
+ cat >&2 <<EOF
+Usage: $0 [<input> [<output>]]
+
+Generate test script(s) from <input> table.
+If a <output> is specified, generate the script for this test only,
+otherwise generate scripts for all tests specified in <input> table.
+EOF
+ exit 1
+}
+
+input="${0%/*}/gen_tests.in"
+[ $# -eq 0 ] || { input="$1"; shift; }
+output=
+[ $# -eq 0 ] || { output="$1"; shift; }
+[ $# -eq 0 ] || usage
+
+if [ -n "$output" ]; then
+ match="${output##*/}"
+ match="${match%.gen.test}"
+ [ -n "$match" ] || usage
+else
+ match=
+ dir="$(dirname "$input")"
+fi
+
+names=
+
+while read name args; do {
+ [ -n "${name###*}" ] || continue
+ if [ -z "$match" ]; then
+ names="$names $name"
+ output="$dir/$name.gen.test"
+ else
+ [ "$match" = "$name" ] || continue
+ fi
+
+ case "$args" in
+ +*)
+ cat <<-EOF
+ #!/bin/sh -efu
+ # Generated by $0 from $input; do not edit.
+ . "\${srcdir=.}/${args#+}"
+ EOF
+ ;;
+
+ *)
+ cat <<-EOF
+ #!/bin/sh -efu
+ # Generated by $0 from $input; do not edit.
+ . "\${srcdir=.}/init.sh"
+ run_strace_match_diff $args
+ EOF
+ ;;
+ esac > "$output"
+
+ chmod a+x "$output"
+} < /dev/null; done < "$input"
+
+if [ -n "$names" ]; then
+ {
+ printf '# Generated by %s from %s; do not edit.\n' "$0" "$input"
+ printf 'GEN_TESTS ='
+ printf ' %s.gen.test' $names
+ echo
+ target='$(srcdir)/%s.gen.test'
+ dep1='$(srcdir)/gen_tests.sh'
+ dep2='$(srcdir)/gen_tests.in'
+ recipe='$(AM_V_GEN) $^ $@'
+ printf "\\n$target: $dep1 $dep2\\n\\t$recipe\\n" $names
+ } > "$dir/gen_tests.am"
+fi
+++ /dev/null
-#!/bin/sh
-
-# Check get_mempolicy syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s3 -a38
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of getcpu syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25
+++ /dev/null
-#!/bin/sh
-
-# Check getcwd syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a18
+++ /dev/null
-#!/bin/sh
-
-# Check getdents syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a22 -v
+++ /dev/null
-#!/bin/sh
-
-# Check getdents64 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a24 -v
+++ /dev/null
-#!/bin/sh
-
-# Check getegid syscall decoding.
-
-. "${srcdir=.}/getuid.test"
+++ /dev/null
-#!/bin/sh
-
-# Check getegid32 syscall decoding.
-
-. "${srcdir=.}/getuid.test"
+++ /dev/null
-#!/bin/sh
-
-# Check geteuid syscall decoding.
-
-. "${srcdir=.}/getuid.test"
+++ /dev/null
-#!/bin/sh
-
-# Check geteuid32 syscall decoding.
-
-. "${srcdir=.}/getuid.test"
+++ /dev/null
-#!/bin/sh
-
-# Check getgid syscall decoding.
-
-. "${srcdir=.}/getuid.test"
+++ /dev/null
-#!/bin/sh
-
-# Check getgid32 syscall decoding.
-
-. "${srcdir=.}/getuid.test"
+++ /dev/null
-#!/bin/sh
-
-# Check getgroups syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a17
+++ /dev/null
-#!/bin/sh
-
-# Check getgroups32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a19
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of getpeername syscall.
-
-. "${srcdir=.}/getsockname.test"
+++ /dev/null
-#!/bin/sh
-
-# Check getpgrp syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
+++ /dev/null
-#!/bin/sh
-
-# Check getrandom syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a32 -s3
+++ /dev/null
-#!/bin/sh
-
-# Check getresgid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25
+++ /dev/null
-#!/bin/sh
-
-# Check getresgid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
+++ /dev/null
-#!/bin/sh
-
-# Check getresuid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25
+++ /dev/null
-#!/bin/sh
-
-# Check getresuid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of getrlimit syscall.
-
-. "${srcdir=.}/setrlimit.test"
+++ /dev/null
-#!/bin/sh
-
-# Check getrusage syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v
+++ /dev/null
-#!/bin/sh
-
-# Check getsid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of getsockname syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
+++ /dev/null
-#!/bin/sh
-
-# Check getuid32 syscall decoding.
-
-. "${srcdir=.}/getuid.test"
+++ /dev/null
-#!/bin/sh
-
-# Check getxpid, getxuid, and getxgid syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10 -e trace=getxpid,getxuid,getxgid
+++ /dev/null
-#!/bin/sh
-
-# Check IPPROTO_IP control messages decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=recvmsg
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of init_module syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of inotify_add_watch and inotify_rm_watch syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=inotify_add_watch,inotify_rm_watch -a23
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of inotify_init1 syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of int 0x80 on x86_64, x32, and x86.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a11 -e trace=getgid32
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of BLK* ioctls.
-
-. "${srcdir=.}/ioctl.test"
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of EVIOC* ioctls.
-
-. "${srcdir=.}/ioctl.test"
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of LOOP_* ioctls.
-
-. "${srcdir=.}/init.sh"
-
-check_prog grep
-run_prog > /dev/null
-run_strace -a22 -eioctl $args > "$EXP"
-grep -v '^ioctl([012],' < "$LOG" > "$OUT"
-match_diff "$OUT" "$EXP"
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of 'M' type ioctls.
-
-. "${srcdir=.}/ioctl.test"
+++ /dev/null
-#!/bin/sh
-
-# Check basic decoding of RTC_* ioctls.
-
-. "${srcdir=.}/ioctl.test"
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of SCSI ioctl commands.
-. "${srcdir=.}/ioctl.test"
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of ioctl SG_IO v3 commands.
-. "${srcdir=.}/ioctl.test"
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of ioctl SG_IO v4 commands.
-. "${srcdir=.}/ioctl.test"
+++ /dev/null
-#!/bin/sh
-
-# Check userfaultfd ioctl decoding.
-
-. "${srcdir=.}/ioctl.test"
+++ /dev/null
-#!/bin/sh
-
-# Check basic VIDIOC_* ioctl decoding.
-
-. "${srcdir=.}/ioctl.test"
+++ /dev/null
-#!/bin/sh
-
-# Check ioperm syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
+++ /dev/null
-#!/bin/sh
-
-# Check iopl syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a8
+++ /dev/null
-#!/bin/sh
-
-# Check iprio_get and iprio_set syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a18 -e trace=ioprio_get,ioprio_set
+++ /dev/null
-#!/bin/sh
-
-# Check {IP,IPV6}_{ADD,DROP}_MEMBERSHIP setsockopt decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=setsockopt
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of ipc syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a19
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of ipc msgget/msgctl syscalls
-
-. "${srcdir=.}/ipc.sh"
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of ipc semget/semctl syscalls
-
-. "${srcdir=.}/ipc.sh"
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of ipc shmget/shmctl syscalls
-
-. "${srcdir=.}/ipc.sh"
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of kcmp syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of kexec_file_load syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s9
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of kexec_load syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s9
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of keyctl syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a31 -s10
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of kill syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12 -esignal=none
+++ /dev/null
-#!/bin/sh
-
-# Check lchown syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a30
+++ /dev/null
-#!/bin/sh
-
-# Check lchown32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a32
+++ /dev/null
-#!/bin/sh
-
-# Check link syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check linkat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of lookup_cookie syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
+++ /dev/null
-#!/bin/sh
-
-# Check lstat syscall decoding.
-
-. "${srcdir=.}/statx.sh"
+++ /dev/null
-#!/bin/sh
-
-# Check lstat64 syscall decoding.
-
-. "${srcdir=.}/statx.sh"
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of mbind syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check membarrier syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a36
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of memfd_create syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check migrate_pages syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a33
+++ /dev/null
-#!/bin/sh
-
-# Check mincore syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22
+++ /dev/null
-#!/bin/sh
-
-# Check mkdir syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20
+++ /dev/null
-#!/bin/sh
-
-# Check mkdirat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
+++ /dev/null
-#!/bin/sh
-
-# Check mknod syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a18
+++ /dev/null
-#!/bin/sh
-
-# Check mknodat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a35
+++ /dev/null
-#!/bin/sh
-
-# Check mlock and munlock syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=mlock,munlock -a20
+++ /dev/null
-#!/bin/sh
-
-# Check mlock2 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of mlockall syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12
+++ /dev/null
-#!/bin/sh
-
-# Check mmap/mprotect/munmap syscalls decoding.
-# Target executable was compiled with -D_FILE_OFFSET_BITS=64.
-
-. "${srcdir=.}/mmap.test"
+++ /dev/null
-#!/bin/sh
-
-# Check silent decoding of sendmmsg and recvmmsg syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25 -e verbose=none -e trace=sendmmsg,recvmmsg
+++ /dev/null
-#!/bin/sh
-
-# Check how iovecs in struct mmsghdr are decoded.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=recvmmsg,sendmmsg -e read=0 -e write=1
+++ /dev/null
-#!/bin/sh
-
-# Check verbose decoding of msg_name* fields of struct msghdr array argument
-# of sendmmsg and recvmmsg syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -a25 -e trace=sendmmsg,recvmmsg
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of msg_name* fields of struct msghdr array argument
-# of sendmmsg and recvmmsg syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25 -e trace=sendmmsg,recvmmsg
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of mount syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of move_pages syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s3
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of mq_open, mq_getsetattr, and mq_unlink syscalls.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a28 -e trace=mq_getsetattr,mq_open,mq_unlink
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of mq_open, mq_notify, mq_timedsend, mq_timedreceive syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink -eread=0 -a14
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of mq_open, mq_notify, mq_timedsend, mq_timedreceive syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink -ewrite=0 -a14
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of mq_open, mq_notify, mq_timedsend, mq_timedreceive syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink -a14
+++ /dev/null
-#!/bin/sh
-
-# Check verbose decoding of struct msghdr ancillary data.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -a21 -e trace=sendmsg
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of struct msghdr ancillary data.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a21 -e trace=sendmsg
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of struct msghdr.msg_name* arguments of recvmsg syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20 -e trace=recvmsg
+++ /dev/null
-#!/bin/sh
-
-# Check munlockall syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a13
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of nanosleep syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of ICMP_FILTER.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=getsockopt,setsockopt
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of sockaddr structures.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24 -e trace=connect
+++ /dev/null
-#!/bin/sh
-
-# Check newfstatat syscall decoding.
-
-. "${srcdir=.}/statx.sh"
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of "old mmap" edition of mmap syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a11 -e trace=mmap
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of oldfstat syscall.
-
-. "${srcdir=.}/fstat.test"
+++ /dev/null
-#!/bin/sh
-
-# Check oldlstat syscall decoding.
-
-. "${srcdir=.}/statx.sh"
+++ /dev/null
-#!/bin/sh
-
-# Check oldstat syscall decoding.
-
-. "${srcdir=.}/statx.sh"
+++ /dev/null
-#!/bin/sh
-
-# Check open syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a30 -P $NAME.sample
+++ /dev/null
-#!/bin/sh
-
-# Check openat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -P $NAME.sample
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of pause syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a8 -esignal=none
+++ /dev/null
-#!/bin/sh
-
-# Check perf_event_open syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a1
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of perf_event_open syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a34 -e verbose=none -e trace=perf_event_open
+++ /dev/null
-#!/bin/sh
-
-# Check perf_event_open syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a1 -v -e trace=perf_event_open
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of pipe2 syscall.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a15
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of pkey_alloc syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a17
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of pkey_free syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a13
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of pkey_mprotect syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a37
+++ /dev/null
-#!/bin/sh
-
-# Check verbose decoding of ppoll syscall.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -v -s2 -e trace=ppoll
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of ppoll syscall.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -s2
+++ /dev/null
-#!/bin/sh
-
-# Check decoding and dumping of preadv and pwritev syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a19 -eread=0 -ewrite=1 -e trace=preadv,pwritev
+++ /dev/null
-#!/bin/sh
-
-# Check preadv syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a21
+++ /dev/null
-#!/bin/sh
-
-# Check decoding and dumping of preadv2 and pwritev2 syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22 -eread=0 -ewrite=1 -e trace=preadv2,pwritev2
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of non-NUL-terminated strings when len == -1.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -e trace=writev
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of prlimit64 syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of process_vm_readv syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s5 -a37
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of process_vm_writev syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s5 -a38
+++ /dev/null
-#!/bin/sh
-
-# Check pselect6 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of ptrace syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a23 -e signal=none
+++ /dev/null
-#!/bin/sh
-
-# Check pwritev syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22 -s7
+++ /dev/null
-#!/bin/sh
-
-# Check non-abbreviated decoding of quotactl syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -e trace=quotactl
+++ /dev/null
-#!/bin/sh
-
-# Check non-abbreviated decoding of quotactl xfs subcommands.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -e trace=quotactl
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of quotactl xfs subcommands.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=quotactl
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of quotactl syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check readahead syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a1
+++ /dev/null
-#!/bin/sh
-
-# Check readdir syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a16
+++ /dev/null
-#!/bin/sh
-
-# Check readlink syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -xx
+++ /dev/null
-#!/bin/sh
-
-# Check readlinkat syscall decoding.
-
-. "${srcdir=.}/readlink.test"
+++ /dev/null
-#!/bin/sh
-
-# Check reboot syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of sockaddr related arguments of recvfrom syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a35
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of timeout argument of recvmmsg syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25 -e trace=recvmmsg
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of recvmsg and sendmsg syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -eread=0 -ewrite=1 -e trace=recvmsg,sendmsg
+++ /dev/null
-#!/bin/sh
-
-# Check remap_file_pages syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check rename syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a35
+++ /dev/null
-#!/bin/sh
-
-# Check renameat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check renameat2 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of request_key syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a33 -s12
+++ /dev/null
-#!/bin/sh
-
-# Check rmdir syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22
+++ /dev/null
-#!/bin/sh
-
-# Check rt_sigpending syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20
+++ /dev/null
-#!/bin/sh
-
-# Check rt_sigprocmask syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of rt_sigqueueinfo syscall
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -esignal=none
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of rt_sigreturn syscall.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -esignal='!USR1'
+++ /dev/null
-#!/bin/sh
-
-# Check rt_sigsuspend syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20 -esignal=none
+++ /dev/null
-#!/bin/sh
-
-# Check rt_sigtimedwait syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a38
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of rt_tgsigqueueinfo syscall
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -esignal=none
+++ /dev/null
-#!/bin/sh
-
-# Check sched_get_priority_min and sched_get_priority_max syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a33 -e trace=sched_get_priority_min,sched_get_priority_max
+++ /dev/null
-#!/bin/sh
-
-# Check sched_rr_get_interval syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a31
+++ /dev/null
-#!/bin/sh
-
-# Check sched_getaffinity and sched_setaffinity syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28 -e trace=sched_getaffinity,sched_setaffinity
+++ /dev/null
-#!/bin/sh
-
-# Check sched_getattr and sched_setattr syscalls decoding.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a29 -e trace=sched_getattr,sched_setattr
+++ /dev/null
-#!/bin/sh
-
-# Check sched_getparam and sched_setparam syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a23 -e trace=sched_getparam,sched_setparam
+++ /dev/null
-#!/bin/sh
-
-# Check sched_getscheduler and sched_setscheduler syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22 -e trace=sched_getscheduler,sched_setscheduler
+++ /dev/null
-#!/bin/sh
-
-# Check sched_yield syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a14
+++ /dev/null
-#!/bin/sh
-
-# Check verbose decoding of seccomp SECCOMP_SET_MODE_FILTER.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -e trace=seccomp
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of seccomp SECCOMP_SET_MODE_FILTER.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=seccomp
+++ /dev/null
-#!/bin/sh
-
-# Check select syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a36
+++ /dev/null
-#!/bin/sh
-
-# Check semop syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a32 -e trace=semop,semtimedop
+++ /dev/null
-#!/bin/sh
-
-# Check sendfile syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
+++ /dev/null
-#!/bin/sh
-
-# Check sendfile64 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a29
+++ /dev/null
-#!/bin/sh
-
-# Check set_mempolicy syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s3 -a35
+++ /dev/null
-#!/bin/sh
-
-# Check setdomainname syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24
+++ /dev/null
-#!/bin/sh
-
-# Check setfsgid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12
+++ /dev/null
-#!/bin/sh
-
-# Check setfsgid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a14
+++ /dev/null
-#!/bin/sh
-
-# Check setfsuid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12
+++ /dev/null
-#!/bin/sh
-
-# Check setfsuid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a14
+++ /dev/null
-#!/bin/sh
-
-# Check setgid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
+++ /dev/null
-#!/bin/sh
-
-# Check setgid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12
+++ /dev/null
-#!/bin/sh
-
-# Check setgroups syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s2 -a17
+++ /dev/null
-#!/bin/sh
-
-# Check setgroups32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s2 -a19
+++ /dev/null
-#!/bin/sh
-
-# Check sethostname syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of setns syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a21
+++ /dev/null
-#!/bin/sh
-
-# Check setregid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a15
+++ /dev/null
-#!/bin/sh
-
-# Check setregid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a17
+++ /dev/null
-#!/bin/sh
-
-# Check setresgid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a19
+++ /dev/null
-#!/bin/sh
-
-# Check setresgid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a21
+++ /dev/null
-#!/bin/sh
-
-# Check setresuid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a19
+++ /dev/null
-#!/bin/sh
-
-# Check setresuid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a21
+++ /dev/null
-#!/bin/sh
-
-# Check setreuid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a15
+++ /dev/null
-#!/bin/sh
-
-# Check setreuid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a17
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of getrlimit/ugetrlimit/setrlimit syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
+++ /dev/null
-#!/bin/sh
-
-# Check setuid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
+++ /dev/null
-#!/bin/sh
-
-# Check setuid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of shutdown syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24
+++ /dev/null
-#!/bin/sh
-
-# Check SIGCHLD siginfo_t decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=none
+++ /dev/null
-#!/bin/sh
-
-# Check whether strace traces signals properly.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a16 -e trace=kill
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of signalfd4 syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of sigreturn syscall.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -esignal='!USR1'
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of socketcall syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20
+++ /dev/null
-#!/bin/sh
-
-# Check splice syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check stat syscall decoding.
-
-. "${srcdir=.}/statx.sh"
+++ /dev/null
-#!/bin/sh
-
-# Check stat64 syscall decoding.
-
-. "${srcdir=.}/statx.sh"
+++ /dev/null
-#!/bin/sh
-
-# Check statfs64 syscall decoding.
-
-. "${srcdir=.}/statfs.test"
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of stat family syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -P $NAME.sample -P /dev/full -a32
+++ /dev/null
-#!/bin/sh
-
-# Check statx syscall decoding.
-
-. "${srcdir=.}/statx.sh"
+++ /dev/null
-#!/bin/sh
-
-# Check swapon and swapoff syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a23 -e trace=swapon,swapoff
+++ /dev/null
-#!/bin/sh
-
-# Check symlink syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a34
+++ /dev/null
-#!/bin/sh
-
-# Check symlinkat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check sync syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a7
+++ /dev/null
-#!/bin/sh
-
-# Check sync_file_range syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check sync_file_range2 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of sysinfo syscall
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a14
+++ /dev/null
-#!/bin/sh
-
-# Check syslog syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a36
+++ /dev/null
-#!/bin/sh
-
-# Check tee syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check time syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
+++ /dev/null
-#!/bin/sh
-
-# Check timer_create syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check timer_create, timer_settime, and timer_gettime syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=timer_create,timer_settime,timer_gettime
+++ /dev/null
-#!/bin/sh
-
-# Check timerfd_create, timerfd_settime, and timerfd_gettime syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=timerfd_create,timerfd_settime,timerfd_gettime
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of failing times syscall
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12 -e trace=times
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of times syscall
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -esignal=none
+++ /dev/null
-#!/bin/sh
-
-# Check truncate syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check truncate64 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of ugetrlimit syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
+++ /dev/null
-#!/bin/sh
-
-# Check umask syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a11
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of invalid pointer by umoven.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a36 -e trace=nanosleep
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of invalid pointer by umovestr.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a11 -e trace=chdir
+++ /dev/null
-#!/bin/sh
-
-# yet another umovestr short read test
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a14 -e trace=chdir
+++ /dev/null
-#!/bin/sh
-
-# Check unlink syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24
+++ /dev/null
-#!/bin/sh
-
-# Check unlinkat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a35
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of setns syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a11
+++ /dev/null
-#!/bin/sh
-
-# Check userfaultfd syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a38
+++ /dev/null
-#!/bin/sh
-
-# Check ustat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a33
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of utime syscall.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a 16 -e trace=utime
+++ /dev/null
-#!/bin/sh
-
-# Check utimes syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a21
+++ /dev/null
-#!/bin/sh
-
-# Check how strace -f follows vfork syscall.
-
-. "${srcdir=.}/fork-f.test"
+++ /dev/null
-#!/bin/sh
-
-# Check vhangup syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a10
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of vmsplice syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -ewrite=1
+++ /dev/null
-#!/bin/sh
-
-# Check verbose decoding of wait4 syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -e signal=none -e trace=wait4
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of wait4 syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -esignal=none
+++ /dev/null
-#!/bin/sh
-
-# Check verbose decoding of waitid syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -e signal=none -e trace=waitid
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of waitid syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -esignal=none
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of waitpid syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
+++ /dev/null
-#!/bin/sh
-
-# Check *xattr syscalls decoding when limiting string size.
-
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a22 -s 4 -e trace=fsetxattr
+++ /dev/null
-#!/bin/sh
-
-# Check get_robust_list and set_robust_list syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24 -e trace=get_robust_list,set_robust_list
+++ /dev/null
-#!/bin/sh
-
-# Check decoding of setitimer and getitimer syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a29 -e trace=setitimer,getitimer
+++ /dev/null
-#!/bin/sh
-
-# Check getpgid and setpgid syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a11 -e trace=getpgid,setpgid
+++ /dev/null
-#!/bin/sh
-
-# Check getpriority and setpriority syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a29 -e trace=getpriority,setpriority
+++ /dev/null
-#!/bin/sh
-
-# Check gettimeofday and settimeofday syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20 -e trace=gettimeofday,settimeofday