# HG changeset patch # User krauss # Date 1355931715 -3600 # Node ID e129fcc720c1e068923e5ff6b980703be26443f2 # Parent b4d62535f5cd202a3e986786b2fd7dc0d535e92e use build timeout (wall clock time, default: 2h) diff -r b4d62535f5cd -r e129fcc720c1 Admin/mira.py --- a/Admin/mira.py Wed Dec 19 16:18:46 2012 +0100 +++ b/Admin/mira.py Wed Dec 19 16:41:55 2012 +0100 @@ -17,6 +17,9 @@ # build and evaluation tools +DEFAULT_TIMEOUT = 2 * 60 * 60 +SMLNJ_TIMEOUT = 72 * 60 * 60 + def prepare_isabelle_repository(loc_isabelle, loc_dependency_heaps, more_settings=''): # patch settings @@ -91,8 +94,9 @@ def isabelle_build(env, case, paths, dep_paths, playground, *cmdargs, **kwargs): - more_settings=kwargs.get('more_settings', '') - keep_results=kwargs.get('keep_results', True) + more_settings = kwargs.get('more_settings', '') + keep_results = kwargs.get('keep_results', True) + timeout = kwargs.get('timeout', DEFAULT_TIMEOUT) isabelle_home = paths[0] @@ -118,8 +122,10 @@ prepare_isabelle_repository(isabelle_home, None, more_settings=more_settings) os.chdir(isabelle_home) + args = (['-o', 'timeout=%s' % timeout] if timeout is not None else []) + cmdargs + # invoke build tool - (return_code, log) = env.run_process('%s/bin/isabelle' % isabelle_home, 'build', '-s', '-v', *cmdargs) + (return_code, log) = env.run_process('%s/bin/isabelle' % isabelle_home, 'build', '-s', '-v', *args) # collect report return (return_code == 0, extract_isabelle_run_summary(log), @@ -326,11 +332,11 @@ @configuration(repos = [Isabelle], deps = [(Pure, [0])]) def SML_HOL(*args): """HOL image built with SML/NJ""" - return isabelle_build(*(args + ("-b", "HOL")), more_settings=smlnj_settings) + return isabelle_build(*(args + ("-b", "HOL")), more_settings=smlnj_settings, timeout=SMLNJ_TIMEOUT) @configuration(repos = [Isabelle], deps = []) def SML_makeall(*args): """SML/NJ build of all possible sessions""" - return isabelle_build(*(args + ("-j", "3", "-a")), more_settings=smlnj_settings) + return isabelle_build(*(args + ("-j", "3", "-a")), more_settings=smlnj_settings, timeout=SMLNJ_TIMEOUT)