#! /bin/sh # test-driver - basic driver script for the `parallel-tests' mode. scriptversion=2011-06-21.19; # UTC # Copyright (C) 2011 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program 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 General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . # Make unconditional expansion of undefined variables an error. This # helps a lot in preventing typo-related bugs. set -u fatal () { echo "$0: fatal: $*" >&2 exit 1 } usage_error () { echo "$0: $*" >&2 print_usage >&2 exit 2 } print_usage () { cat <$tmpfile 2>&1 estatus=$? if test $enable_hard_errors = no && test $estatus -eq 99; then estatus=1 fi case $estatus:$expect_failure in 0:yes) col=$red; res=XPASS;; 0:*) col=$grn; res=PASS ;; 77:*) col=$blu; res=SKIP ;; 99:*) col=$red; res=FAIL ;; *:yes) col=$lgn; res=XFAIL;; *:*) col=$red; res=FAIL ;; esac # Report outcome to console. echo "${col}${res}${std}: $test_name" # Now write log file. { echo "$res: $test_name (exit: $estatus)" | rst_section echo ":test-result: $res (exit status: $estatus)" # Use a reStructuredText transition to better separate the test # outcome report from its registered output. echo echo ------------ echo cat $tmpfile } > $logfile rm -f $tmpfile # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: