summaryrefslogtreecommitdiff
path: root/packages/Python/lldbsuite/test/lang/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'packages/Python/lldbsuite/test/lang/cpp')
-rw-r--r--packages/Python/lldbsuite/test/lang/cpp/class_static/TestStaticVariables.py2
-rw-r--r--packages/Python/lldbsuite/test/lang/cpp/llvm-style/Makefile3
-rw-r--r--packages/Python/lldbsuite/test/lang/cpp/llvm-style/TestLLVMStyle.py7
-rw-r--r--packages/Python/lldbsuite/test/lang/cpp/llvm-style/main.cpp36
-rw-r--r--packages/Python/lldbsuite/test/lang/cpp/nsimport/TestCppNsImport.py4
-rw-r--r--packages/Python/lldbsuite/test/lang/cpp/symbols/Makefile3
-rw-r--r--packages/Python/lldbsuite/test/lang/cpp/symbols/TestSymbols.py7
-rw-r--r--packages/Python/lldbsuite/test/lang/cpp/symbols/main.cpp40
8 files changed, 99 insertions, 3 deletions
diff --git a/packages/Python/lldbsuite/test/lang/cpp/class_static/TestStaticVariables.py b/packages/Python/lldbsuite/test/lang/cpp/class_static/TestStaticVariables.py
index 0100a2727b38..d167f0a5591d 100644
--- a/packages/Python/lldbsuite/test/lang/cpp/class_static/TestStaticVariables.py
+++ b/packages/Python/lldbsuite/test/lang/cpp/class_static/TestStaticVariables.py
@@ -61,7 +61,7 @@ class StaticVariableTestCase(TestBase):
bugnumber="Compiler emits incomplete debug info")
@expectedFailureAll(
compiler=["clang"],
- compiler_version=["<", "3.8"],
+ compiler_version=["<", "3.9"],
bugnumber='llvm.org/pr20550')
@add_test_categories(['pyapi'])
def test_with_python_api(self):
diff --git a/packages/Python/lldbsuite/test/lang/cpp/llvm-style/Makefile b/packages/Python/lldbsuite/test/lang/cpp/llvm-style/Makefile
new file mode 100644
index 000000000000..aae93a20b9c8
--- /dev/null
+++ b/packages/Python/lldbsuite/test/lang/cpp/llvm-style/Makefile
@@ -0,0 +1,3 @@
+LEVEL = ../../../make
+CXX_SOURCES := main.cpp
+include $(LEVEL)/Makefile.rules \ No newline at end of file
diff --git a/packages/Python/lldbsuite/test/lang/cpp/llvm-style/TestLLVMStyle.py b/packages/Python/lldbsuite/test/lang/cpp/llvm-style/TestLLVMStyle.py
new file mode 100644
index 000000000000..8e83a3ab1a4a
--- /dev/null
+++ b/packages/Python/lldbsuite/test/lang/cpp/llvm-style/TestLLVMStyle.py
@@ -0,0 +1,7 @@
+from lldbsuite.test import lldbinline
+from lldbsuite.test import decorators
+
+lldbinline.MakeInlineTest(
+ __file__, globals(), [
+ decorators.expectedFailureAll(
+ oslist=["windows"], bugnumber="llvm.org/pr24764")]) \ No newline at end of file
diff --git a/packages/Python/lldbsuite/test/lang/cpp/llvm-style/main.cpp b/packages/Python/lldbsuite/test/lang/cpp/llvm-style/main.cpp
new file mode 100644
index 000000000000..21ce8ca7080c
--- /dev/null
+++ b/packages/Python/lldbsuite/test/lang/cpp/llvm-style/main.cpp
@@ -0,0 +1,36 @@
+//===-- main.cpp ------------------------------------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LIDENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+namespace n {
+ struct D {
+ int i;
+ static int anInt() { return 2; }
+ int dump() { return i; }
+ };
+
+ class C {
+ public:
+ int foo(D *D);
+ };
+}
+
+using namespace n;
+
+int C::foo(D* D) {
+ return D->dump(); //% self.expect("expression -- D->dump()", DATA_TYPES_DISPLAYED_CORRECTLY, substrs = ["int", "2"])
+ //% self.expect("expression -- D::anInt()", DATA_TYPES_DISPLAYED_CORRECTLY, substrs = ["int", "2"])
+
+}
+
+int main (int argc, char const *argv[])
+{
+ D myD { D::anInt() };
+ C().foo(&myD);
+ return 0;
+}
diff --git a/packages/Python/lldbsuite/test/lang/cpp/nsimport/TestCppNsImport.py b/packages/Python/lldbsuite/test/lang/cpp/nsimport/TestCppNsImport.py
index 878cc4fd4f76..fb7fadffa783 100644
--- a/packages/Python/lldbsuite/test/lang/cpp/nsimport/TestCppNsImport.py
+++ b/packages/Python/lldbsuite/test/lang/cpp/nsimport/TestCppNsImport.py
@@ -111,8 +111,8 @@ class TestCppNsImport(TestBase):
test_result = frame.EvaluateExpression("imported")
self.assertTrue(
- test_result.IsValid() and test_result.GetError().Fail(),
- "imported is ambiguous")
+ test_result.IsValid() and test_result.GetValueAsSigned() == 99,
+ "imported = 99")
test_result = frame.EvaluateExpression("single")
self.assertTrue(
diff --git a/packages/Python/lldbsuite/test/lang/cpp/symbols/Makefile b/packages/Python/lldbsuite/test/lang/cpp/symbols/Makefile
new file mode 100644
index 000000000000..99bfa7e03b47
--- /dev/null
+++ b/packages/Python/lldbsuite/test/lang/cpp/symbols/Makefile
@@ -0,0 +1,3 @@
+LEVEL = ../../../make
+CXX_SOURCES := main.cpp
+include $(LEVEL)/Makefile.rules
diff --git a/packages/Python/lldbsuite/test/lang/cpp/symbols/TestSymbols.py b/packages/Python/lldbsuite/test/lang/cpp/symbols/TestSymbols.py
new file mode 100644
index 000000000000..af362f5be5d7
--- /dev/null
+++ b/packages/Python/lldbsuite/test/lang/cpp/symbols/TestSymbols.py
@@ -0,0 +1,7 @@
+from lldbsuite.test import lldbinline
+from lldbsuite.test import decorators
+
+lldbinline.MakeInlineTest(
+ __file__, globals(), [
+ decorators.expectedFailureAll(
+ oslist=["windows"], bugnumber="llvm.org/pr24764")])
diff --git a/packages/Python/lldbsuite/test/lang/cpp/symbols/main.cpp b/packages/Python/lldbsuite/test/lang/cpp/symbols/main.cpp
new file mode 100644
index 000000000000..292f9f64bcca
--- /dev/null
+++ b/packages/Python/lldbsuite/test/lang/cpp/symbols/main.cpp
@@ -0,0 +1,40 @@
+//===-- main.cpp ------------------------------------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LIDENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+void *D = 0;
+
+class D {
+ static int i;
+};
+
+int D::i = 3;
+
+namespace errno {
+ int j = 4;
+};
+
+int twice(int n)
+{
+ return n * 2; //% self.expect("expression -- D::i", DATA_TYPES_DISPLAYED_CORRECTLY, substrs = ["int", "3"])
+ //% self.expect("expression -- D", DATA_TYPES_DISPLAYED_CORRECTLY, substrs = ["void"])
+ //% self.expect("expression -- errno::j", DATA_TYPES_DISPLAYED_CORRECTLY, substrs = ["int", "4"])
+}
+
+const char getAChar()
+{
+ const char D[] = "Hello world";
+ return D[0]; //% self.expect("expression -- D::i", DATA_TYPES_DISPLAYED_CORRECTLY, substrs = ["int", "3"])
+ //% self.expect("expression -- D", DATA_TYPES_DISPLAYED_CORRECTLY, substrs = ["char", "Hello"])
+}
+
+int main (int argc, char const *argv[])
+{
+ int six = twice(3);
+ return 0;
+}