From f7b4e61fcc20c5814d9b7ed5ebefbec1b549cd03 Mon Sep 17 00:00:00 2001 From: "zhifeng.jiang" Date: Fri, 7 Oct 2016 13:12:39 +0800 Subject: Refactor pushing suite result to test db modification: remove compute_suite.py,network_suite.py,storage_suite.py handler all suite result in suite_result.py refactor pushtoDB.py so that it can be called by qtip_server JIRA:QTIP-99 Change-Id: I1630a512c22cba7be038f5301f1454b8ef4f762f Signed-off-by: zhifeng.jiang --- data/ref_results/suite_result.py | 55 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 data/ref_results/suite_result.py (limited to 'data/ref_results/suite_result.py') diff --git a/data/ref_results/suite_result.py b/data/ref_results/suite_result.py new file mode 100644 index 00000000..d0b4647f --- /dev/null +++ b/data/ref_results/suite_result.py @@ -0,0 +1,55 @@ +############################################################################## +# Copyright (c) 2016 ZTE Corp and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +import json +import importlib +import sys +from utils import logger_utils + +logger = logger_utils.QtipLogger('suite_result').get + + +def get_benchmark_result(benchmark_name, suite_name): + benchmark_indices = importlib.import_module('{0}_benchmarks_indices'.format(suite_name)) + methodToCall = getattr(benchmark_indices, '{0}_index'.format(benchmark_name)) + return methodToCall() + + +def get_suite_result(suite_name): + suite_dict = {} + suite_bench_list = {'compute': ['DPI', 'Dhrystone', 'Whetstone', 'SSL', 'RamSpeed'], + 'storage': ['FIO'], + 'network': ['IPERF']} + temp = 0 + l = len(suite_bench_list[suite_name]) + for benchmark in suite_bench_list[suite_name]: + try: + suite_dict[benchmark] = get_benchmark_result(benchmark.lower(), suite_name) + temp = temp + float(suite_dict[benchmark]['index']) + except OSError: + l = l - 1 + pass + + if l == 0: + logger.info("No {0} suite results found".format(suite_name)) + return False + else: + suite_index = temp / l + suite_dict_f = {'index': suite_index, + 'suite_results': suite_dict} + with open('results/{0}_result.json'.format(suite_name), 'w+') as result_json: + json.dump(suite_dict_f, result_json, indent=4, sort_keys=True) + return True + + +def main(): + get_suite_result(sys.argv[1]) + + +if __name__ == "__main__": + main() -- cgit 1.2.3-korg