georgiev updated this revision to Diff 380714.
georgiev added a comment.
A new lldbutil function to test the breakpoint - check_breakpoint.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D111899/new/
https://reviews.llvm.org/D111899
Files:
lldb/packages/Python/lldbsuite/test/lldbutil.py
lldb/test/API/commands/apropos/with-process/TestAproposWithProcess.py
lldb/test/API/commands/command/nested_alias/TestNestedAlias.py
lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
lldb/test/API/functionalities/breakpoint/breakpoint_locations/TestBreakpointLocations.py
lldb/test/API/functionalities/breakpoint/cpp_exception/Makefile
lldb/test/API/functionalities/dead-strip/TestDeadStrip.py
lldb/test/API/functionalities/load_unload/TestLoadUnload.py
lldb/test/API/functionalities/memory/cache/TestMemoryCache.py
lldb/test/API/functionalities/memory/find/TestMemoryFind.py
lldb/test/API/functionalities/memory/read/TestMemoryRead.py
lldb/test/API/lang/c/anonymous/TestAnonymous.py
lldb/test/API/lang/c/array_types/TestArrayTypes.py
lldb/test/API/lang/c/bitfields/TestBitfields.py
lldb/test/API/lang/c/conflicting-symbol/TestConflictingSymbol.py
lldb/test/API/lang/c/const_variables/TestConstVariables.py
lldb/test/API/lang/c/enum_types/TestEnumTypes.py
lldb/test/API/lang/c/forward/TestForwardDeclaration.py
lldb/test/API/lang/c/function_types/TestFunctionTypes.py
lldb/test/API/lang/c/global_variables/TestGlobalVariables.py
lldb/test/API/lang/c/local_variables/TestLocalVariables.py
lldb/test/API/lang/c/modules/TestCModules.py
lldb/test/API/lang/c/register_variables/TestRegisterVariables.py
lldb/test/API/lang/c/set_values/TestSetValues.py
lldb/test/API/lang/c/shared_lib/TestSharedLib.py
lldb/test/API/lang/c/shared_lib_stripped_symbols/TestSharedLibStrippedSymbols.py
lldb/test/API/lang/cpp/bitfields/TestCppBitfields.py
lldb/test/API/lang/cpp/class_types/TestClassTypes.py
lldb/test/API/lang/cpp/enum_types/TestCPP11EnumTypes.py
lldb/test/API/lang/cpp/inlines/TestInlines.py
lldb/test/API/lang/cpp/namespace_definitions/TestNamespaceDefinitions.py
lldb/test/API/lang/cpp/signed_types/TestSignedTypes.py
lldb/test/API/lang/objc/conflicting-definition/TestConflictingDefinition.py
lldb/test/API/lang/objc/forward-decl/TestForwardDecl.py
lldb/test/API/lang/objc/hidden-ivars/TestHiddenIvars.py
lldb/test/API/lang/objc/modules-auto-import/TestModulesAutoImport.py
lldb/test/API/lang/objc/modules-incomplete/TestIncompleteModules.py
lldb/test/API/lang/objc/modules/TestObjCModules.py
lldb/test/API/lang/objc/objc-new-syntax/ObjCNewSyntaxTest.py
lldb/test/API/lang/objc/real-definition/TestRealDefinition.py
lldb/test/API/lang/objc/single-entry-dictionary/TestObjCSingleEntryDictionary.py
Index: lldb/test/API/lang/objc/single-entry-dictionary/TestObjCSingleEntryDictionary.py
===================================================================
--- lldb/test/API/lang/objc/single-entry-dictionary/TestObjCSingleEntryDictionary.py
+++ lldb/test/API/lang/objc/single-entry-dictionary/TestObjCSingleEntryDictionary.py
@@ -40,8 +40,7 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
d1 = self.frame().FindVariable("d1")
d1.SetPreferSyntheticValue(True)
Index: lldb/test/API/lang/objc/real-definition/TestRealDefinition.py
===================================================================
--- lldb/test/API/lang/objc/real-definition/TestRealDefinition.py
+++ lldb/test/API/lang/objc/real-definition/TestRealDefinition.py
@@ -33,14 +33,12 @@
'stop reason = breakpoint'])
# Run and stop at Foo
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
self.runCmd("continue", RUN_SUCCEEDED)
# Run at stop at main
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
# This should display correctly.
self.expect(
@@ -71,14 +69,12 @@
'stop reason = breakpoint'])
# Run and stop at Foo
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
self.runCmd("continue", RUN_SUCCEEDED)
# Run at stop at main
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
# This should display correctly.
self.expect(
Index: lldb/test/API/lang/objc/objc-new-syntax/ObjCNewSyntaxTest.py
===================================================================
--- lldb/test/API/lang/objc/objc-new-syntax/ObjCNewSyntaxTest.py
+++ lldb/test/API/lang/objc/objc-new-syntax/ObjCNewSyntaxTest.py
@@ -23,7 +23,4 @@
substrs=['stopped', 'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect(
- "breakpoint list -f",
- BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
Index: lldb/test/API/lang/objc/modules/TestObjCModules.py
===================================================================
--- lldb/test/API/lang/objc/modules/TestObjCModules.py
+++ lldb/test/API/lang/objc/modules/TestObjCModules.py
@@ -40,8 +40,7 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
self.expect("expr @import Darwin; 3", VARIABLES_DISPLAYED_CORRECTLY,
substrs=["int", "3"])
Index: lldb/test/API/lang/objc/modules-incomplete/TestIncompleteModules.py
===================================================================
--- lldb/test/API/lang/objc/modules-incomplete/TestIncompleteModules.py
+++ lldb/test/API/lang/objc/modules-incomplete/TestIncompleteModules.py
@@ -36,8 +36,7 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
self.runCmd(
"settings set target.clang-module-search-paths \"" +
Index: lldb/test/API/lang/objc/modules-auto-import/TestModulesAutoImport.py
===================================================================
--- lldb/test/API/lang/objc/modules-auto-import/TestModulesAutoImport.py
+++ lldb/test/API/lang/objc/modules-auto-import/TestModulesAutoImport.py
@@ -39,8 +39,7 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
self.runCmd("settings set target.auto-import-clang-modules true")
Index: lldb/test/API/lang/objc/hidden-ivars/TestHiddenIvars.py
===================================================================
--- lldb/test/API/lang/objc/hidden-ivars/TestHiddenIvars.py
+++ lldb/test/API/lang/objc/hidden-ivars/TestHiddenIvars.py
@@ -117,8 +117,7 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
def expr(self, strip):
self.common_setup(strip)
Index: lldb/test/API/lang/objc/forward-decl/TestForwardDecl.py
===================================================================
--- lldb/test/API/lang/objc/forward-decl/TestForwardDecl.py
+++ lldb/test/API/lang/objc/forward-decl/TestForwardDecl.py
@@ -47,8 +47,7 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
# This should display correctly.
self.expect("expression [j getMember]", VARIABLES_DISPLAYED_CORRECTLY,
Index: lldb/test/API/lang/objc/conflicting-definition/TestConflictingDefinition.py
===================================================================
--- lldb/test/API/lang/objc/conflicting-definition/TestConflictingDefinition.py
+++ lldb/test/API/lang/objc/conflicting-definition/TestConflictingDefinition.py
@@ -32,8 +32,7 @@
substrs=['stopped',
'stop reason = breakpoint'])
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
# This should display correctly.
self.expect(
Index: lldb/test/API/lang/cpp/signed_types/TestSignedTypes.py
===================================================================
--- lldb/test/API/lang/cpp/signed_types/TestSignedTypes.py
+++ lldb/test/API/lang/cpp/signed_types/TestSignedTypes.py
@@ -47,8 +47,7 @@
substrs=['stopped', 'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
# Execute the puts().
self.runCmd("thread step-over")
Index: lldb/test/API/lang/cpp/namespace_definitions/TestNamespaceDefinitions.py
===================================================================
--- lldb/test/API/lang/cpp/namespace_definitions/TestNamespaceDefinitions.py
+++ lldb/test/API/lang/cpp/namespace_definitions/TestNamespaceDefinitions.py
@@ -70,5 +70,4 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
Index: lldb/test/API/lang/cpp/inlines/TestInlines.py
===================================================================
--- lldb/test/API/lang/cpp/inlines/TestInlines.py
+++ lldb/test/API/lang/cpp/inlines/TestInlines.py
@@ -55,5 +55,4 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
Index: lldb/test/API/lang/cpp/enum_types/TestCPP11EnumTypes.py
===================================================================
--- lldb/test/API/lang/cpp/enum_types/TestCPP11EnumTypes.py
+++ lldb/test/API/lang/cpp/enum_types/TestCPP11EnumTypes.py
@@ -107,8 +107,7 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
# Look up information about the 'DayType' enum type.
# Check for correct display.
Index: lldb/test/API/lang/cpp/class_types/TestClassTypes.py
===================================================================
--- lldb/test/API/lang/cpp/class_types/TestClassTypes.py
+++ lldb/test/API/lang/cpp/class_types/TestClassTypes.py
@@ -44,8 +44,7 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
# We should be stopped on the ctor function of class C.
self.expect(
@@ -141,8 +140,7 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
# Continue on inside the ctor() body...
self.runCmd("register read pc")
Index: lldb/test/API/lang/cpp/bitfields/TestCppBitfields.py
===================================================================
--- lldb/test/API/lang/cpp/bitfields/TestCppBitfields.py
+++ lldb/test/API/lang/cpp/bitfields/TestCppBitfields.py
@@ -33,8 +33,7 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
self.expect("expr (lba.a)", VARIABLES_DISPLAYED_CORRECTLY,
substrs=['unsigned int', '2'])
Index: lldb/test/API/lang/c/shared_lib_stripped_symbols/TestSharedLibStrippedSymbols.py
===================================================================
--- lldb/test/API/lang/c/shared_lib_stripped_symbols/TestSharedLibStrippedSymbols.py
+++ lldb/test/API/lang/c/shared_lib_stripped_symbols/TestSharedLibStrippedSymbols.py
@@ -86,5 +86,4 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
Index: lldb/test/API/lang/c/shared_lib/TestSharedLib.py
===================================================================
--- lldb/test/API/lang/c/shared_lib/TestSharedLib.py
+++ lldb/test/API/lang/c/shared_lib/TestSharedLib.py
@@ -100,5 +100,4 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
Index: lldb/test/API/lang/c/set_values/TestSetValues.py
===================================================================
--- lldb/test/API/lang/c/set_values/TestSetValues.py
+++ lldb/test/API/lang/c/set_values/TestSetValues.py
@@ -52,8 +52,7 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
# main.c:15
# Check that 'frame variable --show-types' displays the correct data
Index: lldb/test/API/lang/c/register_variables/TestRegisterVariables.py
===================================================================
--- lldb/test/API/lang/c/register_variables/TestRegisterVariables.py
+++ lldb/test/API/lang/c/register_variables/TestRegisterVariables.py
@@ -50,8 +50,10 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_locations = 3, expected_hit_count = 1)
+ lldbutil.check_breakpoint(self, bpno = 1, location_id = 1, expected_location_hit_count = 1)
+ lldbutil.check_breakpoint(self, bpno = 1, location_id = 2, expected_location_hit_count = 0)
+ lldbutil.check_breakpoint(self, bpno = 1, location_id = 3, expected_location_hit_count = 0)
# Try some variables that should be visible
frame = self.dbg.GetSelectedTarget().GetProcess(
@@ -77,8 +79,10 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_locations = 3, expected_hit_count = 2)
+ lldbutil.check_breakpoint(self, bpno = 1, location_id = 1, expected_location_hit_count = 1)
+ lldbutil.check_breakpoint(self, bpno = 1, location_id = 2, expected_location_hit_count = 1)
+ lldbutil.check_breakpoint(self, bpno = 1, location_id = 3, expected_location_hit_count = 0)
# Try some variables that should be visible
frame = self.dbg.GetSelectedTarget().GetProcess(
@@ -104,8 +108,10 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_locations = 3, expected_hit_count = 3)
+ lldbutil.check_breakpoint(self, bpno = 1, location_id = 1, expected_location_hit_count = 1)
+ lldbutil.check_breakpoint(self, bpno = 1, location_id = 2, expected_location_hit_count = 1)
+ lldbutil.check_breakpoint(self, bpno = 1, location_id = 3, expected_location_hit_count = 1)
# Try some variables that should be visible
frame = self.dbg.GetSelectedTarget().GetProcess(
Index: lldb/test/API/lang/c/modules/TestCModules.py
===================================================================
--- lldb/test/API/lang/c/modules/TestCModules.py
+++ lldb/test/API/lang/c/modules/TestCModules.py
@@ -40,8 +40,7 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
# Enable logging of the imported AST.
log_file = self.getBuildArtifact("lldb-ast-log.txt")
Index: lldb/test/API/lang/c/local_variables/TestLocalVariables.py
===================================================================
--- lldb/test/API/lang/c/local_variables/TestLocalVariables.py
+++ lldb/test/API/lang/c/local_variables/TestLocalVariables.py
@@ -48,8 +48,7 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
self.expect("frame variable i", VARIABLES_DISPLAYED_CORRECTLY,
substrs=['(unsigned int) i = 10'])
Index: lldb/test/API/lang/c/global_variables/TestGlobalVariables.py
===================================================================
--- lldb/test/API/lang/c/global_variables/TestGlobalVariables.py
+++ lldb/test/API/lang/c/global_variables/TestGlobalVariables.py
@@ -68,8 +68,7 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
# Test that the statically initialized variable can also be
# inspected *with* a process.
Index: lldb/test/API/lang/c/function_types/TestFunctionTypes.py
===================================================================
--- lldb/test/API/lang/c/function_types/TestFunctionTypes.py
+++ lldb/test/API/lang/c/function_types/TestFunctionTypes.py
@@ -84,5 +84,4 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
Index: lldb/test/API/lang/c/forward/TestForwardDeclaration.py
===================================================================
--- lldb/test/API/lang/c/forward/TestForwardDeclaration.py
+++ lldb/test/API/lang/c/forward/TestForwardDeclaration.py
@@ -30,8 +30,7 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
# This should display correctly.
# Note that the member fields of a = 1 and b = 2 is by design.
Index: lldb/test/API/lang/c/enum_types/TestEnumTypes.py
===================================================================
--- lldb/test/API/lang/c/enum_types/TestEnumTypes.py
+++ lldb/test/API/lang/c/enum_types/TestEnumTypes.py
@@ -61,8 +61,7 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
# Look up information about the 'days' enum type.
# Check for correct display.
Index: lldb/test/API/lang/c/const_variables/TestConstVariables.py
===================================================================
--- lldb/test/API/lang/c/const_variables/TestConstVariables.py
+++ lldb/test/API/lang/c/const_variables/TestConstVariables.py
@@ -37,8 +37,7 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
self.runCmd("next")
self.runCmd("next")
Index: lldb/test/API/lang/c/conflicting-symbol/TestConflictingSymbol.py
===================================================================
--- lldb/test/API/lang/c/conflicting-symbol/TestConflictingSymbol.py
+++ lldb/test/API/lang/c/conflicting-symbol/TestConflictingSymbol.py
@@ -48,8 +48,7 @@
substrs=['stopped',
'stop reason = breakpoint'])
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
# This should display correctly.
self.expect(
@@ -65,8 +64,7 @@
substrs=['stopped',
'stop reason = breakpoint'])
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
self.expect(
"expr (unsigned long long)conflicting_symbol",
@@ -81,8 +79,7 @@
substrs=['stopped',
'stop reason = breakpoint'])
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
self.expect(
"expr (unsigned long long)conflicting_symbol",
Index: lldb/test/API/lang/c/bitfields/TestBitfields.py
===================================================================
--- lldb/test/API/lang/c/bitfields/TestBitfields.py
+++ lldb/test/API/lang/c/bitfields/TestBitfields.py
@@ -40,8 +40,7 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
# This should display correctly.
self.expect(
Index: lldb/test/API/lang/c/array_types/TestArrayTypes.py
===================================================================
--- lldb/test/API/lang/c/array_types/TestArrayTypes.py
+++ lldb/test/API/lang/c/array_types/TestArrayTypes.py
@@ -42,8 +42,7 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=['resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
# Issue 'variable list' command on several array-type variables.
Index: lldb/test/API/lang/c/anonymous/TestAnonymous.py
===================================================================
--- lldb/test/API/lang/c/anonymous/TestAnonymous.py
+++ lldb/test/API/lang/c/anonymous/TestAnonymous.py
@@ -167,5 +167,4 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
Index: lldb/test/API/functionalities/memory/read/TestMemoryRead.py
===================================================================
--- lldb/test/API/functionalities/memory/read/TestMemoryRead.py
+++ lldb/test/API/functionalities/memory/read/TestMemoryRead.py
@@ -38,8 +38,7 @@
substrs=['stopped', 'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
# Test the memory read commands.
Index: lldb/test/API/functionalities/memory/find/TestMemoryFind.py
===================================================================
--- lldb/test/API/functionalities/memory/find/TestMemoryFind.py
+++ lldb/test/API/functionalities/memory/find/TestMemoryFind.py
@@ -38,8 +38,7 @@
substrs=['stopped', 'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
# Test the memory find commands.
Index: lldb/test/API/functionalities/memory/cache/TestMemoryCache.py
===================================================================
--- lldb/test/API/functionalities/memory/cache/TestMemoryCache.py
+++ lldb/test/API/functionalities/memory/cache/TestMemoryCache.py
@@ -38,8 +38,7 @@
substrs=['stopped', 'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
# Read a chunk of memory containing &my_ints[0]. The number of bytes read
# must be greater than m_L2_cache_line_byte_size to make sure the L1
Index: lldb/test/API/functionalities/load_unload/TestLoadUnload.py
===================================================================
--- lldb/test/API/functionalities/load_unload/TestLoadUnload.py
+++ lldb/test/API/functionalities/load_unload/TestLoadUnload.py
@@ -325,8 +325,7 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
# Issue the 'continue' command. We should stop agaian at a_function.
# The stop reason of the thread should be breakpoint and at a_function.
Index: lldb/test/API/functionalities/dead-strip/TestDeadStrip.py
===================================================================
--- lldb/test/API/functionalities/dead-strip/TestDeadStrip.py
+++ lldb/test/API/functionalities/dead-strip/TestDeadStrip.py
@@ -44,8 +44,7 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f 1", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
self.runCmd("continue")
@@ -56,5 +55,4 @@
'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f 3", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 3, expected_hit_count = 1)
Index: lldb/test/API/functionalities/breakpoint/cpp_exception/Makefile
===================================================================
--- lldb/test/API/functionalities/breakpoint/cpp_exception/Makefile
+++ lldb/test/API/functionalities/breakpoint/cpp_exception/Makefile
@@ -1,3 +1,4 @@
CXX_SOURCES := main.cpp
+CFLAGS_EXTRAS := -fexceptions
include Makefile.rules
Index: lldb/test/API/functionalities/breakpoint/breakpoint_locations/TestBreakpointLocations.py
===================================================================
--- lldb/test/API/functionalities/breakpoint/breakpoint_locations/TestBreakpointLocations.py
+++ lldb/test/API/functionalities/breakpoint/breakpoint_locations/TestBreakpointLocations.py
@@ -187,10 +187,7 @@
# At this point, 1.1 has a hit count of 0 and the other a hit count of
# 1".
- self.expect(
- "breakpoint list -f",
- "The breakpoints should report correct hit counts",
- patterns=[
- "1\.1: .+ unresolved, hit count = 0 +Options: disabled",
- "1\.2: .+ resolved, hit count = 1",
- "1\.3: .+ resolved, hit count = 1"])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_locations = 3, expected_hit_count = 2)
+ lldbutil.check_breakpoint(self, bpno = 1, location_id = 1, expected_location_hit_count = 0)
+ lldbutil.check_breakpoint(self, bpno = 1, location_id = 2, expected_location_hit_count = 1)
+ lldbutil.check_breakpoint(self, bpno = 1, location_id = 3, expected_location_hit_count = 1)
Index: lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
===================================================================
--- lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
+++ lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
@@ -266,7 +266,7 @@
self.expect(side_effect.frame, exe=False, startstr="frame #0:")
self.expect(side_effect.bp_loc, exe=False,
- patterns=["1.* where = .*main .* resolved, hit count = 1"])
+ patterns=["1.* where = .*main .* resolved,( hardware,)? hit count = 1"])
def breakpoint_commands_on_creation(self):
"""Test that setting breakpoint commands when creating the breakpoint works"""
Index: lldb/test/API/commands/command/nested_alias/TestNestedAlias.py
===================================================================
--- lldb/test/API/commands/command/nested_alias/TestNestedAlias.py
+++ lldb/test/API/commands/command/nested_alias/TestNestedAlias.py
@@ -37,8 +37,8 @@
substrs=['stopped', 'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
+
# This is the function to remove the custom aliases in order to have a
# clean slate for the next test case.
Index: lldb/test/API/commands/apropos/with-process/TestAproposWithProcess.py
===================================================================
--- lldb/test/API/commands/apropos/with-process/TestAproposWithProcess.py
+++ lldb/test/API/commands/apropos/with-process/TestAproposWithProcess.py
@@ -37,7 +37,6 @@
substrs=['stopped', 'stop reason = breakpoint'])
# The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
+ lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 1)
self.runCmd('apropos env')
Index: lldb/packages/Python/lldbsuite/test/lldbutil.py
===================================================================
--- lldb/packages/Python/lldbsuite/test/lldbutil.py
+++ lldb/packages/Python/lldbsuite/test/lldbutil.py
@@ -640,6 +640,44 @@
(out_module_name,
module_name))
+def check_breakpoint(
+ test,
+ bpno,
+ expected_locations = -1,
+ expected_hit_count = -1,
+ location_id = -1,
+ expected_location_hit_count = -1):
+ """
+ test - test context
+ bpno - breakpoint number to test
+ expected_locations - expected number of locations for this breakpoint. If (-1) this parameter is not tested.
+ expected_hit_count - expected hit count for this breakpoint. If (-1) this parameter is not tested.
+ location_id - If not (-1) sets the location ID for the breakpoint to test.
+ expected_location_hit_count - Expected hit count for the breakpoint at location_id. Must be set if the location_id parameter is set.
+ """
+
+ bkpt = test.target().FindBreakpointByID(bpno)
+ test.assertTrue(bkpt.IsValid() == True, "Breakpoint is not valid.")
+
+ if(expected_locations > -1):
+ test.assertTrue(expected_locations == bkpt.GetNumLocations(),
+ "Expecting {} locations, got {}.".format(expected_locations, bkpt.GetNumLocations()))
+
+ if(expected_hit_count > -1):
+ test.assertTrue(expected_hit_count == bkpt.GetHitCount(),
+ "Expecting hit count {}, got {}.".format(expected_hit_count, bkpt.GetHitCount()))
+
+ if(location_id > -1):
+ if(expected_location_hit_count > -1):
+ loc_bkpt = bkpt.FindLocationByID(location_id)
+ test.assertTrue(loc_bkpt.IsValid() == True, "Breakpoint is not valid.")
+ test.assertTrue(expected_location_hit_count == loc_bkpt.GetHitCount(),
+ "Expected hit count {} , got {}.".format(expected_location_hit_count, bkpt.FindLocationByID(location_id).GetHitCount()))
+ else:
+ test.assertTrue(expected_location_hit_count > -1,
+ "Expecting expected_location_hit_count >= 0, got -1.")
+
+
# ==================================================
# Utility functions related to Threads and Processes
# ==================================================
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits