diff options
Diffstat (limited to 'testsuites/vstf/vstf_scripts/vstf/controller/spirent/common/result_analysis.py')
-rw-r--r-- | testsuites/vstf/vstf_scripts/vstf/controller/spirent/common/result_analysis.py | 184 |
1 files changed, 0 insertions, 184 deletions
diff --git a/testsuites/vstf/vstf_scripts/vstf/controller/spirent/common/result_analysis.py b/testsuites/vstf/vstf_scripts/vstf/controller/spirent/common/result_analysis.py deleted file mode 100644 index 9003f063..00000000 --- a/testsuites/vstf/vstf_scripts/vstf/controller/spirent/common/result_analysis.py +++ /dev/null @@ -1,184 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Huawei Technologies Co.,Ltd 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 re - - -def getResultColumn(data_dict): - column_string = data_dict['Columns'] - return column_string.strip('{}').split() - - -def getResult(data_dict): - result_string = data_dict['Output'] - result_array = result_string.split('} {') - result = [] - for line in result_array: - result.append(line.split()) - return result - - -def restrucData(data_string): - try: - data_dict = {} - p = re.compile('-Columns.*-Output') - data_dict['Columns'] = p.findall( - data_string)[0].strip('-Columns {} -Output') - p = re.compile('-Output.*-State') - data_dict['Output'] = p.findall( - data_string)[0].strip('-Output {} -State') - if data_dict['Columns'] is not None or data_dict['Output'] is not None: - return False, None - return True, data_dict - except: - print("[ERROR]Find the column name or the output result failed.") - - -def framelossData(column, perfdata): - column_name_dict = { - 'TrialNumber': 0, - 'Id': 1, - 'FrameSize': 3, - 'TxFrameCount': 9, - 'RxFrameCount': 10, - 'PercentLoss(%s)': 12, - 'MinimumLatency(us)': 17, - 'MaximumLatency(us)': 18, - 'AverageLatency(us)': 19, - 'MinimumJitter(us)': 20, - 'MaximumJitter(us)': 21, - 'AverageJitter(us)': 22, - } - # get the column array - column_array = [ - column[column_name_dict['FrameSize']], - 'ForwardingRate(Mpps)', - column[column_name_dict['TxFrameCount']], - column[column_name_dict['RxFrameCount']], - column[column_name_dict['PercentLoss(%s)']], - column[column_name_dict['AverageLatency(us)']], - column[column_name_dict['MinimumLatency(us)']], - column[column_name_dict['MaximumLatency(us)']], - column[column_name_dict['AverageJitter(us)']], - column[column_name_dict['MinimumJitter(us)']], - column[column_name_dict['MaximumJitter(us)']] - ] - data_array = [] - for line in perfdata: - line_options = [ - # line[column_name_dict['TrialNumber']], - # line[column_name_dict['Id']], - line[column_name_dict['FrameSize']], - str(float(line[column_name_dict['RxFrameCount']]) / 60 / 1000000), - line[column_name_dict['TxFrameCount']], - line[column_name_dict['RxFrameCount']], - line[column_name_dict['PercentLoss(%s)']], - line[column_name_dict['AverageLatency(us)']], - line[column_name_dict['MinimumLatency(us)']], - line[column_name_dict['MaximumLatency(us)']], - line[column_name_dict['AverageJitter(us)']], - line[column_name_dict['MinimumJitter(us)']], - line[column_name_dict['MaximumJitter(us)']] - ] - data_array.append(line_options) - return [column_array, data_array] - - -class analysis(object): - - def __init__(self): - pass - - def analyseResult(self, suite, column, perfdata): - """ - :type self: object - """ - global data_array, column_array - if suite == 'throughput': - [column_array, data_array] = self.throughputData(column, perfdata) - elif suite == 'frameloss': - [column_array, data_array] = self.framelossData(column, perfdata) - elif suite == 'latency': - self.latencyData(column, perfdata) - else: - return None - for line in data_array: - print line - return [column_array, data_array] - - def throughputData(self, column, perfdata): - column_name_dict = { - 'TrialNumber': 0, - 'Id': 1, - 'FrameSize': 3, - 'Load(%)': 6, - 'Result': 8, - 'TxFrameCount': 12, - 'RxFrameCount': 13, - 'ForwardingRate(mpps)': 17, - 'MinimumLatency(us)': 18, - 'MaximumLatency(us)': 19, - 'AverageLatency(us)': 20, - 'MinimumJitter(us)': 21, - 'MaximumJitter(us)': 22, - 'AverageJitter(us)': 23 - } - column_array = {column[column_name_dict['FrameSize']], - column[column_name_dict['Load(%)']], - column[column_name_dict['Result']], - 'ForwardingRate(mpps)', - column[column_name_dict['TxFrameCount']], - column[column_name_dict['RxFrameCount']], - column[column_name_dict['AverageLatency(us)']], - column[column_name_dict['MinimumLatency(us)']], - column[column_name_dict['MaximumLatency(us)']], - column[column_name_dict['AverageJitter(us)']], - column[column_name_dict['MinimumJitter(us)']], - column[column_name_dict['MaximumJitter(us)']]} - data_array = [] - for line in perfdata: - if line[column_name_dict['Result']] == 'Passed': - line_options = [ - # line[column_name_dict['TrialNumber']], - # line[column_name_dict['Id']], - line[column_name_dict['FrameSize']], - line[column_name_dict['Load(%)']], - line[column_name_dict['Result']], - str(float(line[column_name_dict[ - 'ForwardingRate(mpps)']]) / 1000000), - line[column_name_dict['TxFrameCount']], - line[column_name_dict['RxFrameCount']], - line[column_name_dict['AverageLatency(us)']], - line[column_name_dict['MinimumLatency(us)']], - line[column_name_dict['MaximumLatency(us)']], - line[column_name_dict['AverageJitter(us)']], - line[column_name_dict['MinimumJitter(us)']], - line[column_name_dict['MaximumJitter(us)']]] - else: - continue - data_array.append(line_options) - # delete the redundant test data - delete_index = [] - new_data_array = [] - for ele in range(len(data_array) - 1): - if data_array[ele][0] == data_array[ele + 1][0]: - delete_index.append(ele) - - for num in len(data_array): - if num not in delete_index: - new_data_array.append(data_array[num]) - - return column_array, new_data_array - - def latencyData(self, column, perfdata): - pass - - -analysis_instance = analysis() |