1#!/bin/sh 2# Bug 18125: Test the exit functionality of setcontext(). 3# Copyright (C) 2015-2022 Free Software Foundation, Inc. 4# This file is part of the GNU C Library. 5 6# The GNU C Library is free software; you can redistribute it and/or 7# modify it under the terms of the GNU Lesser General Public 8# License as published by the Free Software Foundation; either 9# version 2.1 of the License, or (at your option) any later version. 10 11# The GNU C Library is distributed in the hope that it will be useful, 12# but WITHOUT ANY WARRANTY; without even the implied warranty of 13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14# Lesser General Public License for more details. 15 16# You should have received a copy of the GNU Lesser General Public 17# License along with the GNU C Library; if not, see 18# <https://www.gnu.org/licenses/>. 19 20set -e 21 22common_objpfx=$1 23test_program_prefix_before_env=$2 24run_program_env=$3 25test_program_prefix_after_env=$4 26objpfx=$5 27 28test_pre="${test_program_prefix_before_env} ${run_program_env}" 29test="${test_program_prefix_after_env} ${objpfx}tst-setcontext3" 30out=${objpfx}tst-setcontext3.out 31 32cleanup() { 33 rm -f $tempfile 34} 35trap cleanup 0 36 37tempfile=$(mktemp "${objpfx}tst-setcontext3.XXXXXXXXXX") 38 39# We want to run the test program and see if secontext called 40# exit() and wrote out the test file we specified. If the 41# test exits with a non-zero status this will fail because we 42# are using `set -e`. 43$test_pre $test "$tempfile" 44 45# Look for resulting file. 46if [ -e "$tempfile" ]; then 47 echo "PASS: tst-setcontext3 an exit() and created $tempfile" 48 exit 0 49else 50 echo "FAIL: tst-setcontext3 did not create $tempfile" 51 exit 1 52fi 53