[lit] Update LitTestCase to support lit.Test.Result.
authorDaniel Dunbar <daniel@zuster.org>
Thu, 29 Aug 2013 00:40:59 +0000 (00:40 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Thu, 29 Aug 2013 00:40:59 +0000 (00:40 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189544 91177308-0d34-0410-b5e6-96231b3b80d8

utils/lit/lit/LitTestCase.py

index 478dbae563f692d0e918e1a999e6bf50e5ce5c76..ba91fa08a0192ca42bc4ab009b4eb84341710a14 100644 (file)
@@ -23,10 +23,18 @@ class LitTestCase(unittest.TestCase):
         return self._test.getFullName()
 
     def runTest(self):
-        tr, output = self._test.config.test_format.execute(
+        result = self._test.config.test_format.execute(
             self._test, self._lit_config)
 
-        if tr is lit.Test.UNRESOLVED:
-            raise UnresolvedError(output)
-        elif tr.isFailure:
-            self.fail(output)
+        # 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")
+
+        if result.code is lit.Test.UNRESOLVED:
+            raise UnresolvedError(result.output)
+        elif result.code.isFailure:
+            self.fail(result.output)