[Lldb-commits] [PATCH] D15723: Allow test decorators to use lists (and not_in(list)) for arches
Adrian McCarthy via lldb-commits
lldb-commits at lists.llvm.org
Tue Dec 22 12:39:16 PST 2015
amccarth created this revision.
amccarth added a reviewer: zturner.
amccarth added a subscriber: lldb-commits.
Tweaks check_list_or_lambda to handle a partial match into a list of strings, and updates the decorators to use check_list_or_lambda for architectures.
In addition to making things more consistent, this will simplify the addition of some architecture-specific tests I'm writing to make sure the Windows plugin does the right thing when encountering a debugbreak intrinsic.
http://reviews.llvm.org/D15723
Files:
packages/Python/lldbsuite/test/lldbtest.py
Index: packages/Python/lldbsuite/test/lldbtest.py
===================================================================
--- packages/Python/lldbsuite/test/lldbtest.py
+++ packages/Python/lldbsuite/test/lldbtest.py
@@ -623,7 +623,12 @@
def check_list_or_lambda(list_or_lambda, value):
if six.callable(list_or_lambda):
return list_or_lambda(value)
- elif isinstance(list_or_lambda, list) or isinstance(list_or_lambda, str):
+ elif isinstance(list_or_lambda, list):
+ for item in list_or_lambda:
+ if value in item:
+ return True
+ return False
+ elif isinstance(list_or_lambda, str):
return value is None or value in list_or_lambda
else:
return list_or_lambda is None or value is None or list_or_lambda == value
@@ -639,7 +644,7 @@
oslist_passes = check_list_or_lambda(oslist, self.getPlatform())
hostoslist_passes = check_list_or_lambda(hostoslist, getHostPlatform())
compiler_passes = check_list_or_lambda(self.getCompiler(), compiler) and self.expectedCompilerVersion(compiler_version)
- arch_passes = self.expectedArch(archs)
+ arch_passes = check_list_or_lambda(archs, self.getArchitecture())
triple_passes = triple is None or re.match(triple, lldb.DBG.GetSelectedPlatform().GetTriple())
debug_info_passes = check_list_or_lambda(debug_info, self.debug_info)
swig_version_passes = (swig_version is None) or (not hasattr(lldb, 'swig_version')) or (check_expected_version(swig_version[0], swig_version[1], lldb.swig_version))
@@ -1098,7 +1103,7 @@
def fn(self):
oslist_passes = check_list_or_lambda(oslist, self.getPlatform())
compiler_passes = check_list_or_lambda(self.getCompiler(), compiler) and self.expectedCompilerVersion(compiler_version)
- arch_passes = self.expectedArch(archs)
+ arch_passes = check_list_or_lambda(archs, self.getArchitecture())
debug_info_passes = check_list_or_lambda(debug_info, self.debug_info)
swig_version_passes = (swig_version is None) or (not hasattr(lldb, 'swig_version')) or (check_expected_version(swig_version[0], swig_version[1], lldb.swig_version))
py_version_passes = (py_version is None) or check_expected_version(py_version[0], py_version[1], sys.version_info)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15723.43473.patch
Type: text/x-patch
Size: 2323 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20151222/7aaf77e6/attachment.bin>
More information about the lldb-commits
mailing list