本文整理汇总了Python中buildbot.process.botmaster.BotMaster.cleanShutdown方法的典型用法代码示例。如果您正苦于以下问题:Python BotMaster.cleanShutdown方法的具体用法?Python BotMaster.cleanShutdown怎么用?Python BotMaster.cleanShutdown使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类buildbot.process.botmaster.BotMaster
的用法示例。
在下文中一共展示了BotMaster.cleanShutdown方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TestCleanShutdown
# 需要导入模块: from buildbot.process.botmaster import BotMaster [as 别名]
# 或者: from buildbot.process.botmaster.BotMaster import cleanShutdown [as 别名]
class TestCleanShutdown(unittest.TestCase):
def setUp(self):
self.master = BotMaster(Mock())
self.master.reactor = Mock()
self.master.startService()
def test_shutdown_idle(self):
"""Test that the master shuts down when it's idle"""
d = self.master.cleanShutdown()
def _check(ign):
self.assertEquals(self.master.reactor.stop.called, True)
d.addCallback(_check)
return d
def test_shutdown_busy(self):
"""Test that the master shuts down after builds finish"""
# Fake some builds
builder = Mock()
build = Mock()
builder.builder_status.getCurrentBuilds.return_value = [build]
d_finished = defer.Deferred()
build.waitUntilFinished.return_value = d_finished
self.master.builders = Mock()
self.master.builders.values.return_value = [builder]
d_shutdown = self.master.cleanShutdown()
# Trigger the loop to get things going
self.master.loop.trigger()
# First we wait for it to quiet down again
d = self.master.loop.when_quiet()
# Next we check that we haven't stopped yet, since there's a running
# build
def _check1(ign):
self.assertEquals(self.master.reactor.stop.called, False)
d.addCallback(_check1)
# Now we cause the build to finish, then kick the loop again,
# empty out the list of running builds, and wait for the shutdown
# process to finish
def _finish_build(ign):
d_finished.callback(None)
self.master.loop.trigger()
self.master.builders.values.return_value = []
return d_shutdown
d.addCallback(_finish_build)
# And now we should be done
def _check2(ign):
self.assertEquals(self.master.reactor.stop.called, True)
d.addCallback(_check2)
return d
def test_shutdown_cancel(self):
"""Test that we can cancel a shutdown"""
# Fake some builds
builder = Mock()
build = Mock()
builder.builder_status.getCurrentBuilds.return_value = [build]
d_finished = defer.Deferred()
build.waitUntilFinished.return_value = d_finished
self.master.builders = Mock()
self.master.builders.values.return_value = [builder]
d_shutdown = self.master.cleanShutdown()
# Trigger the loop to get things going
self.master.loop.trigger()
# First we wait for it to quiet down again
d = self.master.loop.when_quiet()
# Next we check that we haven't stopped yet, since there's a running
# build.
# We cancel the shutdown here too
def _check1(ign):
self.assertEquals(self.master.reactor.stop.called, False)
self.master.cancelCleanShutdown()
d.addCallback(_check1)
# Now we cause the build to finish, then kick the loop again,
# empty out the list of running builds, and wait for the shutdown
# process to finish
def _finish_build(ign):
d_finished.callback(None)
self.master.loop.trigger()
self.master.builders.values.return_value = []
return d_shutdown
d.addCallback(_finish_build)
# We should still be running!
def _check2(ign):
#.........这里部分代码省略.........
示例2: TestCleanShutdown
# 需要导入模块: from buildbot.process.botmaster import BotMaster [as 别名]
# 或者: from buildbot.process.botmaster.BotMaster import cleanShutdown [as 别名]
class TestCleanShutdown(unittest.TestCase):
def setUp(self):
self.botmaster = BotMaster(mock.Mock())
self.reactor = mock.Mock()
self.botmaster.startService()
def assertReactorStopped(self, _=None):
self.assertTrue(self.reactor.stop.called)
def assertReactorNotStopped(self, _=None):
self.assertFalse(self.reactor.stop.called)
def makeFakeBuild(self):
self.fake_builder = builder = mock.Mock()
build = mock.Mock()
builder.builder_status.getCurrentBuilds.return_value = [build]
self.build_deferred = defer.Deferred()
build.waitUntilFinished.return_value = self.build_deferred
self.botmaster.builders = mock.Mock()
self.botmaster.builders.values.return_value = [builder]
def finishFakeBuild(self):
self.fake_builder.builder_status.getCurrentBuilds.return_value = []
self.build_deferred.callback(None)
# tests
def test_shutdown_idle(self):
"""Test that the master shuts down when it's idle"""
self.botmaster.cleanShutdown(_reactor=self.reactor)
self.assertReactorStopped()
def test_shutdown_busy(self):
"""Test that the master shuts down after builds finish"""
self.makeFakeBuild()
self.botmaster.cleanShutdown(_reactor=self.reactor)
# check that we haven't stopped yet, since there's a running build
self.assertReactorNotStopped()
# try to shut it down again, just to check that this does not fail
self.botmaster.cleanShutdown(_reactor=self.reactor)
# Now we cause the build to finish
self.finishFakeBuild()
# And now we should be stopped
self.assertReactorStopped()
def test_shutdown_cancel_not_shutting_down(self):
"""Test that calling cancelCleanShutdown when none is in progress
works"""
# this just shouldn't fail..
self.botmaster.cancelCleanShutdown()
def test_shutdown_cancel(self):
"""Test that we can cancel a shutdown"""
self.makeFakeBuild()
self.botmaster.cleanShutdown(_reactor=self.reactor)
# Next we check that we haven't stopped yet, since there's a running
# build.
self.assertReactorNotStopped()
# but the BuildRequestDistributor should not be running
self.assertFalse(self.botmaster.brd.running)
# Cancel the shutdown
self.botmaster.cancelCleanShutdown()
# Now we cause the build to finish
self.finishFakeBuild()
# We should still be running!
self.assertReactorNotStopped()
# and the BuildRequestDistributor should be, as well
self.assertTrue(self.botmaster.brd.running)
示例3: TestCleanShutdown
# 需要导入模块: from buildbot.process.botmaster import BotMaster [as 别名]
# 或者: from buildbot.process.botmaster.BotMaster import cleanShutdown [as 别名]
class TestCleanShutdown(TestReactorMixin, unittest.TestCase):
def setUp(self):
self.setUpTestReactor()
self.master = fakemaster.make_master(self, wantData=True)
self.botmaster = BotMaster()
self.botmaster.setServiceParent(self.master)
self.botmaster.startService()
def assertReactorStopped(self, _=None):
self.assertTrue(self.reactor.stop_called)
def assertReactorNotStopped(self, _=None):
self.assertFalse(self.reactor.stop_called)
def makeFakeBuild(self, waitedFor=False):
self.fake_builder = builder = mock.Mock()
build_status = mock.Mock()
builder.builder_status.getCurrentBuilds.return_value = [build_status]
self.build_deferred = defer.Deferred()
request = mock.Mock()
request.waitedFor = waitedFor
build = mock.Mock()
build.stopBuild = self.stopFakeBuild
build.waitUntilFinished.return_value = self.build_deferred
build.requests = [request]
builder.building = [build]
self.botmaster.builders = mock.Mock()
self.botmaster.builders.values.return_value = [builder]
def stopFakeBuild(self, reason, results):
self.reason = reason
self.results = results
self.finishFakeBuild()
def finishFakeBuild(self):
self.fake_builder.building = []
self.build_deferred.callback(None)
# tests
def test_shutdown_idle(self):
"""Test that the master shuts down when it's idle"""
self.botmaster.cleanShutdown(_reactor=self.reactor)
self.assertReactorStopped()
def test_shutdown_busy(self):
"""Test that the master shuts down after builds finish"""
self.makeFakeBuild()
self.botmaster.cleanShutdown(_reactor=self.reactor)
# check that we haven't stopped yet, since there's a running build
self.assertReactorNotStopped()
# try to shut it down again, just to check that this does not fail
self.botmaster.cleanShutdown(_reactor=self.reactor)
# Now we cause the build to finish
self.finishFakeBuild()
# And now we should be stopped
self.assertReactorStopped()
def test_shutdown_busy_quick(self):
"""Test that the master shuts down after builds finish"""
self.makeFakeBuild()
self.botmaster.cleanShutdown(quickMode=True, _reactor=self.reactor)
# And now we should be stopped
self.assertReactorStopped()
self.assertEqual(self.results, RETRY)
def test_shutdown_busy_quick_cancelled(self):
"""Test that the master shuts down after builds finish"""
self.makeFakeBuild(waitedFor=True)
self.botmaster.cleanShutdown(quickMode=True, _reactor=self.reactor)
# And now we should be stopped
self.assertReactorStopped()
self.assertEqual(self.results, CANCELLED)
def test_shutdown_cancel_not_shutting_down(self):
"""Test that calling cancelCleanShutdown when none is in progress
works"""
# this just shouldn't fail..
self.botmaster.cancelCleanShutdown()
def test_shutdown_cancel(self):
"""Test that we can cancel a shutdown"""
self.makeFakeBuild()
self.botmaster.cleanShutdown(_reactor=self.reactor)
# Next we check that we haven't stopped yet, since there's a running
# build.
#.........这里部分代码省略.........