4ae9c03147
- Make test/run count how many tests it's going to perform instead of having to manually update it ourselves.
62 lines
1.6 KiB
Bash
Executable file
62 lines
1.6 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
# Initialization
|
|
PATH=:/bin:/usr/bin
|
|
export PATH
|
|
|
|
rm -rf DIR* # remove any old junk lying around
|
|
passed=`expr 0` # count number of tests run correctly
|
|
failed=`expr 0` # count number of tests that failed
|
|
skipped=`expr 0` # count number of tests that were skipped
|
|
total=`expr 0` # total number of tests tried
|
|
badones= # list of tests that failed
|
|
|
|
tests=" 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 \
|
|
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 \
|
|
41 42 43 44 45 45-gcc 46 47 48 49 49-gcc 50 \
|
|
51 51-gcc 52 52-gcc \
|
|
sh1.sh sh2.sh"
|
|
tests_no=`expr 0`
|
|
|
|
for i in `echo $tests`; do
|
|
if [ -x ./test$i ]; then
|
|
tests_no=`expr $tests_no + 1`
|
|
fi
|
|
done
|
|
|
|
# Print test welcome message
|
|
clr
|
|
echo "Running POSIX compliance test suite. There are $tests_no tests in total."
|
|
echo " "
|
|
|
|
# Run all the tests, keeping track of who failed.
|
|
for i in `echo $tests`
|
|
do
|
|
if [ -x ./test$i ]
|
|
then
|
|
total=`expr $total + 1`
|
|
FAIL=0
|
|
if [ $USER = root -a \( $i = 11 -o $i = 33 \) ]
|
|
then su - ast -c "cd `pwd`; ./test$i" || FAIL=1
|
|
else ./test$i || FAIL=1
|
|
fi
|
|
if [ $FAIL -eq 0 ]
|
|
then passed=`expr $passed + 1`
|
|
else failed=`expr $failed + 1`
|
|
badones=`echo $badones " " $i`
|
|
fi
|
|
else
|
|
skipped=`expr $skipped + 1`
|
|
fi
|
|
done
|
|
|
|
# Print results of the tests.
|
|
echo " "
|
|
if test $total = $passed
|
|
then echo All $passed tests completed without error \($skipped skipped\).
|
|
else echo Testing completed. Score: $passed passed, $failed failed, \
|
|
skipped $skipped
|
|
echo The following tests failed: $badones
|
|
fi
|
|
|
|
# echo " "
|