[pygccxml-commit] SF.net SVN: pygccxml: [585] pyplusplus_dev/unittests
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2006-09-25 10:19:23
|
Revision: 585 http://svn.sourceforge.net/pygccxml/?rev=585&view=rev Author: roman_yakovenko Date: 2006-09-25 03:19:10 -0700 (Mon, 25 Sep 2006) Log Message: ----------- adding unit test for opaque functionality Added Paths: ----------- pyplusplus_dev/unittests/data/split_module_bug_to_be_exported.hpp pyplusplus_dev/unittests/split_module_bug_tester.py Added: pyplusplus_dev/unittests/data/split_module_bug_to_be_exported.hpp =================================================================== --- pyplusplus_dev/unittests/data/split_module_bug_to_be_exported.hpp (rev 0) +++ pyplusplus_dev/unittests/data/split_module_bug_to_be_exported.hpp 2006-09-25 10:19:10 UTC (rev 585) @@ -0,0 +1,14 @@ +// Copyright 2004 Roman Yakovenko. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef __split_module_bug_to_be_exported_hpp__ +#define __split_module_bug_to_be_exported_hpp__ + +typedef struct opaque_ *opaque_pointer; + +inline opaque_pointer get_opaque(){ return 0; } + + +#endif//__split_module_to_be_exported_hpp__ Added: pyplusplus_dev/unittests/split_module_bug_tester.py =================================================================== --- pyplusplus_dev/unittests/split_module_bug_tester.py (rev 0) +++ pyplusplus_dev/unittests/split_module_bug_tester.py 2006-09-25 10:19:10 UTC (rev 585) @@ -0,0 +1,49 @@ +# Copyright 2004 Roman Yakovenko. +# Distributed under the Boost Software License, Version 1.0. (See +# accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) + +import os +import sys +import unittest +import autoconfig +import fundamental_tester_base + +from pyplusplus import module_builder +from pyplusplus.module_builder import call_policies + +class tester_t(fundamental_tester_base.fundamental_tester_base_t): + EXTENSION_NAME = 'split_module_bug' + + def __init__( self, *args ): + fundamental_tester_base.fundamental_tester_base_t.__init__( + self + , tester_t.EXTENSION_NAME + , *args ) + self.files = [] + + def customize( self, mb ): + mb.calldefs( 'get_opaque' ).call_policies \ + = call_policies.return_value_policy( call_policies.return_opaque_pointer ) + + def generate_source_files( self, mb ): + files = mb.split_module( autoconfig.build_dir, on_unused_file_found=lambda fpath: fpath ) + self.files = filter( lambda fname: fname.endswith( 'cpp' ), files ) + print self.files + + def get_source_files( self ): + return self.files + + def run_tests(self, module): + module.get_opaque() + +def create_suite(): + suite = unittest.TestSuite() + suite.addTest( unittest.makeSuite(tester_t)) + return suite + +def run_suite(): + unittest.TextTestRunner(verbosity=2).run( create_suite() ) + +if __name__ == "__main__": + run_suite() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |