<div dir="ltr">OK, I think this works now.  I tested it a few different ways.  I'll commit momentarily.<div><br></div><div>Thanks.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Nov 19, 2015 at 6:16 PM, Zachary Turner <span dir="ltr"><<a href="mailto:zturner@google.com" target="_blank">zturner@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Adrian:<div><br></div><div>I think the check_list_or_lambda function needs to be renamed to `check_decorator_attribute`, and it needs to handle values that are neither lists nor functions.  i.e. it needs to handle single values.  So I believe right now check_list_or_lambda does something like this:</div><div><br></div><div>def check_list_or_lambda(<span style="font-size:13px;line-height:19.5px">list_or_lambda, value):</span></div><div><span style="font-size:13px;line-height:19.5px">    if six.callable(list_or_lambda):</span><br style="font-size:13px;line-height:19.5px"><span style="font-size:13px;line-height:19.5px">        return list_or_lambda(value)</span><br style="font-size:13px;line-height:19.5px"><span style="font-size:13px;line-height:19.5px">    else:</span><br style="font-size:13px;line-height:19.5px"><span style="font-size:13px;line-height:19.5px">        return list_or_lambda is None or value in list_or_lambda</span><br></div><div><br></div><div>and maybe it needs to look more like this:</div><div><br></div><div><div>def check_decorator_attribute(<span style="font-size:13px;line-height:19.5px">item, value):</span></div><div><span style="font-size:13px;line-height:19.5px">    if attr is None:</span></div><div><span style="font-size:13px;line-height:19.5px">        return True</span></div><div><span style="font-size:13px;line-height:19.5px">    if six.callable(</span><span style="font-size:13px;line-height:19.5px">item</span><span style="font-size:13px;line-height:19.5px">):</span><br style="font-size:13px;line-height:19.5px"><span style="font-size:13px;line-height:19.5px">        return </span><span style="font-size:13px;line-height:19.5px">item</span><span style="font-size:13px;line-height:19.5px">(value)</span><br style="font-size:13px;line-height:19.5px"><span style="font-size:13px;line-height:19.5px">    elif isinstance(</span><span style="font-size:13px;line-height:19.5px">item</span><span style="font-size:13px;line-height:19.5px">, (list, tuple)):</span><br style="font-size:13px;line-height:19.5px"><span style="font-size:13px;line-height:19.5px">        return </span><span style="font-size:13px;line-height:19.5px">value in </span><span style="font-size:13px;line-height:19.5px">attr</span></div></div><div><span style="font-size:13px;line-height:19.5px">    else:</span></div><div><div><span style="font-size:13px;line-height:19.5px">        return </span><span style="font-size:13px;line-height:19.5px">value == </span><span style="font-size:13px;line-height:19.5px">attr</span></div></div><div><div class="h5"><div><span style="font-size:13px;line-height:19.5px"><br></span></div><div class="gmail_quote"><div dir="ltr">On Thu, Nov 19, 2015 at 5:29 PM Siva Chandra via lldb-commits <<a href="mailto:lldb-commits@lists.llvm.org" target="_blank">lldb-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This make the test TestVectorTypesFormatting, which is annotated with<br>
@skipIf(compiler='gcc'), run when using GCC:<br>
<a href="http://lab.llvm.org:8011/builders/lldb-x86_64-ubuntu-14.04-cmake/builds/8661/steps/test5/logs/stdio" rel="noreferrer" target="_blank">http://lab.llvm.org:8011/builders/lldb-x86_64-ubuntu-14.04-cmake/builds/8661/steps/test5/logs/stdio</a><br>
<br>
On Thu, Nov 19, 2015 at 4:11 PM, Adrian McCarthy via lldb-commits<br>
<<a href="mailto:lldb-commits@lists.llvm.org" target="_blank">lldb-commits@lists.llvm.org</a>> wrote:<br>
> Author: amccarth<br>
> Date: Thu Nov 19 18:11:38 2015<br>
> New Revision: 253623<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=253623&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=253623&view=rev</a><br>
> Log:<br>
> Make skipIf support the not_in function.<br>
><br>
> Modified:<br>
>     lldb/trunk/packages/Python/lldbsuite/test/lldbtest.py<br>
><br>
> Modified: lldb/trunk/packages/Python/lldbsuite/test/lldbtest.py<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lldbtest.py?rev=253623&r1=253622&r2=253623&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lldbtest.py?rev=253623&r1=253622&r2=253623&view=diff</a><br>
> ==============================================================================<br>
> --- lldb/trunk/packages/Python/lldbsuite/test/lldbtest.py (original)<br>
> +++ lldb/trunk/packages/Python/lldbsuite/test/lldbtest.py Thu Nov 19 18:11:38 2015<br>
> @@ -1100,10 +1100,10 @@ def skipIfLinuxClang(func):<br>
>  # TODO: refactor current code, to make skipIfxxx functions to call this function<br>
>  def skipIf(bugnumber=None, oslist=None, compiler=None, compiler_version=None, archs=None, debug_info=None, swig_version=None, py_version=None):<br>
>      def fn(self):<br>
> -        oslist_passes = oslist is None or self.getPlatform() in oslist<br>
> -        compiler_passes = compiler is None or (compiler in self.getCompiler() and self.expectedCompilerVersion(compiler_version))<br>
> +        oslist_passes = check_list_or_lambda(oslist, self.getPlatform())<br>
> +        compiler_passes = check_list_or_lambda(compiler, self.getCompiler()) and self.expectedCompilerVersion(compiler_version)<br>
>          arch_passes = self.expectedArch(archs)<br>
> -        debug_info_passes = debug_info is None or self.debug_info in debug_info<br>
> +        debug_info_passes = check_list_or_lambda(debug_info, self.debug_info)<br>
>          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))<br>
>          py_version_passes = (py_version is None) or check_expected_version(py_version[0], py_version[1], sys.version_info)<br>
><br>
><br>
><br>
> _______________________________________________<br>
> lldb-commits mailing list<br>
> <a href="mailto:lldb-commits@lists.llvm.org" target="_blank">lldb-commits@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits</a><br>
_______________________________________________<br>
lldb-commits mailing list<br>
<a href="mailto:lldb-commits@lists.llvm.org" target="_blank">lldb-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits</a><br>
</blockquote></div></div></div></div>
</blockquote></div><br></div>