Fix skip_because decorator

If we use skip_because decorator, the below error occurs.
 _StringException: ImportError: Failed to import test module:...
And, all tests of the class having the skip_because decorator are not
tested.
This commit fixes it.

Change-Id: I98e51d3bfd8b13dc3ef462eb92b170295f5f142e
Closes-Bug: #1236220
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