diff options
Diffstat (limited to 'testing/command.py')
| -rw-r--r-- | testing/command.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/testing/command.py b/testing/command.py index 2bed65070..00dcb485c 100644 --- a/testing/command.py +++ b/testing/command.py @@ -87,6 +87,7 @@ from .parser import TestParser COIN_RERUN_FAILED_ONLY = True COIN_THRESHOLD = 3 # report error if >= COIN_TESTING = 5 # number of runs +TIMEOUT = 10 * 60 if os.environ.get("COIN_RERUN_FAILED_ONLY", "1").lower() in "0 f false n no".split(): COIN_RERUN_FAILED_ONLY = False @@ -95,6 +96,14 @@ if os.environ.get("COIN_RERUN_FAILED_ONLY", "1").lower() in "0 f false n no".spl def test_project(project, args, blacklist, runs): ret = [] + if "pypy" in builds.classifiers: + # As long as PyPy has so many bugs, we use 1 test only... + global COIN_TESTING + COIN_TESTING = runs = 1 + # ...and extend the timeout. + global TIMEOUT + TIMEOUT = 100 * 60 + # remove files from a former run for idx in range(runs): index = idx + 1 @@ -120,7 +129,7 @@ def test_project(project, args, blacklist, runs): break else: rerun = None - runner.run(f"RUN {idx + 1}:", rerun, 10 * 60) + runner.run(f"RUN {idx + 1}:", rerun, TIMEOUT) results = TestParser(runner.logfile) r = 5 * [0] rerun_list = [] @@ -154,7 +163,7 @@ def test_project(project, args, blacklist, runs): print("FATAL ERROR:", fatal) print("Repetitions cancelled!") break - return ret, fatal + return ret, fatal, runs def main(): @@ -285,7 +294,7 @@ def main(): # now loop over the projects and accumulate fatal = False for project in args.projects: - res, fatal = test_project(project, args, bl, runs) + res, fatal, runs = test_project(project, args, bl, runs) if fatal: runs = 1 for idx, r in enumerate(res): |
