blob: 25f82cb8d047eec6df9149d1ce893b5e134751b1 [file] [log] [blame]
Dmitry V. Levincc3d5912014-04-16 23:28:29 +00001#!/bin/sh
2
3# Check how pread/pwrite and preadv/pwritev syscalls are traced.
4
5. "${srcdir=.}/init.sh"
6
7check_prog grep
8check_prog rm
9
10./uio ||
11 fail_ 'uio failed'
12
13args="-edesc ./uio"
14$STRACE $args > $LOG 2>&1 || {
15 cat $LOG
16 fail_ "$STRACE $args failed"
17}
18
19grep_log()
20{
21 local syscall="$1"; shift
22
23 LC_ALL=C grep -E -x "$syscall$*" $LOG > /dev/null || {
24 cat $LOG
25 fail_ "$STRACE $args failed to trace \"$syscall\" properly"
26 }
27}
28
29grep_log 'pread(64)?' '\(3, "\\0\\0\\0\\0", 4, 1004211379570065135\) += 4'
30grep_log 'preadv' '\(3, \[{"\\0\\0\\0\\0", 4}\], 1, 1004211379570065135\) += 4'
31grep_log 'pwrite(64)?' '\(3, "\\0\\0\\0\\0", 4, 1004211379570065135\) += 4'
32grep_log 'pwritev' '\(3, \[{"\\0\\0\\0\\0", 4}\], 1, 1004211379570065135\) += 4'
33
34exit 0