Skip to content

Commit c68deee

Browse files
committed
Fixing the tests on linux that depends on libc details.
1 parent 0b49517 commit c68deee

File tree

1 file changed

+15
-25
lines changed

1 file changed

+15
-25
lines changed

lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py

Lines changed: 15 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -217,31 +217,21 @@ def test_stackTrace(self):
217217
frameCount,
218218
"verify total frames returns a speculative page size",
219219
)
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')
245235

246236
@skipIfWindows
247237
def test_functionNameWithArgs(self):

0 commit comments

Comments
 (0)