Author: shafik
Date: Thu Mar 28 10:22:13 2019
New Revision: 357188

URL: http://llvm.org/viewvc/llvm-project?rev=357188&view=rev
Log:
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

Added:
    
lldb/trunk/packages/Python/lldbsuite/test/expression_command/vector_of_enums/
    
lldb/trunk/packages/Python/lldbsuite/test/expression_command/vector_of_enums/Makefile
    
lldb/trunk/packages/Python/lldbsuite/test/expression_command/vector_of_enums/TestVectorOfEnums.py
    
lldb/trunk/packages/Python/lldbsuite/test/expression_command/vector_of_enums/main.cpp

Added: 
lldb/trunk/packages/Python/lldbsuite/test/expression_command/vector_of_enums/Makefile
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/expression_command/vector_of_enums/Makefile?rev=357188&view=auto
==============================================================================
--- 
lldb/trunk/packages/Python/lldbsuite/test/expression_command/vector_of_enums/Makefile
 (added)
+++ 
lldb/trunk/packages/Python/lldbsuite/test/expression_command/vector_of_enums/Makefile
 Thu Mar 28 10:22:13 2019
@@ -0,0 +1,5 @@
+LEVEL = ../../make
+
+CXX_SOURCES := main.cpp
+
+include $(LEVEL)/Makefile.rules

Added: 
lldb/trunk/packages/Python/lldbsuite/test/expression_command/vector_of_enums/TestVectorOfEnums.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/expression_command/vector_of_enums/TestVectorOfEnums.py?rev=357188&view=auto
==============================================================================
--- 
lldb/trunk/packages/Python/lldbsuite/test/expression_command/vector_of_enums/TestVectorOfEnums.py
 (added)
+++ 
lldb/trunk/packages/Python/lldbsuite/test/expression_command/vector_of_enums/TestVectorOfEnums.py
 Thu Mar 28 10:22:13 2019
@@ -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',
+         '}'
+        ])

Added: 
lldb/trunk/packages/Python/lldbsuite/test/expression_command/vector_of_enums/main.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/expression_command/vector_of_enums/main.cpp?rev=357188&view=auto
==============================================================================
--- 
lldb/trunk/packages/Python/lldbsuite/test/expression_command/vector_of_enums/main.cpp
 (added)
+++ 
lldb/trunk/packages/Python/lldbsuite/test/expression_command/vector_of_enums/main.cpp
 Thu Mar 28 10:22:13 2019
@@ -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
+}


_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to