diff options
author | Raphael Isemann <teemperor@gmail.com> | 2019-09-01 09:12:37 +0000 |
---|---|---|
committer | Raphael Isemann <teemperor@gmail.com> | 2019-09-01 09:12:37 +0000 |
commit | 29872606d220420d53fde7cc5e3bea15f8da62e7 (patch) | |
tree | 47d7a82ccea48a6dd10a2d8ecb6b3c3127724131 /lldb/packages/Python/lldbsuite/test/expression_command/context-object | |
parent | adfdcb9c2652aeee585b9005fd6c67be06af8ea9 (diff) | |
download | bcm5719-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')
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 -} |