Пример #1
0
    def setUp(self):
        r = FakeRequest()
        s1 = FakeSource()
        s1.repository = "repoA"
        s1.codebase = "A"
        s1.changes = [FakeChange(10), FakeChange(11)]
        s1.revision = "12345"
        s2 = FakeSource()
        s2.repository = "repoB"
        s2.codebase = "B"
        s2.changes = [FakeChange(12), FakeChange(13)]
        s2.revision = "67890"
        s3 = FakeSource()
        s3.repository = "repoC"
        # no codebase defined
        s3.changes = [FakeChange(14), FakeChange(15)]
        s3.revision = "111213"
        r.sources.extend([s1, s2, s3])

        self.build = Build([r])
Пример #2
0
    def setUp(self):
        class FakeBuildStatus(Mock):
            implements(interfaces.IProperties)

        r = FakeRequest()
        r.sources = [FakeSource()]
        r.sources[0].changes = [FakeChange()]
        r.sources[0].revision = "12345"
        self.master = fakemaster.make_master(wantData=True, testcase=self)
        self.slave = slave.FakeSlave(self.master)
        self.slave.attached(None)
        self.slavebuilder = Mock(name='slavebuilder')
        self.slavebuilder.slave = self.slave
        self.build = Build([r])
        self.build.setStepFactories([])
        self.builder = FakeBuilder(
            fakemaster.make_master(wantData=True, testcase=self))
        self.build.setBuilder(self.builder)
        self.build_status = FakeBuildStatus()
        self.build.startBuild(self.build_status, None, self.slavebuilder)
Пример #3
0
    def setUp(self):
        r = FakeRequest()
        r.sources = [FakeSource()]
        r.sources[0].changes = [FakeChange()]
        r.sources[0].revision = "12345"

        self.request = r
        self.master = fakemaster.make_master(wantData=True, testcase=self)

        self.master.botmaster = FakeBotMaster(master=self.master)

        self.slave = slave.FakeSlave(self.master)
        self.slave.attached(None)
        self.builder = FakeBuilder(self.master)
        self.build = Build([r])
        self.build.conn = fakeprotocol.FakeConnection(self.master, self.slave)

        self.slavebuilder = Mock(name='slavebuilder')
        self.slavebuilder.slave = self.slave

        self.build.setBuilder(self.builder)
Пример #4
0
    def setUp(self):
        r = FakeRequest()
        r.sources = [FakeSource()]
        r.sources[0].changes = [FakeChange()]
        r.sources[0].revision = "12345"

        self.request = r
        self.master = fakemaster.make_master(wantData=True, testcase=self)

        self.worker = worker.FakeWorker(self.master)
        self.worker.attached(None)
        self.builder = FakeBuilder(self.master)
        self.build = Build([r])
        self.build.conn = fakeprotocol.FakeConnection(self.master, self.worker)

        self.workerforbuilder = Mock(name='workerforbuilder')
        self.workerforbuilder.worker = self.worker
        self.workerforbuilder.prepare = lambda _: True
        self.workerforbuilder.ping = lambda: True

        self.build.setBuilder(self.builder)
    def testStopBuildWaitingForStepLocks(self):
        r = FakeRequest()

        b = Build([r])
        b.setBuilder(Mock())
        b.builder.botmaster = FakeMaster()
        slavebuilder = Mock()
        status = Mock()

        l = SlaveLock('lock')
        lock_access = l.access('counting')
        l.access = lambda mode: lock_access
        real_lock = b.builder.botmaster.getLockByID(l).getLock(slavebuilder)

        step = LoggingBuildStep(locks=[lock_access])
        def factory(*args):
            return step
        b.setStepFactories([(factory, {})])

        real_lock.claim(Mock(), l.access('counting'))

        gotLocks = [False]

        def acquireLocks(res=None):
            gotLocks[0] = True
            retval = LoggingBuildStep.acquireLocks(step, res)
            self.assert_(b.currentStep is step)
            b.stopBuild('stop it')
            return retval
        step.acquireLocks = acquireLocks
        step.setStepStatus = Mock()
        step.step_status = Mock()
        step.step_status.addLog().chunkSize = 10
        step.step_status.getLogs.return_value = []

        b.startBuild(status, None, slavebuilder)

        self.assertEqual(gotLocks, [True])
        self.assert_(('stepStarted', (), {}) in step.step_status.method_calls)
        self.assertEqual(b.result, EXCEPTION)
