diff options
Diffstat (limited to 'packages/Python/lldbsuite/test/arm')
5 files changed, 53 insertions, 6 deletions
diff --git a/packages/Python/lldbsuite/test/arm/breakpoint-it/TestBreakpointIt.py b/packages/Python/lldbsuite/test/arm/breakpoint-it/TestBreakpointIt.py index 1abab39b1da3..30510638f096 100644 --- a/packages/Python/lldbsuite/test/arm/breakpoint-it/TestBreakpointIt.py +++ b/packages/Python/lldbsuite/test/arm/breakpoint-it/TestBreakpointIt.py @@ -21,7 +21,7 @@ class TestBreakpointIt(TestBase): @skipIf(archs=no_match(["arm"])) def test_false(self): self.build() - exe = os.path.join(os.getcwd(), "a.out") + exe = self.getBuildArtifact("a.out") self.runCmd("target create %s" % exe) lldbutil.run_break_set_by_symbol(self, "bkpt_false", @@ -34,7 +34,7 @@ class TestBreakpointIt(TestBase): @skipIf(archs=no_match(["arm"])) def test_true(self): self.build() - exe = os.path.join(os.getcwd(), "a.out") + exe = self.getBuildArtifact("a.out") self.runCmd("target create %s" % exe) bpid = lldbutil.run_break_set_by_symbol(self, "bkpt_true", diff --git a/packages/Python/lldbsuite/test/arm/breakpoint-thumb-codesection/Makefile b/packages/Python/lldbsuite/test/arm/breakpoint-thumb-codesection/Makefile new file mode 100644 index 000000000000..ea79c55cd4a9 --- /dev/null +++ b/packages/Python/lldbsuite/test/arm/breakpoint-thumb-codesection/Makefile @@ -0,0 +1,6 @@ +LEVEL = ../../make + +C_SOURCES := main.c +CFLAGS_EXTRAS = -mthumb + +include $(LEVEL)/Makefile.rules
\ No newline at end of file diff --git a/packages/Python/lldbsuite/test/arm/breakpoint-thumb-codesection/TestBreakpointThumbCodesection.py b/packages/Python/lldbsuite/test/arm/breakpoint-thumb-codesection/TestBreakpointThumbCodesection.py new file mode 100644 index 000000000000..f020a6538525 --- /dev/null +++ b/packages/Python/lldbsuite/test/arm/breakpoint-thumb-codesection/TestBreakpointThumbCodesection.py @@ -0,0 +1,35 @@ +""" +Test that breakpoints correctly work in an thumb function in an arbitrary +named codesection. +""" +from __future__ import print_function + + +import lldb +import os +import time +from lldbsuite.test.decorators import * +from lldbsuite.test.lldbtest import * +from lldbsuite.test import lldbutil + + +class TestBreakpointThumbCodesection(TestBase): + + mydir = TestBase.compute_mydir(__file__) + + @skipIf(archs=no_match(["arm"])) + def test_breakpoint(self): + self.build() + exe = self.getBuildArtifact("a.out") + line = line_number('main.c', '// Set break point at this line.') + + self.runCmd("target create %s" % exe) + bpid = lldbutil.run_break_set_by_file_and_line(self, "main.c", line) + + self.runCmd("run") + + self.assertIsNotNone(lldbutil.get_one_thread_stopped_at_breakpoint_id( + self.process(), bpid), "Process is not stopped at breakpoint") + + self.process().Continue() + self.assertEqual(self.process().GetState(), lldb.eStateExited, PROCESS_EXITED) diff --git a/packages/Python/lldbsuite/test/arm/breakpoint-thumb-codesection/main.c b/packages/Python/lldbsuite/test/arm/breakpoint-thumb-codesection/main.c new file mode 100644 index 000000000000..38ea7be6bfcd --- /dev/null +++ b/packages/Python/lldbsuite/test/arm/breakpoint-thumb-codesection/main.c @@ -0,0 +1,8 @@ +__attribute__((section("__codesection"))) +int f(int a) { + return a + 1; // Set break point at this line. +} + +int main() { + return f(10); +} diff --git a/packages/Python/lldbsuite/test/arm/emulation/TestEmulations.py b/packages/Python/lldbsuite/test/arm/emulation/TestEmulations.py index 4ddda525537c..8e9244f3a3e9 100644 --- a/packages/Python/lldbsuite/test/arm/emulation/TestEmulations.py +++ b/packages/Python/lldbsuite/test/arm/emulation/TestEmulations.py @@ -19,8 +19,7 @@ class ARMEmulationTestCase(TestBase): @no_debug_info_test def test_thumb_emulations(self): - current_dir = os.getcwd() - test_dir = os.path.join(current_dir, "new-test-files") + test_dir = os.path.join(self.getSourceDir(), "new-test-files") files = os.listdir(test_dir) thumb_files = list() for f in files: @@ -33,8 +32,7 @@ class ARMEmulationTestCase(TestBase): @no_debug_info_test def test_arm_emulations(self): - current_dir = os.getcwd() - test_dir = os.path.join(current_dir, "new-test-files") + test_dir = os.path.join(self.getSourceDir(), "new-test-files") files = os.listdir(test_dir) arm_files = list() for f in files: |
