当前位置: 首页>>代码示例>>Python>>正文


Python BuildRequest.waitUntilFinished方法代码示例

本文整理汇总了Python中buildbot.process.base.BuildRequest.waitUntilFinished方法的典型用法代码示例。如果您正苦于以下问题:Python BuildRequest.waitUntilFinished方法的具体用法?Python BuildRequest.waitUntilFinished怎么用?Python BuildRequest.waitUntilFinished使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在buildbot.process.base.BuildRequest的用法示例。


在下文中一共展示了BuildRequest.waitUntilFinished方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: _connected

# 需要导入模块: from buildbot.process.base import BuildRequest [as 别名]
# 或者: from buildbot.process.base.BuildRequest import waitUntilFinished [as 别名]
    def _connected(self, *args):
        # Our fake source stamp
        # we override canBeMergedWith so that our requests don't get merged together
        ss = SourceStamp()
        ss.canBeMergedWith = lambda x: False

        # Send one request to tie up the slave before sending future requests
        req0 = BuildRequest("reason", ss, "test_builder")
        self.master.botmaster.builders['quick1'].submitBuildRequest(req0)

        # Send 10 requests to alternating builders
        # We fudge the submittedAt field after submitting since they're all
        # getting submitted so close together according to time.time()
        # and all we care about is what order they're run in.
        reqs = []
        self.finish_order = []
        for i in range(10):
            req = BuildRequest(str(i), ss, "test_builder")
            j = i % 2 + 1
            self.master.botmaster.builders['quick%i' % j].submitBuildRequest(req)
            req.submittedAt = i
            # Keep track of what order the builds finished in
            def append(item, arg):
                self.finish_order.append(item)
            req.waitUntilFinished().addCallback(append, req)
            reqs.append(req.waitUntilFinished())

        dl = defer.DeferredList(reqs)
        dl.addCallback(self._all_finished)

        # After our first build finishes, we should wait for the rest to finish
        d = req0.waitUntilFinished()
        d.addCallback(lambda x: dl)
        return d
开发者ID:gescalante,项目名称:buildbot,代码行数:36,代码来源:test_run.py

示例2: doBuild

# 需要导入模块: from buildbot.process.base import BuildRequest [as 别名]
# 或者: from buildbot.process.base.BuildRequest import waitUntilFinished [as 别名]
 def doBuild(self, buildername, reason="forced"):
     # we need to prevent these builds from being merged, so we create
     # each of them with a different revision specifier. The revision is
     # ignored because our build process does not have a source checkout
     # step.
     self.revision += 1
     br = BuildRequest(reason, SourceStamp(revision=self.revision))
     d = br.waitUntilFinished()
     self.control.getBuilder(buildername).requestBuild(br)
     return d
开发者ID:binoc-software,项目名称:mozilla-cvs,代码行数:12,代码来源:test_slaves.py

示例3: requestBuild

# 需要导入模块: from buildbot.process.base import BuildRequest [as 别名]
# 或者: from buildbot.process.base.BuildRequest import waitUntilFinished [as 别名]
 def requestBuild(self, builder, locale):
     # returns a Deferred that fires with an IBuildStatus object when the
     # build is finished
     props = Properties()
     props.setProperty('locale', locale, 'scheduler')
     props.setProperty('tree', 'app', 'scheduler')
     req = BuildRequest("forced build", SourceStamp(), builder,
                        properties=props)
     self.control.getBuilder(builder).requestBuild(req)
     return req.waitUntilFinished()
开发者ID:pombredanne,项目名称:locale-inspector,代码行数:12,代码来源:test_compare.py

示例4: send

# 需要导入模块: from buildbot.process.base import BuildRequest [as 别名]
# 或者: from buildbot.process.base.BuildRequest import waitUntilFinished [as 别名]
 def send(res):
     # send some build requests
     ss = SourceStamp()
     for i in range(5):
         req = BuildRequest(str(i), ss, "dummy")
         self.master.botmaster.builders['dummy'].submitBuildRequest(req)
         req.submittedAt = i
         def append(build):
             start_order.append(int(build.reason))
         req.subscribe(append)
         reqs.append(req.waitUntilFinished())
开发者ID:realalien,项目名称:buildbot.play,代码行数:13,代码来源:test_ordering.py

示例5: _send

# 需要导入模块: from buildbot.process.base import BuildRequest [as 别名]
# 或者: from buildbot.process.base.BuildRequest import waitUntilFinished [as 别名]
        def _send(res):
            # send some build requests
            reqs = []
            ss = SourceStamp()
            for i in range(5):
                req = BuildRequest(str(i), ss, "dummy")
                self.master.botmaster.builders['dummy'].submitBuildRequest(req)
                reqs.append(req.waitUntilFinished())

            dl = defer.DeferredList(reqs)
            dl.addCallback(check)
            return dl
