strace/tests/gen_tests.in
Eugene Syromyatnikov bed7622d49 syscall.c: dump write I/O even if error is returned
It makes sense to try to dump the argument of write syscalls as they can
be readily available despite the fact that error has been returned.

* syscall.c (dumpio): Move check for syserror and check for fd in
read_set to the end of the function.
* tests/read-write.c: Add a check for this behaviour.
* tests/pread64-pwrite64.c: Update expected output.
* NEWS: Mention this.

Suggested-by: J. Bruce Fields <bfields@fieldses.org>
Closes: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=436284
2018-04-04 20:32:42 +00:00

443 lines
14 KiB
Plaintext

# Input for gen_tests.sh
#
# Copyright (c) 2017-2018 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
_newselect-P -e trace=_newselect -P /dev/full 9>>/dev/full
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
bpf-v -a20 -v -e trace=bpf
btrfs +ioctl.test
chmod -a28
chown -a28
chown32 -a31
chroot -a24
clock test_trace_expr 'times|fcntl.*' -e/clock
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
dev-yy -a30 -e trace=openat,fsync -P "/dev/full" -P "/dev/zero" -P "/dev/sda" -yy
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
fstat -a15 -v -P stat.sample
fstat64 -a17 -v -P stat.sample
fstatat64 -a32 -v -P stat.sample -P /dev/full
fstatfs -a18
fstatfs64 -a24
fsync -a10
fsync-y -y -e trace=fsync
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
getpid -a9
getppid -a10
getrandom -a32 -s3
getresgid -a25
getresgid32 -a27
getresuid -a25
getresuid32 -a27
getrlimit -a27
getrusage -v
getsid -a10
getsockname -a27
gettid -a9
getuid32 +getuid.test
getxxid -a10 -e trace=getxpid,getxuid,getxgid
group_req -e trace=setsockopt
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_dm +ioctl.test -s9
ioctl_dm-v +ioctl.test -v -s9
ioctl_evdev +ioctl.test
ioctl_evdev-v +ioctl.test -v
ioctl_kvm_run +ioctl.test -a36 -y
ioctl_loop +ioctl.test
ioctl_loop-nv +ioctl.test -a22 -e verbose=none
ioctl_loop-v +ioctl.test -v
ioctl_mtd +ioctl.test
ioctl_nsfs +ioctl.test -esignal=none
ioctl_rtc +ioctl.test
ioctl_rtc-v +ioctl.test -v
ioctl_scsi +ioctl.test
ioctl_sg_io_v3 +ioctl.test
ioctl_sg_io_v4 +ioctl.test
ioctl_sock_gifconf +ioctl.test -a28 -s1
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 -a22
kcmp-y -a22 -y -e trace=kcmp
kern_features -a16
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 stat.sample -P /dev/full
lstat64 -a32 -v -P stat.sample -P /dev/full
madvise -a33
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
modify_ldt -a23
mount
move_pages -s3
mq -a32 -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
net-yy-inet6 +net-yy-inet.test
netlink_audit +netlink_sock_diag.test
netlink_crypto +netlink_sock_diag.test
netlink_generic +netlink_sock_diag.test
netlink_kobject_uevent +netlink_sock_diag.test
netlink_netfilter +netlink_sock_diag.test
netlink_protocol -e trace=sendto
netlink_route +netlink_sock_diag.test
netlink_selinux +netlink_sock_diag.test
netlink_xfrm +netlink_sock_diag.test
newfstatat -a32 -v -P stat.sample -P /dev/full
nlattr +netlink_sock_diag.test
nfnetlink_acct +netlink_sock_diag.test
nfnetlink_cthelper +netlink_sock_diag.test
nfnetlink_ctnetlink +netlink_sock_diag.test
nfnetlink_ctnetlink_exp +netlink_sock_diag.test
nfnetlink_cttimeout +netlink_sock_diag.test
nfnetlink_ipset +netlink_sock_diag.test
nfnetlink_nft_compat +netlink_sock_diag.test
nfnetlink_nftables +netlink_sock_diag.test
nfnetlink_osf +netlink_sock_diag.test
nfnetlink_queue +netlink_sock_diag.test
nfnetlink_ulog +netlink_sock_diag.test
nlattr_crypto_user_alg +netlink_sock_diag.test
nlattr_br_port_msg +netlink_sock_diag.test
nlattr_dcbmsg +netlink_sock_diag.test
nlattr_fib_rule_hdr +netlink_sock_diag.test
nlattr_ifaddrlblmsg +netlink_sock_diag.test
nlattr_ifaddrmsg +netlink_sock_diag.test
nlattr_ifinfomsg +netlink_sock_diag.test
nlattr_ifla_brport +netlink_sock_diag.test
nlattr_ifla_port +netlink_sock_diag.test
nlattr_ifla_xdp +netlink_sock_diag.test
nlattr_inet_diag_msg +netlink_sock_diag.test
nlattr_inet_diag_req_compat +netlink_sock_diag.test
nlattr_inet_diag_req_v2 +netlink_sock_diag.test
nlattr_mdba_mdb_entry +netlink_sock_diag.test
nlattr_mdba_router_port +netlink_sock_diag.test
nlattr_ndmsg +netlink_sock_diag.test
nlattr_ndtmsg +netlink_sock_diag.test
nlattr_netconfmsg +netlink_sock_diag.test
nlattr_netlink_diag_msg +netlink_sock_diag.test
nlattr_nlmsgerr +netlink_sock_diag.test
nlattr_packet_diag_msg +netlink_sock_diag-v.sh
nlattr_rtgenmsg +netlink_sock_diag.test
nlattr_rtmsg +netlink_sock_diag.test
nlattr_smc_diag_msg +netlink_sock_diag.test
nlattr_tc_stats +netlink_sock_diag.test
nlattr_tca_stab +netlink_sock_diag.test
nlattr_tcamsg +netlink_sock_diag.test
nlattr_tcmsg +netlink_sock_diag.test
nlattr_unix_diag_msg +netlink_sock_diag.test
old_mmap -a11 -e trace=mmap
old_mmap-P -e trace=mmap -P "/dev/full" 9>>/dev/full
old_mmap-v-none -a11 -e trace=mmap -e verbose=none
oldfstat -a18 -v -P stat.sample
oldlstat -a32 -v -P stat.sample -P /dev/full
oldselect -a13 -e trace=select
oldselect-P -a13 -e trace=select -P /dev/full 9>>/dev/full
oldselect-efault -a13 -e trace=select
oldselect-efault-P -a13 -e trace=select -P /dev/full 9>>/dev/full
oldstat -a32 -v -P stat.sample -P /dev/full
open -a30 -P $NAME.sample
openat -a36 -P $NAME.sample
osf_utimes -a21
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-P -s2 -e trace=ppoll -P /dev/full 9>>/dev/full
ppoll-v -v -s2 -e trace=ppoll
pread64-pwrite64 -a21 -eread=0 -ewrite=1 -e trace=pread64,pwrite64 -P pread64-pwrite64-tmpfile -P /dev/zero -P /dev/null
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
printpath-umovestr -a11 -e signal=none -e trace=chdir
printpath-umovestr-peekdata -a11 -e signal=none -e trace=chdir
printpath-umovestr-undumpable -a11 -e signal=none -e trace=chdir
printstrn-umoven -s4096 -e signal=none -e trace=add_key
printstrn-umoven-peekdata -e signal=none -e trace=add_key
printstrn-umoven-undumpable -e signal=none -e trace=add_key
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
read-write -a15 -eread=0,5 -ewrite=1,4 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null
readahead -a1
readdir -a16
readlink -xx
readlinkat -xx
reboot -s 256
recvfrom -a35
recvmmsg-timeout -a25 -e trace=recvmmsg
recvmsg -eread=0 -ewrite=1 -e trace=recvmsg,sendmsg
regex test_trace_expr '' -etrace='/^(.*_)?statv?fs'
remap_file_pages
rename -a35
renameat
renameat2
request_key -a33 -s12
riscv_flush_icache -a34
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
s390_guarded_storage -a32
s390_guarded_storage-v -e trace=s390_guarded_storage -a32 -v
s390_pci_mmio_read_write -e trace=s390_pci_mmio_read,s390_pci_mmio_write -a30
s390_runtime_instr -a50
s390_sthyi -a47
s390_sthyi-v -e trace=s390_sthyi -a47 -v
sched test_trace_expr times -e/sched
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
seccomp_get_action_avail -e trace=seccomp
select -a36
select-P -a36 -e trace=select -P /dev/full 9>>/dev/full
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
shmxt -a11 -e trace='/(osf_)?shmat,shmdt'
shutdown -a24
sigaction -a31
siginfo -e trace=none
signal -a25 -e signal=none -e trace='/^signal$'
signal_receive -a16 -e trace=kill
signalfd4
sigpending -a15
sigprocmask -a34
sigreturn -esignal='!USR1'
sigsuspend -a19 -esignal=none
so_linger -e trace=getsockopt,setsockopt
so_peercred -e trace=getsockopt
sock_filter-v -v -e trace=getsockopt,setsockopt
socketcall -a20
sockopt-sol_netlink -e trace=getsockopt,setsockopt
splice
stat -a32 -v -P stat.sample -P /dev/full
stat64 -a32 -v -P stat.sample -P /dev/full
statfs -a17
statfs64 -a23
statx -a32 -v -P stat.sample -P /dev/full
swap -a23 -e trace=swapon,swapoff
sxetmask -a11 -e trace=sgetmask,ssetmask
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
trace_fstat test_trace_expr '' -e%fstat -v -P stat.sample -P /dev/full
trace_fstatfs test_trace_expr '' -e%fstatfs
trace_lstat test_trace_expr '' -e%lstat -v -P stat.sample -P /dev/full
trace_question test_trace_expr '' -e?osf_utimes,?/^pkey_.*
trace_stat test_trace_expr '' -e%stat -v -P stat.sample -P /dev/full
trace_stat_like test_trace_expr '' -e%%stat -v -P stat.sample -P /dev/full
trace_statfs test_trace_expr '' -e%statfs
trace_statfs_like test_trace_expr '' -e%%statfs
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 -a16
utimensat -a33
utimes -a17
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 -a22 -e trace=getxattr,fgetxattr,lgetxattr,setxattr,fsetxattr,lsetxattr,listxattr,flistxattr,llistxattr,removexattr,fremovexattr,lremovexattr
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