#!/bin/bash

# Simple shell file that runs the regression tests and displays output only
# if tests fail.  You can run the entire test yourself by executing this file:
#   ./buildtest
# This takes a long time to run.

# Note: To only run tests on the annotations projects,
# instead of executing this script, run:
#     ant test-all-annotations
# This will create a new directory, build-current-<today's date>, in the
# present directory, and will checkout, build and test all the annotations
# projects in that directory.  To run those tests locally, pass in your
# working directory to Ant as follows:
#     ant -Dbuilddir=$HOME/research/types test-all-annotations


# Remove last night's results.
rm -rf reports
rm -rf build-current*
mkdir reports

ant checkout-all 2>&1 > checkout-all.log
ant build-all 2>&1 > build-all.log

# Each of the following four commands places the results in the reports folder,
# The TestWrapper reads them and outputs any that have errors.
ant test-asmx 2>&1 > test-asmx.log
ant test-annotation-scene-lib 2>&1 > test-annotation-scene-lib.log
ant test-annotator 2>&1 > test-annotator.log

# TestWrapper examines all reports and only displays those files that contain
# failing test cases.
# This effectively makes cron send email, since cron sends email only if
# the script produces output.
javac TestWrapper.java
java TestWrapper reports/*

# The .log files aren't part of the tests, so don't put them in reports
# until all the tests have been analyzed.
mv *.log reports
