[Lldb-commits] [PATCH] D71906: [lldb][tests] Make it possible to expect failure for a whole category
Tatyana Krasnukha via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Mon Jan 6 08:31:36 PST 2020
tatyana-krasnukha updated this revision to Diff 236374.
tatyana-krasnukha added a comment.
Increased number of lines of context.
Jonas, yes, it is.
Pavel, names are consistent (if I understand your comment correctly). The "--xfail-category" is singular like the "--skip-category".
Repository:
rLLDB LLDB
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
@@ -156,6 +156,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)):
@@ -174,8 +178,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
@@ -84,6 +84,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
@@ -329,6 +329,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 = {}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D71906.236374.patch
Type: text/x-patch
Size: 3388 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20200106/96603039/attachment-0001.bin>
More information about the lldb-commits
mailing list