22 if resultDic
is not None:
26 tree = ET.parse(fileName)
29 tree = ET.parse(fileName)
33 Test = ET.Element(
'Test')
34 Test.set(
'Status',resultDic[
'Status'])
35 del resultDic[
'Status']
36 Name = ET.SubElement(Test,
'Name')
37 Name.text= XSS.escape(resultDic[
'Name'][:-4])
41 Results = ET.SubElement(Test,
'Results')
43 NamedMeasurement = dict()
47 for key
in resultDic :
48 if resultDic[key] !=
'' and key!=
'Measurement':
49 NamedMeasurement[key] = ET.SubElement(Results,
'NamedMeasurement')
50 NamedMeasurement[key].set(
'name',key)
53 if key==
"Execution Time" : NamedMeasurement[key].set(
'type',
"numeric/float")
54 if key==
"exit_code" : NamedMeasurement[key].set(
'type',
"numeric/integer")
55 else : NamedMeasurement[key].set(
'type',
"String")
58 Value[key] = ET.SubElement(NamedMeasurement[key],
'Value')
59 if key==
'Environment' :
61 Value[key].text = XSS.escape(
'\n'.join(
'{0}={1}'.
format(k, env[k])
for k
in sorted(env)))
63 Value[key].text = XSS.escape(
'\n'.join(resultDic[key]))
64 elif key==
'Validator results':
65 valres= resultDic[key]
66 Value[key].text = XSS.escape(
'\n'.join(
'{0}={1}'.
format(k, valres[k])
for k
in valres)).encode(
"ascii",
"xmlcharrefreplace")
67 elif key==
'Unsupported platforms':
68 Value[key].text = XSS.escape(
'\n'.join(resultDic[key]))
70 Value[key].text = XSS.escape(str(resultDic[key]))
74 Measurement = ET.SubElement(Results,
'Measurement')
75 Value[
'Measurement'] = ET.SubElement(Measurement,
'Value')
76 Value[
'Measurement'].text = XSS.escape(resultDic[
'Measurement'])
81 tree.write(fileName,encoding=
'utf-8')