summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/hardware_breakpoints
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/hardware_breakpoints')
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/Makefile6
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/TestHWBreakMultiThread.py105
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/main.cpp50
3 files changed, 0 insertions, 161 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/Makefile b/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/Makefile
deleted file mode 100644
index 3665ae323e7..00000000000
--- a/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-LEVEL = ../../../../make
-
-ENABLE_THREADS := YES
-CXX_SOURCES := main.cpp
-
-include $(LEVEL)/Makefile.rules
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/TestHWBreakMultiThread.py b/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/TestHWBreakMultiThread.py
deleted file mode 100644
index 95c7966716c..00000000000
--- a/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/TestHWBreakMultiThread.py
+++ /dev/null
@@ -1,105 +0,0 @@
-"""
-Test hardware breakpoints for multiple threads.
-"""
-
-from __future__ import print_function
-
-
-import lldb
-from lldbsuite.test.decorators import *
-from lldbsuite.test.lldbtest import *
-from lldbsuite.test import lldbutil
-
-# Hardware breakpoints are supported only by platforms mentioned in oslist.
-@skipUnlessPlatform(oslist=['linux'])
-class HardwareBreakpointMultiThreadTestCase(TestBase):
- NO_DEBUG_INFO_TESTCASE = True
-
- mydir = TestBase.compute_mydir(__file__)
-
- # LLDB supports hardware breakpoints for arm and aarch64 architectures.
- @skipIf(archs=no_match(['arm', 'aarch64']))
- def test_hw_break_set_delete_multi_thread(self):
- self.build()
- self.setTearDownCleanup()
- self.break_multi_thread('delete')
-
- # LLDB supports hardware breakpoints for arm and aarch64 architectures.
- @skipIf(archs=no_match(['arm', 'aarch64']))
- def test_hw_break_set_disable_multi_thread(self):
- self.build()
- self.setTearDownCleanup()
- self.break_multi_thread('disable')
-
- def setUp(self):
- # Call super's setUp().
- TestBase.setUp(self)
- # Our simple source filename.
- self.source = 'main.cpp'
- # Find the line number to break inside main().
- self.first_stop = line_number(
- self.source, 'Starting thread creation with hardware breakpoint set')
-
- def break_multi_thread(self, removal_type):
- """Test that lldb hardware breakpoints work for multiple threads."""
- self.runCmd("file " + self.getBuildArtifact("a.out"),
- CURRENT_EXECUTABLE_SET)
-
- # Stop in main before creating any threads.
- lldbutil.run_break_set_by_file_and_line(
- self, None, self.first_stop, num_expected_locations=1)
-
- # Run the program.
- self.runCmd("run", RUN_SUCCEEDED)
-
- # We should be stopped again due to the breakpoint.
- # The stop reason of the thread should be breakpoint.
- self.expect("thread list", STOPPED_DUE_TO_BREAKPOINT,
- substrs=['stopped',
- 'stop reason = breakpoint'])
-
- # Now set a hardware breakpoint in thread function.
- self.expect("breakpoint set -b hw_break_function --hardware",
- substrs=[
- 'Breakpoint',
- 'hw_break_function',
- 'address = 0x'])
-
- # We should stop in hw_break_function function for 4 threads.
- count = 0
-
- while count < 2 :
-
- self.runCmd("process continue")
-
- # We should be stopped in hw_break_function
- # The stop reason of the thread should be breakpoint.
- self.expect("thread list", STOPPED_DUE_TO_BREAKPOINT,
- substrs=[
- 'stop reason = breakpoint',
- 'hw_break_function'])
-
- # Continue the loop and test that we are stopped 4 times.
- count += 1
-
- if removal_type == 'delete':
- self.runCmd("settings set auto-confirm true")
-
- # Now 'breakpoint delete' should just work fine without confirmation
- # prompt from the command interpreter.
- self.expect("breakpoint delete",
- startstr="All breakpoints removed")
-
- # Restore the original setting of auto-confirm.
- self.runCmd("settings clear auto-confirm")
-
- elif removal_type == 'disable':
- self.expect("breakpoint disable",
- startstr="All breakpoints disabled.")
-
- # Continue. Program should exit without stopping anywhere.
- self.runCmd("process continue")
-
- # Process should have stopped and exited with status = 0
- self.expect("process status", PROCESS_STOPPED,
- patterns=['Process .* exited with status = 0'])
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/main.cpp b/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/main.cpp
deleted file mode 100644
index 94a12c6241d..00000000000
--- a/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/main.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-//===-- main.cpp ------------------------------------------------*- C++ -*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include <chrono>
-#include <cstdio>
-#include <mutex>
-#include <random>
-#include <thread>
-
-#define NUM_OF_THREADS 4
-
-std::mutex hw_break_mutex;
-
-void
-hw_break_function (uint32_t thread_index) {
- printf ("%s called by Thread #%u...\n", __FUNCTION__, thread_index);
-}
-
-
-void
-thread_func (uint32_t thread_index) {
- printf ("%s (thread index = %u) starting...\n", __FUNCTION__, thread_index);
-
- hw_break_mutex.lock();
-
- hw_break_function(thread_index); // Call hw_break_function
-
- hw_break_mutex.unlock();
-}
-
-
-int main (int argc, char const *argv[])
-{
- std::thread threads[NUM_OF_THREADS];
-
- printf ("Starting thread creation with hardware breakpoint set...\n");
-
- for (auto &thread : threads)
- thread = std::thread{thread_func, std::distance(threads, &thread)};
-
- for (auto &thread : threads)
- thread.join();
-
- return 0;
-}
OpenPOWER on IntegriCloud