Skip to content

Commit

Permalink
Merge branch 'cvsfixes' of git://github.com/davidag/buildbot
Browse files Browse the repository at this point in the history
* 'cvsfixes' of git://github.com/davidag/buildbot:
  Added four tests for branches. Two for when the branch is specified on the CVS step and two for when the branch comes from a sourcestamp (e.g. using a timed.Nightly with a specific branch).
  Fixes #2304 (self.branch was always empty)
  • Loading branch information
djmitche committed May 27, 2012
2 parents 27bf15c + 98649f7 commit 4531107
Show file tree
Hide file tree
Showing 2 changed files with 116 additions and 0 deletions.
1 change: 1 addition & 0 deletions master/buildbot/steps/source/cvs.py
Expand Up @@ -46,6 +46,7 @@ def __init__(self, cvsroot=None, cvsmodule='', mode='incremental',
Source.__init__(self, **kwargs)

def startVC(self, branch, revision, patch):
self.branch = branch
self.revision = revision
self.stdio_log = self.addLog("stdio")
self.method = self._getMethod()
Expand Down
115 changes: 115 additions & 0 deletions master/buildbot/test/unit/test_steps_source_cvs.py
Expand Up @@ -65,6 +65,66 @@ def test_mode_full_clean(self):
self.expectOutcome(result=SUCCESS, status_text=["update"])
return self.runStep()

def test_mode_full_clean_branch(self):
self.setupStep(
cvs.CVS(cvsroot=":pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot",
cvsmodule="mozilla/browser/", mode='full', method='clean',
branch='branch', login=True))
self.expectCommands(
ExpectShell(workdir='wkdir',
command=['cvs', '--version'])
+ 0,
Expect('uploadFile', dict(blocksize=32768, maxsize=None,
slavesrc='Root', workdir='wkdir/CVS',
writer=ExpectRemoteRef(shell.StringFileWriter)))
+ Expect.behavior(uploadString(':pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot'))
+ 0,
Expect('uploadFile', dict(blocksize=32768, maxsize=None,
slavesrc='Repository', workdir='wkdir/CVS',
writer=ExpectRemoteRef(shell.StringFileWriter)))
+ Expect.behavior(uploadString('mozilla/browser/'))
+ 0,
ExpectShell(workdir='wkdir',
command=['cvsdiscard'])
+ 0,
ExpectShell(workdir='wkdir',
command=['cvs', '-z3', 'update', '-dP', '-r', 'branch'])
+ 0,
)

self.expectOutcome(result=SUCCESS, status_text=["update"])
return self.runStep()

def test_mode_full_clean_branch_sourcestamp(self):
self.setupStep(
cvs.CVS(cvsroot=":pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot",
cvsmodule="mozilla/browser/", mode='full', method='clean',
login=True), args={'branch':'my_branch'})
self.expectCommands(
ExpectShell(workdir='wkdir',
command=['cvs', '--version'])
+ 0,
Expect('uploadFile', dict(blocksize=32768, maxsize=None,
slavesrc='Root', workdir='wkdir/CVS',
writer=ExpectRemoteRef(shell.StringFileWriter)))
+ Expect.behavior(uploadString(':pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot'))
+ 0,
Expect('uploadFile', dict(blocksize=32768, maxsize=None,
slavesrc='Repository', workdir='wkdir/CVS',
writer=ExpectRemoteRef(shell.StringFileWriter)))
+ Expect.behavior(uploadString('mozilla/browser/'))
+ 0,
ExpectShell(workdir='wkdir',
command=['cvsdiscard'])
+ 0,
ExpectShell(workdir='wkdir',
command=['cvs', '-z3', 'update', '-dP', '-r', 'my_branch'])
+ 0,
)

self.expectOutcome(result=SUCCESS, status_text=["update"])
return self.runStep()

def test_mode_full_fresh(self):
self.setupStep(
cvs.CVS(cvsroot=":pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot",
Expand Down Expand Up @@ -213,6 +273,61 @@ def test_mode_incremental(self):
self.expectOutcome(result=SUCCESS, status_text=["update"])
return self.runStep()

def test_mode_incremental_branch(self):
self.setupStep(
cvs.CVS(cvsroot=":pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot",
cvsmodule="mozilla/browser/", mode='incremental',
branch='my_branch', login=True))
self.expectCommands(
ExpectShell(workdir='wkdir',
command=['cvs', '--version'])
+ 0,
Expect('uploadFile', dict(blocksize=32768, maxsize=None,
slavesrc='Root', workdir='wkdir/CVS',
writer=ExpectRemoteRef(shell.StringFileWriter)))
+ Expect.behavior(uploadString(':pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot'))
+ 0,
Expect('uploadFile', dict(blocksize=32768, maxsize=None,
slavesrc='Repository', workdir='wkdir/CVS',
writer=ExpectRemoteRef(shell.StringFileWriter)))
+ Expect.behavior(uploadString('mozilla/browser/'))
+ 0,
ExpectShell(workdir='wkdir',
command=['cvs', '-z3', 'update', '-dP', '-r', 'my_branch'])
+ 0,
)

self.expectOutcome(result=SUCCESS, status_text=["update"])
return self.runStep()

def test_mode_incremental_branch_sourcestamp(self):
self.setupStep(
cvs.CVS(cvsroot=":pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot",
cvsmodule="mozilla/browser/", mode='incremental',
login=True), args={'branch':'my_branch'})
self.expectCommands(
ExpectShell(workdir='wkdir',
command=['cvs', '--version'])
+ 0,
Expect('uploadFile', dict(blocksize=32768, maxsize=None,
slavesrc='Root', workdir='wkdir/CVS',
writer=ExpectRemoteRef(shell.StringFileWriter)))
+ Expect.behavior(uploadString(':pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot'))
+ 0,
Expect('uploadFile', dict(blocksize=32768, maxsize=None,
slavesrc='Repository', workdir='wkdir/CVS',
writer=ExpectRemoteRef(shell.StringFileWriter)))
+ Expect.behavior(uploadString('mozilla/browser/'))
+ 0,
ExpectShell(workdir='wkdir',
command=['cvs', '-z3', 'update', '-dP', '-r', 'my_branch'])
+ 0,
)

self.expectOutcome(result=SUCCESS, status_text=["update"])
return self.runStep()


def test_mode_incremental_not_loggedin(self):
self.setupStep(
cvs.CVS(cvsroot=":pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot",
Expand Down

0 comments on commit 4531107

Please sign in to comment.