packages feed

idris-0.9.13: test/reg039/run

#!/usr/bin/env bash

# From http://unix.stackexchange.com/questions/43340/how-to-introduce-timeout-for-shell-scripting
# Executes command with a timeout
# Params:
#   $1 timeout in seconds
#   $2 command
# Returns 1 if timed out 0 otherwise
timeout() {

    time=$1

    # start the command in a subshell to avoid problem with pipes
    # (spawn accepts one command)
    command="/bin/sh -c \"$2\""

    expect -c "set echo \"-noecho\"; set timeout $time; spawn -noecho $command; expect timeout { exit 1 } eof { exit 0 }"

    if [ $? = 1 ] ; then
        echo "Timeout after ${time} seconds"
    fi

}

declare -a extraargs
for arg in "$@"
do
    extraargs=("${extraargs[@]}" "'$arg'")
done

timeout 60 "idris ${extraargs[*]} --nocolour reg039.idr --exec go"
rm -f reg039 *.ibc