#!/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 53 54 55 56 57 58 59\ sh1.sh sh2.sh" tests_no=`expr 0` # Directory must be owned by bin [ "$USER" != root ] || chown bin . # Count tests 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 ] then su - bin -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 " "