[test] Enable setting category for inline tests.

Inlined tests have a test function that is actually an instance method,
which requires a slightly different approach when it comes to setting
the category attribute. The attribute must be set on the actual
function, rather than on a particular instance.

llvm-svn: 324488
This commit is contained in:
Jonas Devlieghere 2018-02-07 16:10:59 +00:00
parent 871c30e540
commit 466396592d
1 changed files with 7 additions and 2 deletions

View File

@ -4,6 +4,7 @@ from __future__ import print_function
# System modules
from distutils.version import LooseVersion, StrictVersion
from functools import wraps
import inspect
import os
import platform
import re
@ -305,7 +306,11 @@ def add_test_categories(cat):
"@add_test_categories can only be used to decorate a test method")
if hasattr(func, "categories"):
cat.extend(func.categories)
func.categories = cat
# For instance methods, the attribute must be set on the actual function.
if inspect.ismethod(func):
func.__func__.categories = cat
else:
func.categories = cat
return func
return impl
@ -518,7 +523,7 @@ def skipIfNoSBHeaders(func):
'LLDB.h')
if os.path.exists(header):
return None
header = os.path.join(
os.environ["LLDB_SRC"],
"include",