[Lldb-commits] [lldb] r326552 - [testsuite] Remove workaround for categories and inline tests.
Vedant Kumar via lldb-commits
lldb-commits at lists.llvm.org
Fri Mar 2 11:12:18 PST 2018
Thanks for taking care of this!
vedant
> On Mar 2, 2018, at 2:38 AM, Jonas Devlieghere via lldb-commits <lldb-commits at lists.llvm.org> wrote:
>
> Author: jdevlieghere
> Date: Fri Mar 2 02:38:11 2018
> New Revision: 326552
>
> URL: http://llvm.org/viewvc/llvm-project?rev=326552&view=rev
> Log:
> [testsuite] Remove workaround for categories and inline tests.
>
> Adding categories to inline tests does not work because the attribute
> is set at the function level. For methods, this means it applies to all
> instances of that particular class. While this is what we want in most
> cases, it's not for inline tests, where different instances correspond
> to different tests.
>
> With the workaround in place, assigning a category to one test resulted
> in the category applied to *all* inline tests.
>
> This patch removes the workaround and throws an exception with an
> informative error message, to prevent this from happening in the future.
>
> Modified:
> lldb/trunk/packages/Python/lldbsuite/test/decorators.py
>
> Modified: lldb/trunk/packages/Python/lldbsuite/test/decorators.py
> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/decorators.py?rev=326552&r1=326551&r2=326552&view=diff
> ==============================================================================
> --- lldb/trunk/packages/Python/lldbsuite/test/decorators.py (original)
> +++ lldb/trunk/packages/Python/lldbsuite/test/decorators.py Fri Mar 2 02:38:11 2018
> @@ -304,15 +304,12 @@ def add_test_categories(cat):
> if isinstance(func, type) and issubclass(func, unittest2.TestCase):
> raise Exception(
> "@add_test_categories can only be used to decorate a test method")
> -
> - # Update or set the categories attribute. For instance methods, the
> - # attribute must be set on the actual function.
> - func_for_attr = func
> - if inspect.ismethod(func_for_attr):
> - func_for_attr = func.__func__
> - if hasattr(func_for_attr, "categories"):
> - cat.extend(func_for_attr.categories)
> - setattr(func_for_attr, "categories", cat)
> + try:
> + if hasattr(func, "categories"):
> + cat.extend(func.categories)
> + setattr(func, "categories", cat)
> + except AttributeError:
> + raise Exception('Cannot assign categories to inline tests.')
>
> return func
>
>
>
> _______________________________________________
> lldb-commits mailing list
> lldb-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
More information about the lldb-commits
mailing list