From 55b2e86a09fa7c4ca7ca1796fc62d77935d5cfce Mon Sep 17 00:00:00 2001 From: Julian Lettner Date: Fri, 18 Oct 2019 00:50:34 +0000 Subject: [PATCH] [lit] worker.py: Improve code for executing a single test git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@375194 91177308-0d34-0410-b5e6-96231b3b80d8 --- utils/lit/lit/worker.py | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/utils/lit/lit/worker.py b/utils/lit/lit/worker.py index f97b6a04306..3a4868ea7c4 100644 --- a/utils/lit/lit/worker.py +++ b/utils/lit/lit/worker.py @@ -56,19 +56,20 @@ def _execute_test_in_parallelism_group(test, lit_config, parallelism_semaphores) else: _execute_test(test, lit_config) + def _execute_test(test, lit_config): """Execute one test""" + start = time.time() + result = _execute_test_handle_errors(test, lit_config) + end = time.time() + + result.elapsed = end - start + test.setResult(result) + + +def _execute_test_handle_errors(test, lit_config): try: - start_time = time.time() - result = test.config.test_format.execute(test, lit_config) - # Support deprecated result from execute() which returned the result - # code and additional output as a tuple. - if isinstance(result, tuple): - code, output = result - result = lit.Test.Result(code, output) - elif not isinstance(result, lit.Test.Result): - raise ValueError("unexpected result from test execution") - result.elapsed = time.time() - start_time + return _adapt_result(test.config.test_format.execute(test, lit_config)) except KeyboardInterrupt: raise except: @@ -77,6 +78,14 @@ def _execute_test(test, lit_config): output = 'Exception during script execution:\n' output += traceback.format_exc() output += '\n' - result = lit.Test.Result(lit.Test.UNRESOLVED, output) + return lit.Test.Result(lit.Test.UNRESOLVED, output) - test.setResult(result) + +# Support deprecated result from execute() which returned the result +# code and additional output as a tuple. +def _adapt_result(result): + if isinstance(result, lit.Test.Result): + return result + assert isinstance(result, tuple) + code, output = result + return lit.Test.Result(code, output) -- 2.50.1