1*cf84ac9aSAndroid Build Coastguard Worker#!/bin/sh 2*cf84ac9aSAndroid Build Coastguard Worker 3*cf84ac9aSAndroid Build Coastguard Worker# Check -ff option. 4*cf84ac9aSAndroid Build Coastguard Worker 5*cf84ac9aSAndroid Build Coastguard Worker. "${srcdir=.}/init.sh" 6*cf84ac9aSAndroid Build Coastguard Worker 7*cf84ac9aSAndroid Build Coastguard Workerrun_prog_skip_if_failed \ 8*cf84ac9aSAndroid Build Coastguard Worker kill -0 $$ 9*cf84ac9aSAndroid Build Coastguard Worker 10*cf84ac9aSAndroid Build Coastguard Worker../set_ptracer_any ../sleep 3 > "$OUT" & 11*cf84ac9aSAndroid Build Coastguard Workertracee_pid=$! 12*cf84ac9aSAndroid Build Coastguard Worker 13*cf84ac9aSAndroid Build Coastguard Workerwhile ! [ -s "$OUT" ]; do 14*cf84ac9aSAndroid Build Coastguard Worker kill -0 $tracee_pid 2> /dev/null || 15*cf84ac9aSAndroid Build Coastguard Worker fail_ 'set_ptracer_any sleep failed' 16*cf84ac9aSAndroid Build Coastguard Workerdone 17*cf84ac9aSAndroid Build Coastguard Worker 18*cf84ac9aSAndroid Build Coastguard Workerrun_strace -a14 -eexit_group -ff -p $tracee_pid 19*cf84ac9aSAndroid Build Coastguard Worker 20*cf84ac9aSAndroid Build Coastguard Worker# check that output matches 21*cf84ac9aSAndroid Build Coastguard Workermatch_diff "$LOG.$tracee_pid" 22*cf84ac9aSAndroid Build Coastguard Worker 23*cf84ac9aSAndroid Build Coastguard Worker# check that no other output files have been created 24*cf84ac9aSAndroid Build Coastguard Workerset -- "$LOG".* 25*cf84ac9aSAndroid Build Coastguard Worker[ "$LOG.$tracee_pid" = "$*" ] || 26*cf84ac9aSAndroid Build Coastguard Worker fail_ "too many output files: $*" 27