Merge "Conform SFC test case to FeatureBase"
[functest.git] / functest / utils / functest_utils.py
index 5e20468..b1e4d3c 100644 (file)
@@ -21,6 +21,9 @@ import requests
 import yaml
 from git import Repo
 
+import time
+import functools
+
 import functest.utils.functest_logger as ft_logger
 
 logger = ft_logger.Logger("functest_utils").getLogger()
@@ -418,23 +421,6 @@ def merge_dicts(dict1, dict2):
             yield (k, dict2[k])
 
 
-def check_test_result(test_name, ret, start_time, stop_time):
-    def get_criteria_value():
-        return get_criteria_by_test(test_name).split('==')[1].strip()
-
-    status = 'FAIL'
-    if str(ret) == get_criteria_value():
-        status = 'PASS'
-
-    details = {
-        'timestart': start_time,
-        'duration': round(stop_time - start_time, 1),
-        'status': status,
-    }
-
-    return status, details
-
-
 def get_testcases_file_dir():
     return get_functest_config('general.functest.testcases_yaml')
 
@@ -448,3 +434,17 @@ def get_functest_yaml():
 
 def print_separator():
     logger.info("==============================================")
+
+
+def timethis(func):
+    """Measure the time it takes for a function to complete"""
+    @functools.wraps(func)
+    def timed(*args, **kwargs):
+        ts = time.time()
+        result = func(*args, **kwargs)
+        te = time.time()
+        elapsed = '{0}'.format(te - ts)
+        logger.info('{f}(*{a}, **{kw}) took: {t} sec'.format(
+            f=func.__name__, a=args, kw=kwargs, t=elapsed))
+        return result, elapsed
+    return timed