Index: third_party/buildbot_7_12/buildbot/test/test_transfer.py |
diff --git a/third_party/buildbot_7_12/buildbot/test/test_transfer.py b/third_party/buildbot_7_12/buildbot/test/test_transfer.py |
deleted file mode 100644 |
index 1eface4b183fc685efff1a7466423aeb7353a236..0000000000000000000000000000000000000000 |
--- a/third_party/buildbot_7_12/buildbot/test/test_transfer.py |
+++ /dev/null |
@@ -1,754 +0,0 @@ |
-# -*- test-case-name: buildbot.test.test_transfer -*- |
- |
-import os |
-from stat import ST_MODE |
-from twisted.trial import unittest |
-from buildbot.process.buildstep import WithProperties |
-from buildbot.steps.transfer import FileUpload, FileDownload, DirectoryUpload |
-from buildbot.test.runutils import StepTester |
-from buildbot.status.builder import SUCCESS, FAILURE |
- |
-# these steps pass a pb.Referenceable inside their arguments, so we have to |
-# catch and wrap them. If the LocalAsRemote wrapper were a proper membrane, |
-# we wouldn't have to do this. |
- |
-class UploadFile(StepTester, unittest.TestCase): |
- |
- def filterArgs(self, args): |
- if "writer" in args: |
- args["writer"] = self.wrap(args["writer"]) |
- return args |
- |
- def testSuccess(self): |
- self.slavebase = "UploadFile.testSuccess.slave" |
- self.masterbase = "UploadFile.testSuccess.master" |
- sb = self.makeSlaveBuilder() |
- os.mkdir(os.path.join(self.slavebase, self.slavebuilderbase, |
- "build")) |
- # the buildmaster normally runs chdir'ed into masterbase, so uploaded |
- # files will appear there. Under trial, we're chdir'ed into |
- # _trial_temp instead, so use a different masterdest= to keep the |
- # uploaded file in a test-local directory |
- masterdest = os.path.join(self.masterbase, "dest.text") |
- step = self.makeStep(FileUpload, |
- slavesrc="source.txt", |
- masterdest=masterdest) |
- slavesrc = os.path.join(self.slavebase, |
- self.slavebuilderbase, |
- "build", |
- "source.txt") |
- contents = "this is the source file\n" * 1000 |
- open(slavesrc, "w").write(contents) |
- f = open(masterdest, "w") |
- f.write("overwrite me\n") |
- f.close() |
- |
- d = self.runStep(step) |
- def _checkUpload(results): |
- step_status = step.step_status |
- #l = step_status.getLogs() |
- #if l: |
- # logtext = l[0].getText() |
- # print logtext |
- self.failUnlessEqual(results, SUCCESS) |
- self.failUnless(os.path.exists(masterdest)) |
- masterdest_contents = open(masterdest, "r").read() |
- self.failUnlessEqual(masterdest_contents, contents) |
- d.addCallback(_checkUpload) |
- return d |
- |
- def testMaxsize(self): |
- self.slavebase = "UploadFile.testMaxsize.slave" |
- self.masterbase = "UploadFile.testMaxsize.master" |
- sb = self.makeSlaveBuilder() |
- os.mkdir(os.path.join(self.slavebase, self.slavebuilderbase, |
- "build")) |
- masterdest = os.path.join(self.masterbase, "dest2.text") |
- step = self.makeStep(FileUpload, |
- slavesrc="source.txt", |
- masterdest=masterdest, |
- maxsize=12345) |
- slavesrc = os.path.join(self.slavebase, |
- self.slavebuilderbase, |
- "build", |
- "source.txt") |
- contents = "this is the source file\n" * 1000 |
- open(slavesrc, "w").write(contents) |
- f = open(masterdest, "w") |
- f.write("overwrite me\n") |
- f.close() |
- |
- d = self.runStep(step) |
- def _checkUpload(results): |
- step_status = step.step_status |
- #l = step_status.getLogs() |
- #if l: |
- # logtext = l[0].getText() |
- # print logtext |
- self.failUnlessEqual(results, FAILURE) |
- self.failUnless(os.path.exists(masterdest)) |
- masterdest_contents = open(masterdest, "r").read() |
- self.failUnlessEqual(len(masterdest_contents), 12345) |
- self.failUnlessEqual(masterdest_contents, contents[:12345]) |
- d.addCallback(_checkUpload) |
- return d |
- |
- def testMode(self): |
- self.slavebase = "UploadFile.testMode.slave" |
- self.masterbase = "UploadFile.testMode.master" |
- sb = self.makeSlaveBuilder() |
- os.mkdir(os.path.join(self.slavebase, self.slavebuilderbase, |
- "build")) |
- masterdest = os.path.join(self.masterbase, "dest3.text") |
- step = self.makeStep(FileUpload, |
- slavesrc="source.txt", |
- masterdest=masterdest, |
- mode=0755) |
- slavesrc = os.path.join(self.slavebase, |
- self.slavebuilderbase, |
- "build", |
- "source.txt") |
- contents = "this is the source file\n" |
- open(slavesrc, "w").write(contents) |
- f = open(masterdest, "w") |
- f.write("overwrite me\n") |
- f.close() |
- |
- d = self.runStep(step) |
- def _checkUpload(results): |
- step_status = step.step_status |
- #l = step_status.getLogs() |
- #if l: |
- # logtext = l[0].getText() |
- # print logtext |
- self.failUnlessEqual(results, SUCCESS) |
- self.failUnless(os.path.exists(masterdest)) |
- masterdest_contents = open(masterdest, "r").read() |
- self.failUnlessEqual(masterdest_contents, contents) |
- # and with 0777 to ignore sticky bits |
- dest_mode = os.stat(masterdest)[ST_MODE] & 0777 |
- self.failUnlessEqual(dest_mode, 0755, |
- "target mode was %o, we wanted %o" % |
- (dest_mode, 0755)) |
- d.addCallback(_checkUpload) |
- return d |
- |
- def testMissingFile(self): |
- self.slavebase = "UploadFile.testMissingFile.slave" |
- self.masterbase = "UploadFile.testMissingFile.master" |
- sb = self.makeSlaveBuilder() |
- step = self.makeStep(FileUpload, |
- slavesrc="MISSING.txt", |
- masterdest="dest.txt") |
- masterdest = os.path.join(self.masterbase, "dest4.txt") |
- |
- d = self.runStep(step) |
- def _checkUpload(results): |
- step_status = step.step_status |
- self.failUnlessEqual(results, FAILURE) |
- self.failIf(os.path.exists(masterdest)) |
- l = step_status.getLogs() |
- logtext = l[0].getText().strip() |
- self.failUnless(logtext.startswith("Cannot open file")) |
- self.failUnless(logtext.endswith("for upload")) |
- d.addCallback(_checkUpload) |
- return d |
- |
- def testLotsOfBlocks(self): |
- self.slavebase = "UploadFile.testLotsOfBlocks.slave" |
- self.masterbase = "UploadFile.testLotsOfBlocks.master" |
- sb = self.makeSlaveBuilder() |
- os.mkdir(os.path.join(self.slavebase, self.slavebuilderbase, |
- "build")) |
- # the buildmaster normally runs chdir'ed into masterbase, so uploaded |
- # files will appear there. Under trial, we're chdir'ed into |
- # _trial_temp instead, so use a different masterdest= to keep the |
- # uploaded file in a test-local directory |
- masterdest = os.path.join(self.masterbase, "dest.text") |
- step = self.makeStep(FileUpload, |
- slavesrc="source.txt", |
- masterdest=masterdest, |
- blocksize=15) |
- slavesrc = os.path.join(self.slavebase, |
- self.slavebuilderbase, |
- "build", |
- "source.txt") |
- contents = "".join(["this is the source file #%d\n" % i |
- for i in range(1000)]) |
- open(slavesrc, "w").write(contents) |
- f = open(masterdest, "w") |
- f.write("overwrite me\n") |
- f.close() |
- |
- d = self.runStep(step) |
- def _checkUpload(results): |
- step_status = step.step_status |
- #l = step_status.getLogs() |
- #if l: |
- # logtext = l[0].getText() |
- # print logtext |
- self.failUnlessEqual(results, SUCCESS) |
- self.failUnless(os.path.exists(masterdest)) |
- masterdest_contents = open(masterdest, "r").read() |
- self.failUnlessEqual(masterdest_contents, contents) |
- d.addCallback(_checkUpload) |
- return d |
- |
- def testWorkdir(self): |
- self.slavebase = "Upload.testWorkdir.slave" |
- self.masterbase = "Upload.testWorkdir.master" |
- sb = self.makeSlaveBuilder() |
- |
- self.workdir = "mybuild" # override default in StepTest |
- full_workdir = os.path.join( |
- self.slavebase, self.slavebuilderbase, self.workdir) |
- os.mkdir(full_workdir) |
- |
- masterdest = os.path.join(self.masterbase, "dest.txt") |
- |
- step = self.makeStep(FileUpload, |
- slavesrc="source.txt", |
- masterdest=masterdest) |
- |
- # Testing that the FileUpload's workdir is set when makeStep() |
- # calls setDefaultWorkdir() is actually enough; carrying on and |
- # making sure the upload actually succeeds is pure gravy. |
- self.failUnlessEqual(self.workdir, step.workdir) |
- |
- slavesrc = os.path.join(full_workdir, "source.txt") |
- open(slavesrc, "w").write("upload me\n") |
- |
- def _checkUpload(results): |
- self.failUnlessEqual(results, SUCCESS) |
- self.failUnless(os.path.isfile(masterdest)) |
- |
- d = self.runStep(step) |
- d.addCallback(_checkUpload) |
- return d |
- |
- def testWithProperties(self): |
- # test that workdir can be a WithProperties object |
- self.slavebase = "Upload.testWithProperties.slave" |
- self.masterbase = "Upload.testWithProperties.master" |
- sb = self.makeSlaveBuilder() |
- |
- step = self.makeStep(FileUpload, |
- slavesrc="src.txt", |
- masterdest="dest.txt") |
- step.workdir = WithProperties("build.%s", "buildnumber") |
- |
- self.failUnlessEqual(step._getWorkdir(), "build.1") |
- |
-class DownloadFile(StepTester, unittest.TestCase): |
- |
- def filterArgs(self, args): |
- if "reader" in args: |
- args["reader"] = self.wrap(args["reader"]) |
- return args |
- |
- def testSuccess(self): |
- self.slavebase = "DownloadFile.testSuccess.slave" |
- self.masterbase = "DownloadFile.testSuccess.master" |
- sb = self.makeSlaveBuilder() |
- os.mkdir(os.path.join(self.slavebase, self.slavebuilderbase, |
- "build")) |
- mastersrc = os.path.join(self.masterbase, "source.text") |
- slavedest = os.path.join(self.slavebase, |
- self.slavebuilderbase, |
- "build", |
- "dest.txt") |
- step = self.makeStep(FileDownload, |
- mastersrc=mastersrc, |
- slavedest="dest.txt") |
- contents = "this is the source file\n" * 1000 # 24kb, so two blocks |
- open(mastersrc, "w").write(contents) |
- f = open(slavedest, "w") |
- f.write("overwrite me\n") |
- f.close() |
- |
- d = self.runStep(step) |
- def _checkDownload(results): |
- step_status = step.step_status |
- self.failUnlessEqual(results, SUCCESS) |
- self.failUnless(os.path.exists(slavedest)) |
- slavedest_contents = open(slavedest, "r").read() |
- self.failUnlessEqual(slavedest_contents, contents) |
- d.addCallback(_checkDownload) |
- return d |
- |
- def testMaxsize(self): |
- self.slavebase = "DownloadFile.testMaxsize.slave" |
- self.masterbase = "DownloadFile.testMaxsize.master" |
- sb = self.makeSlaveBuilder() |
- os.mkdir(os.path.join(self.slavebase, self.slavebuilderbase, |
- "build")) |
- mastersrc = os.path.join(self.masterbase, "source.text") |
- slavedest = os.path.join(self.slavebase, |
- self.slavebuilderbase, |
- "build", |
- "dest.txt") |
- step = self.makeStep(FileDownload, |
- mastersrc=mastersrc, |
- slavedest="dest.txt", |
- maxsize=12345) |
- contents = "this is the source file\n" * 1000 # 24kb, so two blocks |
- open(mastersrc, "w").write(contents) |
- f = open(slavedest, "w") |
- f.write("overwrite me\n") |
- f.close() |
- |
- d = self.runStep(step) |
- def _checkDownload(results): |
- step_status = step.step_status |
- # the file should be truncated, and the step a FAILURE |
- self.failUnlessEqual(results, FAILURE) |
- self.failUnless(os.path.exists(slavedest)) |
- slavedest_contents = open(slavedest, "r").read() |
- self.failUnlessEqual(len(slavedest_contents), 12345) |
- self.failUnlessEqual(slavedest_contents, contents[:12345]) |
- d.addCallback(_checkDownload) |
- return d |
- |
- def testMode(self): |
- self.slavebase = "DownloadFile.testMode.slave" |
- self.masterbase = "DownloadFile.testMode.master" |
- sb = self.makeSlaveBuilder() |
- os.mkdir(os.path.join(self.slavebase, self.slavebuilderbase, |
- "build")) |
- mastersrc = os.path.join(self.masterbase, "source.text") |
- slavedest = os.path.join(self.slavebase, |
- self.slavebuilderbase, |
- "build", |
- "dest.txt") |
- step = self.makeStep(FileDownload, |
- mastersrc=mastersrc, |
- slavedest="dest.txt", |
- mode=0755) |
- contents = "this is the source file\n" |
- open(mastersrc, "w").write(contents) |
- f = open(slavedest, "w") |
- f.write("overwrite me\n") |
- f.close() |
- |
- d = self.runStep(step) |
- def _checkDownload(results): |
- step_status = step.step_status |
- self.failUnlessEqual(results, SUCCESS) |
- self.failUnless(os.path.exists(slavedest)) |
- slavedest_contents = open(slavedest, "r").read() |
- self.failUnlessEqual(slavedest_contents, contents) |
- # and with 0777 to ignore sticky bits |
- dest_mode = os.stat(slavedest)[ST_MODE] & 0777 |
- self.failUnlessEqual(dest_mode, 0755, |
- "target mode was %o, we wanted %o" % |
- (dest_mode, 0755)) |
- d.addCallback(_checkDownload) |
- return d |
- |
- def testMissingFile(self): |
- self.slavebase = "DownloadFile.testMissingFile.slave" |
- self.masterbase = "DownloadFile.testMissingFile.master" |
- sb = self.makeSlaveBuilder() |
- os.mkdir(os.path.join(self.slavebase, self.slavebuilderbase, |
- "build")) |
- mastersrc = os.path.join(self.masterbase, "MISSING.text") |
- slavedest = os.path.join(self.slavebase, |
- self.slavebuilderbase, |
- "build", |
- "dest.txt") |
- step = self.makeStep(FileDownload, |
- mastersrc=mastersrc, |
- slavedest="dest.txt") |
- |
- d = self.runStep(step) |
- def _checkDownload(results): |
- step_status = step.step_status |
- self.failUnlessEqual(results, FAILURE) |
- self.failIf(os.path.exists(slavedest)) |
- l = step_status.getLogs() |
- logtext = l[0].getText().strip() |
- self.failUnless(logtext.endswith(" not available at master")) |
- d.addCallbacks(_checkDownload) |
- |
- return d |
- |
- def testLotsOfBlocks(self): |
- self.slavebase = "DownloadFile.testLotsOfBlocks.slave" |
- self.masterbase = "DownloadFile.testLotsOfBlocks.master" |
- sb = self.makeSlaveBuilder() |
- os.mkdir(os.path.join(self.slavebase, self.slavebuilderbase, |
- "build")) |
- mastersrc = os.path.join(self.masterbase, "source.text") |
- slavedest = os.path.join(self.slavebase, |
- self.slavebuilderbase, |
- "build", |
- "dest.txt") |
- step = self.makeStep(FileDownload, |
- mastersrc=mastersrc, |
- slavedest="dest.txt", |
- blocksize=15) |
- contents = "".join(["this is the source file #%d\n" % i |
- for i in range(1000)]) |
- open(mastersrc, "w").write(contents) |
- f = open(slavedest, "w") |
- f.write("overwrite me\n") |
- f.close() |
- |
- d = self.runStep(step) |
- def _checkDownload(results): |
- step_status = step.step_status |
- self.failUnlessEqual(results, SUCCESS) |
- self.failUnless(os.path.exists(slavedest)) |
- slavedest_contents = open(slavedest, "r").read() |
- self.failUnlessEqual(slavedest_contents, contents) |
- d.addCallback(_checkDownload) |
- return d |
- |
- def testWorkdir(self): |
- self.slavebase = "Download.testWorkdir.slave" |
- self.masterbase = "Download.testWorkdir.master" |
- sb = self.makeSlaveBuilder() |
- |
- # As in Upload.testWorkdir(), it's enough to test that makeStep()'s |
- # call of setDefaultWorkdir() actually sets step.workdir. |
- self.workdir = "mybuild" |
- step = self.makeStep(FileDownload, |
- mastersrc="foo", |
- slavedest="foo") |
- self.failUnlessEqual(step.workdir, self.workdir) |
- |
- def testWithProperties(self): |
- # test that workdir can be a WithProperties object |
- self.slavebase = "Download.testWithProperties.slave" |
- self.masterbase = "Download.testWithProperties.master" |
- sb = self.makeSlaveBuilder() |
- |
- step = self.makeStep(FileDownload, |
- mastersrc="src.txt", |
- slavedest="dest.txt") |
- step.workdir = WithProperties("build.%s", "buildnumber") |
- |
- self.failUnlessEqual(step._getWorkdir(), "build.1") |
- |
- |
- |
-class UploadDirectory(StepTester, unittest.TestCase): |
- |
- def filterArgs(self, args): |
- if "writer" in args: |
- args["writer"] = self.wrap(args["writer"]) |
- return args |
- |
- def testSuccess(self): |
- self.slavebase = "UploadDirectory.testSuccess.slave" |
- self.masterbase = "UploadDirectory.testSuccess.master" |
- sb = self.makeSlaveBuilder() |
- os.mkdir(os.path.join(self.slavebase, self.slavebuilderbase, |
- "build")) |
- # the buildmaster normally runs chdir'ed into masterbase, so uploaded |
- # files will appear there. Under trial, we're chdir'ed into |
- # _trial_temp instead, so use a different masterdest= to keep the |
- # uploaded file in a test-local directory |
- masterdest = os.path.join(self.masterbase, "dest_dir") |
- step = self.makeStep(DirectoryUpload, |
- slavesrc="source_dir", |
- masterdest=masterdest) |
- slavesrc = os.path.join(self.slavebase, |
- self.slavebuilderbase, |
- "build", |
- "source_dir") |
- dircount = 5 |
- content = [] |
- content.append("this is one source file\n" * 1000) |
- content.append("this is a second source file\n" * 978) |
- content.append("this is a third source file\n" * 473) |
- os.mkdir(slavesrc) |
- for i in range(dircount): |
- os.mkdir(os.path.join(slavesrc, "d%i" % (i))) |
- for j in range(dircount): |
- curdir = os.path.join("d%i" % (i), "e%i" % (j)) |
- os.mkdir(os.path.join(slavesrc, curdir)) |
- for h in range(3): |
- open(os.path.join(slavesrc, curdir, "file%i" % (h)), "w").write(content[h]) |
- for j in range(dircount): |
- #empty dirs, must be uploaded too |
- curdir = os.path.join("d%i" % (i), "f%i" % (j)) |
- os.mkdir(os.path.join(slavesrc, curdir)) |
- |
- d = self.runStep(step) |
- def _checkUpload(results): |
- step_status = step.step_status |
- #l = step_status.getLogs() |
- #if l: |
- # logtext = l[0].getText() |
- # print logtext |
- self.failUnlessEqual(results, SUCCESS) |
- self.failUnless(os.path.exists(masterdest)) |
- for i in range(dircount): |
- for j in range(dircount): |
- curdir = os.path.join("d%i" % (i), "e%i" % (j)) |
- self.failUnless(os.path.exists(os.path.join(masterdest, curdir))) |
- for h in range(3): |
- masterdest_contents = open(os.path.join(masterdest, curdir, "file%i" % (h)), "r").read() |
- self.failUnlessEqual(masterdest_contents, content[h]) |
- for j in range(dircount): |
- curdir = os.path.join("d%i" % (i), "f%i" % (j)) |
- self.failUnless(os.path.exists(os.path.join(masterdest, curdir))) |
- d.addCallback(_checkUpload) |
- return d |
- |
- def testOneEmptyDir(self): |
- self.slavebase = "UploadDirectory.testOneEmptyDir.slave" |
- self.masterbase = "UploadDirectory.testOneEmptyDir.master" |
- sb = self.makeSlaveBuilder() |
- os.mkdir(os.path.join(self.slavebase, self.slavebuilderbase, |
- "build")) |
- # the buildmaster normally runs chdir'ed into masterbase, so uploaded |
- # files will appear there. Under trial, we're chdir'ed into |
- # _trial_temp instead, so use a different masterdest= to keep the |
- # uploaded file in a test-local directory |
- masterdest = os.path.join(self.masterbase, "dest_dir") |
- step = self.makeStep(DirectoryUpload, |
- slavesrc="source_dir", |
- masterdest=masterdest) |
- slavesrc = os.path.join(self.slavebase, |
- self.slavebuilderbase, |
- "build", |
- "source_dir") |
- os.mkdir(slavesrc) |
- |
- d = self.runStep(step) |
- def _checkUpload(results): |
- step_status = step.step_status |
- #l = step_status.getLogs() |
- #if l: |
- # logtext = l[0].getText() |
- # print logtext |
- self.failUnlessEqual(results, SUCCESS) |
- self.failUnless(os.path.exists(masterdest)) |
- d.addCallback(_checkUpload) |
- return d |
- |
- def testManyEmptyDirs(self): |
- self.slavebase = "UploadDirectory.testManyEmptyDirs.slave" |
- self.masterbase = "UploadDirectory.testManyEmptyDirs.master" |
- sb = self.makeSlaveBuilder() |
- os.mkdir(os.path.join(self.slavebase, self.slavebuilderbase, |
- "build")) |
- # the buildmaster normally runs chdir'ed into masterbase, so uploaded |
- # files will appear there. Under trial, we're chdir'ed into |
- # _trial_temp instead, so use a different masterdest= to keep the |
- # uploaded file in a test-local directory |
- masterdest = os.path.join(self.masterbase, "dest_dir") |
- step = self.makeStep(DirectoryUpload, |
- slavesrc="source_dir", |
- masterdest=masterdest) |
- slavesrc = os.path.join(self.slavebase, |
- self.slavebuilderbase, |
- "build", |
- "source_dir") |
- dircount = 25 |
- os.mkdir(slavesrc) |
- for i in range(dircount): |
- os.mkdir(os.path.join(slavesrc, "d%i" % (i))) |
- for j in range(dircount): |
- curdir = os.path.join("d%i" % (i), "e%i" % (j)) |
- os.mkdir(os.path.join(slavesrc, curdir)) |
- curdir = os.path.join("d%i" % (i), "f%i" % (j)) |
- os.mkdir(os.path.join(slavesrc, curdir)) |
- |
- d = self.runStep(step) |
- def _checkUpload(results): |
- step_status = step.step_status |
- #l = step_status.getLogs() |
- #if l: |
- # logtext = l[0].getText() |
- # print logtext |
- self.failUnlessEqual(results, SUCCESS) |
- self.failUnless(os.path.exists(masterdest)) |
- for i in range(dircount): |
- for j in range(dircount): |
- curdir = os.path.join("d%i" % (i), "e%i" % (j)) |
- self.failUnless(os.path.exists(os.path.join(masterdest, curdir))) |
- curdir = os.path.join("d%i" % (i), "f%i" % (j)) |
- self.failUnless(os.path.exists(os.path.join(masterdest, curdir))) |
- d.addCallback(_checkUpload) |
- return d |
- |
- def testOneDirOneFile(self): |
- self.slavebase = "UploadDirectory.testOneDirOneFile.slave" |
- self.masterbase = "UploadDirectory.testOneDirOneFile.master" |
- sb = self.makeSlaveBuilder() |
- os.mkdir(os.path.join(self.slavebase, self.slavebuilderbase, |
- "build")) |
- # the buildmaster normally runs chdir'ed into masterbase, so uploaded |
- # files will appear there. Under trial, we're chdir'ed into |
- # _trial_temp instead, so use a different masterdest= to keep the |
- # uploaded file in a test-local directory |
- masterdest = os.path.join(self.masterbase, "dest_dir") |
- step = self.makeStep(DirectoryUpload, |
- slavesrc="source_dir", |
- masterdest=masterdest) |
- slavesrc = os.path.join(self.slavebase, |
- self.slavebuilderbase, |
- "build", |
- "source_dir") |
- os.mkdir(slavesrc) |
- content = "this is one source file\n" * 1000 |
- open(os.path.join(slavesrc, "srcfile"), "w").write(content) |
- |
- d = self.runStep(step) |
- def _checkUpload(results): |
- step_status = step.step_status |
- #l = step_status.getLogs() |
- #if l: |
- # logtext = l[0].getText() |
- # print logtext |
- self.failUnlessEqual(results, SUCCESS) |
- self.failUnless(os.path.exists(masterdest)) |
- masterdest_contents = open(os.path.join(masterdest, "srcfile"), "r").read() |
- self.failUnlessEqual(masterdest_contents, content) |
- d.addCallback(_checkUpload) |
- return d |
- |
- def testOneDirManyFiles(self): |
- self.slavebase = "UploadDirectory.testOneDirManyFile.slave" |
- self.masterbase = "UploadDirectory.testOneDirManyFile.master" |
- sb = self.makeSlaveBuilder() |
- os.mkdir(os.path.join(self.slavebase, self.slavebuilderbase, |
- "build")) |
- # the buildmaster normally runs chdir'ed into masterbase, so uploaded |
- # files will appear there. Under trial, we're chdir'ed into |
- # _trial_temp instead, so use a different masterdest= to keep the |
- # uploaded file in a test-local directory |
- masterdest = os.path.join(self.masterbase, "dest_dir") |
- step = self.makeStep(DirectoryUpload, |
- slavesrc="source_dir", |
- masterdest=masterdest) |
- slavesrc = os.path.join(self.slavebase, |
- self.slavebuilderbase, |
- "build", |
- "source_dir") |
- filecount = 20 |
- os.mkdir(slavesrc) |
- content = [] |
- content.append("this is one source file\n" * 1000) |
- content.append("this is a second source file\n" * 978) |
- content.append("this is a third source file\n" * 473) |
- for i in range(3): |
- for j in range(filecount): |
- open(os.path.join(slavesrc, "srcfile%i_%i" % (i, j)), "w").write(content[i]) |
- |
- d = self.runStep(step) |
- def _checkUpload(results): |
- step_status = step.step_status |
- #l = step_status.getLogs() |
- #if l: |
- # logtext = l[0].getText() |
- # print logtext |
- self.failUnlessEqual(results, SUCCESS) |
- self.failUnless(os.path.exists(masterdest)) |
- for i in range(3): |
- for j in range(filecount): |
- masterdest_contents = open(os.path.join(masterdest, "srcfile%i_%i" % (i, j)), "r").read() |
- self.failUnlessEqual(masterdest_contents, content[i]) |
- d.addCallback(_checkUpload) |
- return d |
- |
- def testManyDirsManyFiles(self): |
- self.slavebase = "UploadDirectory.testManyDirsManyFile.slave" |
- self.masterbase = "UploadDirectory.testManyDirsManyFile.master" |
- sb = self.makeSlaveBuilder() |
- os.mkdir(os.path.join(self.slavebase, self.slavebuilderbase, |
- "build")) |
- # the buildmaster normally runs chdir'ed into masterbase, so uploaded |
- # files will appear there. Under trial, we're chdir'ed into |
- # _trial_temp instead, so use a different masterdest= to keep the |
- # uploaded file in a test-local directory |
- masterdest = os.path.join(self.masterbase, "dest_dir") |
- step = self.makeStep(DirectoryUpload, |
- slavesrc="source_dir", |
- masterdest=masterdest) |
- slavesrc = os.path.join(self.slavebase, |
- self.slavebuilderbase, |
- "build", |
- "source_dir") |
- dircount = 10 |
- os.mkdir(slavesrc) |
- for i in range(dircount): |
- os.mkdir(os.path.join(slavesrc, "d%i" % (i))) |
- for j in range(dircount): |
- curdir = os.path.join("d%i" % (i), "e%i" % (j)) |
- os.mkdir(os.path.join(slavesrc, curdir)) |
- curdir = os.path.join("d%i" % (i), "f%i" % (j)) |
- os.mkdir(os.path.join(slavesrc, curdir)) |
- |
- filecount = 5 |
- content = [] |
- content.append("this is one source file\n" * 1000) |
- content.append("this is a second source file\n" * 978) |
- content.append("this is a third source file\n" * 473) |
- for i in range(dircount): |
- for j in range(dircount): |
- for k in range(3): |
- for l in range(filecount): |
- open(os.path.join(slavesrc, "d%i" % (i), "e%i" % (j), "srcfile%i_%i" % (k, l)), "w").write(content[k]) |
- |
- d = self.runStep(step) |
- def _checkUpload(results): |
- step_status = step.step_status |
- #l = step_status.getLogs() |
- #if l: |
- # logtext = l[0].getText() |
- # print logtext |
- self.failUnlessEqual(results, SUCCESS) |
- self.failUnless(os.path.exists(masterdest)) |
- for i in range(dircount): |
- for j in range(dircount): |
- for k in range(3): |
- for l in range(filecount): |
- masterdest_contents = open(os.path.join(masterdest, "d%i" % (i), "e%i" % (j), "srcfile%i_%i" % (k, l)), "r").read() |
- self.failUnlessEqual(masterdest_contents, content[k]) |
- d.addCallback(_checkUpload) |
- return d |
- |
- |
- def testBigFile(self): |
- self.slavebase = "UploadDirectory.testBigFile.slave" |
- self.masterbase = "UploadDirectory.testBigFile.master" |
- sb = self.makeSlaveBuilder() |
- os.mkdir(os.path.join(self.slavebase, self.slavebuilderbase, |
- "build")) |
- # the buildmaster normally runs chdir'ed into masterbase, so uploaded |
- # files will appear there. Under trial, we're chdir'ed into |
- # _trial_temp instead, so use a different masterdest= to keep the |
- # uploaded file in a test-local directory |
- masterdest = os.path.join(self.masterbase, "dest_dir") |
- step = self.makeStep(DirectoryUpload, |
- slavesrc="source_dir", |
- masterdest=masterdest) |
- slavesrc = os.path.join(self.slavebase, |
- self.slavebuilderbase, |
- "build", |
- "source_dir") |
- content = 'x' * 1024*1024*8 |
- os.mkdir(slavesrc) |
- open(os.path.join(slavesrc, "file"), "w").write(content) |
- |
- d = self.runStep(step) |
- def _checkUpload(results): |
- step_status = step.step_status |
- self.failUnlessEqual(results, SUCCESS) |
- self.failUnless(os.path.exists(masterdest)) |
- masterdest_contents = open(os.path.join(masterdest, "file"), "r").read() |
- self.failUnlessEqual(masterdest_contents, content) |
- d.addCallback(_checkUpload) |
- return d |
- |
- |
-# TODO: |
-# test relative paths, ~/paths |
-# need to implement expanduser() for slave-side |
-# test error message when master-side file is in a missing directory |
-# remove workdir= default? |
- |