mirror of
https://github.com/intel/llvm.git
synced 2026-02-05 04:46:27 +08:00
Update the test scenario for find_global_variables() to now start the inferior process
before issuing API calls to find the global variable and to get its value. rdar://problem/9700873 has been updated to reflect the latest status. The dwarf case now does not seg fault if the inferior is not started; instead, for dwarf case, the value retrieved from the global variable is None. llvm-svn: 134909
This commit is contained in:
@@ -22,7 +22,12 @@ class TargetAPITestCase(TestBase):
|
||||
self.find_global_variables('a.out')
|
||||
|
||||
#rdar://problem/9700873
|
||||
@unittest2.skip("segmentation fault -- skipping")
|
||||
# Find global variable value fails for dwarf if inferior not started
|
||||
# (Was CrashTracer: [USER] 1 crash in Python at _lldb.so: lldb_private::MemoryCache::Read + 94)
|
||||
#
|
||||
# It does not segfaults now. But for dwarf, the variable value is None if
|
||||
# the inferior process does not exist yet. The radar has been updated.
|
||||
#@unittest232.skip("segmentation fault -- skipping")
|
||||
@python_api_test
|
||||
def test_find_global_variables_with_dwarf(self):
|
||||
"""Exercise SBTarget.FindGlobalVariables() API."""
|
||||
@@ -102,9 +107,24 @@ class TargetAPITestCase(TestBase):
|
||||
target = self.dbg.CreateTarget(exe)
|
||||
self.assertTrue(target, VALID_TARGET)
|
||||
|
||||
#rdar://problem/9700873
|
||||
# Find global variable value fails for dwarf if inferior not started
|
||||
# (Was CrashTracer: [USER] 1 crash in Python at _lldb.so: lldb_private::MemoryCache::Read + 94)
|
||||
#
|
||||
# Remove the lines to create a breakpoint and to start the inferior
|
||||
# which are workarounds for the dwarf case.
|
||||
|
||||
breakpoint = target.BreakpointCreateByLocation('main.c', self.line1)
|
||||
self.assertTrue(breakpoint, VALID_BREAKPOINT)
|
||||
|
||||
# Now launch the process, and do not stop at entry point.
|
||||
process = target.LaunchSimple(None, None, os.getcwd())
|
||||
self.assertTrue(process, PROCESS_IS_VALID)
|
||||
|
||||
value_list = target.FindGlobalVariables('my_global_var_of_char_type', 3)
|
||||
self.assertTrue(value_list.GetSize() == 1)
|
||||
my_global_var = value_list.GetValueAtIndex(0)
|
||||
self.DebugSBValue(my_global_var)
|
||||
self.assertTrue(my_global_var)
|
||||
self.expect(my_global_var.GetName(), exe=False,
|
||||
startstr = "my_global_var_of_char_type")
|
||||
|
||||
Reference in New Issue
Block a user