blob: a9f27ac96f93260ec949327326693a607b6b8d51 [file] [log] [blame]
Chris Lattner9a3c2b52002-02-01 04:24:47 +00001#!/bin/sh
2#
3# TestRunner.sh - This script is used to run arbitrary unit tests. Unit
4# tests must contain the command used to run them in the input file, starting
5# immediately after a "RUN:" string.
6#
7# This runner recognizes and replaces the following strings in the command:
8# %s - Replaced with the input name of the program
9#
10
Chris Lattnerd24d4af2002-02-11 23:32:43 +000011grep 'RUN:' $1 | sed "s/^.*RUN:\(.*\)$/\1/g;s/%s/$1/g" > Output/$1.script
Chris Lattner9a3c2b52002-02-01 04:24:47 +000012OUTPUT=Output/$1.out
13
Chris Lattnerd24d4af2002-02-11 23:32:43 +000014
15/bin/sh Output/$1.script > $OUTPUT 2>&1 || (
Chris Lattner9a3c2b52002-02-01 04:24:47 +000016 echo "******************** TEST '$1' FAILED! ********************"
Chris Lattnerd24d4af2002-02-11 23:32:43 +000017 echo "Command: "
18 cat Output/$1.script
Chris Lattner9a3c2b52002-02-01 04:24:47 +000019 echo "Output:"
20 cat $OUTPUT
21 rm $OUTPUT
22 echo "******************** TEST '$1' FAILED! ********************"
23)
24