diff options
author | Greg Parker <gparker@apple.com> | 2017-01-25 02:26:03 +0000 |
---|---|---|
committer | Greg Parker <gparker@apple.com> | 2017-01-25 02:26:03 +0000 |
commit | 17db7704cd10243be74cec3512a9ccf734631297 (patch) | |
tree | 85847c3c1c4c40cb1d90318f56643caabafc6227 /llvm/utils/lit/tests/unit/TestRunner.py | |
parent | df3d71a7a9b4976c1aecf9eaf40c9ada55bf7879 (diff) | |
download | bcm5719-llvm-17db7704cd10243be74cec3512a9ccf734631297.tar.gz bcm5719-llvm-17db7704cd10243be74cec3512a9ccf734631297.zip |
Reinstate "r292904 - [lit] Allow boolean expressions in REQUIRES and XFAIL
and UNSUPPORTED"
This reverts the revert in r292942.
llvm-svn: 293007
Diffstat (limited to 'llvm/utils/lit/tests/unit/TestRunner.py')
-rw-r--r-- | llvm/utils/lit/tests/unit/TestRunner.py | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/llvm/utils/lit/tests/unit/TestRunner.py b/llvm/utils/lit/tests/unit/TestRunner.py index ff11834fed7..ed0affa2832 100644 --- a/llvm/utils/lit/tests/unit/TestRunner.py +++ b/llvm/utils/lit/tests/unit/TestRunner.py @@ -108,6 +108,63 @@ class TestIntegratedTestKeywordParser(unittest.TestCase): value = custom_parser.getValue() self.assertItemsEqual(value, ['a', 'b', 'c']) + def test_bad_keywords(self): + def custom_parse(line_number, line, output): + return output + + try: + IntegratedTestKeywordParser("TAG_NO_SUFFIX", ParserKind.TAG), + self.fail("TAG_NO_SUFFIX failed to raise an exception") + except ValueError as e: + pass + except BaseException as e: + self.fail("TAG_NO_SUFFIX raised the wrong exception: %r" % e) + + try: + IntegratedTestKeywordParser("TAG_WITH_COLON:", ParserKind.TAG), + self.fail("TAG_WITH_COLON: failed to raise an exception") + except ValueError as e: + pass + except BaseException as e: + self.fail("TAG_WITH_COLON: raised the wrong exception: %r" % e) + + try: + IntegratedTestKeywordParser("LIST_WITH_DOT.", ParserKind.LIST), + self.fail("LIST_WITH_DOT. failed to raise an exception") + except ValueError as e: + pass + except BaseException as e: + self.fail("LIST_WITH_DOT. raised the wrong exception: %r" % e) + + try: + IntegratedTestKeywordParser("CUSTOM_NO_SUFFIX", + ParserKind.CUSTOM, custom_parse), + self.fail("CUSTOM_NO_SUFFIX failed to raise an exception") + except ValueError as e: + pass + except BaseException as e: + self.fail("CUSTOM_NO_SUFFIX raised the wrong exception: %r" % e) + + # Both '.' and ':' are allowed for CUSTOM keywords. + try: + IntegratedTestKeywordParser("CUSTOM_WITH_DOT.", + ParserKind.CUSTOM, custom_parse), + except BaseException as e: + self.fail("CUSTOM_WITH_DOT. raised an exception: %r" % e) + try: + IntegratedTestKeywordParser("CUSTOM_WITH_COLON:", + ParserKind.CUSTOM, custom_parse), + except BaseException as e: + self.fail("CUSTOM_WITH_COLON: raised an exception: %r" % e) + + try: + IntegratedTestKeywordParser("CUSTOM_NO_PARSER:", + ParserKind.CUSTOM), + self.fail("CUSTOM_NO_PARSER: failed to raise an exception") + except ValueError as e: + pass + except BaseException as e: + self.fail("CUSTOM_NO_PARSER: raised the wrong exception: %r" % e) if __name__ == '__main__': TestIntegratedTestKeywordParser.load_keyword_parser_lit_tests() |