15dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes#!/bin/sh
25dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes
35dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes# Ensure that strace -e trace=set works.
45dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes
55dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes. "${srcdir=.}/init.sh"
65dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes
75dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughescheck_prog ls
85dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughescheck_prog grep
95dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes
105dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes$STRACE -e execve ls > /dev/null 2> $LOG &&
115dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughesgrep '^execve(' $LOG > /dev/null ||
125dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes	{ cat $LOG; fail_ 'strace -e execve does not work'; }
135dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes
145dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughesgrep -v '^execve(' $LOG |
155dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott HughesLC_ALL=C grep '^[[:alnum:]_]*(' > /dev/null &&
165dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes	{ cat $LOG; fail_ 'strace -e execve does not work properly'; }
175dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes
185dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes$STRACE -e trace=process ls > /dev/null 2> $LOG &&
195dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughesgrep '^execve(' $LOG > /dev/null ||
205dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes	{ cat $LOG; fail_ 'strace -e trace=process does not work'; }
215dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes
225dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughesgrep '^open' $LOG > /dev/null &&
235dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes	{ cat $LOG; fail_ 'strace -e trace=process does not work properly'; }
245dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes
255dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughesexit 0
26