Home | History | Annotate | Download | only in lit
      1 import unittest
      2 import Test
      3 
      4 """
      5 TestCase adaptor for providing a 'unittest' compatible interface to 'lit' tests.
      6 """
      7 
      8 class UnresolvedError(RuntimeError):
      9     pass
     10         
     11 class LitTestCase(unittest.TestCase):
     12     def __init__(self, test, lit_config):
     13         unittest.TestCase.__init__(self)
     14         self._test = test
     15         self._lit_config = lit_config
     16 
     17     def id(self):
     18         return self._test.getFullName()
     19 
     20     def shortDescription(self):
     21         return self._test.getFullName()
     22 
     23     def runTest(self):
     24         tr, output = self._test.config.test_format.execute(
     25             self._test, self._lit_config)
     26 
     27         if tr is Test.UNRESOLVED:
     28             raise UnresolvedError(output)
     29         elif tr.isFailure:
     30             self.fail(output)
     31