[pygccxml-commit] SF.net SVN: pygccxml:[1823] pygccxml_dev/unittests
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2010-01-31 08:02:23
|
Revision: 1823 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1823&view=rev Author: roman_yakovenko Date: 2010-01-31 08:02:15 +0000 (Sun, 31 Jan 2010) Log Message: ----------- porting tests to x86_64 architecture Modified Paths: -------------- pygccxml_dev/unittests/autoconfig.py pygccxml_dev/unittests/demangled_tester.py pygccxml_dev/unittests/patcher_tester.py Modified: pygccxml_dev/unittests/autoconfig.py =================================================================== --- pygccxml_dev/unittests/autoconfig.py 2010-01-31 08:00:00 UTC (rev 1822) +++ pygccxml_dev/unittests/autoconfig.py 2010-01-31 08:02:15 UTC (rev 1823) @@ -6,6 +6,7 @@ import os import sys import getpass +import platform #~ os.environ['PYCHECKER'] = '--limit=1000 -q --no-argsused' #~ import pychecker.checker @@ -15,7 +16,9 @@ data_directory = os.path.join( this_module_dir_path, 'data' ) build_directory = os.path.join( this_module_dir_path, 'temp' ) -gccxml_path = os.path.join( this_module_dir_path, '..', '..', 'gccxml_bin', 'v09', sys.platform, 'bin' ) +gccxml_path = os.path.join( this_module_dir_path, '..', '..', 'gccxml_bin', 'v09', platform.system(), platform.machine(), 'bin' ) +if not os.path.exists( gccxml_path ): + gccxml_path = os.path.join( this_module_dir_path, '..', '..', 'gccxml_bin', 'v09', sys.platform, 'bin' ) gccxml_version = '__GCCXML_09__' try: Modified: pygccxml_dev/unittests/demangled_tester.py =================================================================== --- pygccxml_dev/unittests/demangled_tester.py 2010-01-31 08:00:00 UTC (rev 1822) +++ pygccxml_dev/unittests/demangled_tester.py 2010-01-31 08:02:15 UTC (rev 1823) @@ -4,6 +4,7 @@ # http://www.boost.org/LICENSE_1_0.txt) import os +import platform import unittest import autoconfig import parser_test_case @@ -18,7 +19,7 @@ self.header = 'demangled.hpp' self.global_ns = None self.architecture = architecture - + def setUp(self): reader = parser.source_reader_t( self.config ) decls = None @@ -27,17 +28,22 @@ else: original_get_architecture = utils.get_architecture utils.get_architecture = lambda: 64 - decls = reader.read_xml_file( + decls = reader.read_xml_file( os.path.join( autoconfig.data_directory, 'demangled_tester_64bit.xml' ) ) utils.get_architecture = original_get_architecture self.global_ns = declarations.get_global_namespace( decls ) - - def test( self ): + + def test( self ): demangled = self.global_ns.namespace( 'demangled' ) if 32 == self.architecture: if '0.9' in demangled.compiler: - cls = demangled.class_( 'item_t<3740067437ul, 11ul, 2147483648ul>' ) - self.failUnless( cls._name == 'item_t<-554899859ul,11ul,-2147483648ul>' ) + if platform.machine() == 'x86_64': + cls = demangled.class_( 'item_t<25214903917ul, 11ul, 2147483648ul>' ) + self.failUnless( cls._name == 'item_t<25214903917ul,11ul,2147483648ul>' + , cls._name ) + else: + cls = demangled.class_( 'item_t<3740067437ul, 11ul, 2147483648ul>' ) + self.failUnless( cls._name == 'item_t<-554899859ul,11ul,-2147483648ul>') else: cls = demangled.class_( 'item_t<3740067437l, 11l, 2147483648l>' ) self.failUnless( cls._name == 'item_t<0x0deece66d,11,0x080000000>' ) @@ -48,7 +54,7 @@ def test_free_function( self ): f = self.global_ns.free_functions('set_a', allow_empty=True) if not f: - return + return f = f[0] self.failUnless( f.mangled ) @@ -60,11 +66,11 @@ def __init__(self, *args): tester_impl_t.__init__(self, 64, *args) - + def create_suite(): - suite = unittest.TestSuite() - suite.addTest( unittest.makeSuite(tester_32_t)) - suite.addTest( unittest.makeSuite(tester_64_t)) + suite = unittest.TestSuite() + suite.addTest( unittest.makeSuite(tester_32_t)) + suite.addTest( unittest.makeSuite(tester_64_t)) return suite def run_suite(): Modified: pygccxml_dev/unittests/patcher_tester.py =================================================================== --- pygccxml_dev/unittests/patcher_tester.py 2010-01-31 08:00:00 UTC (rev 1822) +++ pygccxml_dev/unittests/patcher_tester.py 2010-01-31 08:02:15 UTC (rev 1823) @@ -5,6 +5,7 @@ import os import unittest +import platform import autoconfig import parser_test_case @@ -17,7 +18,7 @@ parser_test_case.parser_test_case_t.__init__(self, *args) self.architecture = architecture self.global_ns = None - + def test_enum_patcher(self): fix_enum = self.global_ns.free_fun( 'fix_enum' ) self.failUnless( fix_enum.arguments[0].default_value == '::ns1::ns2::apple' ) @@ -28,12 +29,19 @@ fix_numeric = self.global_ns.free_fun( 'fix_numeric' ) if 32 == self.architecture: if '0.9' in fix_numeric.compiler: - self.failUnless( fix_numeric.arguments[0].default_value == u"0xffffffffffffffffu" ) + if platform.machine() == 'x86_64': + self.failUnless( fix_numeric.arguments[0].default_value == u"-1u" + , fix_numeric.arguments[0].default_value ) + else: + self.failUnless( fix_numeric.arguments[0].default_value == u"0xffffffffffffffffu" + , fix_numeric.arguments[0].default_value ) else: - self.failUnless( fix_numeric.arguments[0].default_value == u"0xffffffffffffffff" ) - else: - self.failUnless( fix_numeric.arguments[0].default_value == u"0ffffffff" ) - + self.failUnless( fix_numeric.arguments[0].default_value == u"0xffffffffffffffff" + , fix_numeric.arguments[0].default_value ) + else: + self.failUnless( fix_numeric.arguments[0].default_value == u"0ffffffff" + , fix_numeric.arguments[0].default_value ) + def test_unnamed_enum_patcher(self): fix_unnamed = self.global_ns.free_fun( 'fix_unnamed' ) self.failUnless( fix_unnamed.arguments[0].default_value == u"int(::fx::unnamed)" ) @@ -65,11 +73,11 @@ default_values = [ 'vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >()' , 'vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >((&allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >()))' - ] + ] self.failUnless( clone_tree.arguments[0].default_value in default_values) - + class tester_32_t( tester_impl_t ): - global_ns = None + global_ns = None def __init__(self, *args): tester_impl_t.__init__(self, 32, *args) @@ -77,7 +85,7 @@ if not tester_32_t.global_ns: reader = parser.source_reader_t( self.config ) tester_32_t.global_ns = reader.read_file( 'patcher.hpp' )[0].top_parent - self.global_ns = tester_32_t.global_ns + self.global_ns = tester_32_t.global_ns class tester_64_t( tester_impl_t ): @@ -92,17 +100,17 @@ if not tester_64_t.global_ns: reader = parser.source_reader_t( self.config ) - tester_64_t.global_ns = reader.read_xml_file( + tester_64_t.global_ns = reader.read_xml_file( os.path.join( autoconfig.data_directory, 'patcher_tester_64bit.xml' ) )[0].top_parent self.global_ns = tester_64_t.global_ns - + def tearDown( self ): utils.get_architecture = self.original_get_architecture def create_suite(): - suite = unittest.TestSuite() - suite.addTest( unittest.makeSuite(tester_32_t)) - suite.addTest( unittest.makeSuite(tester_64_t)) + suite = unittest.TestSuite() + suite.addTest( unittest.makeSuite(tester_32_t)) + suite.addTest( unittest.makeSuite(tester_64_t)) return suite def run_suite(): This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |