.. | .. |
---|
33 | 33 | { |
---|
34 | 34 | # Make sure tests will time out if utility is available. |
---|
35 | 35 | if [ -x /usr/bin/timeout ] ; then |
---|
36 | | - /usr/bin/timeout --foreground "$kselftest_timeout" "$1" |
---|
| 36 | + /usr/bin/timeout --foreground "$kselftest_timeout" \ |
---|
| 37 | + /usr/bin/timeout "$kselftest_timeout" $1 |
---|
37 | 38 | else |
---|
38 | | - "$1" |
---|
| 39 | + $1 |
---|
39 | 40 | fi |
---|
40 | 41 | } |
---|
41 | 42 | |
---|
.. | .. |
---|
65 | 66 | |
---|
66 | 67 | TEST_HDR_MSG="selftests: $DIR: $BASENAME_TEST" |
---|
67 | 68 | echo "# $TEST_HDR_MSG" |
---|
68 | | - if [ ! -x "$TEST" ]; then |
---|
69 | | - echo -n "# Warning: file $TEST is " |
---|
70 | | - if [ ! -e "$TEST" ]; then |
---|
71 | | - echo "missing!" |
---|
72 | | - else |
---|
73 | | - echo "not executable, correct this." |
---|
74 | | - fi |
---|
| 69 | + if [ ! -e "$TEST" ]; then |
---|
| 70 | + echo "# Warning: file $TEST is missing!" |
---|
75 | 71 | echo "not ok $test_num $TEST_HDR_MSG" |
---|
76 | 72 | else |
---|
| 73 | + cmd="./$BASENAME_TEST" |
---|
| 74 | + if [ ! -x "$TEST" ]; then |
---|
| 75 | + echo "# Warning: file $TEST is not executable" |
---|
| 76 | + |
---|
| 77 | + if [ $(head -n 1 "$TEST" | cut -c -2) = "#!" ] |
---|
| 78 | + then |
---|
| 79 | + interpreter=$(head -n 1 "$TEST" | cut -c 3-) |
---|
| 80 | + cmd="$interpreter ./$BASENAME_TEST" |
---|
| 81 | + else |
---|
| 82 | + echo "not ok $test_num $TEST_HDR_MSG" |
---|
| 83 | + return |
---|
| 84 | + fi |
---|
| 85 | + fi |
---|
77 | 86 | cd `dirname $TEST` > /dev/null |
---|
78 | | - ((((( tap_timeout ./$BASENAME_TEST 2>&1; echo $? >&3) | |
---|
| 87 | + ((((( tap_timeout "$cmd" 2>&1; echo $? >&3) | |
---|
79 | 88 | tap_prefix >&4) 3>&1) | |
---|
80 | 89 | (read xs; exit $xs)) 4>>"$logfile" && |
---|
81 | 90 | echo "ok $test_num $TEST_HDR_MSG") || |
---|