11from __future__ import print_function
22import base64
33import gzip
4- import collections
54import os
65import io
76from io import BytesIO
@@ -185,7 +184,7 @@ def add_annotation(self, annotation):
185184class TestSuite :
186185 def __init__ (self , name ):
187186 # optional sub-suites
188- self .sub_suites = collections . OrderedDict ()
187+ self .sub_suites = []
189188 self .is_root_suite = False
190189 self .name = name
191190 self .description = ''
@@ -203,13 +202,14 @@ def get_or_add_test_suite(self, suite_name):
203202 if not suite_name :
204203 # write under root suite
205204 return self .get_or_add_test_suite ('uncategorized' )
206- if suite_name in self .sub_suites .keys ():
207- return self .sub_suites [suite_name ]
205+ for suite in self .sub_suites :
206+ if suite_name == suite .name :
207+ return suite
208208 return self .add_test_suite (suite_name )
209209
210210 def add_test_suite (self , name ):
211211 new_suite = TestSuite (name )
212- self .sub_suites [ str ( name )] = new_suite
212+ self .sub_suites . append ( new_suite )
213213 return new_suite
214214
215215 def add_custom_metric (self , name , value ):
@@ -292,8 +292,8 @@ def _write_suite(self, parent_node, test_suite):
292292 self ._write_test_case (suite_elem , tc )
293293
294294 # write child suites
295- for v in test_suite .sub_suites . values () :
296- self ._write_suite (suite_elem , v )
295+ for sub_suite in test_suite .sub_suites :
296+ self ._write_suite (suite_elem , sub_suite )
297297
298298 def _write_test_case (self , parent_node , test_case ):
299299 elem_tc = self .dom .createElement ('test_case' )
0 commit comments