summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/expression_command/context-object
diff options
context:
space:
mode:
authorRaphael Isemann <teemperor@gmail.com>2019-09-01 09:12:37 +0000
committerRaphael Isemann <teemperor@gmail.com>2019-09-01 09:12:37 +0000
commit29872606d220420d53fde7cc5e3bea15f8da62e7 (patch)
tree47d7a82ccea48a6dd10a2d8ecb6b3c3127724131 /lldb/packages/Python/lldbsuite/test/expression_command/context-object
parentadfdcb9c2652aeee585b9005fd6c67be06af8ea9 (diff)
downloadbcm5719-llvm-29872606d220420d53fde7cc5e3bea15f8da62e7.tar.gz
bcm5719-llvm-29872606d220420d53fde7cc5e3bea15f8da62e7.zip
[lldb] Restructure test folders to match LLDB command hierarchy
Summary: As discussed on lldb-dev, this patch moves some LLDB tests into a hierarchy that more closely resembles the commands we use in the LLDB interpreter. This patch should only move tests that use the command interpreter and shouldn't touch any tests that primarily test the SB API. Reviewers: #lldb, jfb, JDevlieghere Reviewed By: #lldb, JDevlieghere Subscribers: dexonsmith, arphaman, JDevlieghere, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D67033 llvm-svn: 370605
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/expression_command/context-object')
-rw-r--r--lldb/packages/Python/lldbsuite/test/expression_command/context-object/Makefile5
-rw-r--r--lldb/packages/Python/lldbsuite/test/expression_command/context-object/TestContextObject.py145
-rw-r--r--lldb/packages/Python/lldbsuite/test/expression_command/context-object/main.cpp46
3 files changed, 0 insertions, 196 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/expression_command/context-object/Makefile b/lldb/packages/Python/lldbsuite/test/expression_command/context-object/Makefile
deleted file mode 100644
index 8a7102e347a..00000000000
--- a/lldb/packages/Python/lldbsuite/test/expression_command/context-object/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-LEVEL = ../../make
-
-CXX_SOURCES := main.cpp
-
-include $(LEVEL)/Makefile.rules
diff --git a/lldb/packages/Python/lldbsuite/test/expression_command/context-object/TestContextObject.py b/lldb/packages/Python/lldbsuite/test/expression_command/context-object/TestContextObject.py
deleted file mode 100644
index 02b8162aad6..00000000000
--- a/lldb/packages/Python/lldbsuite/test/expression_command/context-object/TestContextObject.py
+++ /dev/null
@@ -1,145 +0,0 @@
-"""
-Tests expression evaluation in context of an object.
-"""
-
-import lldb
-import lldbsuite.test.lldbutil as lldbutil
-from lldbsuite.test.lldbtest import *
-
-class ContextObjectTestCase(TestBase):
-
- mydir = TestBase.compute_mydir(__file__)
-
- def test_context_object(self):
- """Tests expression evaluation in context of an object."""
- self.build()
-
- (target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(self, '// Break here', self.main_source_spec)
- frame = thread.GetFrameAtIndex(0)
-
- #
- # Test C++ struct variable
- #
-
- obj_val = frame.FindVariable("cpp_struct")
- self.assertTrue(obj_val.IsValid())
-
- # Test an empty expression evaluation
- value = obj_val.EvaluateExpression("")
- self.assertFalse(value.IsValid())
- self.assertFalse(value.GetError().Success())
-
- # Test retrieveing of a field (not a local with the same name)
- value = obj_val.EvaluateExpression("field")
- self.assertTrue(value.IsValid())
- self.assertTrue(value.GetError().Success())
- self.assertEqual(value.GetValueAsSigned(), 1111)
-
- # Test functions evaluation
- value = obj_val.EvaluateExpression("function()")
- self.assertTrue(value.IsValid())
- self.assertTrue(value.GetError().Success())
- self.assertEqual(value.GetValueAsSigned(), 2222)
-
- # Test that we retrieve the right global
- value = obj_val.EvaluateExpression("global.field")
- self.assertTrue(value.IsValid())
- self.assertTrue(value.GetError().Success())
- self.assertEqual(value.GetValueAsSigned(), 1111)
-
- #
- # Test C++ union variable
- #
-
- obj_val = frame.FindVariable("cpp_union")
- self.assertTrue(obj_val.IsValid())
-
- # Test retrieveing of a field
- value = obj_val.EvaluateExpression("field_int")
- self.assertTrue(value.IsValid())
- self.assertTrue(value.GetError().Success())
- self.assertEqual(value.GetValueAsSigned(), 5555)
-
- #
- # Test C++ scalar
- #
-
- obj_val = frame.FindVariable("cpp_scalar")
- self.assertTrue(obj_val.IsValid())
-
- # Test an expression evaluation
- value = obj_val.EvaluateExpression("1")
- self.assertFalse(value.IsValid())
- self.assertFalse(value.GetError().Success())
-
- #
- # Test C++ array
- #
-
- obj_val = frame.FindVariable("cpp_array")
- self.assertTrue(obj_val.IsValid())
-
- # Test an expression evaluation
- value = obj_val.EvaluateExpression("1")
- self.assertFalse(value.IsValid())
- self.assertFalse(value.GetError().Success())
-
- # Test retrieveing of an element's field
- value = obj_val.GetValueForExpressionPath("[7]").EvaluateExpression("field")
- self.assertTrue(value.IsValid())
- self.assertTrue(value.GetError().Success())
- self.assertEqual(value.GetValueAsSigned(), 1111)
-
- #
- # Test C++ pointer
- #
-
- obj_val = frame.FindVariable("cpp_pointer")
- self.assertTrue(obj_val.IsValid())
-
- # Test an expression evaluation
- value = obj_val.EvaluateExpression("1")
- self.assertFalse(value.IsValid())
- self.assertFalse(value.GetError().Success())
-
- # Test retrieveing of a dereferenced object's field
- value = obj_val.Dereference().EvaluateExpression("field")
- self.assertTrue(value.IsValid())
- self.assertTrue(value.GetError().Success())
- self.assertEqual(value.GetValueAsSigned(), 1111)
-
- #
- # Test C++ computation result
- #
-
- obj_val = frame.EvaluateExpression("cpp_namespace::GetCppStruct()")
- self.assertTrue(obj_val.IsValid())
-
- # Test an expression evaluation
- value = obj_val.EvaluateExpression("1")
- self.assertTrue(value.IsValid())
- self.assertFalse(value.GetError().Success())
-
- #
- # Test C++ computation result located in debuggee memory
- #
-
- obj_val = frame.EvaluateExpression("cpp_namespace::GetCppStructPtr()")
- self.assertTrue(obj_val.IsValid())
-
- # Test an expression evaluation
- value = obj_val.EvaluateExpression("1")
- self.assertFalse(value.IsValid())
- self.assertFalse(value.GetError().Success())
-
- # Test retrieveing of a dereferenced object's field
- value = obj_val.Dereference().EvaluateExpression("field")
- self.assertTrue(value.IsValid())
- self.assertTrue(value.GetError().Success())
- self.assertEqual(value.GetValueAsSigned(), 1111)
-
- def setUp(self):
- TestBase.setUp(self)
-
- self.main_source = "main.cpp"
- self.main_source_spec = lldb.SBFileSpec(self.main_source)
diff --git a/lldb/packages/Python/lldbsuite/test/expression_command/context-object/main.cpp b/lldb/packages/Python/lldbsuite/test/expression_command/context-object/main.cpp
deleted file mode 100644
index 098b6089fce..00000000000
--- a/lldb/packages/Python/lldbsuite/test/expression_command/context-object/main.cpp
+++ /dev/null
@@ -1,46 +0,0 @@
-namespace cpp_namespace {
- struct CppStruct {
- int field = 1111;
-
- int function() {
- return 2222;
- }
- };
-
- union CppUnion {
- char field_char;
- short field_short;
- int field_int;
- };
-
- CppStruct GetCppStruct() {
- return CppStruct();
- }
-
- CppStruct global;
-
- CppStruct *GetCppStructPtr() {
- return &global;
- }
-}
-
-int global = 3333;
-
-int main()
-{
- cpp_namespace::CppStruct cpp_struct = cpp_namespace::GetCppStruct();
- cpp_struct.function();
-
- int field = 4444;
-
- cpp_namespace::CppUnion cpp_union;
- cpp_union.field_int = 5555;
-
- int cpp_scalar = 6666;
-
- cpp_namespace::CppStruct cpp_array[16];
-
- cpp_namespace::CppStruct *cpp_pointer = cpp_namespace::GetCppStructPtr();
-
- return 0; // Break here
-}
OpenPOWER on IntegriCloud