From 76b6038cc646ab71c9c0ac9ad1408df91d7542a9 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Thu, 25 May 2017 23:56:44 +0000 Subject: [PATCH] Return a lit.Test.Result object from TestRunner's executeShTest() Summary: For various clang analyzer tests, which were unsupported, I got lit exceptions, similar to the following: Exception during script execution: Traceback (most recent call last): File "utils/lit/lit/run.py", line 190, in execute_test result = test.config.test_format.execute(test, lit_config) File "tools/clang/test/Analysis/analyzer_test.py", line 11, in execute if result.code == lit.Test.FAIL: AttributeError: 'tuple' object has no attribute 'code' This is because executeShTest() in utils/lit/lit/TestRunner.py is supposed to return a lit.Test.Result object, but in case of unsupported tests, it returns a plain tuple. Fix this by returning a properly initialized lit.Test.Result object instead. Reviewers: rnk, rafael, modocache Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D33579 llvm-svn: 303943 --- llvm/utils/lit/lit/TestRunner.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm/utils/lit/lit/TestRunner.py b/llvm/utils/lit/lit/TestRunner.py index 98563db7..37b03cc 100644 --- a/llvm/utils/lit/lit/TestRunner.py +++ b/llvm/utils/lit/lit/TestRunner.py @@ -1056,7 +1056,7 @@ def _runShTest(test, litConfig, useExternalSh, script, tmpBase): def executeShTest(test, litConfig, useExternalSh, extra_substitutions=[]): if test.config.unsupported: - return (Test.UNSUPPORTED, 'Test is unsupported') + return lit.Test.Result(Test.UNSUPPORTED, 'Test is unsupported') script = parseIntegratedTestScript(test) if isinstance(script, lit.Test.Result): -- 2.7.4