diff options
Diffstat (limited to 'REORG.TODO/support/tst-support_record_failure-2.sh')
-rw-r--r-- | REORG.TODO/support/tst-support_record_failure-2.sh | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/REORG.TODO/support/tst-support_record_failure-2.sh b/REORG.TODO/support/tst-support_record_failure-2.sh new file mode 100644 index 0000000000..2c9372cc29 --- /dev/null +++ b/REORG.TODO/support/tst-support_record_failure-2.sh @@ -0,0 +1,69 @@ +#!/bin/sh +# Test failure recording (with and without --direct). +# Copyright (C) 2016-2017 Free Software Foundation, Inc. +# This file is part of the GNU C Library. + +# The GNU C Library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# The GNU C Library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with the GNU C Library; if not, see +# <http://www.gnu.org/licenses/>. */ + +set -e + +common_objpfx=$1; shift +test_program_prefix_before_env=$1; shift +run_program_env=$1; shift +test_program_prefix_after_env=$1; shift + +run_test () { + expected_status="$1" + expected_output="$2" + shift 2 + args="${common_objpfx}support/tst-support_record_failure $*" + echo "running: $args" + set +e + output="$(${test_program_prefix_before_env} \ + ${run_program} ${test_program_prefix_after_env} $args)" + status=$? + set -e + echo " exit status: $status" + if test "$output" != "$expected_output" ; then + echo "error: unexpected output: $output" + exit 1 + fi + if test "$status" -ne "$expected_status" ; then + echo "error: exit status $expected_status expected" + exit 1 + fi +} + +different_status () { + direct="$1" + run_test 1 "error: 1 test failures" $direct --status=0 + run_test 1 "error: 1 test failures" $direct --status=1 + run_test 2 "error: 1 test failures" $direct --status=2 + run_test 1 "error: 1 test failures" $direct --status=77 + run_test 2 "error: tst-support_record_failure.c:109: not true: false +error: 1 test failures" $direct --test-verify + run_test 2 "error: tst-support_record_failure.c:109: not true: false +info: execution passed failed TEST_VERIFY +error: 1 test failures" $direct --test-verify --verbose +} + +different_status +different_status --direct + +run_test 1 "error: tst-support_record_failure.c:116: not true: false +error: 1 test failures" --test-verify-exit +# --direct does not print the summary error message if exit is called. +run_test 1 "error: tst-support_record_failure.c:116: not true: false" \ + --direct --test-verify-exit |