solve bidirectional dependencies between ci and utils modules 61/20261/2
authorSerenaFeng <feng.xiaowei@zte.com.cn>
Fri, 2 Sep 2016 15:33:22 +0000 (23:33 +0800)
committerSerenaFeng <feng.xiaowei@zte.com.cn>
Mon, 5 Sep 2016 07:48:46 +0000 (15:48 +0800)
Ci module's run_tests.py references utils module's functest_utils,
and functest_utils references ci module's tier_handler.
Form a bidirectional dependencies between two packages.

JIRA: FUNCTEST-456

Change-Id: Idbdd4896fb1ec786fcfd656832bfe2d4048a8278
Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
utils/functest_utils.py

index 644ad1a..4a98a86 100644 (file)
@@ -7,23 +7,21 @@
 # which accompanies this distribution, and is available at
 # http://www.apache.org/licenses/LICENSE-2.0
 #
-from datetime import datetime as dt
 import json
 import os
 import re
-import requests
 import shutil
 import subprocess
 import sys
 import urllib2
-
-import functest.ci.tier_builder as tb
-import functest.utils.functest_logger as ft_logger
+from datetime import datetime as dt
 
 import dns.resolver
-from git import Repo
+import requests
 import yaml
+from git import Repo
 
+import functest.utils.functest_logger as ft_logger
 
 logger = ft_logger.Logger("functest_utils").getLogger()
 
@@ -350,15 +348,16 @@ def get_deployment_dir():
 
 
 def get_criteria_by_test(testname):
-    criteria = ""
-    file = get_testcases_file()
-    tiers = tb.TierBuilder("", "", file)
-    for tier in tiers.get_tiers():
-        for test in tier.get_tests():
-            if test.get_name() == testname:
-                criteria = test.get_criteria()
-
-    return criteria
+    with open(get_testcases_file()) as f:
+        testcases_yaml = yaml.safe_load(f)
+
+    for dic_tier in testcases_yaml.get("tiers"):
+        for dic_testcase in dic_tier['testcases']:
+            if dic_testcase['name'] == testname:
+                return dic_testcase['criteria']
+
+    logger.error('Project %s is not defined in testcases.yaml' % testname)
+    return None
 
 
 # ----------------------------------------------------------