summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
-rw-r--r--lldb/packages/Python/lldbsuite/test/tools/lldb-mi/stack/TestMiStack.py13
-rw-r--r--lldb/packages/Python/lldbsuite/test/tools/lldb-mi/stack/main.cpp15
2 files changed, 28 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/tools/lldb-mi/stack/TestMiStack.py b/lldb/packages/Python/lldbsuite/test/tools/lldb-mi/stack/TestMiStack.py
index 14dab38bb33..1ae728ef804 100644
--- a/lldb/packages/Python/lldbsuite/test/tools/lldb-mi/stack/TestMiStack.py
+++ b/lldb/packages/Python/lldbsuite/test/tools/lldb-mi/stack/TestMiStack.py
@@ -199,7 +199,20 @@ class MiStackTestCase(lldbmi_testcase.MiTestCaseBase):
self.expect("\^done,locals=\[{name=\"test_str\",type=\"const char \*\",value=\".*?Rakaposhi.*?\"},{name=\"var_e\",type=\"int\",value=\"24\"},{name=\"ptr\",type=\"int \*\",value=\".*?\"}\]")
self.runCmd("-stack-list-locals --simple-values")
self.expect("\^done,locals=\[{name=\"test_str\",type=\"const char \*\",value=\".*?Rakaposhi.*?\"},{name=\"var_e\",type=\"int\",value=\"24\"},{name=\"ptr\",type=\"int \*\",value=\".*?\"}\]")
+
+ # Test -stack-list-locals in a function with catch clause,
+ # having unnamed parameter
+ # Run to BP_catch_unnamed
+ line = line_number('main.cpp', '// BP_catch_unnamed')
+ self.runCmd("-break-insert --file main.cpp:%d" % line)
+ self.expect("\^done,bkpt={number=\"6\"")
+ self.runCmd("-exec-continue")
+ self.expect("\^running")
+ self.expect("\*stopped,reason=\"breakpoint-hit\"")
+ # Test -stack-list-locals: use --no-values
+ self.runCmd("-stack-list-locals --no-values")
+ self.expect("\^done,locals=\[name=\"i\",name=\"j\"\]")
@skipIfWindows #llvm.org/pr24452: Get lldb-mi tests working on Windows
@skipIfFreeBSD # llvm.org/pr22411: Failure presumably due to known thread races
def test_lldbmi_stack_list_variables(self):
diff --git a/lldb/packages/Python/lldbsuite/test/tools/lldb-mi/stack/main.cpp b/lldb/packages/Python/lldbsuite/test/tools/lldb-mi/stack/main.cpp
index e11f83e108e..32db32d2fd1 100644
--- a/lldb/packages/Python/lldbsuite/test/tools/lldb-mi/stack/main.cpp
+++ b/lldb/packages/Python/lldbsuite/test/tools/lldb-mi/stack/main.cpp
@@ -7,6 +7,8 @@
//
//===----------------------------------------------------------------------===//
+#include <exception>
+
struct inner
{
int var_d;
@@ -114,6 +116,18 @@ int do_tests_with_args()
return 0;
}
+void catch_unnamed_test()
+{
+ try
+ {
+ int i = 1, j = 2;
+ throw std::exception(); // BP_catch_unnamed
+ }
+ catch(std::exception&)
+ {
+ }
+}
+
int
main(int argc, char const *argv[])
{
@@ -121,6 +135,7 @@ main(int argc, char const *argv[])
local_struct_test();
local_array_test();
local_pointer_test();
+ catch_unnamed_test();
do_tests_with_args();
return 0;
OpenPOWER on IntegriCloud