| .. | .. |
|---|
| 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") || |
|---|