diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2019-08-20 18:01:57 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2019-08-20 18:01:57 +0000 |
| commit | 88c643b6fec27eec436c8d138fee6346e92337d6 (patch) | |
| tree | 82cd13b2f3cde1c9e5f79689ba4e6ba67694843f /packages/Python/lldbsuite/test/linux | |
| parent | 94994d372d014ce4c8758b9605d63fae651bd8aa (diff) | |
Notes
Diffstat (limited to 'packages/Python/lldbsuite/test/linux')
16 files changed, 0 insertions, 408 deletions
diff --git a/packages/Python/lldbsuite/test/linux/add-symbols/Makefile b/packages/Python/lldbsuite/test/linux/add-symbols/Makefile deleted file mode 100644 index 71a5c11a83d1..000000000000 --- a/packages/Python/lldbsuite/test/linux/add-symbols/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -LEVEL = ../../make -CXX_SOURCES := main.cpp -LD_EXTRAS += -Wl,--build-id=none - -all: stripped.out - -stripped.out : a.out - $(OBJCOPY) --remove-section=.note.gnu.build-id --remove-section=.gnu_debuglink --strip-debug $< $@ - -clean:: - $(RM) stripped.out - -include $(LEVEL)/Makefile.rules diff --git a/packages/Python/lldbsuite/test/linux/add-symbols/TestTargetSymbolsAddCommand.py b/packages/Python/lldbsuite/test/linux/add-symbols/TestTargetSymbolsAddCommand.py deleted file mode 100644 index 946c151bb8fa..000000000000 --- a/packages/Python/lldbsuite/test/linux/add-symbols/TestTargetSymbolsAddCommand.py +++ /dev/null @@ -1,53 +0,0 @@ -""" Testing explicit symbol loading via target symbols add. """ -import os -import time -import lldb -import sys -from lldbsuite.test.decorators import * -from lldbsuite.test.lldbtest import * -from lldbsuite.test import lldbutil - - -class TargetSymbolsAddCommand(TestBase): - - mydir = TestBase.compute_mydir(__file__) - - def setUp(self): - TestBase.setUp(self) - self.source = 'main.c' - - @no_debug_info_test # Prevent the genaration of the dwarf version of this test - @skipUnlessPlatform(['linux']) - def test_target_symbols_add(self): - """Test that 'target symbols add' can load the symbols - even if gnu.build-id and gnu_debuglink are not present in the module. - Similar to test_add_dsym_mid_execution test for macos.""" - self.build() - exe = self.getBuildArtifact("stripped.out") - - self.target = self.dbg.CreateTarget(exe) - self.assertTrue(self.target, VALID_TARGET) - - main_bp = self.target.BreakpointCreateByName("main", "stripped.out") - self.assertTrue(main_bp, VALID_BREAKPOINT) - - self.process = self.target.LaunchSimple( - None, None, self.get_process_working_directory()) - self.assertTrue(self.process, PROCESS_IS_VALID) - - # The stop reason of the thread should be breakpoint. - self.assertTrue(self.process.GetState() == lldb.eStateStopped, - STOPPED_DUE_TO_BREAKPOINT) - - exe_module = self.target.GetModuleAtIndex(0) - - # Check that symbols are not loaded and main.c is not know to be - # the source file. - self.expect("frame select", substrs=['main.c'], matching=False) - - # Tell LLDB that a.out has symbols for stripped.out - self.runCmd("target symbols add -s %s %s" % - (exe, self.getBuildArtifact("a.out"))) - - # Check that symbols are now loaded and main.c is in the output. - self.expect("frame select", substrs=['main.c']) diff --git a/packages/Python/lldbsuite/test/linux/add-symbols/main.c b/packages/Python/lldbsuite/test/linux/add-symbols/main.c deleted file mode 100644 index 5a0915746b74..000000000000 --- a/packages/Python/lldbsuite/test/linux/add-symbols/main.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <stdio.h> -static int var = 5; -int main() { - printf("%p is %d\n", &var, var); - return ++var; -} diff --git a/packages/Python/lldbsuite/test/linux/builtin_trap/Makefile b/packages/Python/lldbsuite/test/linux/builtin_trap/Makefile deleted file mode 100644 index 8a7102e347af..000000000000 --- a/packages/Python/lldbsuite/test/linux/builtin_trap/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -LEVEL = ../../make - -CXX_SOURCES := main.cpp - -include $(LEVEL)/Makefile.rules diff --git a/packages/Python/lldbsuite/test/linux/builtin_trap/TestBuiltinTrap.py b/packages/Python/lldbsuite/test/linux/builtin_trap/TestBuiltinTrap.py deleted file mode 100644 index 7ffc29fd4981..000000000000 --- a/packages/Python/lldbsuite/test/linux/builtin_trap/TestBuiltinTrap.py +++ /dev/null @@ -1,53 +0,0 @@ -""" -Test lldb ability to unwind a stack with a function containing a call to the -'__builtin_trap' intrinsic, which GCC (4.6) encodes to an illegal opcode. -""" - -from __future__ import print_function - - -import os -import lldb -from lldbsuite.test.decorators import * -from lldbsuite.test.lldbtest import * -from lldbsuite.test import lldbutil - - -class BuiltinTrapTestCase(TestBase): - - mydir = TestBase.compute_mydir(__file__) - - def setUp(self): - # Call super's setUp(). - TestBase.setUp(self) - # Find the line number to break at. - self.line = line_number('main.cpp', '// Set break point at this line.') - - # gcc generates incorrect linetable - @expectedFailureAll(archs="arm", compiler="gcc", triple=".*-android") - @expectedFailureAll(oslist=['linux'], archs=['arm']) - @skipIfWindows - def test_with_run_command(self): - """Test that LLDB handles a function with __builtin_trap correctly.""" - self.build() - self.runCmd("file " + self.getBuildArtifact("a.out"), CURRENT_EXECUTABLE_SET) - - lldbutil.run_break_set_by_file_and_line(self, "main.cpp", self.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']) - - # print backtrace, expect both 'bar' and 'main' functions to be listed - self.expect('bt', substrs=['bar', 'main']) - - # go up one frame - self.runCmd("up", RUN_SUCCEEDED) - - # evaluate a local - self.expect('p foo', substrs=['= 5']) diff --git a/packages/Python/lldbsuite/test/linux/builtin_trap/main.cpp b/packages/Python/lldbsuite/test/linux/builtin_trap/main.cpp deleted file mode 100644 index 84156ef2ac4f..000000000000 --- a/packages/Python/lldbsuite/test/linux/builtin_trap/main.cpp +++ /dev/null @@ -1,17 +0,0 @@ -//===-- main.cpp ------------------------------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -void bar(int const *foo) { - __builtin_trap(); // Set break point at this line. -} - -int main() { - int foo = 5; - bar(&foo); -} diff --git a/packages/Python/lldbsuite/test/linux/mix-dwo-and-regular-objects/Makefile b/packages/Python/lldbsuite/test/linux/mix-dwo-and-regular-objects/Makefile deleted file mode 100644 index 7cfad32f8272..000000000000 --- a/packages/Python/lldbsuite/test/linux/mix-dwo-and-regular-objects/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -LEVEL := ../../make - -C_SOURCES := a.c b.c -a.o: CFLAGS_EXTRAS += -gsplit-dwarf - -include $(LEVEL)/Makefile.rules - -.PHONY: clean -clean:: - $(RM) -f a.dwo a.o b.o main diff --git a/packages/Python/lldbsuite/test/linux/mix-dwo-and-regular-objects/TestMixedDwarfBinary.py b/packages/Python/lldbsuite/test/linux/mix-dwo-and-regular-objects/TestMixedDwarfBinary.py deleted file mode 100644 index db91c39c3983..000000000000 --- a/packages/Python/lldbsuite/test/linux/mix-dwo-and-regular-objects/TestMixedDwarfBinary.py +++ /dev/null @@ -1,46 +0,0 @@ -""" Testing debugging of a binary with "mixed" dwarf (with/without fission). """ -import os -import lldb -import sys -from lldbsuite.test.decorators import * -from lldbsuite.test.lldbtest import * -from lldbsuite.test import lldbutil - - -class TestMixedDwarfBinary(TestBase): - mydir = TestBase.compute_mydir(__file__) - - def setUp(self): - TestBase.setUp(self) - - @no_debug_info_test # Prevent the genaration of the dwarf version of this test - @add_test_categories(["dwo"]) - @skipUnlessPlatform(["linux"]) - def test_mixed_dwarf(self): - """Test that 'frame variable' works - for the executable built from two source files compiled - with/whithout -gsplit-dwarf correspondingly.""" - - self.build() - exe = self.getBuildArtifact("a.out") - - self.target = self.dbg.CreateTarget(exe) - self.assertTrue(self.target, VALID_TARGET) - - main_bp = self.target.BreakpointCreateByName("g", "a.out") - self.assertTrue(main_bp, VALID_BREAKPOINT) - - self.process = self.target.LaunchSimple( - None, None, self.get_process_working_directory()) - self.assertTrue(self.process, PROCESS_IS_VALID) - - # The stop reason of the thread should be breakpoint. - self.assertTrue(self.process.GetState() == lldb.eStateStopped, - STOPPED_DUE_TO_BREAKPOINT) - - frame = self.process.GetThreadAtIndex(0).GetFrameAtIndex(0) - x = frame.FindVariable("x") - self.assertTrue(x.IsValid(), "x is not valid") - y = frame.FindVariable("y") - self.assertTrue(y.IsValid(), "y is not valid") - diff --git a/packages/Python/lldbsuite/test/linux/mix-dwo-and-regular-objects/a.c b/packages/Python/lldbsuite/test/linux/mix-dwo-and-regular-objects/a.c deleted file mode 100644 index 047e78a9b295..000000000000 --- a/packages/Python/lldbsuite/test/linux/mix-dwo-and-regular-objects/a.c +++ /dev/null @@ -1,3 +0,0 @@ -int f() { - return 1; -} diff --git a/packages/Python/lldbsuite/test/linux/mix-dwo-and-regular-objects/b.c b/packages/Python/lldbsuite/test/linux/mix-dwo-and-regular-objects/b.c deleted file mode 100644 index d79970e13d49..000000000000 --- a/packages/Python/lldbsuite/test/linux/mix-dwo-and-regular-objects/b.c +++ /dev/null @@ -1,11 +0,0 @@ -extern int f(); - -void g() { - int y = 14; - int x = f(); -} - -int main() { - g(); - return 0; -} diff --git a/packages/Python/lldbsuite/test/linux/sepdebugsymlink/Makefile b/packages/Python/lldbsuite/test/linux/sepdebugsymlink/Makefile deleted file mode 100644 index 3fd14a74bf36..000000000000 --- a/packages/Python/lldbsuite/test/linux/sepdebugsymlink/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -LEVEL = ../../make -C_SOURCES := main.c - -all: dirsymlink - -dirreal: a.out - $(RM) -r $@ - mkdir $@ - $(OBJCOPY) --only-keep-debug $< $@/stripped.debug - $(OBJCOPY) --strip-all --add-gnu-debuglink=$@/stripped.debug $< $@/stripped.out - -dirsymlink: dirreal - $(RM) -r $@ - mkdir $@ - ln -s ../$</stripped.out $@/stripped.symlink - -clean:: - $(RM) -r dirreal dirsymlink - -include $(LEVEL)/Makefile.rules diff --git a/packages/Python/lldbsuite/test/linux/sepdebugsymlink/TestTargetSymbolsSepDebugSymlink.py b/packages/Python/lldbsuite/test/linux/sepdebugsymlink/TestTargetSymbolsSepDebugSymlink.py deleted file mode 100644 index 12506811c5e2..000000000000 --- a/packages/Python/lldbsuite/test/linux/sepdebugsymlink/TestTargetSymbolsSepDebugSymlink.py +++ /dev/null @@ -1,23 +0,0 @@ -""" Testing separate debug info loading for base binary with a symlink. """ -import os -import time -import lldb -import sys -from lldbsuite.test.decorators import * -from lldbsuite.test.lldbtest import * -from lldbsuite.test import lldbutil - - -class TestTargetSymbolsSepDebugSymlink(TestBase): - - mydir = TestBase.compute_mydir(__file__) - - @no_debug_info_test # Prevent the genaration of the dwarf version of this test - @skipUnlessPlatform(['linux']) - @skipIf(hostoslist=["windows"]) - @skipIfRemote # llvm.org/pr36237 - def test_target_symbols_sepdebug_symlink_case(self): - self.build() - exe = self.getBuildArtifact("dirsymlink/stripped.symlink") - - lldbutil.run_to_name_breakpoint(self, "main", exe_name = exe) diff --git a/packages/Python/lldbsuite/test/linux/sepdebugsymlink/main.c b/packages/Python/lldbsuite/test/linux/sepdebugsymlink/main.c deleted file mode 100644 index 4cce7f667ff7..000000000000 --- a/packages/Python/lldbsuite/test/linux/sepdebugsymlink/main.c +++ /dev/null @@ -1,3 +0,0 @@ -int main() { - return 0; -} diff --git a/packages/Python/lldbsuite/test/linux/thread/create_during_instruction_step/Makefile b/packages/Python/lldbsuite/test/linux/thread/create_during_instruction_step/Makefile deleted file mode 100644 index 67aa16625bff..000000000000 --- a/packages/Python/lldbsuite/test/linux/thread/create_during_instruction_step/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -LEVEL = ../../../make - -CXX_SOURCES := main.cpp -ENABLE_THREADS := YES -include $(LEVEL)/Makefile.rules diff --git a/packages/Python/lldbsuite/test/linux/thread/create_during_instruction_step/TestCreateDuringInstructionStep.py b/packages/Python/lldbsuite/test/linux/thread/create_during_instruction_step/TestCreateDuringInstructionStep.py deleted file mode 100644 index 702d124834b2..000000000000 --- a/packages/Python/lldbsuite/test/linux/thread/create_during_instruction_step/TestCreateDuringInstructionStep.py +++ /dev/null @@ -1,85 +0,0 @@ -""" -This tests that we do not lose control of the inferior, while doing an instruction-level step -over a thread creation instruction. -""" - -from __future__ import print_function - - -import os -import lldb -from lldbsuite.test.decorators import * -from lldbsuite.test.lldbtest import * -from lldbsuite.test import lldbutil - - -class CreateDuringInstructionStepTestCase(TestBase): - - mydir = TestBase.compute_mydir(__file__) - NO_DEBUG_INFO_TESTCASE = True - - @skipUnlessPlatform(['linux']) - @expectedFailureAndroid('llvm.org/pr24737', archs=['arm']) - @expectedFailureAll( - oslist=["linux"], - archs=["arm"], - bugnumber="llvm.org/pr24737") - def test_step_inst(self): - self.build(dictionary=self.getBuildFlags()) - exe = self.getBuildArtifact("a.out") - target = self.dbg.CreateTarget(exe) - self.assertTrue(target and target.IsValid(), "Target is valid") - - # This should create a breakpoint in the stepping thread. - breakpoint = target.BreakpointCreateByName("main") - self.assertTrue( - breakpoint and breakpoint.IsValid(), - "Breakpoint is valid") - - # Run the program. - process = target.LaunchSimple( - None, None, self.get_process_working_directory()) - self.assertTrue(process and process.IsValid(), PROCESS_IS_VALID) - - # The stop reason of the thread should be breakpoint. - self.assertEqual( - process.GetState(), - lldb.eStateStopped, - PROCESS_STOPPED) - - threads = lldbutil.get_threads_stopped_at_breakpoint( - process, breakpoint) - self.assertEqual(len(threads), 1, STOPPED_DUE_TO_BREAKPOINT) - - thread = threads[0] - self.assertTrue(thread and thread.IsValid(), "Thread is valid") - - # Make sure we see only one threads - self.assertEqual( - process.GetNumThreads(), - 1, - 'Number of expected threads and actual threads do not match.') - - # Keep stepping until we see the thread creation - while process.GetNumThreads() < 2: - thread.StepInstruction(False) - self.assertEqual( - process.GetState(), - lldb.eStateStopped, - PROCESS_STOPPED) - self.assertEqual( - thread.GetStopReason(), - lldb.eStopReasonPlanComplete, - "Step operation succeeded") - if self.TraceOn(): - self.runCmd("disassemble --pc") - - if self.TraceOn(): - self.runCmd("thread list") - - # We have successfully caught thread creation. Now just run to - # completion - process.Continue() - - # At this point, the inferior process should have exited. - self.assertEqual(process.GetState(), lldb.eStateExited, PROCESS_EXITED) diff --git a/packages/Python/lldbsuite/test/linux/thread/create_during_instruction_step/main.cpp b/packages/Python/lldbsuite/test/linux/thread/create_during_instruction_step/main.cpp deleted file mode 100644 index 079e8b13798c..000000000000 --- a/packages/Python/lldbsuite/test/linux/thread/create_during_instruction_step/main.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//===-- main.cpp ------------------------------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -// This file deliberately uses low level linux-specific API for thread creation because: -// - instruction-stepping over thread creation using higher-level functions was very slow -// - it was also unreliable due to single-stepping bugs unrelated to this test -// - some threading libraries do not create or destroy threads when we would expect them to - -#include <sched.h> - -#include <atomic> -#include <cstdio> - -enum { STACK_SIZE = 0x2000 }; - -static uint8_t child_stack[STACK_SIZE]; - -pid_t child_tid; - -std::atomic<bool> flag(false); - -int thread_main(void *) -{ - while (! flag) // Make sure the thread does not exit prematurely - ; - - return 0; -} - -int main () -{ - int ret = clone(thread_main, - child_stack + STACK_SIZE/2, // Don't care whether the stack grows up or down, - // just point to the middle - CLONE_CHILD_CLEARTID | CLONE_FILES | CLONE_FS | CLONE_PARENT_SETTID | - CLONE_SIGHAND | CLONE_SYSVSEM | CLONE_THREAD | CLONE_VM, - nullptr, // thread_main argument - &child_tid); - - if (ret == -1) - { - perror("clone"); - return 1; - } - - flag = true; - - return 0; -} |
