[pygccxml-commit] SF.net SVN: pygccxml:[1813] pygccxml_dev
Brought to you by:
mbaas,
roman_yakovenko
|
From: <rom...@us...> - 2010-01-18 22:09:15
|
Revision: 1813
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1813&view=rev
Author: roman_yakovenko
Date: 2010-01-18 22:09:09 +0000 (Mon, 18 Jan 2010)
Log Message:
-----------
improve decl_printer - sort declarations before printing
Modified Paths:
--------------
pygccxml_dev/pygccxml/declarations/decl_printer.py
pygccxml_dev/unittests/project_reader_correctness_tester.py
Modified: pygccxml_dev/pygccxml/declarations/decl_printer.py
===================================================================
--- pygccxml_dev/pygccxml/declarations/decl_printer.py 2010-01-18 20:04:41 UTC (rev 1812)
+++ pygccxml_dev/pygccxml/declarations/decl_printer.py 2010-01-18 22:09:09 UTC (rev 1813)
@@ -208,6 +208,8 @@
self.writer( ' ' * (curr_level + 1)* self.INDENT_SIZE + is_virtual.ljust( self.JUSTIFY ) + os.linesep)
def print_members(members_type, members, curr_level):
+ members = members[:]
+ members.sort()
self.writer( ' ' * curr_level * self.INDENT_SIZE + members_type.ljust( self.JUSTIFY ) + os.linesep)
if self.__recursive:
curr_level += 1
@@ -240,7 +242,9 @@
return #don't print info about empty namespaces
self.print_decl_header()
if self.__recursive:
- for decl in self.__inst.declarations:
+ inst_decls = self.__inst.declarations[:]
+ inst_decls.sort()
+ for decl in inst_decls:
if self.is_builtin_decl( decl ):
continue
prn = self.clone()
Modified: pygccxml_dev/unittests/project_reader_correctness_tester.py
===================================================================
--- pygccxml_dev/unittests/project_reader_correctness_tester.py 2010-01-18 20:04:41 UTC (rev 1812)
+++ pygccxml_dev/unittests/project_reader_correctness_tester.py 2010-01-18 22:09:09 UTC (rev 1813)
@@ -67,18 +67,16 @@
, compilation_mode=parser.COMPILATION_MODE.FILE_BY_FILE )
src_reader = parser.source_reader_t( self.config )
src_decls = src_reader.read_file( 'separate_compilation/all.h' )
- if src_decls != prj_decls:
- s = src_decls[0]
- p = prj_decls[0]
- sr = file( os.path.join( autoconfig.build_directory , 'separate_compilation.sr.txt'),'w+b' )
- pr = file( os.path.join( autoconfig.build_directory , 'separate_compilation.pr.txt'), 'w+b' )
- declarations.print_declarations( s, writer=lambda l: sr.write( l ) )
- declarations.print_declarations( p, writer=lambda l: pr.write( l ) )
- sr.close()
- pr.close()
- self.fail( "Expected - There is a difference between declarations" )
+
+ declarations.dump_declarations( src_decls
+ , os.path.join( autoconfig.build_directory, 'separate_compilation.sr.txt' ) )
+ declarations.dump_declarations( prj_decls
+ , os.path.join( autoconfig.build_directory, 'separate_compilation.pr.txt' ) )
+ self.failUnless( src_decls == prj_decls, "There is a difference between declarations" )
+
+
def create_suite():
suite = unittest.TestSuite()
suite.addTest( unittest.makeSuite(tester_t))
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|