Author: jdevlieghere Date: Wed Feb 7 09:34:46 2018 New Revision: 324492 URL: http://llvm.org/viewvc/llvm-project?rev=324492&view=rev Log: [test] Don't drop existing categories for methods.
The change in r324488 dropped the existing category attribute in for instance methods. This patch corrects that. Differential revision: https://reviews.llvm.org/D43024 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=324492&r1=324491&r2=324492&view=diff ============================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/decorators.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/decorators.py Wed Feb 7 09:34:46 2018 @@ -304,13 +304,16 @@ 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") - if hasattr(func, "categories"): - cat.extend(func.categories) - # For instance methods, the attribute must be set on the actual function. - if inspect.ismethod(func): - func.__func__.categories = cat - else: - func.categories = cat + + # 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) + return func return impl _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits