[Lldb-commits] [lldb] 721bb73 - make testcase more robust

Adrian Prantl via lldb-commits lldb-commits at lists.llvm.org
Thu Nov 18 14:01:01 PST 2021


Author: Adrian Prantl
Date: 2021-11-18T14:00:53-08:00
New Revision: 721bb736764787bd03727196b734f74a6c8745e0

URL: https://github.com/llvm/llvm-project/commit/721bb736764787bd03727196b734f74a6c8745e0
DIFF: https://github.com/llvm/llvm-project/commit/721bb736764787bd03727196b734f74a6c8745e0.diff

LOG: make testcase more robust

Added: 
    

Modified: 
    lldb/test/API/lang/objc/real-definition/Foo.m
    lldb/test/API/lang/objc/real-definition/TestRealDefinition.py

Removed: 
    


################################################################################
diff  --git a/lldb/test/API/lang/objc/real-definition/Foo.m b/lldb/test/API/lang/objc/real-definition/Foo.m
index bcdeaeffc29ae..4d84d432303c5 100644
--- a/lldb/test/API/lang/objc/real-definition/Foo.m
+++ b/lldb/test/API/lang/objc/real-definition/Foo.m
@@ -8,7 +8,8 @@ - (id)init
     if (self) {
         _bar = [[Bar alloc] init];
     }
-    return self; // Set breakpoint where Bar is an interface
+    NSLog(@"waiting");; // Set breakpoint where Bar is an interface
+    return self;
 }
 
 - (void)dealloc

diff  --git a/lldb/test/API/lang/objc/real-definition/TestRealDefinition.py b/lldb/test/API/lang/objc/real-definition/TestRealDefinition.py
index 31480d1ce479c..ff3e46fc27e10 100644
--- a/lldb/test/API/lang/objc/real-definition/TestRealDefinition.py
+++ b/lldb/test/API/lang/objc/real-definition/TestRealDefinition.py
@@ -17,23 +17,14 @@ def test_frame_var_after_stop_at_interface(self):
         if self.getArchitecture() == 'i386':
             self.skipTest("requires modern objc runtime")
         self.build()
-        self.common_setup()
 
-        line = line_number(
-            'Foo.m', '// Set breakpoint where Bar is an interface')
-        lldbutil.run_break_set_by_file_and_line(
-            self, 'Foo.m', line, num_expected_locations=1, loc_exact=True)
-
-        self.runCmd("run", RUN_SUCCEEDED)
-
-        # The stop reason of the thread should be breakpoint.
-        self.expect("thread list", STOPPED_DUE_TO_BREAKPOINT,
-                    substrs=['stopped',
-                             'stop reason = breakpoint'])
-
-        # Run and stop at Foo
-        lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
+        lldbutil.run_to_source_breakpoint(
+            self,
+            '// Set breakpoint where Bar is an interface',
+            lldb.SBFileSpec("Foo.m", False))
 
+        # Break inside the foo function which takes a bar_ptr argument.
+        self.expect('breakpoint set -p "// Set breakpoint in main"')
         self.runCmd("continue", RUN_SUCCEEDED)
 
         # Run at stop at main
@@ -52,23 +43,13 @@ def test_frame_var_after_stop_at_implementation(self):
         if self.getArchitecture() == 'i386':
             self.skipTest("requires modern objc runtime")
         self.build()
-        self.common_setup()
-
-        line = line_number(
-            'Bar.m', '// Set breakpoint where Bar is an implementation')
-        lldbutil.run_break_set_by_file_and_line(
-            self, 'Bar.m', line, num_expected_locations=1, loc_exact=True)
 
-        self.runCmd("run", RUN_SUCCEEDED)
-
-        # The stop reason of the thread should be breakpoint.
-        self.expect("thread list", STOPPED_DUE_TO_BREAKPOINT,
-                    substrs=['stopped',
-                             'stop reason = breakpoint'])
-
-        # Run and stop at Foo
-        lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
+        lldbutil.run_to_source_breakpoint(
+            self,
+            '// Set breakpoint where Bar is an implementation',
+            lldb.SBFileSpec("Bar.m", False))
 
+        self.expect('breakpoint set -p "// Set breakpoint in main"')
         self.runCmd("continue", RUN_SUCCEEDED)
 
         # Run at stop at main
@@ -81,12 +62,3 @@ def test_frame_var_after_stop_at_implementation(self):
             substrs=[
                 "(NSString *)",
                 "foo->_bar->_hidden_ivar = 0x"])
-
-    def common_setup(self):
-        exe = self.getBuildArtifact("a.out")
-        self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET)
-
-        # Break inside the foo function which takes a bar_ptr argument.
-        line = line_number('main.m', '// Set breakpoint in main')
-        lldbutil.run_break_set_by_file_and_line(
-            self, "main.m", line, num_expected_locations=1, loc_exact=True)


        


More information about the lldb-commits mailing list