[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.
|