Exemple #1
0
	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
Exemple #2
0
	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 )
Exemple #4
0
	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