diff options
author | Julian Lettner <jlettner@apple.com> | 2019-10-18 00:50:34 +0000 |
---|---|---|
committer | Julian Lettner <jlettner@apple.com> | 2019-10-18 00:50:34 +0000 |
commit | 13bf5eb1f4e1a19d49cc3bacd99219963765df9e (patch) | |
tree | bc13a958508846907c255663aa0261877309f8f4 | |
parent | d72637f5ccc43d457bfe227ccfe2eaa23936a37e (diff) | |
download | bcm5719-llvm-13bf5eb1f4e1a19d49cc3bacd99219963765df9e.tar.gz bcm5719-llvm-13bf5eb1f4e1a19d49cc3bacd99219963765df9e.zip |
[lit] worker.py: Improve code for executing a single test
llvm-svn: 375194
-rw-r--r-- | llvm/utils/lit/lit/worker.py | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/llvm/utils/lit/lit/worker.py b/llvm/utils/lit/lit/worker.py index f97b6a04306..3a4868ea7c4 100644 --- a/llvm/utils/lit/lit/worker.py +++ b/llvm/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) |