This revision was automatically updated to reflect the committed changes. Closed by commit rG3eea082535e2: [lldb][tests] Make it possible to expect failure for a whole category (authored by tatyana-krasnukha).
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71906/new/ https://reviews.llvm.org/D71906 Files: lldb/packages/Python/lldbsuite/test/configuration.py lldb/packages/Python/lldbsuite/test/dotest.py lldb/packages/Python/lldbsuite/test/dotest_args.py lldb/packages/Python/lldbsuite/test/test_result.py Index: lldb/packages/Python/lldbsuite/test/test_result.py =================================================================== --- lldb/packages/Python/lldbsuite/test/test_result.py +++ lldb/packages/Python/lldbsuite/test/test_result.py @@ -164,6 +164,10 @@ return True return False + def checkCategoryExclusion(self, exclusion_list, test): + return not set(exclusion_list).isdisjoint( + self.getCategoriesForTest(test)) + def startTest(self, test): if configuration.shouldSkipBecauseOfCategories( self.getCategoriesForTest(test)): @@ -182,8 +186,10 @@ EventBuilder.event_for_start(test)) def addSuccess(self, test): - if self.checkExclusion( - configuration.xfail_tests, test.id()): + if (self.checkExclusion( + configuration.xfail_tests, test.id()) or + self.checkCategoryExclusion( + configuration.xfail_categories, test)): self.addUnexpectedSuccess(test, None) return @@ -245,8 +251,10 @@ test, err)) def addFailure(self, test, err): - if self.checkExclusion( - configuration.xfail_tests, test.id()): + if (self.checkExclusion( + configuration.xfail_tests, test.id()) or + self.checkCategoryExclusion( + configuration.xfail_categories, test)): self.addExpectedFailure(test, err, None) return Index: lldb/packages/Python/lldbsuite/test/dotest_args.py =================================================================== --- lldb/packages/Python/lldbsuite/test/dotest_args.py +++ lldb/packages/Python/lldbsuite/test/dotest_args.py @@ -83,6 +83,12 @@ action='append', dest='skip_categories', help=textwrap.dedent('''Specify categories of test cases to skip. Takes precedence over -G. Can be specified more than once.''')) + group.add_argument( + '--xfail-category', + metavar='category', + action='append', + dest='xfail_categories', + help=textwrap.dedent('''Specify categories of test cases that are expected to fail. Can be specified more than once.''')) # Configuration options group = parser.add_argument_group('Configuration options') Index: lldb/packages/Python/lldbsuite/test/dotest.py =================================================================== --- lldb/packages/Python/lldbsuite/test/dotest.py +++ lldb/packages/Python/lldbsuite/test/dotest.py @@ -330,6 +330,10 @@ configuration.skip_categories += test_categories.validate( args.skip_categories, False) + if args.xfail_categories: + configuration.xfail_categories += test_categories.validate( + args.xfail_categories, False) + if args.E: os.environ['CFLAGS_EXTRAS'] = args.E Index: lldb/packages/Python/lldbsuite/test/configuration.py =================================================================== --- lldb/packages/Python/lldbsuite/test/configuration.py +++ lldb/packages/Python/lldbsuite/test/configuration.py @@ -30,6 +30,8 @@ use_categories = False # Categories we want to skip skip_categories = ["darwin-log"] +# Categories we expect to fail +xfail_categories = [] # use this to track per-category failures failures_per_category = {}
Index: lldb/packages/Python/lldbsuite/test/test_result.py =================================================================== --- lldb/packages/Python/lldbsuite/test/test_result.py +++ lldb/packages/Python/lldbsuite/test/test_result.py @@ -164,6 +164,10 @@ return True return False + def checkCategoryExclusion(self, exclusion_list, test): + return not set(exclusion_list).isdisjoint( + self.getCategoriesForTest(test)) + def startTest(self, test): if configuration.shouldSkipBecauseOfCategories( self.getCategoriesForTest(test)): @@ -182,8 +186,10 @@ EventBuilder.event_for_start(test)) def addSuccess(self, test): - if self.checkExclusion( - configuration.xfail_tests, test.id()): + if (self.checkExclusion( + configuration.xfail_tests, test.id()) or + self.checkCategoryExclusion( + configuration.xfail_categories, test)): self.addUnexpectedSuccess(test, None) return @@ -245,8 +251,10 @@ test, err)) def addFailure(self, test, err): - if self.checkExclusion( - configuration.xfail_tests, test.id()): + if (self.checkExclusion( + configuration.xfail_tests, test.id()) or + self.checkCategoryExclusion( + configuration.xfail_categories, test)): self.addExpectedFailure(test, err, None) return Index: lldb/packages/Python/lldbsuite/test/dotest_args.py =================================================================== --- lldb/packages/Python/lldbsuite/test/dotest_args.py +++ lldb/packages/Python/lldbsuite/test/dotest_args.py @@ -83,6 +83,12 @@ action='append', dest='skip_categories', help=textwrap.dedent('''Specify categories of test cases to skip. Takes precedence over -G. Can be specified more than once.''')) + group.add_argument( + '--xfail-category', + metavar='category', + action='append', + dest='xfail_categories', + help=textwrap.dedent('''Specify categories of test cases that are expected to fail. Can be specified more than once.''')) # Configuration options group = parser.add_argument_group('Configuration options') Index: lldb/packages/Python/lldbsuite/test/dotest.py =================================================================== --- lldb/packages/Python/lldbsuite/test/dotest.py +++ lldb/packages/Python/lldbsuite/test/dotest.py @@ -330,6 +330,10 @@ configuration.skip_categories += test_categories.validate( args.skip_categories, False) + if args.xfail_categories: + configuration.xfail_categories += test_categories.validate( + args.xfail_categories, False) + if args.E: os.environ['CFLAGS_EXTRAS'] = args.E Index: lldb/packages/Python/lldbsuite/test/configuration.py =================================================================== --- lldb/packages/Python/lldbsuite/test/configuration.py +++ lldb/packages/Python/lldbsuite/test/configuration.py @@ -30,6 +30,8 @@ use_categories = False # Categories we want to skip skip_categories = ["darwin-log"] +# Categories we expect to fail +xfail_categories = [] # use this to track per-category failures failures_per_category = {}
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits