@@ -1,28 +1,5 @@
1#!/usr/bin/env bash
1#!/usr/bin/env bash
3−# From http://unix.stackexchange.com/questions/43340/how-to-introduce-timeout-for-shell-scripting
4−# Here copied from reg039.
6−# Executes command with a timeout
8−# $1 timeout in seconds
10−# Returns 1 if timed out 0 otherwise
15− # start the command in a subshell to avoid problem with pipes
16− # (spawn accepts one command)
17− command="/bin/sh -c \"$2\""
19− expect -c "set echo \"-noecho\"; set timeout $time; spawn -noecho $command; expect timeout { exit 1 } eof { exit 0 }"
22− echo "Timeout after ${time} seconds"
27declare -a extraargs
4declare -a extraargs
28for arg in "$@"
5for arg in "$@"
@@ -30,6 +7,35 @@ do
30 extraargs=("${extraargs[@]}" "'$arg'")
7 extraargs=("${extraargs[@]}" "'$arg'")
10+if (which timeout&>/dev/null); then
11+ timeout 10 idris $@ Main.idr --nocolour --check --warnreach -o basic010
14+ # From http://unix.stackexchange.com/questions/43340/how-to-introduce-timeout-for-shell-scripting
15+ # Here copied from reg039.
17+ # Executes command with a timeout
19+ # $1 timeout in seconds
21+ # Returns 1 if timed out 0 otherwise
26+ # start the command in a subshell to avoid problem with pipes
27+ # (spawn accepts one command)
28+ command="/bin/sh -c \"$2\""
30+ expect -c "set echo \"-noecho\"; set timeout $time; spawn -noecho $command; expect timeout { exit 1 } eof { exit 0 }"
33+ echo "Timeout after ${time} seconds"
33−timeout 10 "idris ${extraargs[*]} Main.idr --nocolour --check --warnreach -o basic010"
38+ timeout 10 "idris ${extraargs[*]} Main.idr --nocolour --check --warnreach -o basic010"
34−timeout 5 "./basic010"
39+ timeout 5 "./basic010"
35rm -f *.ibc basic010
41rm -f *.ibc basic010