def GetRevisionList( SvnUrl ): """Make an BuildStatus list of revisions, sorted latest-to-older""" Lines = GetSvnLog ( SvnUrl ) RevisionLine = re.compile( '^r\d+\s') Revisions = [] for Line in Lines: Match = RevisionLine.match( Line ) if Match: Status = BuildStatus() Pieces = Line.split('|') Status.committer = Pieces[1].strip() Status.revision = int (Pieces[0].rstrip()[1:]) Status.svnUrl = SvnUrl Revisions = Revisions + [ Status ] return Revisions
def GetRevisionList(SvnUrl): """Make an BuildStatus list of revisions, sorted latest-to-older""" Lines = GetSvnLog(SvnUrl) RevisionLine = re.compile('^r\d+\s') Revisions = [] for Line in Lines: Match = RevisionLine.match(Line) if Match: Status = BuildStatus() Pieces = Line.split('|') Status.committer = Pieces[1].strip() Status.revision = int(Pieces[0].rstrip()[1:]) Status.svnUrl = SvnUrl Revisions = Revisions + [Status] return Revisions
#!/usr/bin/python from buildinator_build_status import BuildStatus # main: status = BuildStatus() status.revision = 123456 status.platform = "Linux boombox 2.6.13-15.7-default #1 Tue Nov 29 14:32:29 UTC 2005 x86_64 x86_64 x86_64 GNU/Linux" status.options = "CONFIG+=debug" status.prefix = "Debug" status.checkoutStatus = 1 status.configureStatus = 1 status.compileStatus = 2 status.initialTestStatus = 4 status.committer = "mirko" status.dumpBuildStatus()
#!/usr/bin/python from buildinator_build_status import BuildStatus # main: status = BuildStatus() status.revision = 123456 status.platform = 'Linux boombox 2.6.13-15.7-default #1 Tue Nov 29 14:32:29 UTC 2005 x86_64 x86_64 x86_64 GNU/Linux' status.options = 'CONFIG+=debug' status.prefix = 'Debug' status.checkoutStatus = 1 status.configureStatus = 1 status.compileStatus = 2 status.initialTestStatus = 4 status.committer = 'mirko' status.dumpBuildStatus()
# "main": # parse command line args to find the revision to test: print """Build and test a subversion revision of a module. (C) Mirko Boehm, 2006 This script is licensed as a part of the ThreadWeaver multithreading suite under the LGPL. Run this script in an empty directory. """ Module = '' ProFileName = '' Revision = 0 Status = BuildStatus() try: Status.revision = int (sys.argv[1]) Status.svnUrl = sys.argv[2] Status.projectFile = sys.argv[3] Status.numberOfTestRuns = 100 except: print "Usage: " + sys.argv[0] + " <SVN revision to test> <SvnURL> <ProFileName>" print "Example: " + sys.argv[0] \ + ' 452230 svn+ssh://svn.kde.org/home/kde/trunk/kdenonbeta/threadweaver ' \ + 'ThreadWeaver.pro' sys.exit (-1) else: Results = buildinator_common.ExecuteBuildAndTest ( Status, os.getcwd() ) for Result in Results: Result.dumpBuildStatus()