aboutsummaryrefslogtreecommitdiffstats
path: root/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_schedulers_dependent.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_schedulers_dependent.py')
-rw-r--r--lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_schedulers_dependent.py153
1 files changed, 0 insertions, 153 deletions
diff --git a/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_schedulers_dependent.py b/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_schedulers_dependent.py
deleted file mode 100644
index 0af082a6..00000000
--- a/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_schedulers_dependent.py
+++ /dev/null
@@ -1,153 +0,0 @@
-# This file is part of Buildbot. Buildbot is free software: you can
-# redistribute it and/or modify it under the terms of the GNU General Public
-# License as published by the Free Software Foundation, version 2.
-#
-# This program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
-# details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this program; if not, write to the Free Software Foundation, Inc., 51
-# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Copyright Buildbot Team Members
-
-from twisted.trial import unittest
-from twisted.internet import defer
-from buildbot import config
-from buildbot.schedulers import dependent, base
-from buildbot.status.results import SUCCESS, WARNINGS, FAILURE
-from buildbot.test.util import scheduler
-from buildbot.test.fake import fakedb
-
-class Dependent(scheduler.SchedulerMixin, unittest.TestCase):
-
- OBJECTID = 33
- UPSTREAM_NAME = 'uppy'
-
- def setUp(self):
- self.setUpScheduler()
-
- def tearDown(self):
- self.tearDownScheduler()
-
- def makeScheduler(self, upstream=None):
- # build a fake upstream scheduler
- class Upstream(base.BaseScheduler):
- def __init__(self, name):
- self.name = name
- if not upstream:
- upstream = Upstream(self.UPSTREAM_NAME)
-
- sched = dependent.Dependent(name='n', builderNames=['b'],
- upstream=upstream)
- self.attachScheduler(sched, self.OBJECTID)
- return sched
-
- def assertBuildsetSubscriptions(self, bsids=None):
- self.db.state.assertState(self.OBJECTID,
- upstream_bsids=bsids)
-
- # tests
-
- # NOTE: these tests take advantage of the fact that all of the fake
- # scheduler operations are synchronous, and thus do not return a Deferred.
- # The Deferred from trigger() is completely processed before this test
- # method returns.
-
- def test_constructor_string_arg(self):
- self.assertRaises(config.ConfigErrors,
- lambda : self.makeScheduler(upstream='foo'))
-
- def test_startService(self):
- sched = self.makeScheduler()
- sched.startService()
-
- callbacks = self.master.getSubscriptionCallbacks()
- self.assertNotEqual(callbacks['buildsets'], None)
- self.assertNotEqual(callbacks['buildset_completion'], None)
-
- d = sched.stopService()
- def check(_):
- callbacks = self.master.getSubscriptionCallbacks()
- self.assertEqual(callbacks['buildsets'], None)
- self.assertEqual(callbacks['buildset_completion'], None)
- d.addCallback(check)
- return d
-
- def do_test(self, scheduler_name, expect_subscription,
- result, expect_buildset):
- sched = self.makeScheduler()
- sched.startService()
- callbacks = self.master.getSubscriptionCallbacks()
-
- # pretend we saw a buildset with a matching name
- self.db.insertTestData([
- fakedb.SourceStamp(id=93, sourcestampsetid=1093, revision='555',
- branch='master', project='proj', repository='repo',
- codebase = 'cb'),
- fakedb.Buildset(id=44, sourcestampsetid=1093),
- ])
- callbacks['buildsets'](bsid=44,
- properties=dict(scheduler=(scheduler_name, 'Scheduler')))
-
- # check whether scheduler is subscribed to that buildset
- if expect_subscription:
- self.assertBuildsetSubscriptions([44])
- else:
- self.assertBuildsetSubscriptions([])
-
- # pretend that the buildset is finished
- self.db.buildsets.fakeBuildsetCompletion(bsid=44, result=result)
- callbacks['buildset_completion'](44, result)
-
- # and check whether a buildset was added in response
- if expect_buildset:
- self.db.buildsets.assertBuildsets(2)
- bsids = self.db.buildsets.allBuildsetIds()
- bsids.remove(44)
- self.db.buildsets.assertBuildset(bsids[0],
- dict(external_idstring=None,
- properties=[('scheduler', ('n', 'Scheduler'))],
- reason='downstream', sourcestampsetid = 1093),
- {'cb':
- dict(revision='555', branch='master', project='proj',
- repository='repo', codebase='cb',
- sourcestampsetid = 1093)
- })
- else:
- self.db.buildsets.assertBuildsets(1) # only the one we added above
-
- def test_related_buildset_SUCCESS(self):
- return self.do_test(self.UPSTREAM_NAME, True, SUCCESS, True)
-
- def test_related_buildset_WARNINGS(self):
- return self.do_test(self.UPSTREAM_NAME, True, WARNINGS, True)
-
- def test_related_buildset_FAILURE(self):
- return self.do_test(self.UPSTREAM_NAME, True, FAILURE, False)
-
- def test_unrelated_buildset(self):
- return self.do_test('unrelated', False, SUCCESS, False)
-
- @defer.inlineCallbacks
- def test_getUpstreamBuildsets_missing(self):
- sched = self.makeScheduler()
-
- # insert some state, with more bsids than exist
- self.db.insertTestData([
- fakedb.SourceStampSet(id=99),
- fakedb.Buildset(id=11, sourcestampsetid=99),
- fakedb.Buildset(id=13, sourcestampsetid=99),
- fakedb.Object(id=self.OBJECTID),
- fakedb.ObjectState(objectid=self.OBJECTID,
- name='upstream_bsids', value_json='[11,12,13]'),
- ])
-
- # check return value (missing 12)
- self.assertEqual((yield sched._getUpstreamBuildsets()),
- [(11, 99, False, -1), (13, 99, False, -1)])
-
- # and check that it wrote the correct value back to the state
- self.db.state.assertState(self.OBJECTID, upstream_bsids=[11, 13])