#NEWLINE# def test_buildAll( self ) : #NEWLINE# #INDENT# "\n        L{NewsBuilder.buildAll} calls L{NewsBuilder.build} once for each\n        subproject, passing that subproject's I{topfiles} directory as C{path},\n        the I{NEWS} file in that directory as C{output}, and the subproject's\n        name as C{header}, and then again for each subproject with the\n        top-level I{NEWS} file for C{output}. Blacklisted subprojects are\n        skipped.\n        " #NEWLINE# builds = [ ] #NEWLINE# builder = NewsBuilder ( ) #NEWLINE# builder . build = ( lambda path , output , header : builds . append ( ( path , output , header ) ) ) #NEWLINE# builder . blacklist = [ 'vfs' ] #NEWLINE# builder . _today = ( lambda : '2009-12-01' ) #NEWLINE# project = self . createFakeTwistedProject ( ) #NEWLINE# builder . buildAll ( project ) #NEWLINE# coreTopfiles = project . child ( 'topfiles' ) #NEWLINE# coreNews = coreTopfiles . child ( 'NEWS' ) #NEWLINE# coreHeader = 'Twisted Core 1.2.3 (2009-12-01)' #NEWLINE# conchTopfiles = project . child ( 'conch' ) . child ( 'topfiles' ) #NEWLINE# conchNews = conchTopfiles . child ( 'NEWS' ) #NEWLINE# conchHeader = 'Twisted Conch 3.4.5 (2009-12-01)' #NEWLINE# aggregateNews = project . child ( 'NEWS' ) #NEWLINE# self . assertEquals ( builds , [ ( conchTopfiles , conchNews , conchHeader ) , ( coreTopfiles , coreNews , coreHeader ) , ( conchTopfiles , aggregateNews , conchHeader ) , ( coreTopfiles , aggregateNews , coreHeader ) ] )