georgiev updated this revision to Diff 383284.

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_ignore_count/TestBreakpointIgnoreCount.py
  
lldb/test/API/functionalities/breakpoint/breakpoint_locations/TestBreakpointLocations.py
  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/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/class_types/TestClassTypes.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
@@ -57,8 +57,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
@@ -32,14 +32,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(
@@ -69,14 +67,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
@@ -38,8 +38,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
@@ -35,8 +35,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
@@ -38,8 +38,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
@@ -110,8 +110,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
@@ -31,8 +31,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
@@ -66,5 +66,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
@@ -54,5 +54,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/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/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
@@ -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/shared_lib/TestSharedLib.py
===================================================================
--- lldb/test/API/lang/c/shared_lib/TestSharedLib.py
+++ lldb/test/API/lang/c/shared_lib/TestSharedLib.py
@@ -95,5 +95,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,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)
 
         # Try some variables that should be visible
         frame = self.dbg.GetSelectedTarget().GetProcess(
@@ -77,8 +76,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)
 
         # Try some variables that should be visible
         frame = self.dbg.GetSelectedTarget().GetProcess(
@@ -104,8 +102,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)
 
         # 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
@@ -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)
 
         # 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
@@ -65,8 +65,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
@@ -82,5 +82,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
@@ -58,8 +58,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 'enum_test_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
@@ -35,8 +35,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
@@ -46,8 +46,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(
@@ -63,8 +62,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",
@@ -79,8 +77,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/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
@@ -166,5 +166,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
@@ -39,9 +39,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)
 
     @no_debug_info_test
     def test_memory_read(self):
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
@@ -37,8 +37,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
@@ -316,8 +316,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.
@@ -331,8 +330,7 @@
                              'stop reason = breakpoint'])
 
         # The breakpoint should have a hit count of 2.
-        self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
-                    substrs=[' resolved, hit count = 2'])
+        lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 2)
 
     def test_step_over_load(self):
         self.setSvr4Support(False)
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
@@ -42,8 +42,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")
 
@@ -54,5 +53,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/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_resolved_count = 2, expected_hit_count = 2)
+        lldbutil.check_breakpoint(self, bpno = 1, location_id = 1,  expected_location_resolved = False, expected_location_hit_count = 0)
+        lldbutil.check_breakpoint(self, bpno = 1, location_id = 2, expected_location_resolved = True, expected_location_hit_count = 1)
+        lldbutil.check_breakpoint(self, bpno = 1, location_id = 3, expected_location_resolved = True, expected_location_hit_count = 1)
Index: lldb/test/API/functionalities/breakpoint/breakpoint_ignore_count/TestBreakpointIgnoreCount.py
===================================================================
--- lldb/test/API/functionalities/breakpoint/breakpoint_ignore_count/TestBreakpointIgnoreCount.py
+++ lldb/test/API/functionalities/breakpoint/breakpoint_ignore_count/TestBreakpointIgnoreCount.py
@@ -76,9 +76,7 @@
 
         # Also check the hit count, which should be 2, due to ignore count of
         # 1.
-        self.expect("breakpoint list -f", BREAKPOINT_HIT_THRICE,
-                    substrs=["resolved = 1",
-                             "hit count = 2"])
+        lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 2)
 
         # The frame #0 should correspond to main.c:37, the executable statement
         # in function name 'c'.  And frame #2 should point to main.c:45.
@@ -97,9 +95,7 @@
 
         # Also check the hit count, which should be 2, due to ignore count of
         # 1.
-        self.expect("breakpoint list -f", BREAKPOINT_HIT_THRICE,
-                    substrs=["resolved = 1",
-                             "hit count = 4"])
+        lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 4)
 
         # The frame #0 should correspond to main.c:37, the executable statement
         # in function name 'c'.  And frame #2 should point to main.c:45.
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
@@ -242,8 +242,7 @@
                              'stop reason = breakpoint'])
 
         # The breakpoint should have a hit count of 2.
-        self.expect("breakpoint list -f", BREAKPOINT_HIT_TWICE,
-                    substrs=['resolved, hit count = 2'])
+        lldbutil.check_breakpoint(self, bpno = 1, expected_hit_count = 2)
 
     def breakpoint_command_script_parameters(self):
         """Test that the frame and breakpoint location are being properly passed to the script breakpoint command function."""
@@ -264,7 +263,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,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)
 
         # 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
@@ -730,6 +730,57 @@
             (out_module_name,
              module_name))
 
+def check_breakpoint(
+            test,
+            bpno,
+            expected_locations = None,
+            expected_resolved_count = None,
+            expected_hit_count = None,
+            location_id = None,
+            expected_location_resolved = True,
+            expected_location_hit_count = None):
+    """
+    Test breakpoint or breakpoint location.
+    Breakpoint resolved count is always checked. If not specified the assumption is that all locations 
+    should be resolved. 
+    To test a breakpoint location, breakpoint number (bpno) and location_id must be set. In this case
+    the resolved count for a breakpoint is not tested by default. The location is expected to be resolved,
+    unless expected_location_resolved is set to False.
+    test - test context
+    bpno - breakpoint number to test
+    expected_locations - expected number of locations for this breakpoint. If 'None' this parameter is not tested.
+    expected_resolved_count - expected resolved locations number for the breakpoint.  If 'None' - all locations should be resolved.
+    expected_hit_count - expected hit count for this breakpoint. If 'None' this parameter is not tested.
+    location_id - If not 'None' sets the location ID for the breakpoint to test.
+    expected_location_resolved - Extected resolved status for the location_id (True/False). Default - True.
+    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(), "Breakpoint is not valid.")
+
+    if expected_locations is not None:
+        test.assertEquals(expected_locations, bkpt.GetNumLocations())
+
+    if expected_resolved_count is not None:
+        test.assertEquals(expected_resolved_count, bkpt.GetNumResolvedLocations())
+    else:
+        expected_resolved_count = bkpt.GetNumLocations()
+        if location_id is None:
+            test.assertEquals(expected_resolved_count, bkpt.GetNumResolvedLocations())
+
+    if expected_hit_count is not None:
+        test.assertEquals(expected_hit_count, bkpt.GetHitCount())
+
+    if location_id is not None:
+        loc_bkpt = bkpt.FindLocationByID(location_id)
+        test.assertTrue(loc_bkpt.IsValid(), "Breakpoint location is not valid.")
+        test.assertEquals(loc_bkpt.IsResolved(), expected_location_resolved)
+        if expected_location_hit_count is not None:
+            test.assertEquals(expected_location_hit_count, loc_bkpt.GetHitCount())
+
+
+
 # ==================================================
 # Utility functions related to Threads and Processes
 # ==================================================
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to