summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/expression_command
diff options
context:
space:
mode:
authorShafik Yaghmour <syaghmour@apple.com>2019-03-28 17:22:13 +0000
committerShafik Yaghmour <syaghmour@apple.com>2019-03-28 17:22:13 +0000
commit0f71a25e985a7667311d87a604bc43db8dc4c97b (patch)
treeaa6dee165498bcd408f8d6edda207f2189a4f16a /lldb/packages/Python/lldbsuite/test/expression_command
parentba2ea93ad189d8a1e87e0e02b20790272b7ed375 (diff)
downloadbcm5719-llvm-0f71a25e985a7667311d87a604bc43db8dc4c97b.tar.gz
bcm5719-llvm-0f71a25e985a7667311d87a604bc43db8dc4c97b.zip
Regression test to ensure that we handling importing of std::vector of enums correctly
Summary: https://reviews.llvm.org/D59845 added a fix for the IsStructuralMatch(...) specialization for EnumDecl this test should pass once this fix is committed. Differential Revision: https://reviews.llvm.org/D59847 llvm-svn: 357188
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/expression_command')
-rw-r--r--lldb/packages/Python/lldbsuite/test/expression_command/vector_of_enums/Makefile5
-rw-r--r--lldb/packages/Python/lldbsuite/test/expression_command/vector_of_enums/TestVectorOfEnums.py28
-rw-r--r--lldb/packages/Python/lldbsuite/test/expression_command/vector_of_enums/main.cpp14
3 files changed, 47 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/expression_command/vector_of_enums/Makefile b/lldb/packages/Python/lldbsuite/test/expression_command/vector_of_enums/Makefile
new file mode 100644
index 00000000000..8a7102e347a
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/expression_command/vector_of_enums/Makefile
@@ -0,0 +1,5 @@
+LEVEL = ../../make
+
+CXX_SOURCES := main.cpp
+
+include $(LEVEL)/Makefile.rules
diff --git a/lldb/packages/Python/lldbsuite/test/expression_command/vector_of_enums/TestVectorOfEnums.py b/lldb/packages/Python/lldbsuite/test/expression_command/vector_of_enums/TestVectorOfEnums.py
new file mode 100644
index 00000000000..154ffab601c
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/expression_command/vector_of_enums/TestVectorOfEnums.py
@@ -0,0 +1,28 @@
+"""
+Test Expression Parser regression test to ensure that we handle enums
+correctly, in this case specifically std::vector of enums.
+"""
+
+
+import lldb
+from lldbsuite.test.decorators import *
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test import lldbutil
+
+class TestVectorOfEnums(TestBase):
+
+ mydir = TestBase.compute_mydir(__file__)
+
+ def test_vector_of_enums(self):
+ self.build()
+
+ lldbutil.run_to_source_breakpoint(self, '// break here',
+ lldb.SBFileSpec("main.cpp", False))
+
+ self.expect("expr v", substrs=[
+ 'size=3',
+ '[0] = a',
+ '[1] = b',
+ '[2] = c',
+ '}'
+ ])
diff --git a/lldb/packages/Python/lldbsuite/test/expression_command/vector_of_enums/main.cpp b/lldb/packages/Python/lldbsuite/test/expression_command/vector_of_enums/main.cpp
new file mode 100644
index 00000000000..10d3ae569a5
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/expression_command/vector_of_enums/main.cpp
@@ -0,0 +1,14 @@
+#include <vector>
+
+enum E {
+a,
+b,
+c,
+d
+} ;
+
+int main() {
+ std::vector<E> v = {E::a, E::b, E::c};
+
+ return v.size(); // break here
+}
OpenPOWER on IntegriCloud