예제 #1
0
    def __init__(self, master_id=fakedb.FakeBuildRequestsComponent.MASTER_ID):
        service.MasterService.__init__(self)
        self._master_id = master_id
        self.objectids = []
        self.config = config.MasterConfig()
        self.caches = FakeCaches()
        self.pbmanager = pbmanager.FakePBManager()
        self.basedir = 'basedir'
        self.botmaster = FakeBotMaster()
        self.botmaster.setServiceParent(self)
        self.status = FakeStatus()
        self.status.setServiceParent(self)
        self.name = 'fake:/master'
        self.masterid = master_id
        self.buildslaves = bslavemanager.FakeBuildslaveManager()
        self.buildslaves.setServiceParent(self)
        self.log_rotation = FakeLogRotation()
        self.db = mock.Mock()
        self.next_objectid = 0

        def getObjectId(sched_name, class_name):
            k = (sched_name, class_name)
            try:
                rv = self.objectids[k]
            except KeyError:
                rv = self.objectids[k] = self.next_objectid
                self.next_objectid += 1
            return defer.succeed(rv)
        self.db.state.getObjectId = getObjectId
예제 #2
0
 def setUp(self):
     self.master = fakemaster.make_master(wantDb=True,
                                          wantData=True,
                                          testcase=self)
     self.botmaster = botmaster.FakeBotMaster(self.master)
     self.buildslaves = bslavemanager.FakeBuildslaveManager(self.master)
     self.clock = task.Clock()
     self.patch(reactor, 'callLater', self.clock.callLater)
     self.patch(reactor, 'seconds', self.clock.seconds)
예제 #3
0
 def callAttached(self):
     self.master = fakemaster.make_master(testcase=self, wantData=True)
     self.botmaster = botmaster.FakeBotMaster(self.master)
     self.buildslaves = bslavemanager.FakeBuildslaveManager(self.master)
     self.master.botmaster = self.botmaster
     self.master.buildslaves = self.buildslaves
     self.sl.setServiceParent(self.master.buildslaves)
     self.conn = fakeprotocol.FakeConnection(self.master, self.sl)
     return self.sl.attached(self.conn)
예제 #4
0
 def __init__(self, master_id=fakedb.FakeBuildRequestsComponent.MASTER_ID):
     self._master_id = master_id
     self.config = config.MasterConfig()
     self.caches = FakeCaches()
     self.pbmanager = pbmanager.FakePBManager()
     self.basedir = 'basedir'
     self.botmaster = FakeBotMaster(master=self)
     self.botmaster.parent = self
     self.status = FakeStatus(self)
     self.status.master = self
     self.name = 'fake:/master'
     self.masterid = master_id
     self.buildslaves = bslavemanager.FakeBuildslaveManager(self)
예제 #5
0
 def test_setServiceParent_started(self):
     master = self.master
     bm = botmaster.FakeBotMaster(master)
     bsmanager = bslavemanager.FakeBuildslaveManager(master)
     master.botmaster = bm
     master.buildslaves = bsmanager
     bm.startService()
     bsmanager.startService()
     bs = ConcreteBuildSlave('bot', 'pass')
     bs.setServiceParent(bsmanager)
     self.assertEqual(bs.manager, bsmanager)
     self.assertEqual(bs.parent, bsmanager)
     self.assertEqual(bs.master, master)
예제 #6
0
 def test_setServiceParent_slaveLocks(self):
     """
     http://trac.buildbot.net/ticket/2278
     """
     master = self.master
     bm = botmaster.FakeBotMaster(master)
     bsmanager = bslavemanager.FakeBuildslaveManager(master)
     master.botmaster = bm
     master.buildslaves = bsmanager
     bm.startService()
     bsmanager.startService()
     lock = locks.SlaveLock('lock')
     bs = ConcreteBuildSlave('bot', 'pass', locks=[lock.access("counting")])
     bs.setServiceParent(bsmanager)