diff --git a/testsuite/driver/testglobals.py b/testsuite/driver/testglobals.py index 0cf89907fdcd2e2d72bf8b4dfb5e6aba358d15c8..9c2d59701dfde4fd885efbfcc67a70e164cfa2e8 100644 --- a/testsuite/driver/testglobals.py +++ b/testsuite/driver/testglobals.py @@ -448,6 +448,7 @@ class TestOptions: self.combined_output = False # How should the timeout be adjusted on this test? + self.pre_cmd_timeout_multiplier = 1.0 self.compile_timeout_multiplier = 1.0 self.run_timeout_multiplier = 1.0 diff --git a/testsuite/driver/testlib.py b/testsuite/driver/testlib.py index a6a1276349045dd3d3a4bef654ff7a3369e88073..2af5590757133ae14c9b9935a7a2bae2258b7862 100644 --- a/testsuite/driver/testlib.py +++ b/testsuite/driver/testlib.py @@ -559,6 +559,12 @@ def signal_exit_code( val: int ): # ----- +def pre_cmd_timeout_multiplier( val: float ): + return lambda name, opts, v=val: _pre_cmd_timeout_multiplier(name, opts, v) + +def _pre_cmd_timeout_multiplier( name, opts, v ): + opts.pre_cmd_timeout_multiplier = v + def compile_timeout_multiplier( val: float ): return lambda name, opts, v=val: _compile_timeout_multiplier(name, opts, v) @@ -1469,7 +1475,9 @@ async def do_test(name: TestName, exit_code = await runCmd('cd "{0}" && {1}'.format(opts.testdir, override_options(opts.pre_cmd)), stdout = stdout_path, stderr = stderr_path, - print_output = config.verbose >= 3) + print_output = config.verbose >= 3, + timeout_multiplier = opts.pre_cmd_timeout_multiplier, + ) # If user used expect_broken then don't record failures of pre_cmd if exit_code != 0 and opts.expect not in ['fail']: diff --git a/testsuite/tests/driver/multipleHomeUnits/mhu-perf/all.T b/testsuite/tests/driver/multipleHomeUnits/mhu-perf/all.T index cb0d049f580239adb800e13dcf444ca832a1b36e..099a89830dc32a73f64b258d9124f97604177fad 100644 --- a/testsuite/tests/driver/multipleHomeUnits/mhu-perf/all.T +++ b/testsuite/tests/driver/multipleHomeUnits/mhu-perf/all.T @@ -4,7 +4,8 @@ test('mhu-perf', pre_cmd('$MAKE -s --no-print-directory mhu-perf'), js_broken(22349), when(arch('wasm32'), skip), # wasm32 doesn't like running Setup/Makefile tests - compile_timeout_multiplier(5) + pre_cmd_timeout_multiplier(2), + compile_timeout_multiplier(5), ], multiunit_compile, [['unitTop1', 'unitTop2'], '-fhide-source-paths'])