diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-01-02 19:26:05 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-01-02 19:26:05 +0000 |
commit | 14f1b3e8826ce43b978db93a62d1166055db5394 (patch) | |
tree | 0a00ad8d3498783fe0193f3b656bca17c4c8697d /packages/Python/lldbsuite/test/python_api/class_members | |
parent | 4ee8c119c71a06dcad1e0fecc8c675e480e59337 (diff) |
Notes
Diffstat (limited to 'packages/Python/lldbsuite/test/python_api/class_members')
-rw-r--r-- | packages/Python/lldbsuite/test/python_api/class_members/TestSBTypeClassMembers.py | 75 |
1 files changed, 52 insertions, 23 deletions
diff --git a/packages/Python/lldbsuite/test/python_api/class_members/TestSBTypeClassMembers.py b/packages/Python/lldbsuite/test/python_api/class_members/TestSBTypeClassMembers.py index 3d9309e26cecb..a9e896f2579f8 100644 --- a/packages/Python/lldbsuite/test/python_api/class_members/TestSBTypeClassMembers.py +++ b/packages/Python/lldbsuite/test/python_api/class_members/TestSBTypeClassMembers.py @@ -5,14 +5,15 @@ Test SBType APIs to fetch member function types. from __future__ import print_function - -import os, time +import os +import time import re import lldb from lldbsuite.test.decorators import * from lldbsuite.test.lldbtest import * from lldbsuite.test import lldbutil + class SBTypeMemberFunctionsTest(TestBase): mydir = TestBase.compute_mydir(__file__) @@ -44,35 +45,63 @@ class SBTypeMemberFunctionsTest(TestBase): self.assertTrue(breakpoint, VALID_BREAKPOINT) # Now launch the process, and do not stop at entry point. - process = target.LaunchSimple (None, None, self.get_process_working_directory()) + process = target.LaunchSimple( + None, None, self.get_process_working_directory()) self.assertTrue(process, PROCESS_IS_VALID) # Get Frame #0. self.assertTrue(process.GetState() == lldb.eStateStopped) - thread = lldbutil.get_stopped_thread(process, lldb.eStopReasonBreakpoint) - self.assertTrue(thread.IsValid(), "There should be a thread stopped due to breakpoint condition") + thread = lldbutil.get_stopped_thread( + process, lldb.eStopReasonBreakpoint) + self.assertTrue( + thread.IsValid(), + "There should be a thread stopped due to breakpoint condition") frame0 = thread.GetFrameAtIndex(0) - + variable = frame0.FindVariable("d") Derived = variable.GetType() Base = Derived.GetDirectBaseClassAtIndex(0).GetType() - self.assertTrue(Derived.GetNumberOfMemberFunctions() == 2, "Derived declares two methods") - self.assertTrue(Derived.GetMemberFunctionAtIndex(0).GetType().GetFunctionReturnType().GetName() == "int", "Derived::dImpl returns int") - - self.assertTrue(Base.GetNumberOfMemberFunctions() == 4, "Base declares three methods") - self.assertTrue(Base.GetMemberFunctionAtIndex(3).GetType().GetFunctionArgumentTypes().GetSize() == 3, "Base::sfunc takes three arguments") - self.assertTrue(Base.GetMemberFunctionAtIndex(3).GetName() == "sfunc", "Base::sfunc not found") - self.assertTrue(Base.GetMemberFunctionAtIndex(3).GetKind() == lldb.eMemberFunctionKindStaticMethod, "Base::sfunc is a static") - self.assertTrue(Base.GetMemberFunctionAtIndex(2).GetType().GetFunctionArgumentTypes().GetSize() == 0, "Base::dat takes no arguments") - self.assertTrue(Base.GetMemberFunctionAtIndex(1).GetType().GetFunctionArgumentTypes().GetTypeAtIndex(1).GetName() == "char", "Base::bar takes a second 'char' argument") - self.assertTrue(Base.GetMemberFunctionAtIndex(1).GetName() == "bar", "Base::bar not found") - + self.assertEquals(2, + Derived.GetNumberOfMemberFunctions(), + "Derived declares two methods") + self.assertEquals("int", Derived.GetMemberFunctionAtIndex(0).GetType( + ).GetFunctionReturnType().GetName(), + "Derived::dImpl returns int") + + self.assertEquals(4, + Base.GetNumberOfMemberFunctions(), + "Base declares three methods") + self.assertEquals(3, Base.GetMemberFunctionAtIndex(3).GetType( + ).GetFunctionArgumentTypes().GetSize(), + "Base::sfunc takes three arguments") + self.assertEquals("sfunc", Base.GetMemberFunctionAtIndex( + 3).GetName(), "Base::sfunc not found") + self.assertEquals(lldb.eMemberFunctionKindStaticMethod, + Base.GetMemberFunctionAtIndex(3).GetKind(), + "Base::sfunc is a static") + self.assertEquals(0, Base.GetMemberFunctionAtIndex(2).GetType( + ).GetFunctionArgumentTypes().GetSize(), + "Base::dat takes no arguments") + self.assertEquals("char", + Base.GetMemberFunctionAtIndex(1).GetType().GetFunctionArgumentTypes( + ).GetTypeAtIndex(1).GetName(), + "Base::bar takes a second 'char' argument") + self.assertEquals("bar", + Base.GetMemberFunctionAtIndex(1).GetName(), "Base::bar not found") + variable = frame0.FindVariable("thingy") Thingy = variable.GetType() - - self.assertTrue(Thingy.GetNumberOfMemberFunctions() == 2, "Thingy declares two methods") - - self.assertTrue(Thingy.GetMemberFunctionAtIndex(0).GetReturnType().GetName() == "id", "Thingy::init returns an id") - self.assertTrue(Thingy.GetMemberFunctionAtIndex(1).GetNumberOfArguments() == 2, "Thingy::foo takes two arguments") - self.assertTrue(Thingy.GetMemberFunctionAtIndex(1).GetArgumentTypeAtIndex(0).GetName() == "int", "Thingy::foo takes an int") + + self.assertEquals( + 2, Thingy.GetNumberOfMemberFunctions(), + "Thingy declares two methods") + + self.assertEquals("id", Thingy.GetMemberFunctionAtIndex( + 0).GetReturnType().GetName(), "Thingy::init returns an id") + self.assertEquals(2, + Thingy.GetMemberFunctionAtIndex(1).GetNumberOfArguments(), + "Thingy::foo takes two arguments") + self.assertEquals("int", + Thingy.GetMemberFunctionAtIndex(1).GetArgumentTypeAtIndex( + 0).GetName(), "Thingy::foo takes an int") |