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