1#!/bin/sh
2# Output a test status line.
3# Copyright (C) 2012-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
20# usage: evaluate-test.sh test_name rc xfail stop_on_failure
21
22test_name=$1
23rc=$2
24orig_rc=$rc
25xfail=$3
26stop_on_failure=$4
27
28if [ $rc -eq 77 ]; then
29  result="UNSUPPORTED"
30  rc=0
31else
32  if [ $rc -eq 0 ]; then
33    result="PASS"
34  else
35    result="FAIL"
36  fi
37
38  if $xfail; then
39    result="X$result"
40    rc=0
41  fi
42fi
43
44echo "$result: $test_name"
45echo "original exit status $orig_rc"
46if $stop_on_failure; then
47  exit $rc
48else
49  exit 0
50fi
51