blob: bdcaa500ef1bd3f971cd98a7f6277e24d7af1c9a [file] [log] [blame]
#!/bin/sh
# Check ioctl syscall decoding.
. "${srcdir=.}/init.sh"
check_prog grep
./ioctl || {
if [ $? -eq 77 ]; then
framework_skip_ 'ioctl does not behave as expected'
else
fail_ 'ioctl failed'
fi
}
args="-e ioctl ./ioctl"
$STRACE -o "$LOG" $args || {
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 ioctl '\(-1, TCGETS, 0x[0-9a-f]+\) += -1 EBADF .*'
grep_log ioctl '\(-1, MMTIMER_GETRES, 0x[0-9a-f]+\) += -1 EBADF .*'
grep_log ioctl '\(-1, HIDIOCGRDESCSIZE or HIDIOCGVERSION, 0x[0-9a-f]+\) += -1 EBADF .*'
grep_log ioctl '\(-1, HIDIOCGPHYS\(8\), 0x[0-9a-f]+\) += -1 EBADF .*'
grep_log ioctl '\(-1, EVIOCGBIT\(EV_KEY, 8\), 0x[0-9a-f]+\) += -1 EBADF .*'
grep_log ioctl '\(-1, _IOC\(_IOC_READ, 0xde, 0xad, 0x08\), 0x[0-9a-f]+\) += -1 EBADF .*'
exit 0