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) _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits