17abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liaoimport unittest 27abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liaoimport Test 37abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao 47abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao""" 57abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei LiaoTestCase adaptor for providing a 'unittest' compatible interface to 'lit' tests. 67abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao""" 77abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao 87abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liaoclass UnresolvedError(RuntimeError): 97abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao pass 107abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao 117abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liaoclass LitTestCase(unittest.TestCase): 127abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao def __init__(self, test, lit_config): 137abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao unittest.TestCase.__init__(self) 147abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao self._test = test 157abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao self._lit_config = lit_config 167abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao 177abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao def id(self): 187abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao return self._test.getFullName() 197abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao 207abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao def shortDescription(self): 217abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao return self._test.getFullName() 227abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao 237abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao def runTest(self): 247abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao tr, output = self._test.config.test_format.execute( 257abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao self._test, self._lit_config) 267abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao 277abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao if tr is Test.UNRESOLVED: 287abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao raise UnresolvedError(output) 297abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao elif tr.isFailure: 307abe37e4aee38cc79d91dd069a37d7e91d5bef53Shih-wei Liao self.fail(output) 31