summaryrefslogtreecommitdiff
path: root/tests/strace-ff.test
blob: 9011bdd8dcf081aeb8ad9c7c22be048e788d718e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/sh -efu
#
# Check -ff option.
#
# Copyright (c) 2016-2020 The strace developers.
# All rights reserved.
#
# SPDX-License-Identifier: GPL-2.0-or-later

. "${srcdir=.}/init.sh"

ff_opt="${*:--ff}"

run_prog_skip_if_failed \
	kill -0 $$

run_prog ../sleep 0

../set_ptracer_any ../sleep 3 > "$OUT" &
tracee_pid=$!

while ! [ -s "$OUT" ]; do
	kill -0 $tracee_pid 2> /dev/null ||
		fail_ 'set_ptracer_any sleep failed'
done

run_strace --quiet=personality -a14 -eexit_group ${ff_opt} -p $tracee_pid

# check that output matches
match_diff "$LOG.$tracee_pid"

# check that no other output files have been created
set +f
set -- "$LOG".*
[ "$LOG.$tracee_pid" = "$*" ] ||
	fail_ "too many output files: $*"