[pygccxml-commit] SF.net SVN: pygccxml:[1608] pyplusplus_dev/unittests
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2009-01-25 06:34:45
|
Revision: 1608 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1608&view=rev Author: roman_yakovenko Date: 2009-01-25 06:34:33 +0000 (Sun, 25 Jan 2009) Log Message: ----------- adding templates test case Modified Paths: -------------- pyplusplus_dev/unittests/ctypes_tester.py pyplusplus_dev/unittests/sconstruct Added Paths: ----------- pyplusplus_dev/unittests/data/ctypes/templates/ pyplusplus_dev/unittests/data/ctypes/templates/sconscript pyplusplus_dev/unittests/data/ctypes/templates/templates.cpp pyplusplus_dev/unittests/data/ctypes/templates/templates.h Modified: pyplusplus_dev/unittests/ctypes_tester.py =================================================================== --- pyplusplus_dev/unittests/ctypes_tester.py 2009-01-21 20:07:41 UTC (rev 1607) +++ pyplusplus_dev/unittests/ctypes_tester.py 2009-01-25 06:34:33 UTC (rev 1608) @@ -61,7 +61,7 @@ binaries_dir = os.path.dirname( self.symbols_file ) if os.path.exists( binaries_dir ): - print '\nrmdir ', binaries_dir + print '\nrmdir ', binaries_dir shutil.rmtree( binaries_dir ) autoconfig.scons_config.compile( self.__build_scons_cmd(), cwd=autoconfig.this_module_dir_path ) @@ -208,6 +208,21 @@ def test(self): self.failUnless( 21 == self.module_ref.sum_ints( 3, 5,7,9) ) +class templates_tester_t( ctypes_base_tester_t ): + def __init__( self, *args, **keywd ): + ctypes_base_tester_t.__init__( self, 'templates', *args, **keywd ) + + def customize( self, mb ): + 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" ) + + + def create_suite(): suite = unittest.TestSuite() #~ if 'win' in sys.platform: @@ -219,6 +234,7 @@ suite.addTest( unittest.makeSuite(anonymous_tester_t)) suite.addTest( unittest.makeSuite(variables_tester_t)) suite.addTest( unittest.makeSuite(varargs_tester_t)) + suite.addTest( unittest.makeSuite(templates_tester_t)) return suite def run_suite(): Added: pyplusplus_dev/unittests/data/ctypes/templates/sconscript =================================================================== --- pyplusplus_dev/unittests/data/ctypes/templates/sconscript (rev 0) +++ pyplusplus_dev/unittests/data/ctypes/templates/sconscript 2009-01-25 06:34:33 UTC (rev 1608) @@ -0,0 +1,7 @@ +Import('*') + +target_name = 'templates' +shlib = env.SharedLibrary( target=target_name + , source=[ target_name + '.cpp' ] + , CPPPATH=['#data'] ) +env.Alias( target_name, shlib ) Added: pyplusplus_dev/unittests/data/ctypes/templates/templates.cpp =================================================================== --- pyplusplus_dev/unittests/data/ctypes/templates/templates.cpp (rev 0) +++ pyplusplus_dev/unittests/data/ctypes/templates/templates.cpp 2009-01-25 06:34:33 UTC (rev 1608) @@ -0,0 +1,5 @@ +#include "templates.h" + +void EXPORT_SYMBOL init( value_t<int>& x){ + x.value = 2009; +} Added: pyplusplus_dev/unittests/data/ctypes/templates/templates.h =================================================================== --- pyplusplus_dev/unittests/data/ctypes/templates/templates.h (rev 0) +++ pyplusplus_dev/unittests/data/ctypes/templates/templates.h 2009-01-25 06:34:33 UTC (rev 1608) @@ -0,0 +1,11 @@ +#include "libconfig.h" + +template< class ValueType > +struct value_t{ + ValueType get_value(){ return value;} + ValueType value; +}; + +void EXPORT_SYMBOL init( value_t<int>& ); + +template class EXPORT_SYMBOL value_t<int>; Modified: pyplusplus_dev/unittests/sconstruct =================================================================== --- pyplusplus_dev/unittests/sconstruct 2009-01-21 20:07:41 UTC (rev 1607) +++ pyplusplus_dev/unittests/sconstruct 2009-01-25 06:34:33 UTC (rev 1608) @@ -32,7 +32,8 @@ , 'include_algorithm' , 'anonymous' , 'variables' - , 'varargs'] + , 'varargs' + , 'templates' ] 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. |