dovetail tool: change the way to get the functest result file 19/28919/2
authorxudan <xudan16@huawei.com>
Fri, 17 Feb 2017 09:49:16 +0000 (09:49 +0000)
committerxudan <xudan16@huawei.com>
Fri, 17 Feb 2017 09:58:43 +0000 (09:58 +0000)
Functest has changed it's way to generate the local result file.
see Gerrit: https://gerrit.opnfv.org/gerrit/#/c/28513/
Dovetail needs to do some adaptions to fit this change.

JIRA: DOVETAIL-350

Change-Id: I681f74832f582f26c8874f7d2726c8588f430612
Signed-off-by: xudan <xudan16@huawei.com>
dovetail/conf/functest_config.yml
dovetail/report.py

index 2c702cd..7182b27 100644 (file)
@@ -4,7 +4,7 @@ functest:
   docker_tag: latest
   envs: '-e INSTALLER_TYPE=compass -e INSTALLER_IP=192.168.200.2
          -e NODE_NAME=dovetail-pod -e DEPLOY_SCENARIO=ha_nosdn
-         -e BUILD_TAG=dovetail -e CI_DEBUG=true
+         -e BUILD_TAG=daily-dovetail-001 -e CI_DEBUG=true
          -e DEPLOY_TYPE=baremetal
          -e RESULTS_STORE=file:///home/opnfv/functest/results/functest_result.json'
   opts: '-id --privileged=true'
@@ -12,7 +12,10 @@ functest:
     - 'echo test for precondition in functest'
   cmds:
     - 'functest env prepare'
+    - '[ -f /home/opnfv/functest/results/functest_result.json ] && cp /home/opnfv/functest/results/functest_result.json /home/opnfv/functest/functest_result.json || true'
+    - sed -i 's/http:\/\/testresults.opnfv.org\/test\/api\/v1/file:\/\/\/home\/opnfv\/functest\/results\/functest_result.json/g' /home/opnfv/repos/functest/functest/ci/config_functest.yaml
     - 'functest testcase run {{validate_testcase}} -r'
+    - 'cp /home/opnfv/functest/functest_result.json /home/opnfv/functest/results/functest_result.json'
   post_condition:
     - 'echo test for postcondition in functest'
   result:
index b7b2793..ba86cf4 100644 (file)
@@ -228,11 +228,14 @@ class FunctestCrawler(object):
                 return None
             with open(file_path, 'r') as f:
                 for jsonfile in f:
-                    data = json.loads(jsonfile)
-                    if testcase_name == data['case_name']:
-                        criteria = data['details']['status']
-                        timestart = data['details']['timestart']
-                        testcase_duration = data['details']['duration']
+                    try:
+                        data = json.loads(jsonfile)
+                        if testcase_name == data['case_name']:
+                            criteria = data['details']['status']
+                            timestart = data['details']['timestart']
+                            testcase_duration = data['details']['duration']
+                    except Exception:
+                        continue
 
             json_results = {'criteria': criteria,
                             'details': {"timestart": timestart,