mirror of
https://github.com/gnustep/tools-make.git
synced 2025-04-25 07:01:12 +00:00
Add test timeouts
This commit is contained in:
parent
1d48b14ff3
commit
c6a561d713
1 changed files with 25 additions and 17 deletions
|
@ -55,7 +55,7 @@ GSTESTDIR=`pwd`
|
||||||
export GSTESTDIR
|
export GSTESTDIR
|
||||||
|
|
||||||
GSTESTMODE=normal
|
GSTESTMODE=normal
|
||||||
|
GSTESTTIMEOUT="30s"
|
||||||
GSMAKEOPTIONS="debug=yes"
|
GSMAKEOPTIONS="debug=yes"
|
||||||
GSVERBOSECFLAG=
|
GSVERBOSECFLAG=
|
||||||
|
|
||||||
|
@ -67,6 +67,10 @@ do
|
||||||
--clean)
|
--clean)
|
||||||
GSTESTMODE=clean
|
GSTESTMODE=clean
|
||||||
;;
|
;;
|
||||||
|
--timeout)
|
||||||
|
GSTESTTIMEOUT=$2
|
||||||
|
shift
|
||||||
|
;;
|
||||||
--debug)
|
--debug)
|
||||||
GSTESTDBG="$GSTESTDIR/gdb.cmds"
|
GSTESTDBG="$GSTESTDIR/gdb.cmds"
|
||||||
;;
|
;;
|
||||||
|
@ -112,6 +116,7 @@ do
|
||||||
echo "current directory if no arguments are given."
|
echo "current directory if no arguments are given."
|
||||||
echo "Use 'gnustep-tests --documentation' for full details."
|
echo "Use 'gnustep-tests --documentation' for full details."
|
||||||
echo "Use 'gnustep-tests --clean' to remove old logs and leftover files."
|
echo "Use 'gnustep-tests --clean' to remove old logs and leftover files."
|
||||||
|
echo "Use 'gnustep-tests --timeout <VAL>' to change the default timeout ($GSTESTTIMEOUT)."
|
||||||
echo "Use 'gnustep-tests --failfast' to stop after the first failure."
|
echo "Use 'gnustep-tests --failfast' to stop after the first failure."
|
||||||
echo "Use 'gnustep-tests --debug' to run gdb/lldb for any failed tests."
|
echo "Use 'gnustep-tests --debug' to run gdb/lldb for any failed tests."
|
||||||
echo "Use 'gnustep-tests --make-debug' to enable make debug output."
|
echo "Use 'gnustep-tests --make-debug' to enable make debug output."
|
||||||
|
@ -441,32 +446,35 @@ run_test ()
|
||||||
# Env.sh is deprecated ... we should only use TestInfo to setup for a test
|
# Env.sh is deprecated ... we should only use TestInfo to setup for a test
|
||||||
if test -r ./Env.sh
|
if test -r ./Env.sh
|
||||||
then
|
then
|
||||||
( . ./Env.sh; $RUN_CMD )
|
( . ./Env.sh; timeout $GSTESTTIMEOUT $RUN_CMD )
|
||||||
else
|
else
|
||||||
if test -r ./make-check.env
|
if test -r ./make-check.env
|
||||||
then
|
then
|
||||||
( . ./make-check.env; . ./TestInfo > /dev/null 2>&1; $RUN_CMD )
|
( . ./make-check.env; . ./TestInfo > /dev/null 2>&1; timeout $GSTESTTIMEOUT $RUN_CMD )
|
||||||
else
|
else
|
||||||
( . ./TestInfo > /dev/null 2>&1; $RUN_CMD )
|
( . ./TestInfo > /dev/null 2>&1; timeout $GSTESTTIMEOUT $RUN_CMD )
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
result=$?
|
result=$?
|
||||||
if test $result != 0
|
if test $result -eq 0; then
|
||||||
then
|
echo "Completed file: $TESTFILE" >&2
|
||||||
if test -r $TESTFILE.abort
|
elif test $result -eq 124; then
|
||||||
then
|
echo "Failed file: $TESTFILE did time out!" >&2
|
||||||
|
if test "$GSTESTMODE" = "failfast"; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if test -r $TESTFILE.abort; then
|
||||||
echo "Completed file: $TESTFILE" >&2
|
echo "Completed file: $TESTFILE" >&2
|
||||||
else
|
else
|
||||||
echo "Failed file: $TESTFILE aborted without running all tests!" >&2
|
echo "Failed file: $TESTFILE aborted without running all tests!" >&2
|
||||||
if test "$GSTESTMODE" = "failfast"
|
if test "$GSTESTMODE" = "failfast"; then
|
||||||
then
|
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
else
|
|
||||||
echo "Completed file: $TESTFILE" >&2
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
else
|
else
|
||||||
echo "Skipped (not built) file: $TESTFILE" >&2
|
echo "Skipped (not built) file: $TESTFILE" >&2
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in a new issue