开发者ID:realalien,项目名称:buildbot.play,代码行数:14,代码来源:test_ordering.py

示例6: testPriority

# 需要导入模块: from buildbot.process.base import BuildRequest [as 别名]
# 或者: from buildbot.process.base.BuildRequest import waitUntilFinished [as 别名]
    def testPriority(self):
        self.rmtree("basedir")
        os.mkdir("basedir")
        self.master.loadConfig(config_priority)
        self.master.readConfig = True
        self.master.startService()

        # Our fake source stamp
        # we override canBeMergedWith so that our requests don't get merged together
        ss = SourceStamp()
        ss.canBeMergedWith = lambda x: False

        # Send 10 requests to alternating builders
        # We fudge the submittedAt field after submitting since they're all
        # getting submitted so close together according to time.time()
        # and all we care about is what order they're run in.
        reqs = []
        self.start_order = []
        for i in range(10):
            req = BuildRequest(str(i), ss, "test_builder")
            j = i % 2 + 1
            self.master.botmaster.builders['quick%i' % j].submitBuildRequest(req)
            req.submittedAt = i
            # Keep track of what order the builds start in
            def append(build):
                self.start_order.append(int(build.reason))
            req.subscribe(append)
            reqs.append(req.waitUntilFinished())

        dl = defer.DeferredList(reqs)
        dl.addCallback(self._all_finished)

        def _delay(res):
            d1 = defer.Deferred()
            reactor.callLater(0.5, d1.callback, None)
            # this test depends upon this 0.5s delay landing us in the middle
            # of one of the builds.
            return d1

        def _connect(res, i):
            return self.connectSlave(slavename="bot%i" % i, builders=["quick1", "quick2"])

        # Now add the slaves
        d = self.connectSlave(slavename="bot0", builders=["quick1", "quick2"])
        for i in range(1,5):
            d.addCallback(_delay)
            d.addCallback(_connect, i)

        d.addCallback(lambda x: dl)

        return d
开发者ID:LawrenceChan,项目名称:buildbot,代码行数:53,代码来源:test_run.py

示例7: testDontClaimPingingSlave

# 需要导入模块: from buildbot.process.base import BuildRequest [as 别名]
# 或者: from buildbot.process.base.BuildRequest import waitUntilFinished [as 别名]
 def testDontClaimPingingSlave(self):
     # have two slaves connect for the same builder. Do something to the
     # first one so that slavepings are delayed (but do not fail
     # outright).
     timers = []
     self.slaves['bot1'].debugOpts["stallPings"] = (10, timers)
     br = BuildRequest("forced", SourceStamp(), 'test_builder')
     d1 = br.waitUntilFinished()
     self.master.botmaster.builders["b1"].CHOOSE_SLAVES_RANDOMLY = False
     self.control.getBuilder("b1").requestBuild(br)
     s1 = br.status # this is a BuildRequestStatus
     # give it a chance to start pinging
     d2 = defer.Deferred()
     d2.addCallback(self._testDontClaimPingingSlave_1, d1, s1, timers)
     reactor.callLater(1, d2.callback, None)
     return d2
开发者ID:gescalante,项目名称:buildbot,代码行数:18,代码来源:test_slaves.py

示例8: _testSlave_1

# 需要导入模块: from buildbot.process.base import BuildRequest [as 别名]
# 或者: from buildbot.process.base.BuildRequest import waitUntilFinished [as 别名]
    def _testSlave_1(self, res, t1):
        self.failUnlessEqual(len(t1.events), 2)
        self.failUnlessEqual(t1.events[0],
                             ("builderChangedState", "dummy", "idle"))
        self.failUnlessEqual(t1.events[1],
                             ("builderChangedState", "testdummy", "idle"))
        t1.events = []

        c = interfaces.IControl(self.master)
        req = BuildRequest("forced build for testing", SourceStamp())
        c.getBuilder("dummy").requestBuild(req)
        d = req.waitUntilFinished()
        d2 = self.master.botmaster.waitUntilBuilderIdle("dummy")
        dl = defer.DeferredList([d, d2])
        dl.addCallback(self._testSlave_2)
        return dl
开发者ID:binoc-software,项目名称:mozilla-cvs,代码行数:18,代码来源:test_status.py

示例9: doBuild

