Beispiel #1
0
    def addSlave(self, **kwargs):
        """
        Create a master-side slave instance and add it to the BotMaster

        @param **kwargs: arguments to pass to the L{BuildSlave} constructor.
        """
        self.buildslave = buildslave.BuildSlave("testslave", "pw", **kwargs)

        # patch in our FakeBuilder for the regular Builder class
        self.patch(botmaster, 'Builder', FakeBuilder)

        # reconfig the master to get it set up
        new_config = self.master.config
        new_config.slavePortnum = "tcp:0:interface=127.0.0.1"
        new_config.slaves = [self.buildslave]
        new_config.builders = [
            config.BuilderConfig(name='bldr',
                                 slavename='testslave',
                                 factory=mock.Mock())
        ]

        yield self.botmaster.reconfigService(new_config)

        # as part of the reconfig, the slave registered with the pbmanager, so
        # get the port it was assigned
        self.port = self.buildslave.registration.getPort()
Beispiel #2
0
 def test_load_slaves_reserved_names(self):
     for name in 'debug', 'change', 'status':
         self.cfg.load_slaves(
             self.filename, dict(slaves=[buildslave.BuildSlave(name, 'x')]),
             self.errors)
         self.assertConfigError(self.errors, "is reserved")
         self.errors.errors[:] = []  # clear out the errors
Beispiel #3
0
 def test_load_slaves(self):
     sl = buildslave.BuildSlave('foo', 'x')
     self.cfg.load_slaves(self.filename, dict(slaves=[sl]))
     self.assertResults(slaves=[sl])
Beispiel #4
0
 def test_load_slaves_friendly_name(self):
     sl = buildslave.BuildSlave("bot1name", "bot1passwd",
                                max_builds=1, friendlyName="win8.1-test-machine")
     self.cfg.load_slaves(self.filename,
             dict(slaves=[sl]))
     self.assertResults(slaves=[sl])
Beispiel #5
0
def BuildSlave(cfg, name, **kwargs):
    password = kwargs.pop('password', None)
    if password is None:
        password = cfg.slave_password(name)

    return buildslave.BuildSlave(name, password, **kwargs)
Beispiel #6
0
 def _AddSlave(self, name):
     self.slaves.append(buildslave.BuildSlave(str(name), PASSWORDS[name]))