@@ -82,6 +82,12 @@ def tearDown(self):
8282 self .traced_patch .stop ()
8383 super ().tearDown ()
8484
85+ def find_span_by_name (self , spans , name ):
86+ for span in spans :
87+ if span .name == name :
88+ return span
89+ self .fail ('Span with name "{}" not found' .format (name ))
90+
8591
8692class TestTornadoInstrumentor (TornadoTest ):
8793 def test_patch_references (self ):
@@ -188,12 +194,16 @@ def _test_async_handler(self, url, handler_name):
188194 spans = self .memory_exporter .get_finished_spans ()
189195 self .assertEqual (len (spans ), 5 )
190196
191- sub2 , sub1 , sub_wrapper , server , client = self .sorted_spans (spans )
197+ client = self .find_span_by_name (spans , "GET" )
198+ server = self .find_span_by_name (spans , handler_name + ".get" )
199+ sub_wrapper = self .find_span_by_name (spans , "sub-task-wrapper" )
192200
201+ sub2 = self .find_span_by_name (spans , "sub-task-2" )
193202 self .assertEqual (sub2 .name , "sub-task-2" )
194203 self .assertEqual (sub2 .parent , sub_wrapper .context )
195204 self .assertEqual (sub2 .context .trace_id , client .context .trace_id )
196205
206+ sub1 = self .find_span_by_name (spans , "sub-task-1" )
197207 self .assertEqual (sub1 .name , "sub-task-1" )
198208 self .assertEqual (sub1 .parent , sub_wrapper .context )
199209 self .assertEqual (sub1 .context .trace_id , client .context .trace_id )
@@ -238,9 +248,11 @@ def test_500(self):
238248 response = self .fetch ("/error" )
239249 self .assertEqual (response .code , 500 )
240250
241- spans = self .sorted_spans ( self . memory_exporter .get_finished_spans () )
251+ spans = self .memory_exporter .get_finished_spans ()
242252 self .assertEqual (len (spans ), 2 )
243- server , client = spans
253+
254+ client = self .find_span_by_name (spans , "GET" )
255+ server = self .find_span_by_name (spans , "BadHandler.get" )
244256
245257 self .assertEqual (server .name , "BadHandler.get" )
246258 self .assertEqual (server .kind , SpanKind .SERVER )
0 commit comments