# 需要导入模块: from buildbot.process.base import BuildRequest [as 别名]
# 或者: from buildbot.process.base.BuildRequest import waitUntilFinished [as 别名]
 def doBuild(self):
     br = BuildRequest("forced", SourceStamp(), 'test_builder')
     d = br.waitUntilFinished()
     self.control.getBuilder('b1').requestBuild(br)
     return d
开发者ID:MahatmaManic,项目名称:buildbot,代码行数:7,代码来源:test_ec2buildslave.py

示例10: _testSlave_2

# 需要导入模块: from buildbot.process.base import BuildRequest [as 别名]
# 或者: from buildbot.process.base.BuildRequest import waitUntilFinished [as 别名]
    def _testSlave_2(self, res):
        # t1 subscribes to builds, but not anything lower-level
        ev = self.t1.events
        self.failUnlessEqual(len(ev), 4)
        self.failUnlessEqual(ev[0][0:3],
                             ("builderChangedState", "dummy", "building"))
        self.failUnlessEqual(ev[1][0], "buildStarted")
        self.failUnlessEqual(ev[2][0:2]+ev[2][3:4],
                             ("buildFinished", "dummy", builder.SUCCESS))
        self.failUnlessEqual(ev[3][0:3],
                             ("builderChangedState", "dummy", "idle"))

        self.failUnlessEqual([ev[0] for ev in self.t3.events],
                             ["builderAdded",
                              "builderChangedState", # offline
                              "builderAdded",
                              "builderChangedState", # idle
                              "builderChangedState", # offline
                              "builderChangedState", # idle
                              "builderChangedState", # building
                              "buildStarted",
                              "stepStarted", "stepETAUpdate", "stepFinished",
                              "stepStarted", "stepETAUpdate",
                              "logStarted", "logFinished", "stepFinished",
                              "buildFinished",
                              "builderChangedState", # idle
                              ])

        b = self.s1.getLastFinishedBuild()
        self.failUnless(b)
        self.failUnlessEqual(b.getBuilder().getName(), "dummy")
        self.failUnlessEqual(b.getNumber(), 0)
        self.failUnlessEqual(b.getSourceStamp().branch, None)
        self.failUnlessEqual(b.getSourceStamp().patch, None)
        self.failUnlessEqual(b.getSourceStamp().revision, None)
        self.failUnlessEqual(b.getReason(), "forced build for testing")
        self.failUnlessEqual(b.getChanges(), ())
        self.failUnlessEqual(b.getResponsibleUsers(), [])
        self.failUnless(b.isFinished())
        self.failUnlessEqual(b.getText(), ['build', 'successful'])
        self.failUnlessEqual(b.getColor(), "green")
        self.failUnlessEqual(b.getResults(), builder.SUCCESS)

        steps = b.getSteps()
        self.failUnlessEqual(len(steps), 2)

        eta = 0
        st1 = steps[0]
        self.failUnlessEqual(st1.getName(), "dummy")
        self.failUnless(st1.isFinished())
        self.failUnlessEqual(st1.getText(), ["delay", "1 secs"])
        start,finish = st1.getTimes()
        self.failUnless(0.5 < (finish-start) < 10)
        self.failUnlessEqual(st1.getExpectations(), [])
        self.failUnlessEqual(st1.getLogs(), [])
        eta += finish-start

        st2 = steps[1]
        self.failUnlessEqual(st2.getName(), "remote dummy")
        self.failUnless(st2.isFinished())
        self.failUnlessEqual(st2.getText(),
                             ["remote", "delay", "2 secs"])
        start,finish = st2.getTimes()
        self.failUnless(1.5 < (finish-start) < 10)
        eta += finish-start
        self.failUnlessEqual(st2.getExpectations(), [('output', 38, None)])
        logs = st2.getLogs()
        self.failUnlessEqual(len(logs), 1)
        self.failUnlessEqual(logs[0].getName(), "stdio")
        self.failUnlessEqual(logs[0].getText(), "data")

        self.eta = eta
        # now we run it a second time, and we should have an ETA

        self.t4 = t4 = STarget(["builder", "build", "eta"])
        self.master.getStatus().subscribe(t4)
        c = interfaces.IControl(self.master)
        req = BuildRequest("forced build for testing", SourceStamp())
        c.getBuilder("dummy").requestBuild(req)
        d = req.waitUntilFinished()
        d2 = self.master.botmaster.waitUntilBuilderIdle("dummy")
        dl = defer.DeferredList([d, d2])
        dl.addCallback(self._testSlave_3)
        return dl
开发者ID:binoc-software,项目名称:mozilla-cvs,代码行数:86,代码来源:test_status.py


注:本文中的buildbot.process.base.BuildRequest.waitUntilFinished方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。