]> granicus.if.org Git - strace/blob - tests/threads-execve.test
Update copyright headers
[strace] / tests / threads-execve.test
1 #!/bin/sh
2 #
3 # Check decoding of threads when a non-leader thread invokes execve.
4 #
5 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
6 # Copyright (c) 2016-2018 The strace developers.
7 # All rights reserved.
8 #
9 # SPDX-License-Identifier: GPL-2.0-or-later
10
11 . "${srcdir=.}/init.sh"
12
13 # Check that PTRACE_EVENT_EXEC support in kernel is good enough.
14 # The kernel before commit v3.1-rc1~308^2~7 reported 0 instead of old pid.
15 require_min_kernel_version_or_skip 3.1
16
17 check_prog diff
18 run_prog > /dev/null
19
20 set -- -a21 -f -esignal=none -e trace=execve,exit,nanosleep,rt_sigsuspend $args
21
22 # Due to probabilistic nature of the test, try it several times.
23 i=0
24 while [ $i -le 19 ]; do
25         i="$(($i+1))"
26         run_strace "$@" > "$EXP"
27         sed 1d < "$LOG" > "$OUT"
28         diff -- "$EXP" "$OUT" || continue
29         exit 0
30 done
31
32 fail_ "$STRACE $* output mismatch"