File tree Expand file tree Collapse file tree 2 files changed +24
-3
lines changed
test/API/python_api/find_in_memory Expand file tree Collapse file tree 2 files changed +24
-3
lines changed Original file line number Diff line number Diff line change 9
9
' ' ' Iterate over all the memory regions in a lldb.SBMemoryRegionInfoList object.' ' '
10
10
import lldb
11
11
size = self.GetSize ()
12
- region = lldb.SBMemoryRegionInfo ()
13
12
for i in range (size):
13
+ region = lldb.SBMemoryRegionInfo ()
14
14
self.GetMemoryRegionAtIndex (i, region)
15
15
yield region
16
16
%}
Original file line number Diff line number Diff line change @@ -154,14 +154,35 @@ def test_find_in_memory_unaligned(self):
154
154
self .assertEqual (addr , lldb .LLDB_INVALID_ADDRESS )
155
155
156
156
def test_memory_info_list_iterable (self ):
157
- """Make sure the SBMemoryRegionInfoList is iterable"""
157
+ """Make sure the SBMemoryRegionInfoList is iterable and each yielded object is unique """
158
158
self .assertTrue (self .process , PROCESS_IS_VALID )
159
159
self .assertState (self .process .GetState (), lldb .eStateStopped , PROCESS_STOPPED )
160
160
161
161
info_list = self .process .GetMemoryRegions ()
162
162
self .assertTrue (info_list .GetSize () > 0 )
163
+
164
+ collected_info = []
163
165
try :
164
166
for info in info_list :
165
- pass
167
+ collected_info . append ( info )
166
168
except Exception :
167
169
self .fail ("SBMemoryRegionInfoList is not iterable" )
170
+
171
+ for i in range (len (collected_info )):
172
+ region = lldb .SBMemoryRegionInfo ()
173
+ info_list .GetMemoryRegionAtIndex (i , region )
174
+
175
+ self .assertEqual (
176
+ collected_info [i ],
177
+ region ,
178
+ f"items { i } : iterator data should match index access data" ,
179
+ )
180
+
181
+ self .assertTrue (
182
+ len (collected_info ) >= 2 , "Test requires at least 2 memory regions"
183
+ )
184
+ self .assertNotEqual (
185
+ collected_info [0 ].GetRegionBase (),
186
+ collected_info [1 ].GetRegionBase (),
187
+ "Different items should have different base addresses" ,
188
+ )
You can’t perform that action at this time.
0 commit comments