summaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
authorMorgan Richomme <morgan.richomme@orange.com>2016-02-01 15:24:07 +0000
committerGerrit Code Review <gerrit@172.30.200.206>2016-02-01 15:24:07 +0000
commit55a626cabe4e1daace2b6ef563e543c884b0de29 (patch)
tree6d01dd21801fed625970f2ce20713f50dfed9898 /utils
parent630e0f4f05697d715fcab9c86e8eeb9c821047ae (diff)
parentf01e15b25d3461778078230836778beb75e76b0c (diff)
Merge "Add ONOS and ODL in dashboard see http://testresults.opnfv.org/proto/index2.html"
Diffstat (limited to 'utils')
-rw-r--r--utils/test/result_collection_api/dashboard/functest2Dashboard.py56
1 files changed, 53 insertions, 3 deletions
diff --git a/utils/test/result_collection_api/dashboard/functest2Dashboard.py b/utils/test/result_collection_api/dashboard/functest2Dashboard.py
index c1d116112..65dbca654 100644
--- a/utils/test/result_collection_api/dashboard/functest2Dashboard.py
+++ b/utils/test/result_collection_api/dashboard/functest2Dashboard.py
@@ -14,13 +14,15 @@
# a new method format_<Test_case>_for_dashboard(results)
# v0.1: basic example with methods for odl, Tempest, Rally and vPing
#
+import re
+import datetime
def get_functest_cases():
"""
get the list of the supported test cases
TODO: update the list when adding a new test case for the dashboard
"""
- return ["status", "vPing", "vPing_userdata", "vIMS", "Tempest", "odl", "Rally"]
+ return ["status", "vPing", "vPing_userdata", "vIMS", "Tempest", "ODL", "ONOS", "Rally"]
def format_functest_for_dashboard(case, results):
@@ -210,11 +212,59 @@ def format_Tempest_for_dashboard(results):
return test_data
-def format_odl_for_dashboard(results):
+def format_ODL_for_dashboard(results):
+ """
+ Post processing for the ODL test case
+ """
+ test_data = [{'description': 'ODL results for Dashboard'}]
+
+ # Graph 1: (Nb test, nb failure)=f(time)
+ # ***************************************
+ new_element = []
+
+ for data in results:
+ odl_results = data['details']['details']
+ nbFailures = 0
+ for odl in odl_results:
+ if (odl['test_status']['@status'] == "FAIL"):
+ nbFailures+=1
+ new_element.append({'x': data['creation_date'],
+ 'y1': len(odl_results),
+ 'y2': nbFailures})
+
+ test_data.append({'name': "ODL nb tests/nb failures",
+ 'info': {'type': "graph",
+ 'xlabel': 'time',
+ 'y1label': 'Number of tests',
+ 'y2label': 'Number of failures'},
+ 'data_set': new_element})
+ return test_data
+
+
+def format_ONOS_for_dashboard(results):
"""
Post processing for the odl test case
"""
- test_data = [{'description': 'odl results for Dashboard'}]
+ test_data = [{'description': 'ONOS results for Dashboard'}]
+ # Graph 1: (duration)=f(time)
+ # ***************************************
+ new_element = []
+
+ # default duration 0:00:08.999904
+ # consider only seconds => 09
+ for data in results:
+ t = data['details']['duration']
+ h,m,s = re.split(':',t)
+ s = round(float(s))
+ new_duration = int(datetime.timedelta(hours=int(h),minutes=int(m),seconds=int(s)).total_seconds())
+ new_element.append({'x': data['creation_date'],
+ 'y': new_duration})
+
+ test_data.append({'name': "ONOS duration",
+ 'info': {'type': "graph",
+ 'xlabel': 'time (s)',
+ 'ylabel': 'duration (s)'},
+ 'data_set': new_element})
return test_data