tests: Run regression timeout as foreground
Allow the user to send signals such as Ctrl C to the gem5 runs. Note that this assumes coreutils >= 8.13, which aligns with Ubuntu 12.04 and RHE6.
This commit is contained in:
parent
3b4ae7debb
commit
eed0795f3a
2 changed files with 10 additions and 5 deletions
13
SConstruct
13
SConstruct
|
@ -784,10 +784,15 @@ if main['GCC'] and compareVersions(gcc_version, '4.9') >= 0 and \
|
||||||
swig_flags=Split('-c++ -python -modern -templatereduce $_CPPINCFLAGS')
|
swig_flags=Split('-c++ -python -modern -templatereduce $_CPPINCFLAGS')
|
||||||
main.Append(SWIGFLAGS=swig_flags)
|
main.Append(SWIGFLAGS=swig_flags)
|
||||||
|
|
||||||
# Check for 'timeout' from GNU coreutils. If present, regressions
|
# Check for 'timeout' from GNU coreutils. If present, regressions will
|
||||||
# will be run with a time limit.
|
# be run with a time limit. We require version 8.13 since we rely on
|
||||||
TIMEOUT_version = readCommand(['timeout', '--version'], exception=False)
|
# support for the '--foreground' option.
|
||||||
main['TIMEOUT'] = TIMEOUT_version and TIMEOUT_version.find('timeout') == 0
|
timeout_lines = readCommand(['timeout', '--version'],
|
||||||
|
exception='').splitlines()
|
||||||
|
# Get the first line and tokenize it
|
||||||
|
timeout_version = timeout_lines[0].split() if timeout_lines else []
|
||||||
|
main['TIMEOUT'] = timeout_version and \
|
||||||
|
compareVersions(timeout_version[-1], '8.13') >= 0
|
||||||
|
|
||||||
# filter out all existing swig scanners, they mess up the dependency
|
# filter out all existing swig scanners, they mess up the dependency
|
||||||
# stuff for some reason
|
# stuff for some reason
|
||||||
|
|
|
@ -107,7 +107,7 @@ def run_test(target, source, env):
|
||||||
# The slowest regression (bzip2) requires ~2.8 hours;
|
# The slowest regression (bzip2) requires ~2.8 hours;
|
||||||
# 4 hours was chosen to be conservative.
|
# 4 hours was chosen to be conservative.
|
||||||
elif env['TIMEOUT']:
|
elif env['TIMEOUT']:
|
||||||
cmd = 'timeout 4h %s' % cmd
|
cmd = 'timeout --foreground 4h %s' % cmd
|
||||||
|
|
||||||
# Create a default value for the status string, changed as needed
|
# Create a default value for the status string, changed as needed
|
||||||
# based on the status.
|
# based on the status.
|
||||||
|
|
Loading…
Reference in a new issue