@@ -217,31 +217,21 @@ def test_stackTrace(self):
217
217
frameCount ,
218
218
"verify total frames returns a speculative page size" ,
219
219
)
220
- expectedFrames = [
221
- {
222
- "name" : "comp" ,
223
- "line" : 14 ,
224
- "sourceName" : "main.c" ,
225
- "containsSourceReference" : False ,
226
- },
227
- {"name" : "qsort" , "sourceName" : "qsort" , "containsSourceReference" : True },
228
- {
229
- "name" : "main" ,
230
- "line" : 25 ,
231
- "sourceName" : "main.c" ,
232
- "containsSourceReference" : False ,
233
- },
234
- ]
235
- for idx , expected in enumerate (expectedFrames ):
236
- frame = stackFrames [idx ]
237
- frame_name = self .get_dict_value (frame , ["name" ])
238
- self .assertRegex (frame_name , expected ["name" ])
239
- source_name = self .get_dict_value (frame , ["source" , "name" ])
240
- self .assertRegex (source_name , expected ["sourceName" ])
241
- if expected ["containsSourceReference" ]:
242
- self .assertIn ("sourceReference" , frame ["source" ])
243
- else :
244
- self .assertNotIn ("sourceReference" , frame ["source" ])
220
+
221
+ frame = stackFrames .pop (0 )
222
+ frame_name = self .get_dict_value (frame , ["name" ])
223
+ self .assertRegex (frame_name , 'comp' )
224
+ self .assertEqual (self .get_dict_value (frame , ['line' ]), 14 )
225
+ self .assertNotIn ('sourceReference' , frame ['source' ])
226
+
227
+ # libc`qsort may not be the first frame below comp, search upwards
228
+ found_qsort = False
229
+ for frame in stackFrames :
230
+ if 'qsort' not in frame ['name' ]:
231
+ continue
232
+ found_qsort = True
233
+ self .assertIn ("sourceReference" , frame ["source" ])
234
+ self .assertTrue (found_qsort , 'verify we found the qsort frame' )
245
235
246
236
@skipIfWindows
247
237
def test_functionNameWithArgs (self ):
0 commit comments