testlist options
-g group[,group...] include tests from these groups
-x group[,group...] exclude tests from these groups
- NNN include test NNN
- NNN-NNN include test range (eg. 012-021)
+ [testlist] include tests matching names in testlist
'
exit 0
}
echo $grpl
}
-expand_test_numbers()
-{
- # strip leading zeros, could be considered octal.
- start=`echo $1 | sed 's/^0*//'`
- end=`echo $2 | sed 's/^0*//'`
-
- $AWK_PROG </dev/null '
-BEGIN { for (t='$start'; t<='$end'; t++) printf "%03d\n",t }' \
- | while read id
- do
- if grep -s "^$id " group >/dev/null ; then
- # in group file ... OK
- echo $id >>$tmp.list
- else
- # oops
- echo "$id - unknown test, ignored"
- fi
- done
-}
-
_wallclock()
{
date "+%H %M %S" | $AWK_PROG '{ print $1*3600 + $2*60 + $3 }'
exit 1
fi
+# Process command arguments first.
while [ $# -gt 0 ]; do
case "$1" in
-\? | -h | --help) usage ;;
-T) timestamp=true ;;
- "$SUPPORTED_TESTS")
- echo "No tests?"
- status=1
- exit $status
- ;;
-
- [0-9]*-[0-9]*)
- eval `echo $1 | sed -e 's/^/start=/' -e 's/-/ end=/'`
- expand_test_numbers $start $end
- have_test_arg=true
- ;;
-
- [0-9]*-)
- eval `echo $1 | sed -e 's/^/start=/' -e 's/-//'`
- end=`echo $SUPPORTED_TESTS | sed -e 's/\[0-9]//g' -e 's/ *$//' -e 's/.* //'`
- if [ -z "$end" ]; then
- echo "No tests in range \"$1\"?"
- status=1
- exit $status
- fi
- expand_test_numbers $start $end
- have_test_arg=true
- ;;
-
--large-fs) export LARGE_SCRATCH_DEV=yes ;;
--extra-space=*) export SCRATCH_DEV_EMPTY_SPACE=${r#*=} ;;
-*) usage ;;
- *) expand_test_numbers $1 $1 ;
- have_test_arg=true
- ;;
+ *) # not an argument, we've got tests now.
+ have_test_arg=true ;;
esac
+ # if we've found a test specification, the break out of the processing
+ # loop before we shift the arguments so that this is the first argument
+ # that we process in the test arg loop below.
+ if $have_test_arg; then
+ break;
+ fi
+
shift
done
+# Process tests from command line now.
+if $have_test_arg; then
+ while [ $# -gt 0 ]; do
+ case "$1" in
+ -*) echo "Argments before tests, please!"
+ status=1
+ exit $status
+ ;;
+ *) test_dir=`dirname $1`
+ test_name=`basename $1`
+ group_file=$SRC_DIR/$test_dir/group
+
+ if grep "^$testname" $group_file >/dev/null ; then
+ # in group file ... OK
+ echo $SRC_DIR/$1 >>$tmp.list
+ else
+ # oops
+ echo "$1 - unknown test, ignored"
+ fi
+ ;;
+ esac
+
+ shift
+ done
+fi
+
if [ -s $tmp.list ]; then
# found some valid test numbers ... this is good
: