diff options
Diffstat (limited to 'tests/strace--syscall-limit.test')
-rwxr-xr-x | tests/strace--syscall-limit.test | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/strace--syscall-limit.test b/tests/strace--syscall-limit.test new file mode 100755 index 000000000..410c24a3d --- /dev/null +++ b/tests/strace--syscall-limit.test @@ -0,0 +1,33 @@ +#!/bin/sh -e +# +# Check -l/--syscall-limit option. +# +# Copyright (c) 2016-2023 The strace developers. +# All rights reserved. +# +# SPDX-License-Identifier: GPL-2.0-or-later + +. "${srcdir=.}/init.sh" + +prog_args="../$NAME" +set -- --syscall-limit=3 --trace='chdir,rmdir' "$@" + +run_prog > /dev/null +echo 0 > exp_status +match_diff exp_status parent_status 'parent_status does not match expectations' +rm parent_status + +run_strace --signal='!SIGCHLD,SIGCONT' --quiet=path-resolution,personality \ + -f -a9 "$@" $prog_args > "$EXP" + +# Do not wait forever, stop waiting +# if the file won't appear after 10 iterations. +attempt=1 +while [ "$attempt" -le 10 ] && [ ! -s 'parent_status' ]; do + $SLEEP_A_BIT + attempt=$((attempt + 1)) +done + +match_diff "$LOG" "$EXP" +match_diff exp_status parent_status 'parent_status does not match expectations' +rm parent_status exp_status |