def getBuildInfoForInitialRevision( self, buildScript, projectName ): iface = BuildScriptInterface( buildScript ) revision = iface.queryCurrentRevision() buildInfo = BuildInfo() buildInfo.setProjectName( projectName ) buildInfo.setBuildStatus( BuildInfo.Status.InitialRevision ) buildInfo.setRevision( revision ) buildInfo.setBuildScript( buildScript ) return buildInfo
def __makeBuildInfoFromRow( self, row ): buildInfo = BuildInfo() buildInfo.setBuildId( row[0] ) buildInfo.setProjectName( row[1] ) buildInfo.setBuildStatus( row[2] ) buildInfo.setPriority( row[3] ) buildInfo.setBuildType( row[4] ) buildInfo.setRevision( row[5] ) buildInfo.setUrl( row[6] ) buildInfo.setBranch( row[7] ) buildInfo.setTag( row[8] ) buildInfo.setBuildScript( row[9] ) return buildInfo
def testPersistBuildInfo( self ): randomBranch = self._randomString() randomTag = self._randomString() status = BuildStatus() filename = NamedTemporaryFile( suffix = '.sqlite' ).name status.setDatabaseFilename( filename ) info = BuildInfo() info.setProjectName( status.getName() ) info.setPriority( 0 ) info.setBuildStatus( BuildInfo.Status.NewRevision ) info.setBuildType( 'm' ) info.setRevision( 'abcdef' ) info.setUrl( '0123456789' ) info.setBranch( randomBranch ) info.setTag( randomTag ) info.setBuildScript( 'dummy.py' ) status.saveBuildInfo( [ info ] ) revs = status.loadBuildInfo( BuildInfo.Status.NewRevision ) self.assertTrue( len( revs ) == 1 ) self.assertEqual( revs[0].__dict__, info.__dict__ ) os.remove( filename )
def getBuildInfoForRevisionsSince( self, buildScript, projectName, revision ): '''Return all revisions that modified the project since the specified revision. @return a list of BuildInfo object, with the latest commit last @throws MomEception, if any of the operations fail ''' iface = BuildScriptInterface( buildScript ) buildInfos = [] lines = iface.queryRevisionsSince( revision ) for line in lines: line = line.strip() if not line: continue buildInfo = BuildInfo() buildInfo.initializeFromPrintableRepresentation( line ) buildInfo.setBuildStatus( buildInfo.Status.NewRevision ) buildInfo.setBuildScript( buildScript ) buildInfos.append( buildInfo ) buildInfos.reverse() return buildInfos