Пример #6
0
 def setUp(self):
     self.props = {}
     r = FakeRequest()
     r.sources = []
     r.sources.append(FakeSource())
     r.sources[0].changes = [FakeChange()]
     r.sources[0].repository = "http://svn-repo-A"
     r.sources[0].codebase = "A"
     r.sources[0].branch = "develop"
     r.sources[0].revision = "12345"
     r.sources.append(FakeSource())
     r.sources[1].changes = [FakeChange()]
     r.sources[1].repository = "http://svn-repo-B"
     r.sources[1].codebase = "B"
     r.sources[1].revision = "34567"
     self.build = Build([r])
     self.build.setStepFactories([])
     self.builder = Mock()
     self.build.setBuilder(self.builder)
     self.build.build_status = FakeBuildStatus()
     # record properties that will be set
     self.build.build_status.setProperty = self.setProperty
Пример #7
0
 def setUp(self):
     self.setUpTestReactor()
     self.props = {}
     self.r = FakeRequest()
     self.r.sources = []
     self.r.sources.append(FakeSource())
     self.r.sources[0].changes = [FakeChange()]
     self.r.sources[0].repository = "http://svn-repo-A"
     self.r.sources[0].codebase = "A"
     self.r.sources[0].branch = "develop"
     self.r.sources[0].revision = "12345"
     self.r.sources.append(FakeSource())
     self.r.sources[1].changes = [FakeChange()]
     self.r.sources[1].repository = "http://svn-repo-B"
     self.r.sources[1].codebase = "B"
     self.r.sources[1].revision = "34567"
     self.build = Build([self.r])
     self.build.setStepFactories([])
     self.builder = FakeBuilder(fakemaster.make_master(self, wantData=True))
     self.build.setBuilder(self.builder)
     # record properties that will be set
     self.build.properties.setProperty = self.setProperty
Пример #8
0
    def setUp(self):
        self.setUpTestReactor()
        r = FakeRequest()
        r.sources = [FakeSource()]
        r.sources[0].changes = [FakeChange()]
        r.sources[0].revision = "12345"

        self.request = r
        self.master = fakemaster.make_master(self, wantData=True)

        self.worker = worker.FakeWorker(self.master)
        self.worker.attached(None)
        self.builder = FakeBuilder(self.master)
        self.build = Build([r])
        self.build.conn = fakeprotocol.FakeConnection(self.master, self.worker)

        self.workerforbuilder = Mock(name='workerforbuilder')
        self.workerforbuilder.worker = self.worker
        self.workerforbuilder.substantiate_if_needed = lambda _: True
        self.workerforbuilder.ping = lambda: True

        self.build.setBuilder(self.builder)
        self.build.text = []
        self.build.buildid = 666
    def setUp(self):
        class FakeProperties(Mock):
            implements(interfaces.IProperties)

        class FakeBuildStatus(Mock):
            pass
        r = FakeRequest()
        r.sources = [FakeSource()]
        r.sources[0].changes = [FakeChange()]
        r.sources[0].revision = "12345"
        self.master = fakemaster.make_master(wantData=True, testcase=self)
        self.worker = worker.FakeWorker(self.master)
        self.worker.attached(None)
        self.workerforbuilder = Mock(name='workerforbuilder')
        self.workerforbuilder.worker = self.worker
        self.build = Build([r])
        self.build.setStepFactories([])
        self.builder = FakeBuilder(
            fakemaster.make_master(wantData=True, testcase=self))
        self.build.setBuilder(self.builder)
        self.properties = self.build.properties = FakeProperties()
        self.build_status = FakeBuildStatus()
        self.build._flushProperties = Mock()
        self.build.startBuild(self.build_status, self.workerforbuilder)
    def testStopBuild(self):
        r = FakeRequest()

        b = Build([r])
        b.setBuilder(Mock())

        step = Mock()
        step.return_value = step
        b.setStepFactories([(step, {})])

        slavebuilder = Mock()
        status = Mock()

        def startStep(*args, **kw):
            # Now interrupt the build
            b.stopBuild("stop it")
            return defer.Deferred()
        step.startStep = startStep

        b.startBuild(status, None, slavebuilder)

        self.assertEqual(b.result, EXCEPTION)

        self.assert_( ('interrupt', ('stop it',), {}) in step.method_calls)
Пример #11
0
 def test_blamelist_for_patch(self):
     r = FakeRequest()
     r.sources.extend([self.patchSource])
     build = Build([r])
     blamelist = build.blamelist()
     self.assertEqual(blamelist, ['jeff'])
Пример #12
0
 def test_blamelist_for_changes(self):
     r = FakeRequest()
     r.sources.extend([self.sourceByMe, self.sourceByHim])
     build = Build([r])
     blamelist = build.blamelist()
     self.assertEqual(blamelist, ['him', 'me'])
Пример #13
0
 def setUp(self):
     r = FakeRequest()
     self.build = Build([r])
     self.builder = Mock()
     self.builder.botmaster = FakeMaster()
     self.build.setBuilder(self.builder)
Пример #14
0
 def newBuild(buildrequests):
     self.build = Build(buildrequests)
     self.build.setStepFactories([fakebuild.FakeStepFactory(self.step)])
     return self.build