示例#1
0
    def getPendingBuilds(self):
        # return IBuildRequestControl objects
        retval = []
        for r in self.original.getBuildable():
            retval.append(buildrequest.BuildRequestControl(self.original, r))

        return retval
    def test_BuildRequestControlCancelBuildRequest(self):
        master = fakemaster.make_master()
        master.db = fakedb.FakeDBConnector(self)
        bldr = mock.Mock(name="bldr")
        master.db.insertTestData([
            fakedb.BuildRequest(id=1, buildsetid=1, buildername='bldr'),
            fakedb.Buildset(id=1, reason='force', sourcestampsetid=1),
            fakedb.SourceStampSet(id=1),
            fakedb.SourceStamp(id=1, sourcestampsetid=1)
        ])

        d = master.db.buildrequests.getBuildRequest(1)

        def checkCanceled(br):
            self.assertEquals((br['complete'], br['results']),
                              (True, CANCELED))

        d.addCallback(lambda brdict: buildrequest.BuildRequest.fromBrdict(
            master, brdict))
        d.addCallback(
            lambda breq: buildrequest.BuildRequestControl(bldr, breq))
        d.addCallback(lambda breqControl: breqControl.cancel())
        d.addCallback(lambda _: master.db.buildrequests.getBuildRequest(1))
        d.addCallback(checkCanceled)

        return d
示例#3
0
    def getPendingBuildRequestControls(self):
        master = self.original.master
        brdicts = yield master.db.buildrequests.getBuildRequests(
                buildername=self.original.name,
                claimed=False)

        # convert those into BuildRequest objects
        buildrequests = [ ]
        for brdict in brdicts:
            br = yield buildrequest.BuildRequest.fromBrdict(
                    self.control.master, brdict)
            buildrequests.append(br)

        # and return the corresponding control objects
        defer.returnValue([ buildrequest.BuildRequestControl(self.original, r)
                            for r in buildrequests ])
示例#4
0
    def getPendingBuildRequestControls(self):
        master = self.original.master
        wfd = defer.waitForDeferred(
            master.db.buildrequests.getBuildRequests(
                buildername=self.original.name,
                claimed=False))
        yield wfd
        brdicts = wfd.getResult()

        # convert those into BuildRequest objects
        buildrequests = [ ]
        for brdict in brdicts:
            wfd = defer.waitForDeferred(
                buildrequest.BuildRequest.fromBrdict(self.master.master,
                                                     brdict))
            yield wfd
            buildrequests.append(wfd.getResult())

        # and return the corresponding control objects
        yield [ buildrequest.BuildRequestControl(self.original, r)
                 for r in buildrequests ]