[pygccxml-commit] SF.net SVN: pygccxml:[1609] pyplusplus_dev/unittests
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2009-01-25 09:15:24
|
Revision: 1609 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1609&view=rev Author: roman_yakovenko Date: 2009-01-25 09:15:15 +0000 (Sun, 25 Jan 2009) Log Message: ----------- adding circular_references test case Modified Paths: -------------- pyplusplus_dev/unittests/ctypes_tester.py pyplusplus_dev/unittests/sconstruct Added Paths: ----------- pyplusplus_dev/unittests/data/ctypes/circular_references/ pyplusplus_dev/unittests/data/ctypes/circular_references/circular_references.cpp pyplusplus_dev/unittests/data/ctypes/circular_references/circular_references.h pyplusplus_dev/unittests/data/ctypes/circular_references/sconscript Modified: pyplusplus_dev/unittests/ctypes_tester.py =================================================================== --- pyplusplus_dev/unittests/ctypes_tester.py 2009-01-25 06:34:33 UTC (rev 1608) +++ pyplusplus_dev/unittests/ctypes_tester.py 2009-01-25 09:15:15 UTC (rev 1609) @@ -216,13 +216,23 @@ mb.class_( 'value_t<int>' ).alias = 'int_value_t' def test(self): - v = self.module_ref.int_value_t() - self.module_ref.init( v ) - self.failUnless( v.value == 2009 ) - self.failUnless( v.get_value() != 2009, "thiscall is not working yet" ) + pass +class circular_references_tester_t( ctypes_base_tester_t ): + def __init__( self, *args, **keywd ): + ctypes_base_tester_t.__init__( self, 'circular_references', *args, **keywd ) + def customize( self, mb ): + pass + def test(self): + bar = self.module_ref.bar_t() + foo = self.module_ref.foo_t() + + #TODO: add typedefs + #TODO: sort structs and classes by dependencies + pass #just test that module could be loaded + def create_suite(): suite = unittest.TestSuite() #~ if 'win' in sys.platform: @@ -235,6 +245,7 @@ suite.addTest( unittest.makeSuite(variables_tester_t)) suite.addTest( unittest.makeSuite(varargs_tester_t)) suite.addTest( unittest.makeSuite(templates_tester_t)) + suite.addTest( unittest.makeSuite(circular_references_tester_t)) return suite def run_suite(): Added: pyplusplus_dev/unittests/data/ctypes/circular_references/circular_references.cpp =================================================================== --- pyplusplus_dev/unittests/data/ctypes/circular_references/circular_references.cpp (rev 0) +++ pyplusplus_dev/unittests/data/ctypes/circular_references/circular_references.cpp 2009-01-25 09:15:15 UTC (rev 1609) @@ -0,0 +1 @@ +#include "circular_references.h" Added: pyplusplus_dev/unittests/data/ctypes/circular_references/circular_references.h =================================================================== --- pyplusplus_dev/unittests/data/ctypes/circular_references/circular_references.h (rev 0) +++ pyplusplus_dev/unittests/data/ctypes/circular_references/circular_references.h 2009-01-25 09:15:15 UTC (rev 1609) @@ -0,0 +1,17 @@ +#include "libconfig.h" + +struct foo_t; +struct bar_t; + +typedef int (*foo_func_type)( struct foo_t* ); +typedef int (*bar_func_type)( struct bar_t* ); + +struct EXPORT_SYMBOL foo_t{ + foo_func_type* f_foo; + bar_func_type* f_bar; +}; + +struct EXPORT_SYMBOL bar_t{ + int a, b; + struct foo_t foo; +}; Added: pyplusplus_dev/unittests/data/ctypes/circular_references/sconscript =================================================================== --- pyplusplus_dev/unittests/data/ctypes/circular_references/sconscript (rev 0) +++ pyplusplus_dev/unittests/data/ctypes/circular_references/sconscript 2009-01-25 09:15:15 UTC (rev 1609) @@ -0,0 +1,7 @@ +Import('*') + +target_name = 'circular_references' +shlib = env.SharedLibrary( target=target_name + , source=[ target_name + '.cpp' ] + , CPPPATH=['#data'] ) +env.Alias( target_name, shlib ) Modified: pyplusplus_dev/unittests/sconstruct =================================================================== --- pyplusplus_dev/unittests/sconstruct 2009-01-25 06:34:33 UTC (rev 1608) +++ pyplusplus_dev/unittests/sconstruct 2009-01-25 09:15:15 UTC (rev 1609) @@ -33,7 +33,8 @@ , 'anonymous' , 'variables' , 'varargs' - , 'templates' ] + , 'templates' + , 'circular_references' ] for s in scripts: SConscript( 'data/ctypes/%s/sconscript' % s This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |