From f2daca89fcc76a9bd08043a6de9c33e4ef6813a8 Mon Sep 17 00:00:00 2001 From: "SND\\kernelnet_cp" Date: Wed, 9 Jan 2013 13:14:44 +0000 Subject: [PATCH] [0.2.x] fixed: typeBuilder returns wrong basic types git-svn-id: https://pykd.svn.codeplex.com/svn@82204 9b283d60-5439-405e-af05-b73fd8c4d996 --- pykd/customtypes.h | 2 +- pykd/pykdver.h | 2 +- pykd/python/pymod.cpp | 10 +++++----- snippets/pytowiki.py | 3 +-- test/scripts/customtypestest.py | 21 +++++++++++++++++++++ 5 files changed, 29 insertions(+), 9 deletions(-) diff --git a/pykd/customtypes.h b/pykd/customtypes.h index d63ab31..5a84c48 100644 --- a/pykd/customtypes.h +++ b/pykd/customtypes.h @@ -30,7 +30,7 @@ public: TypeInfoPtr getInt4B() { return TypeInfo::getBaseTypeInfo( "Int4B" ); } TypeInfoPtr getInt8B() { return TypeInfo::getBaseTypeInfo( "Int8B" ); } TypeInfoPtr getLong() { return TypeInfo::getBaseTypeInfo( "Long" ); } - TypeInfoPtr getULong() { return TypeInfo::getBaseTypeInfo( "Ulong" ); } + TypeInfoPtr getULong() { return TypeInfo::getBaseTypeInfo( "ULong" ); } TypeInfoPtr getBool() { return TypeInfo::getBaseTypeInfo( "Bool" ); } TypeInfoPtr getChar() { return TypeInfo::getBaseTypeInfo( "Char" ); } TypeInfoPtr getWChar() { return TypeInfo::getBaseTypeInfo( "WChar" ); } diff --git a/pykd/pykdver.h b/pykd/pykdver.h index 2fbe79d..b61c2de 100644 --- a/pykd/pykdver.h +++ b/pykd/pykdver.h @@ -2,7 +2,7 @@ #define PYKD_VERSION_MAJOR 0 #define PYKD_VERSION_MINOR 2 #define PYKD_VERSION_SUBVERSION 0 -#define PYKD_VERSION_BUILDNO 12 +#define PYKD_VERSION_BUILDNO 13 #define __VER_STR2__(x) #x diff --git a/pykd/python/pymod.cpp b/pykd/python/pymod.cpp index c1e8b9c..8a09a96 100644 --- a/pykd/python/pymod.cpp +++ b/pykd/python/pymod.cpp @@ -89,7 +89,7 @@ BOOST_PYTHON_MODULE( pykd ) // Manage debug target python::def( "startProcess", &startProcess, - "Start process for debugging"); + "Start process for debugging" ); python::def( "attachProcess", &attachProcess, "Attach debugger to a exsisting process" ); python::def( "detachProcess", &detachProcess, detachProcess_( boost::python::args( "pid" ), @@ -470,10 +470,10 @@ BOOST_PYTHON_MODULE( pykd ) .add_property( "Int4B", &TypeBuilder::getInt4B ) .add_property( "Int8B", &TypeBuilder::getInt8B ) .add_property( "Long", &TypeBuilder::getLong ) - .add_property( "ULong", &TypeBuilder::getLong ) - .add_property( "Bool", &TypeBuilder::getLong ) - .add_property( "Char", &TypeBuilder::getLong ) - .add_property( "WChar", &TypeBuilder::getLong ) + .add_property( "ULong", &TypeBuilder::getULong ) + .add_property( "Bool", &TypeBuilder::getBool ) + .add_property( "Char", &TypeBuilder::getChar ) + .add_property( "WChar", &TypeBuilder::getWChar ) .add_property( "VoidPtr", &TypeBuilder::getVoidPtr ) .def( "createStruct", &TypeBuilder::createStruct, TypeBuilder_createStruct( python::args( "name", "align" ), "create custom struct" ) ) diff --git a/snippets/pytowiki.py b/snippets/pytowiki.py index 9fb857b..78fbd05 100644 --- a/snippets/pytowiki.py +++ b/snippets/pytowiki.py @@ -80,8 +80,7 @@ def buildDoc( ioStream, formatter, apiInfo ): if cls.properties: ioStream.write( formatter.header4( "Properties:") ) for p in cls.properties: - if p[1].__doc__ != None: - ioStream.write( formatter.bulletItem( formatter.link( p[0], cls.__name__ + "." + p[0]) ) ) + ioStream.write( formatter.bulletItem( formatter.link( p[0], cls.__name__ + "." + p[0]) ) ) if cls.methods: ioStream.write( formatter.header4( "Methods:") ) diff --git a/test/scripts/customtypestest.py b/test/scripts/customtypestest.py index dff9815..b6b5b2a 100644 --- a/test/scripts/customtypestest.py +++ b/test/scripts/customtypestest.py @@ -79,3 +79,24 @@ class CustomTypesTest(unittest.TestCase): except pykd.TypeException: exceptionRised = True self.assertTrue(exceptionRised) + + def testBasicType(self): + tb = pykd.typeBuilder() + self.assertEqual( 1, tb.UInt1B.size() ) + self.assertEqual( 2, tb.UInt2B.size() ) + self.assertEqual( 4, tb.UInt4B.size() ) + self.assertEqual( 8, tb.UInt8B.size() ) + self.assertEqual( 1, tb.Int1B.size() ) + self.assertEqual( 2, tb.Int2B.size() ) + self.assertEqual( 4, tb.Int4B.size() ) + self.assertEqual( 8, tb.Int8B.size() ) + self.assertEqual( 1, tb.Bool.size() ) + self.assertEqual( 1, tb.Char.size() ) + self.assertEqual( 2, tb.WChar.size() ) + self.assertEqual( 4, tb.Long.size() ) + self.assertEqual( 4, tb.ULong.size() ) + + def testVoidPtr(self): + self.assertEqual( 4, pykd.typeBuilder(4).VoidPtr.size() ) + self.assertEqual( 8, pykd.typeBuilder(8).VoidPtr.size() ) + self.assertEqual( pykd.ptrSize(), pykd.typeBuilder().VoidPtr.size() )