diff options
author | Shafik Yaghmour <syaghmour@apple.com> | 2019-03-28 17:22:13 +0000 |
---|---|---|
committer | Shafik Yaghmour <syaghmour@apple.com> | 2019-03-28 17:22:13 +0000 |
commit | 0f71a25e985a7667311d87a604bc43db8dc4c97b (patch) | |
tree | aa6dee165498bcd408f8d6edda207f2189a4f16a /lldb/packages/Python/lldbsuite/test/expression_command | |
parent | ba2ea93ad189d8a1e87e0e02b20790272b7ed375 (diff) | |
download | bcm5719-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')
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 +} |