summaryrefslogtreecommitdiffstats
path: root/lldb
diff options
context:
space:
mode:
Diffstat (limited to 'lldb')
-rw-r--r--lldb/lit/Driver/Inputs/convenience.in9
-rw-r--r--lldb/lit/Driver/Inputs/hello.c5
-rw-r--r--lldb/lit/Driver/TestConvenienceVariables.test22
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/embedded_interpreter/Makefile5
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/embedded_interpreter/TestConvenienceVariables.py108
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/embedded_interpreter/main.c6
6 files changed, 36 insertions, 119 deletions
diff --git a/lldb/lit/Driver/Inputs/convenience.in b/lldb/lit/Driver/Inputs/convenience.in
new file mode 100644
index 00000000000..dbbe2f7978d
--- /dev/null
+++ b/lldb/lit/Driver/Inputs/convenience.in
@@ -0,0 +1,9 @@
+breakpoint set -f hello.c -p Hello
+run
+script print(lldb.debugger)
+script print(lldb.target)
+script print(lldb.process)
+script print(lldb.thread.GetStopDescription(100))
+script lldb.frame.GetLineEntry().GetLine()
+script lldb.frame.GetLineEntry().GetFileSpec().GetFilename()
+script lldb.frame.GetFunctionName()
diff --git a/lldb/lit/Driver/Inputs/hello.c b/lldb/lit/Driver/Inputs/hello.c
new file mode 100644
index 00000000000..fb9be9a1267
--- /dev/null
+++ b/lldb/lit/Driver/Inputs/hello.c
@@ -0,0 +1,5 @@
+int puts(const char*);
+int main(int argc, char **argv) {
+ puts("Hello World\n");
+ return 0;
+}
diff --git a/lldb/lit/Driver/TestConvenienceVariables.test b/lldb/lit/Driver/TestConvenienceVariables.test
new file mode 100644
index 00000000000..ea0931fdf78
--- /dev/null
+++ b/lldb/lit/Driver/TestConvenienceVariables.test
@@ -0,0 +1,22 @@
+RUN: %clang %p/Inputs/hello.c -g -o %t
+RUN: %lldb %t -s %p/Inputs/convenience.in -o quit | FileCheck %s
+
+script print(lldb.debugger)
+
+CHECK: stop reason = breakpoint 1.1
+CHECK: Debugger (instance: {{.*}}, id: {{[0-9]+}})
+CHECK: script print(lldb.target)
+CHECK: TestConvenienceVariables.test
+CHECK: script print(lldb.process)
+CHECK: SBProcess: pid = {{[0-9]+}},
+CHECK-SAME: state = stopped,
+CHECK-SAME: threads = {{[0-9]+}},
+CHECK-SAME: executable = TestConvenienceVariables.test
+CHECK: script print(lldb.thread.GetStopDescription(100))
+CHECK: breakpoint 1.1
+CHECK: script lldb.frame.GetLineEntry().GetLine()
+CHECK: 3
+CHECK: script lldb.frame.GetLineEntry().GetFileSpec().GetFilename()
+CHECK: hello.c
+CHECK: script lldb.frame.GetFunctionName()
+CHECK: main \ No newline at end of file
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/embedded_interpreter/Makefile b/lldb/packages/Python/lldbsuite/test/functionalities/embedded_interpreter/Makefile
deleted file mode 100644
index 0d70f259501..00000000000
--- a/lldb/packages/Python/lldbsuite/test/functionalities/embedded_interpreter/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-LEVEL = ../../make
-
-C_SOURCES := main.c
-
-include $(LEVEL)/Makefile.rules
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/embedded_interpreter/TestConvenienceVariables.py b/lldb/packages/Python/lldbsuite/test/functionalities/embedded_interpreter/TestConvenienceVariables.py
deleted file mode 100644
index 0f130b3ecba..00000000000
--- a/lldb/packages/Python/lldbsuite/test/functionalities/embedded_interpreter/TestConvenienceVariables.py
+++ /dev/null
@@ -1,108 +0,0 @@
-"""Test convenience variables when you drop in from lldb prompt into an embedded interpreter."""
-
-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 ConvenienceVariablesCase(TestBase):
-
- mydir = TestBase.compute_mydir(__file__)
-
- def setUp(self):
- # Call super's setUp().
- TestBase.setUp(self)
- # Find the line number to break on inside main.cpp.
- self.line = line_number('main.c', 'Hello world.')
-
- @skipIfFreeBSD # llvm.org/pr17228
- @skipIfRemote
- @expectedFailureAll(
- oslist=["windows"],
- bugnumber="llvm.org/pr22274: need a pexpect replacement for windows")
- def test_with_run_commands(self):
- """Test convenience variables lldb.debugger, lldb.target, lldb.process, lldb.thread, and lldb.frame."""
- self.build()
- import pexpect
- exe = self.getBuildArtifact("a.out")
- prompt = "(lldb) "
- python_prompt = ">>> "
-
- # So that the child gets torn down after the test.
- self.child = pexpect.spawn(
- '%s %s %s' %
- (lldbtest_config.lldbExec, self.lldbOption, exe))
- child = self.child
- # Turn on logging for what the child sends back.
- if self.TraceOn():
- child.logfile_read = sys.stdout
-
- # Set the breakpoint, run the inferior, when it breaks, issue print on
- # the various convenience variables.
- child.expect_exact(prompt)
- child.sendline('breakpoint set -f main.c -l %d' % self.line)
- child.expect_exact(prompt)
- child.sendline('run')
- child.expect_exact("stop reason = breakpoint 1.1")
- child.expect_exact(prompt)
- child.sendline('script')
- child.expect_exact(python_prompt)
-
- # Set a flag so that we know during teardown time, we need to exit the
- # Python interpreter, then the lldb interpreter.
- self.child_in_script_interpreter = True
-
- child.sendline('print(lldb.debugger)')
- child.expect_exact(python_prompt)
- self.expect(child.before, exe=False,
- patterns=['Debugger \(instance: .*, id: \d\)'])
-
- child.sendline('print(lldb.target)')
- child.expect_exact(python_prompt)
- self.expect(child.before, exe=False,
- substrs=['a.out'])
-
- child.sendline('print(lldb.process)')
- child.expect_exact(python_prompt)
- self.expect(child.before, exe=False, patterns=[
- 'SBProcess: pid = \d+, state = stopped, threads = \d, executable = a.out'])
-
- child.sendline('print(lldb.thread.GetStopDescription(100))')
- child.expect_exact(python_prompt)
- self.expect(
- child.before,
- exe=False,
- patterns=[
- 'breakpoint 1\.1'])
-
- child.sendline('lldb.frame.GetLineEntry().GetLine()')
- child.expect_exact(python_prompt)
- line_number = "%d"%(self.line)
- self.expect(
- child.before,
- exe=False,
- substrs=[
- line_number])
-
- child.sendline('lldb.frame.GetLineEntry().GetFileSpec().GetFilename()')
- child.expect_exact(python_prompt)
- line_number = "%d"%(self.line)
- self.expect(
- child.before,
- exe=False,
- substrs=[
- "main.c"])
-
- child.sendline('lldb.frame.GetFunctionName()')
- child.expect_exact(python_prompt)
- line_number = "%d"%(self.line)
- self.expect(
- child.before,
- exe=False,
- substrs=[
- "main"])
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/embedded_interpreter/main.c b/lldb/packages/Python/lldbsuite/test/functionalities/embedded_interpreter/main.c
deleted file mode 100644
index 277aa54a4ee..00000000000
--- a/lldb/packages/Python/lldbsuite/test/functionalities/embedded_interpreter/main.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdio.h>
-
-int main(int argc, char const *argv[]) {
- printf("Hello world.\n");
- return 0;
-}
OpenPOWER on IntegriCloud