#!/bin/sh
+# usage: checkall
+# runs all test cases
+#
+# This file is part of adns, which is
+# Copyright (C) 1997-2000,2003,2006 Ian Jackson
+# Copyright (C) 1999-2000,2003,2006 Tony Finch
+# Copyright (C) 1991 Massachusetts Institute of Technology
+# (See the file INSTALL for full details.)
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+set -e
+
+: ${srcdir=.}
failed=''
+passed=''
+skipped=''
-for f in case-*.sys
+for f in $srcdir/case-*.sys
do
- case="`echo \"$f\" | sed -e 's/^case-//; s/\.sys$//'`"
- if ./r1test $case
- then
- :
- else
- echo
+ case="`echo \"$f\" | sed -e 's:^.*/::; s/^case-//; s/\.sys$//'`"
+ set +e
+ $srcdir/r1test $case
+ rc=$?
+ set -e
+ case $rc in
+ 0) passed="$passed $case" ;;
+ 5) skipped="$skipped $case" ;;
+ *) echo
failed="$failed $case"
echo
- fi
+ ;;
+ esac
done
if [ "x$failed" = x ]
then
echo "
-all tests passed."
+"
+ if [ "x$skipped" = x ]
+ then
+ echo "all tests passed."
+ else
+ echo "all applicable tests passed (skipped:$skipped)"
+ fi
+ echo
exit 0
fi
echo >&2 "
AT LEAST ONE TEST FAILED
-$failed
+passed tests:${passed:- NONE}
+skipped tests:${skipped:- NONE}
+failed tests:$failed
"
exit 1