From f833f173fbca19275d3cb36b96d1f7461c0a8fee Mon Sep 17 00:00:00 2001 From: Francis Ricci Date: Tue, 4 Oct 2016 18:48:00 +0000 Subject: Improvements to testing blacklist Summary: This patch is necessary because individual test cases are not required to have unique names. Therefore, test cases must now be specified explicitly in the form .. Because it works by regex matching, passing just will still disable an entire file. This also allows for multiple exclusion files to be specified. Reviewers: zturner, labath, jingham, tfiala Subscribers: lldb-commits, sas Differential Revision: https://reviews.llvm.org/D24988 llvm-svn: 283238 --- lldb/packages/Python/lldbsuite/test/dotest.py | 36 +++++++++++---------------- 1 file changed, 14 insertions(+), 22 deletions(-) (limited to 'lldb/packages/Python/lldbsuite/test/dotest.py') diff --git a/lldb/packages/Python/lldbsuite/test/dotest.py b/lldb/packages/Python/lldbsuite/test/dotest.py index a37fff5ff1d..9991a33ae86 100644 --- a/lldb/packages/Python/lldbsuite/test/dotest.py +++ b/lldb/packages/Python/lldbsuite/test/dotest.py @@ -216,33 +216,24 @@ def parseExclusion(exclusion_file): """ excl_type = None - case_type = None with open(exclusion_file) as f: for line in f: + line = line.strip() if not excl_type: - [excl_type, case_type] = line.split() + excl_type = line continue - line = line.strip() if not line: excl_type = None - elif excl_type == 'skip' and case_type == 'files': - if not configuration.skip_files: - configuration.skip_files = [] - configuration.skip_files.append(line) - elif excl_type == 'skip' and case_type == 'methods': - if not configuration.skip_methods: - configuration.skip_methods = [] - configuration.skip_methods.append(line) - elif excl_type == 'xfail' and case_type == 'files': - if not configuration.xfail_files: - configuration.xfail_files = [] - configuration.xfail_files.append(line) - elif excl_type == 'xfail' and case_type == 'methods': - if not configuration.xfail_methods: - configuration.xfail_methods = [] - configuration.xfail_methods.append(line) + elif excl_type == 'skip': + if not configuration.skip_tests: + configuration.skip_tests = [] + configuration.skip_tests.append(line) + elif excl_type == 'xfail': + if not configuration.xfail_tests: + configuration.xfail_tests = [] + configuration.xfail_tests.append(line) def parseOptionsAndInitTestdirs(): @@ -375,7 +366,8 @@ def parseOptionsAndInitTestdirs(): lldbtest_config.lldbExec = os.path.realpath(args.executable) if args.excluded: - parseExclusion(args.excluded) + for excl_file in args.excluded: + parseExclusion(excl_file) if args.p: if args.p.startswith('-'): @@ -799,8 +791,8 @@ def visit_file(dir, name): # We didn't match the regex, we're done. return - if configuration.skip_files: - for file_regexp in configuration.skip_files: + if configuration.skip_tests: + for file_regexp in configuration.skip_tests: if re.search(file_regexp, name): return -- cgit v1.2.3