diff options
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
7 files changed, 98 insertions, 2 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/lang/cpp/llvm-style/Makefile b/lldb/packages/Python/lldbsuite/test/lang/cpp/llvm-style/Makefile new file mode 100644 index 00000000000..f11f126fa64 --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/lang/cpp/llvm-style/Makefile @@ -0,0 +1,3 @@ +LEVEL = ../../../make +C_SOURCES := main.c +include $(LEVEL)/Makefile.rules
\ No newline at end of file diff --git a/lldb/packages/Python/lldbsuite/test/lang/cpp/llvm-style/TestLLVMStyle.py b/lldb/packages/Python/lldbsuite/test/lang/cpp/llvm-style/TestLLVMStyle.py new file mode 100644 index 00000000000..8e83a3ab1a4 --- /dev/null +++ b/lldb/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/lldb/packages/Python/lldbsuite/test/lang/cpp/llvm-style/main.cc b/lldb/packages/Python/lldbsuite/test/lang/cpp/llvm-style/main.cc new file mode 100644 index 00000000000..040cf44defd --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/lang/cpp/llvm-style/main.cc @@ -0,0 +1,36 @@ +//===-- main.cc -------------------------------------------------*- 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/lldb/packages/Python/lldbsuite/test/lang/cpp/nsimport/TestCppNsImport.py b/lldb/packages/Python/lldbsuite/test/lang/cpp/nsimport/TestCppNsImport.py index 878cc4fd4f7..fb7fadffa78 100644 --- a/lldb/packages/Python/lldbsuite/test/lang/cpp/nsimport/TestCppNsImport.py +++ b/lldb/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/lldb/packages/Python/lldbsuite/test/lang/cpp/symbols/Makefile b/lldb/packages/Python/lldbsuite/test/lang/cpp/symbols/Makefile new file mode 100644 index 00000000000..cd9ca5c86d8 --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/lang/cpp/symbols/Makefile @@ -0,0 +1,3 @@ +LEVEL = ../../../make +C_SOURCES := main.c +include $(LEVEL)/Makefile.rules diff --git a/lldb/packages/Python/lldbsuite/test/lang/cpp/symbols/TestSymbols.py b/lldb/packages/Python/lldbsuite/test/lang/cpp/symbols/TestSymbols.py new file mode 100644 index 00000000000..af362f5be5d --- /dev/null +++ b/lldb/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/lldb/packages/Python/lldbsuite/test/lang/cpp/symbols/main.cc b/lldb/packages/Python/lldbsuite/test/lang/cpp/symbols/main.cc new file mode 100644 index 00000000000..cd9b3a6a031 --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/lang/cpp/symbols/main.cc @@ -0,0 +1,40 @@ +//===-- main.cc -------------------------------------------------*- 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; +} |