]>
git.saurik.com Git - wxWidgets.git/blob - src/tiff/config/test-driver
   2 # test-driver - basic driver script for the 'parallel-tests' mode. 
   4 scriptversion
=2012-06-27.10
; # UTC 
   6 # Copyright (C) 2011-2012 Free Software Foundation, Inc. 
   8 # This program is free software; you can redistribute it and/or modify 
   9 # it under the terms of the GNU General Public License as published by 
  10 # the Free Software Foundation; either version 2, or (at your option) 
  13 # This program is distributed in the hope that it will be useful, 
  14 # but WITHOUT ANY WARRANTY; without even the implied warranty of 
  15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
  16 # GNU General Public License for more details. 
  18 # You should have received a copy of the GNU General Public License 
  19 # along with this program.  If not, see <http://www.gnu.org/licenses/>. 
  21 # As a special exception to the GNU General Public License, if you 
  22 # distribute this file as part of a program that contains a 
  23 # configuration script generated by Autoconf, you may include it under 
  24 # the same distribution terms that you use for the rest of that program. 
  26 # This file is maintained in Automake, please report 
  27 # bugs to <bug-automake@gnu.org> or send patches to 
  28 # <automake-patches@gnu.org>. 
  30 # Make unconditional expansion of undefined variables an error.  This 
  31 # helps a lot in preventing typo-related bugs. 
  45   test-driver --test-name=NAME --log-file=PATH --trs-file=PATH 
  46               [--expect-failure={yes|no}] [--color-tests={yes|no}] 
  47               [--enable-hard-errors={yes|no}] [--] TEST-SCRIPT 
  48 The '--test-name', '--log-file' and '--trs-file' options are mandatory. 
  52 # TODO: better error handling in option parsing (in particular, ensure 
  53 # TODO: $log_file, $trs_file and $test_name are defined). 
  54 test_name
= # Used for reporting. 
  55 log_file
=  # Where to save the output of the test script. 
  56 trs_file
=  # Where to save the metadata of the test run. 
  59 enable_hard_errors
=yes 
  60 while test $# -gt 0; do 
  62   --help) print_usage
; exit $?
;; 
  63   --version) echo "test-driver $scriptversion"; exit $?
;; 
  64   --test-name) test_name
=$2; shift;; 
  65   --log-file) log_file
=$2; shift;; 
  66   --trs-file) trs_file
=$2; shift;; 
  67   --color-tests) color_tests
=$2; shift;; 
  68   --expect-failure) expect_failure
=$2; shift;; 
  69   --enable-hard-errors) enable_hard_errors
=$2; shift;; 
  71   -*) usage_error 
"invalid option: '$1'";; 
  76 if test $color_tests = yes; then 
  77   # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'. 
  79   grn
='\e[0;32m' # Green. 
  80   lgn
='\e[1;32m' # Light green. 
  81   blu
='\e[1;34m' # Blue. 
  82   mgn
='\e[0;35m' # Magenta. 
  83   std
='\e[m'     # No color. 
  85   red
= grn
= lgn
= blu
= mgn
= std
= 
  88 do_exit
='rm -f $log_file $trs_file; (exit $st); exit $st' 
  89 trap "st=129; $do_exit" 1 
  90 trap "st=130; $do_exit" 2 
  91 trap "st=141; $do_exit" 13 
  92 trap "st=143; $do_exit" 15 
  94 # Test script is run here. 
  97 if test $enable_hard_errors = no 
&& test $estatus -eq 99; then 
 101 case $estatus:$expect_failure in 
 102   0:yes) col=$red res
=XPASS recheck
=yes gcopy
=yes;; 
 103   0:*)   col=$grn res
=PASS  recheck
=no  gcopy
=no
;; 
 104   77:*)  col=$blu res
=SKIP  recheck
=no  gcopy
=yes;; 
 105   99:*)  col=$mgn res
=ERROR recheck
=yes gcopy
=yes;; 
 106   *:yes) col=$lgn res
=XFAIL recheck
=no  gcopy
=yes;; 
 107   *:*)   col=$red res
=FAIL  recheck
=yes gcopy
=yes;; 
 110 # Report outcome to console. 
 111 echo "${col}${res}${std}: $test_name" 
 113 # Register the test result, and other relevant metadata. 
 114 echo ":test-result: $res" > $trs_file 
 115 echo ":global-test-result: $res" >> $trs_file 
 116 echo ":recheck: $recheck" >> $trs_file 
 117 echo ":copy-in-global-log: $gcopy" >> $trs_file 
 122 # eval: (add-hook 'write-file-hooks 'time-stamp) 
 123 # time-stamp-start: "scriptversion=" 
 124 # time-stamp-format: "%:y-%02m-%02d.%02H" 
 125 # time-stamp-time-zone: "UTC" 
 126 # time-stamp-end: "; # UTC"