summaryrefslogtreecommitdiffstats
path: root/data/ref_results/index_calculation.py
blob: ed597fb8b151610486a0e278627c3fd5b932230d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import json
from cinderclient.utils import arg
from result_accum import result_concat as concat

def compute_index(total_measured,ref_result,count):
    try:
        average=float(total_measured/count)
        
    except ZeroDivisionError:
        average=0
    
    index=average/ref_result
    return index

def get_reference (*args):
    
    with open ('./reference.json') as reference_file:
        reference_djson=json.load(reference_file)
        temp=list(args)
        for arg in args:
            ref_n=reference_djson.get(str(arg))
            reference_djson=reference_djson.get(str(arg))

          
    return ref_n

def generic_index(dict_gen,testcase,reference_num,*args):
    c=len(args)
    count=0
    total=0
    result=0
    for k,v in dict_gen.iteritems():           
        dict_temp=dict_gen[k]
        if dict_gen[k]['1  Testcase Name'] == str(testcase):
            count=count+1
            for arg in args:
                if arg == args[c-1]:
                    try:
                        result=float(dict_temp.get(str(arg)))
                    except ValueError:
                        result=float(dict_temp.get(str(arg))[:-1])*1000
                dict_temp=dict_temp.get(str(arg))
            total=total+result
    return compute_index(total, reference_num, count)