Add expectedFailureFreeBSD test wrapper
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187069 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/lldbtest.py b/test/lldbtest.py
index f321c5b..85c742a 100644
--- a/test/lldbtest.py
+++ b/test/lldbtest.py
@@ -516,6 +516,42 @@
return wrapper
return expectedFailurei386_impl
+def expectedFailureFreeBSD(bugnumber=None, compilers=None):
+ if callable(bugnumber):
+ @wraps(bugnumber)
+ def expectedFailureFreeBSD_easy_wrapper(*args, **kwargs):
+ from unittest2 import case
+ self = args[0]
+ platform = sys.platform
+ try:
+ bugnumber(*args, **kwargs)
+ except Exception:
+ if "freebsd" in platform and self.expectedCompiler(compilers):
+ raise case._ExpectedFailure(sys.exc_info(),None)
+ else:
+ raise
+ if "freebsd" in platform and self.expectedCompiler(compilers):
+ raise case._UnexpectedSuccess(sys.exc_info(),None)
+ return expectedFailureFreeBSD_easy_wrapper
+ else:
+ def expectedFailureFreeBSD_impl(func):
+ @wraps(func)
+ def wrapper(*args, **kwargs):
+ from unittest2 import case
+ self = args[0]
+ platform = sys.platform
+ try:
+ func(*args, **kwargs)
+ except Exception:
+ if "freebsd" in platform and self.expectedCompiler(compilers):
+ raise case._ExpectedFailure(sys.exc_info(),bugnumber)
+ else:
+ raise
+ if "freebsd" in platform and self.expectedCompiler(compilers):
+ raise case._UnexpectedSuccess(sys.exc_info(),bugnumber)
+ return wrapper
+ return expectedFailureFreeBSD_impl
+
def expectedFailureLinux(bugnumber=None, compilers=None):
if callable(bugnumber):
@wraps(bugnumber)