brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.9 KiB · 4810e28 Raw
116 lines · python
1import re2 3from lldbsuite.test.lldbtest import TestBase4from lldbsuite.test.decorators import *5 6 7def expectedFailureDwarf(bugnumber=None):8    return expectedFailureAll(bugnumber, debug_info="dwarf")9 10 11class TestDecoratorsNoDebugInfoClass(TestBase):12    NO_DEBUG_INFO_TESTCASE = True13 14    @expectedFailureAll(debug_info="dwarf")15    def test_decorator_xfail(self):16        """Test that specifying a debug info category works for a NO_DEBUG_INFO_TESTCASE"""17 18    @expectedFailureDwarf19    def test_decorator_xfail_bare_decorator(self):20        """Same as test_decorator_xfail, but with a custom decorator w/ a bare syntax"""21 22    @expectedFailureDwarf()23    def test_decorator_xfail_decorator_empty_args(self):24        """Same as test_decorator_xfail, but with a custom decorator w/ no args"""25 26    @add_test_categories(["dwarf"])27    def test_add_test_categories(self):28        # Note: the "dwarf" test category is ignored, because we don't generate any debug info test variants29        self.assertIsNone(self.getDebugInfo())30 31    @expectedFailureAll32    def test_xfail_empty(self):33        """Test that expectedFailureAll can be empty (but please just use expectedFailure)"""34        self.fail()35 36    @expectedFailureAll(compiler=re.compile(".*"))37    def test_xfail_regexp(self):38        """Test that xfail can take a regex as a matcher"""39        self.fail()40 41    @expectedFailureAll(compiler=no_match(re.compile(".*")))42    def test_xfail_no_match(self):43        """Test that xfail can take a no_match matcher"""44        pass45 46    @expectedFailureIf(condition=True)47    def test_xfail_condition_true(self):48        self.fail()49 50    @expectedFailureIf(condition=False)51    def test_xfail_condition_false(self):52        pass53 54 55class TestDecorators(TestBase):56    @expectedFailureAll(debug_info="dwarf")57    def test_decorator_xfail(self):58        """Test that expectedFailureAll fails for the debug_info variant"""59        if self.getDebugInfo() == "dwarf":60            self.fail()61 62    @skipIf(debug_info="dwarf")63    def test_decorator_skip(self):64        """Test that skipIf skips the debug_info variant"""65        self.assertNotEqual(self.getDebugInfo(), "dwarf")66 67    @expectedFailureDwarf68    def test_decorator_xfail2(self):69        """Same as test_decorator_xfail, but with a custom decorator w/ a bare syntax"""70        if self.getDebugInfo() == "dwarf":71            self.fail()72 73    @expectedFailureDwarf()74    def test_decorator_xfail3(self):75        """Same as test_decorator_xfail, but with a custom decorator w/ no args"""76        if self.getDebugInfo() == "dwarf":77            self.fail()78 79    @add_test_categories(["dwarf"])80    def test_add_test_categories(self):81        """Test that add_test_categories limits the kinds of debug info test variants"""82        self.assertEqual(self.getDebugInfo(), "dwarf")83 84    @expectedFailureAll(compiler="fake", debug_info="dwarf")85    def test_decorator_xfail_all(self):86        """Test that expectedFailureAll requires all conditions to match to be xfail"""87 88    @skipIf(compiler="fake", debug_info="dwarf")89    def test_decorator_skip2(self):90        """Test that expectedFailureAll fails for the debug_info variant"""91        # Note: the following assertion would fail, if this were not skipped:92        # self.assertNotEqual(self.getDebugInfo(), "dwarf")93 94    @expectedFailureAll95    def test_xfail_empty(self):96        """Test that xfail can be empty"""97        self.fail()98 99    @expectedFailureAll(compiler=re.compile(".*"))100    def test_xfail_regexp(self):101        """Test that xfail can take a regex as a matcher"""102        self.fail()103 104    @expectedFailureAll(compiler=no_match(re.compile(".*")))105    def test_xfail_no_match(self):106        """Test that xfail can take a no_match matcher"""107        pass108 109    @expectedFailureIf(condition=True)110    def test_xfail_condition_true(self):111        self.fail()112 113    @expectedFailureIf(condition=False)114    def test_xfail_condition_false(self):115        pass116