summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2015-11-06 18:14:42 +0000
committerZachary Turner <zturner@google.com>2015-11-06 18:14:42 +0000
commit5cb8e67b1790cb255fb3ed4f6c462c7632813c62 (patch)
tree6da7863cbc13e4df6070cc89886258050769af1b /lldb/packages/Python/lldbsuite
parentf0c3f68e33c2100d3a298e9bd20f523392a90c61 (diff)
downloadbcm5719-llvm-5cb8e67b1790cb255fb3ed4f6c462c7632813c62.tar.gz
bcm5719-llvm-5cb8e67b1790cb255fb3ed4f6c462c7632813c62.zip
Don't use module internal implementation details in our decorators.
We tried implementing something akin to a conditionalExpectedFailure decorator for unittest2. We did this by making use of some implementation details of the unittest2 module. In an effort to make this work with unittest, this patch removes the reliance on the implementation details. I have a hard time wrapping my head around how this all works with the deeply nested decorators, but the spirit of the patch here is to do do the following: If the condition function is true, use the original unittest2.expectedFailure decorator. Otherwise don't use any decorator, just call the test function. Differential Revision: http://reviews.llvm.org/D14406 Reviewed By: tberghammer, labath llvm-svn: 252326
Diffstat (limited to 'lldb/packages/Python/lldbsuite')
-rw-r--r--lldb/packages/Python/lldbsuite/test/lldbtest.py12
1 files changed, 4 insertions, 8 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/lldbtest.py b/lldb/packages/Python/lldbsuite/test/lldbtest.py
index 787525af5d2..9d0c4e2559f 100644
--- a/lldb/packages/Python/lldbsuite/test/lldbtest.py
+++ b/lldb/packages/Python/lldbsuite/test/lldbtest.py
@@ -601,15 +601,11 @@ def expectedFailure(expected_fn, bugnumber=None):
def wrapper(*args, **kwargs):
from unittest2 import case
self = args[0]
- try:
- func(*args, **kwargs)
- except Exception:
- if expected_fn(self):
- raise case._ExpectedFailure(sys.exc_info(), bugnumber)
- else:
- raise
if expected_fn(self):
- raise case._UnexpectedSuccess(sys.exc_info(), bugnumber)
+ xfail_func = unittest2.expectedFailure(func)
+ xfail_func(*args, **kwargs)
+ else:
+ func(*args, **kwargs)
return wrapper
# if bugnumber is not-callable(incluing None), that means decorator function is called with optional arguments
# return decorator in this case, so it will be used to decorating original method
OpenPOWER on IntegriCloud