[Lldb-commits] [lldb] r134118 - /lldb/trunk/test/python_api/target/TestTargetAPI.py

Johnny Chen johnny.chen at apple.com
Wed Jun 29 17:24:31 PDT 2011


Author: johnny
Date: Wed Jun 29 19:24:31 2011
New Revision: 134118

URL: http://llvm.org/viewvc/llvm-project?rev=134118&view=rev
Log:
While we are at it, let's also exercise the similar SBModule.FindGlobalVariables() API within
the find_global_variables() test method.

Skipping test_find_global_variables_with_dwarf(self) due to segmentation fault.

Modified:
    lldb/trunk/test/python_api/target/TestTargetAPI.py

Modified: lldb/trunk/test/python_api/target/TestTargetAPI.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/python_api/target/TestTargetAPI.py?rev=134118&r1=134117&r2=134118&view=diff
==============================================================================
--- lldb/trunk/test/python_api/target/TestTargetAPI.py (original)
+++ lldb/trunk/test/python_api/target/TestTargetAPI.py Wed Jun 29 19:24:31 2011
@@ -16,14 +16,20 @@
     @python_api_test
     def test_find_global_variables_with_dsym(self):
         """Exercise SBTaget.FindGlobalVariables() API."""
-        self.buildDsym()
-        self.find_global_variables()
+        d = {'EXE': 'a.out'}
+        self.buildDsym(dictionary=d)
+        self.setTearDownCleanup(dictionary=d)
+        self.find_global_variables('a.out')
 
+    #rdar://problem/9700873
+    @unittest2.skip("segmentation fault -- skipping")
     @python_api_test
     def test_find_global_variables_with_dwarf(self):
         """Exercise SBTarget.FindGlobalVariables() API."""
-        self.buildDwarf()
-        self.find_global_variables()
+        d = {'EXE': 'b.out'}
+        self.buildDwarf(dictionary=d)
+        self.setTearDownCleanup(dictionary=d)
+        self.find_global_variables('b.out')
 
     @unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
     @python_api_test
@@ -71,15 +77,15 @@
         self.line1 = line_number('main.c', '// Find the line number for breakpoint 1 here.')
         self.line2 = line_number('main.c', '// Find the line number for breakpoint 2 here.')
 
-    def find_global_variables(self):
+    def find_global_variables(self, exe_name):
         """Exercise SBTaget.FindGlobalVariables() API."""
-        exe = os.path.join(os.getcwd(), "a.out")
+        exe = os.path.join(os.getcwd(), exe_name)
 
         # Create a target by the debugger.
         target = self.dbg.CreateTarget(exe)
         self.assertTrue(target, VALID_TARGET)
 
-        value_list = target.FindGlobalVariables('my_global_var_of_char_type', 1)
+        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.expect(my_global_var.GetName(), exe=False,
@@ -89,6 +95,14 @@
         self.expect(my_global_var.GetValue(), exe=False,
             startstr = "'X'")
 
+        # While we are at it, let's also exercise the similar SBModule.FindGlobalVariables() API.
+        for m in target.module_iter():
+            if m.GetFileSpec().GetDirectory() == os.getcwd() and m.GetFileSpec().GetFilename() == exe_name:
+                value_list = m.FindGlobalVariables(target, 'my_global_var_of_char_type', 3)
+                self.assertTrue(value_list.GetSize() == 1)
+                self.assertTrue(value_list.GetValueAtIndex(0).GetValue() == "'X'")
+                break
+
     def get_description(self):
         """Exercise SBTaget.GetDescription() API."""
         exe = os.path.join(os.getcwd(), "a.out")





More information about the lldb-commits mailing list