hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/tools/testing/selftests/kselftest/runner.sh
....@@ -33,9 +33,10 @@
3333 {
3434 # Make sure tests will time out if utility is available.
3535 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
3738 else
38
- "$1"
39
+ $1
3940 fi
4041 }
4142
....@@ -65,17 +66,25 @@
6566
6667 TEST_HDR_MSG="selftests: $DIR: $BASENAME_TEST"
6768 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!"
7571 echo "not ok $test_num $TEST_HDR_MSG"
7672 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
7786 cd `dirname $TEST` > /dev/null
78
- ((((( tap_timeout ./$BASENAME_TEST 2>&1; echo $? >&3) |
87
+ ((((( tap_timeout "$cmd" 2>&1; echo $? >&3) |
7988 tap_prefix >&4) 3>&1) |
8089 (read xs; exit $xs)) 4>>"$logfile" &&
8190 echo "ok $test_num $TEST_HDR_MSG") ||