evaluate-test.sh 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #!/bin/sh
  2. # Output a test status line.
  3. # Copyright (C) 2012-2019 Free Software Foundation, Inc.
  4. # This file is part of the GNU C Library.
  5. # The GNU C Library is free software; you can redistribute it and/or
  6. # modify it under the terms of the GNU Lesser General Public
  7. # License as published by the Free Software Foundation; either
  8. # version 2.1 of the License, or (at your option) any later version.
  9. # The GNU C Library is distributed in the hope that it will be useful,
  10. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  12. # Lesser General Public License for more details.
  13. # You should have received a copy of the GNU Lesser General Public
  14. # License along with the GNU C Library; if not, see
  15. # <http://www.gnu.org/licenses/>.
  16. # usage: evaluate-test.sh test_name rc xfail stop_on_failure
  17. test_name=$1
  18. rc=$2
  19. orig_rc=$rc
  20. xfail=$3
  21. stop_on_failure=$4
  22. if [ $rc -eq 77 ]; then
  23. result="UNSUPPORTED"
  24. rc=0
  25. else
  26. if [ $rc -eq 0 ]; then
  27. result="PASS"
  28. else
  29. result="FAIL"
  30. fi
  31. if $xfail; then
  32. result="X$result"
  33. rc=0
  34. fi
  35. fi
  36. echo "$result: $test_name"
  37. echo "original exit status $orig_rc"
  38. if $stop_on_failure; then
  39. exit $rc
  40. else
  41. exit 0
  42. fi