import unittest import Test """ TestCase adaptor for providing a 'unittest' compatible interface to 'lit' tests. """ class UnresolvedError(RuntimeError): pass class LitTestCase(unittest.TestCase): def __init__(self, test, lit_config): unittest.TestCase.__init__(self) self._test = test self._lit_config = lit_config def id(self): return self._test.getFullName() def shortDescription(self): return self._test.getFullName() def runTest(self): tr, output = self._test.config.test_format.execute( self._test, self._lit_config) if tr is Test.UNRESOLVED: raise UnresolvedError(output) elif tr.isFailure: self.fail(output)