blob: ef957c3e0eb5cbbb01f75d59e61e8928efae69eb [file] [log] [blame]
Dmitry V. Levin12e24422015-01-12 16:08:59 +00001#!/bin/sh
2
3# Check decoding of ipc semget/semctl syscalls
4
5. "${srcdir=.}/init.sh"
6
7check_prog grep
8
9OUT="$LOG.out"
10
Andreas Schwabfa5ce372015-03-11 12:33:30 +010011./ipc_sem > /dev/null || {
12 if [ $? -eq 77 ]; then
Dmitry V. Levin12e24422015-01-12 16:08:59 +000013 framework_skip_ 'ipc semget/semctl syscalls do not behave as expected'
Andreas Schwabfa5ce372015-03-11 12:33:30 +010014 else
Dmitry V. Levin12e24422015-01-12 16:08:59 +000015 fail_ 'ipc_sem failed'
Andreas Schwabfa5ce372015-03-11 12:33:30 +010016 fi
Dmitry V. Levin12e24422015-01-12 16:08:59 +000017}
18
Mike Frysinger4ed340b2015-02-27 01:39:25 -050019args='-eipc ./ipc_sem'
Dmitry V. Levin12e24422015-01-12 16:08:59 +000020$STRACE -o "$LOG" $args > "$OUT" &&
Andreas Schwab33557842015-03-11 17:49:06 +010021exp_lines=$(wc -l < "$OUT") &&
22matched_lines=$(LC_ALL=C grep -c -E -x -f "$OUT" "$LOG") &&
23test $exp_lines -eq $matched_lines || {
Dmitry V. Levin12e24422015-01-12 16:08:59 +000024 cat "$OUT" "$LOG"
25 fail_ "$STRACE $args output mismatch"
26}
27
28rm -f "$OUT"
29
30exit 0