refactor snaps and example using new constants provider
[functest.git] / functest / utils / functest_utils.py
index 3fafd4b..3145f57 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()
@@ -318,26 +321,6 @@ def execute_command(cmd, info=False, error_msg="",
     return returncode
 
 
-def get_deployment_dir():
-    """
-    Returns current Rally deployment directory
-    """
-    deployment_name = get_functest_config('rally.deployment_name')
-    rally_dir = get_functest_config('general.directories.dir_rally_inst')
-    cmd = ("rally deployment list | awk '/" + deployment_name +
-           "/ {print $2}'")
-    p = subprocess.Popen(cmd, shell=True,
-                         stdout=subprocess.PIPE,
-                         stderr=subprocess.STDOUT)
-    deployment_uuid = p.stdout.readline().rstrip()
-    if deployment_uuid == "":
-        logger.error("Rally deployment not found.")
-        exit(-1)
-    deployment_dir = (rally_dir + "/tempest/for-deployment-" +
-                      deployment_uuid)
-    return deployment_dir
-
-
 def get_dict_by_test(testname):
     with open(get_testcases_file_dir()) as f:
         testcases_yaml = yaml.safe_load(f)
@@ -419,7 +402,7 @@ def merge_dicts(dict1, dict2):
 
 
 def get_testcases_file_dir():
-    return "/home/opnfv/repos/functest/functest/ci/testcases.yaml"
+    return get_functest_config('general.functest.testcases_yaml')
 
 
 def get_functest_yaml():
@@ -431,3 +414,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