#!/bin/sh bindir="%bindir%" DEFAULT_TET_ROOT="%DEFAULT_TET_ROOT%" PACKAGE_VERSION="%PACKAGE_VERSION%" TCC="${TCC-${bindir}/tcc}" PERL=${PERL-perl} XTS_CONFIG="${XTS_CONFIG-${bindir}/xts-config}" XTS_REPORT="${XTS_REPORT-${bindir}/xts-report}" prog=$0 config= config_in="${TET_ROOT-$DEFAULT_TET_ROOT}/xts5/tetexec.cfg.in" basedir=xts-results scenario= help() { cat << EOF Usage: $prog [OPTION]... [SCENARIO] Execute the XTS tests in SCENARIO (all by default). -c, --config CONFIG use the tet config file CONFIG -h, --help display this help text and exit -o, --output DIRECTORY output results in DIRECTORY (default: $basedir) -V, --version display the version and exit EOF } while [ -n "$1" ]; do case "$1" in -c|--config) config=$2 shift ;; -o|--output) basedir=$2 shift ;; -h|--help) help exit 0 ;; -V|--version) echo $PACKAGE_VERSION exit 0 ;; -*) echo "error: unrecognized option \"$1\"" >&2 echo "See \"$prog --help\" for more information" >&2 exit 1 ;; *) if [ -n "$scenario" ]; then echo "error: only one scenario allowed" >&2 exit 1 fi scenario=$1 esac shift done # Create the config file if necessary if [ -z "$config" ]; then config=`mktemp tetexec.cfg.XXXXXXXXXX` trap 'rm -f "$config"' 0 1 2 3 15 if ! "$PERL" "$XTS_CONFIG" < "$config_in" > "$config"; then echo "error: failed to create config file $config" >&2 exit 1 fi else if [ ! -r "$config" ]; then echo "error: cannot read config file $config" >&2 exit 1 fi fi # Create the output directory outdir="$basedir/`date +%F-%T`" if [ ! -d "$outdir" ] && ! mkdir -p "$outdir"; then echo "error: failed to create output directory $outdir" >&2 exit 1 fi # run the tests "$TCC" -e -i "$outdir" -x "$config" xts5 $scenario ret=$? # generate a short report "$XTS_REPORT" -d2 -f "$outdir/journal" > "$outdir/summary" # return the tcc exit code exit $ret