#! /bin/sh

# Template for the test script specified for REG_TEST.

# Run the test case for a regression search.  The argument is the date
# of the sources.  The return value is 1 if the binary search should
# continue with later dates, 0 if it should continue with earlier
# dates.

DATE="${1}"

# Specify the PR number and the directory where the test should be run.
PR=xxxx
DIR=xxxx

LOG_DATE="`echo ${DATE} | sed 's/[-: ]/_/g'`"
LOG="${PR}.${LOG_DATE}.out"

echo "`date`  running test for PR ${PR}"
cd ${DIR}

# Compile the test case with whatever options are needed to trigger the
# error.

<compiler_to_run> <options> ${PR}.<x> > ${LOG} 2>&1

# Some tests will require additional commands to determine whether the
# test passed or failed, such as grepping compiler output for a
# particular message, or running the test and possibly comparing its
# output with the expected output.

xxxxx

# The return value depends on whether the last command is expected to be
# zero or nonzero for a passing test, and whether we're looking for a
# regression or for the patch that fixed the bug.

# Return 1 to continue the search with later dates, 0 for earlier dates.

test $? -eq 0 && exit 1
exit 0
