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