From: valentin boucher Date: Thu, 4 Aug 2016 08:21:59 +0000 (+0000) Subject: Merge "unify test result check for feature project and apply to parser" X-Git-Tag: colorado.1.0~174 X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=8ff41c55c650e45cc0464a89c3c26ccc54f2a15c;hp=-c;p=functest.git Merge "unify test result check for feature project and apply to parser" --- 8ff41c55c650e45cc0464a89c3c26ccc54f2a15c diff --combined utils/functest_utils.py index 5f790a015,437315241..cb2333d42 --- a/utils/functest_utils.py +++ b/utils/functest_utils.py @@@ -16,10 -16,10 +16,10 @@@ import o import os.path import re import shutil -import socket import subprocess import sys import urllib2 +import dns.resolver import functest.ci.tier_builder as tb from git import Repo @@@ -226,17 -226,13 +226,17 @@@ def get_resolvconf_ns() nameservers = [] rconf = open("/etc/resolv.conf", "r") line = rconf.readline() + resolver = dns.resolver.Resolver() while line: ip = re.search(r"\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b", line) - sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) if ip: - result = sock.connect_ex((ip.group(), 53)) - if result == 0: - nameservers.append(ip.group()) + resolver.nameservers = [str(ip)] + try: + result = resolver.query('opnfv.org')[0] + if result != "": + nameservers.append(ip.group()) + except dns.exception.Timeout: + pass line = rconf.readline() return nameservers @@@ -357,16 -353,33 +357,33 @@@ def check_success_rate(case_name, succe success_rate = float(success_rate) criteria = get_criteria_by_test(case_name) - def get_value(op): + def get_criteria_value(op): return float(criteria.split(op)[1].rstrip('%')) status = 'FAIL' ops = ['==', '>='] for op in ops: if op in criteria: - c_value = get_value(op) + c_value = get_criteria_value(op) if eval("%s %s %s" % (success_rate, op, c_value)): status = 'PASS' break return status + + + 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