Merge "Fix skip_because decorator"
diff --git a/tempest/test.py b/tempest/test.py
index 0c7c916..8ce7af8 100644
--- a/tempest/test.py
+++ b/tempest/test.py
@@ -16,6 +16,7 @@
# under the License.
import atexit
+import functools
import os
import time
@@ -110,11 +111,14 @@
@param condition: optional condition to be True for the skip to have place
"""
def decorator(f):
- if "bug" in kwargs:
- if "condition" not in kwargs or kwargs["condition"] is True:
- msg = "Skipped until Bug: %s is resolved." % kwargs["bug"]
- raise testtools.TestCase.skipException(msg)
- return f
+ @functools.wraps(f)
+ def wrapper(*func_args, **func_kwargs):
+ if "bug" in kwargs:
+ if "condition" not in kwargs or kwargs["condition"] is True:
+ msg = "Skipped until Bug: %s is resolved." % kwargs["bug"]
+ raise testtools.TestCase.skipException(msg)
+ return f(*func_args, **func_kwargs)
+ return wrapper
return decorator