def test_no_warnigs_check(self): with assertNotProducesWarnings(SomeWarning): pass with ignoreWarning(OtherWarning): with assertNotProducesWarnings(SomeWarning): warnings.warn("msg 3", OtherWarning)
def test_RemoteShellCommand_usePTY(self): with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): cmd = remotecommand.RemoteShellCommand( 'workdir', 'command') self.assertTrue(cmd.args['usePTY'] is None) with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): cmd = remotecommand.RemoteShellCommand( 'workdir', 'command', usePTY=True) self.assertTrue(cmd.args['usePTY']) with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): cmd = remotecommand.RemoteShellCommand( 'workdir', 'command', usePTY=False) self.assertFalse(cmd.args['usePTY']) with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern="'slave-config' value of 'usePTY' " "attribute is deprecated"): cmd = remotecommand.RemoteShellCommand( 'workdir', 'command', usePTY='slave-config') self.assertTrue(cmd.args['usePTY'] is None)
def test_attribute_setter(self): class C(WorkerAPICompatMixin): def __init__(self): self.workers = None self._registerOldWorkerAttr("workers", name="buildslaves") self.workernames = None self._registerOldWorkerAttr("workernames") with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): c = C() c.workers = [1, 2, 3] c.workernames = ["a", "b", "c"] self.assertEqual(c.workers, [1, 2, 3]) self.assertEqual(c.workernames, ["a", "b", "c"]) with assertProducesWarning(DeprecatedWorkerNameWarning): c.buildslaves = [1, 2, 3] self.assertEqual(c.workers, [1, 2, 3]) with assertProducesWarning(DeprecatedWorkerNameWarning): c.slavenames = ["a", "b", "c"] self.assertEqual(c.workernames, ["a", "b", "c"])
def test_new_api_thirdparty(self): # Third party plugins that use new API should work only through # new API. with assertProducesWarning(DeprecatedWorkerNameWarning, message_pattern="namespace is deprecated"): self.assertRaises(AttributeError, lambda: self.buildslave_ns.newthirdparty) with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): self.assertTrue(self.worker_ns.newthirdparty is ClassWithInterface)
def test_module_reload(self): Worker = type("Worker", (object,), {}) buildbot_module = new.module('buildbot_module') buildbot_module.Worker = Worker with mock.patch.dict(sys.modules, {'buildbot_module': buildbot_module}): scope = buildbot_module.__dict__ deprecatedWorkerModuleAttribute(scope, Worker) # Overwrite with Twisted's module wrapper. import buildbot_module # Module reload is effectively re-run of module contents. Worker = type("Worker", (object,), {}) buildbot_module.Worker = Worker scope = buildbot_module.__dict__ deprecatedWorkerModuleAttribute(scope, Worker) # Overwrite with Twisted's module wrapper. import buildbot_module with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): W = buildbot_module.Worker self.assertIdentical(W, Worker) with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern=r"buildbot_module\.Slave was deprecated in " r"Buildbot 0.9.0: Use Worker instead."): S = buildbot_module.Slave self.assertIdentical(S, Worker)
def test_new_api_thirdparty_deep(self): # TODO: Why it's not AttributeError (as in tests above), but # PluginDBError? with assertProducesWarning(DeprecatedWorkerNameWarning, message_pattern="namespace is deprecated"): self.assertRaises(PluginDBError, lambda: self.buildslave_ns.deep.newthirdparty) with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): self.assertTrue(self.worker_ns.deep.newthirdparty is ClassWithInterface)
def test_workername_old_api(self): @implementer(interfaces.IProperties) class FakeProperties(Mock): pass import posixpath r = FakeRequest() build = Build([r]) build.properties = FakeProperties() build.builder = FakeBuilder(self.master) build.build_status = FakeBuildStatus() w = worker.FakeWorker(self.master) w.path_module = posixpath w.properties = FakeProperties() w.workername = 'worker name' w.worker_basedir = None workerforbuilder = Mock(name='workerforbuilder') workerforbuilder.worker = w build.setupWorkerForBuilder(workerforbuilder) with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): new = build.workername with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern="'slavename' attribute is deprecated"): old = build.slavename self.assertEqual(old, 'worker name') self.assertIdentical(new, old)
def test_getWorkerName_old_api(self): @implementer(interfaces.IProperties) class FakeProperties(Mock): pass import posixpath r = FakeRequest() build = Build([r]) build.properties = FakeProperties() build.builder = FakeBuilder(self.master) build.build_status = FakeBuildStatus() w = worker.FakeWorker(self.master) w.path_module = posixpath w.properties = FakeProperties() w.workername = "worker name" w.worker_basedir = None workerforbuilder = Mock(name="workerforbuilder") workerforbuilder.worker = w build.workerforbuilder = workerforbuilder with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): new = build.getWorkerName() with assertProducesWarning(DeprecatedWorkerNameWarning, message_pattern="'getSlaveName' method is deprecated"): old = build.getSlaveName() self.assertEqual(old, "worker name") self.assertIdentical(new, old)
def test_api_import(self): with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): # Old API end point, no warning. from buildbot.plugins import buildslave as buildslave_ns # New API. from buildbot.plugins import worker as worker_ns # New API. self.assertTrue(worker_ns.Worker is buildbot.worker.Worker) with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern=r"'buildbot\.plugins\.buildslave' plugins " "namespace is deprecated"): # Old API, with warning self.assertTrue( buildslave_ns.BuildSlave is buildbot.worker.Worker) # Access of newly named workers through old entry point is an error. with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern=r"'buildbot\.plugins\.buildslave' plugins " "namespace is deprecated"): self.assertRaises(AttributeError, lambda: buildslave_ns.Worker) # Access of old-named workers through new API is an error. self.assertRaises(AttributeError, lambda: worker_ns.BuildSlave)
def test_old_api_thirdparty_deep(self): with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern=r"'buildbot\.plugins\.buildslave' plugins " "namespace is deprecated", ): self.assertTrue(self.buildslave_ns.deep.thirdparty is ClassWithInterface) with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): self.assertTrue(self.worker_ns.deep.thirdparty is ClassWithInterface)
def test_RemoteShellCommand_usePTY(self): with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): cmd = remotecommand.RemoteShellCommand( 'workdir', 'command') self.assertTrue(cmd.args['usePTY'] is None) with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): cmd = remotecommand.RemoteShellCommand( 'workdir', 'command', usePTY=True) self.assertTrue(cmd.args['usePTY']) with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): cmd = remotecommand.RemoteShellCommand( 'workdir', 'command', usePTY=False) self.assertFalse(cmd.args['usePTY'])
def test_new_api_thirdparty(self): # Third party plugins that use new API should work only through # new API. with assertProducesWarning(DeprecatedWorkerNameWarning, message_pattern="namespace is deprecated"): self.assertRaises(AttributeError, lambda: self.buildslave_ns.newthirdparty) with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): self.assertTrue( self.worker_ns.newthirdparty is ClassWithInterface)
def test_util_BuildslaveChoiceParameter_import(self): with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern=re.escape( "'buildbot.util.BuildslaveChoiceParameter' is deprecated, " "use 'buildbot.util.WorkerChoiceParameter' instead")): deprecated = self.util_ns.BuildslaveChoiceParameter with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): self.assertIdentical(deprecated, ClassWithInterface)
def test_RemoteShellCommand_usePTY(self): with assertNotProducesWarnings(DeprecatedApiWarning): cmd = remotecommand.RemoteShellCommand('workdir', 'command') self.assertTrue(cmd.args['usePTY'] is None) with assertNotProducesWarnings(DeprecatedApiWarning): cmd = remotecommand.RemoteShellCommand('workdir', 'command', usePTY=True) self.assertTrue(cmd.args['usePTY']) with assertNotProducesWarnings(DeprecatedApiWarning): cmd = remotecommand.RemoteShellCommand('workdir', 'command', usePTY=False) self.assertFalse(cmd.args['usePTY'])
def test_slavename_deprecated(self): bs = ConcreteWorker("bot", "pass") with assertProducesWarning(DeprecatedWorkerNameWarning, message_pattern="'slavename' property is deprecated"): old_name = bs.slavename with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): name = bs.workername self.assertEqual(name, old_name)
def test_util_enforceChosenSlave_import(self): with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern=re.escape( "'buildbot.util.enforceChosenSlave' is deprecated, " "use 'buildbot.util.enforceChosenWorker' instead")): deprecated = self.util_ns.enforceChosenSlave with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): self.assertIdentical(deprecated, ClassWithInterface)
def test_config_0_9_0b5_api_renamed(self): # Load configuration and start master. # TODO: check for expected warnings. configfile = self._write_config(sample_0_9_0b5_api_renamed) with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): _, loaded_config = config.loadConfigDict(".", configfile.path) yield self._run_master(loaded_config)
def test_config_0_9_0b5_api_renamed(self): # Load configuration and start master. # TODO: check for expected warnings. configfile = self._write_config(sample_0_9_0b5_api_renamed) with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): _, loaded_config = config.loadConfigDict(".", configfile.path) yield self._run_master(loaded_config)
def test_util_enforceChosenSlave_import(self): with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern=re.escape( "'buildbot.util.enforceChosenSlave' is deprecated, " "use 'buildbot.util.enforceChosenWorker' instead")): deprecated = self.util_ns.enforceChosenSlave with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): self.assertIdentical(deprecated, ClassWithInterface)
def test_init_workerbuilddir_positional(self): with assertNotProducesWarnings(DeprecatedApiWarning): cfg = BuilderConfig('a b c', 'a', None, None, 'dir', factory=self.factory) self.assertEqual(cfg.workerbuilddir, 'dir')
def test_workersrcs_old_api(self): step = transfer.MultipleFileUpload(workersrcs=["srcfile"], masterdest="dstfile") with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): new = step.workersrcs with assertProducesWarning(DeprecatedWorkerNameWarning, message_pattern="'slavesrcs' attribute is deprecated"): old = step.slavesrcs self.assertIdentical(new, old)
def test_workerdest_old_api(self): step = transfer.JSONPropertiesDownload(workerdest="dstfile") with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): new = step.workerdest with assertProducesWarning(DeprecatedWorkerNameWarning, message_pattern="'slavedest' attribute is deprecated"): old = step.slavedest self.assertIdentical(new, old)
def test_config_0_9_0b5_api_renamed(self): # Load configuration and start master. # TODO: check for expected warnings. self._write_config(sample_0_9_0b5_api_renamed) with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): loaded_config = config.MasterConfig.loadConfig(self.basedir, self.configfile) return self._run_master(loaded_config)
def test_util_BuildslaveChoiceParameter_import(self): with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern=re.escape( "'buildbot.util.BuildslaveChoiceParameter' is deprecated, " "use 'buildbot.util.WorkerChoiceParameter' instead")): deprecated = self.util_ns.BuildslaveChoiceParameter with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): self.assertIdentical(deprecated, ClassWithInterface)
def test_new_api_thirdparty_deep(self): # TODO: Why it's not AttributeError (as in tests above), but # PluginDBError? with assertProducesWarning(DeprecatedWorkerNameWarning, message_pattern="namespace is deprecated"): self.assertRaises(PluginDBError, lambda: self.buildslave_ns.deep.newthirdparty) with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): self.assertTrue( self.worker_ns.deep.newthirdparty is ClassWithInterface)
def test_old_api_thirdparty(self): with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern=r"'buildbot\.plugins\.buildslave' plugins " "namespace is deprecated", ): # Third party plugins that use old API should work through old API. self.assertTrue(self.buildslave_ns.thirdparty is ClassWithInterface) with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): # Third party plugins that use old API should work through new API. self.assertTrue(self.worker_ns.thirdparty is ClassWithInterface)
def test_config_0_9_0b5_api_renamed(self): # Load configuration and start master. # TODO: check for expected warnings. self._write_config(sample_0_9_0b5_api_renamed) with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): loaded_config = config.MasterConfig.loadConfig( self.basedir, self.configfile) return self._run_master(loaded_config)
def test_util_SlaveLock_import(self): with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern=re.escape( "'buildbot.util.SlaveLock' is deprecated, " "use 'buildbot.util.WorkerLock' instead" ), ): deprecated = self.util_ns.SlaveLock with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): self.assertIdentical(deprecated, ClassWithInterface)
def test_old_api_thirdparty_deep(self): with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern=r"'buildbot\.plugins\.buildslave' plugins " "namespace is deprecated"): self.assertTrue( self.buildslave_ns.deep.thirdparty is ClassWithInterface) with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): self.assertTrue( self.worker_ns.deep.thirdparty is ClassWithInterface)
def test_workersrc_old_api(self): yield self.startService() with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): new = self.db.workers with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern="'buildslaves' attribute is deprecated"): old = self.db.buildslaves self.assertIdentical(new, old)
def test_workers_old_api(self): bldr = builder.Builder('bldr', _addServices=False) with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): new = bldr.workers with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern="'slaves' attribute is deprecated"): old = bldr.slaves self.assertIdentical(new, old)
def test_worker_old_api(self): w = AbstractWorkerForBuilder() with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): new_worker = w.worker with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern="'slave' attribute is deprecated"): old_worker = w.slave self.assertTrue(new_worker is old_worker)
def test_worker_old_api(self): w = AbstractWorkerForBuilder() with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): new_worker = w.worker with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern="'slave' attribute is deprecated"): old_worker = w.slave self.assertTrue(new_worker is old_worker)
def test_maxCountForWorker_old_api(self): l = WorkerLock("lock") with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): new = l.maxCountForWorker with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern="'maxCountForSlave' attribute is deprecated"): old = l.maxCountForSlave self.assertIdentical(new, old)
def test_old_api_thirdparty(self): with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern=r"'buildbot\.plugins\.buildslave' plugins " "namespace is deprecated"): # Third party plugins that use old API should work through old API. self.assertTrue( self.buildslave_ns.thirdparty is ClassWithInterface) with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): # Third party plugins that use old API should work through new API. self.assertTrue(self.worker_ns.thirdparty is ClassWithInterface)
def test_maxCountForWorker_old_api(self): lock = WorkerLock("lock") with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): new = lock.maxCountForWorker with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern="'maxCountForSlave' attribute is deprecated"): old = lock.maxCountForSlave self.assertIdentical(new, old)
def test_workers_old_api(self): bldr = builder.Builder('bldr') with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): new = bldr.workers with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern="'slaves' attribute is deprecated"): old = bldr.slaves self.assertIdentical(new, old)
def test_workerdest_old_api(self): step = transfer.FileDownload(mastersrc='srcfile', workerdest='dstfile') with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): new = step.workerdest with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern="'slavedest' attribute is deprecated"): old = step.slavedest self.assertIdentical(new, old)
def test_workersrcs_old_api(self): step = transfer.MultipleFileUpload(workersrcs=['srcfile'], masterdest='dstfile') with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): new = step.workersrcs with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern="'slavesrcs' attribute is deprecated"): old = step.slavesrcs self.assertIdentical(new, old)
def test_slavename_deprecated(self): bs = ConcreteWorker('bot', 'pass') with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern="'slavename' property is deprecated"): old_name = bs.slavename with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): name = bs.workername self.assertEqual(name, old_name)
def test_workersrc_old_api(self): yield self.startService() with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): new = self.db.workers with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern="'buildslaves' attribute is deprecated"): old = self.db.buildslaves self.assertIdentical(new, old)
def test_workerdest_old_api(self): step = transfer.FileDownload(mastersrc='srcfile', workerdest='dstfile') with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): new = step.workerdest with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern="'slavedest' attribute is deprecated"): old = step.slavedest self.assertIdentical(new, old)
def test_slavename_deprecated(self): bs = yield self.createWorker('bot', 'pass') yield bs.startService() with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern="'slavename' property is deprecated"): old_name = bs.slavename with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): name = bs.workername self.assertEqual(name, old_name)
def test_use_non_default_keypair_security(self): c, r = self.botoSetup() amis = list(r.images.all()) with assertNotProducesWarnings(DeprecatedWorkerNameWarning): bs = ec2.EC2LatentWorker('bot1', 'sekrit', 'm1.large', identifier='publickey', secret_identifier='privatekey', ami=amis[0].id, security_name='test_security_group', keypair_name='test_keypair', ) self.assertEqual(bs.keypair_name, 'test_keypair') self.assertEqual(bs.security_name, 'test_security_group')
def test_use_non_default_keypair_security(self): c, r = self.botoSetup() amis = list(r.images.all()) with assertNotProducesWarnings(DeprecatedWorkerNameWarning): bs = ec2.EC2LatentWorker('bot1', 'sekrit', 'm1.large', identifier='publickey', secret_identifier='privatekey', ami=amis[0].id, security_name='test_security_group', keypair_name='test_keypair', ) self.assertEqual(bs.keypair_name, 'test_keypair') self.assertEqual(bs.security_name, 'test_security_group')
def test_method_wrapper(self): class C(object): def updateWorker(self, res): return res deprecatedWorkerClassMethod(locals(), updateWorker) c = C() with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): self.assertEqual(c.updateWorker("test"), "test") with assertProducesWarning(DeprecatedWorkerNameWarning): self.assertEqual(c.updateSlave("test"), "test")
def test_plugins_util_BuildslaveChoiceParameter_import(self): from buildbot.plugins import util with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): new = util.WorkerChoiceParameter with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern=re.escape( "'buildbot.util.BuildslaveChoiceParameter' is deprecated, " "use 'buildbot.util.WorkerChoiceParameter' instead")): deprecated = util.BuildslaveChoiceParameter self.assertIdentical(new, deprecated)
def test_plugins_util_BuildslaveChoiceParameter_import(self): from buildbot.plugins import util with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): new = util.WorkerChoiceParameter with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern=re.escape( "'buildbot.util.BuildslaveChoiceParameter' is deprecated, " "use 'buildbot.util.WorkerChoiceParameter' instead")): deprecated = util.BuildslaveChoiceParameter self.assertIdentical(new, deprecated)
def test_worker_old_api(self): cmd = remotecommand.RemoteCommand('cmd', []) w = mock.Mock() with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): self.assertIdentical(cmd.worker, None) cmd.worker = w with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern="'buildslave' attribute is deprecated"): old = cmd.buildslave self.assertIdentical(old, w)
def test_worker_old_api(self): cmd = remotecommand.RemoteCommand('cmd', []) w = mock.Mock() with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): self.assertIdentical(cmd.worker, None) cmd.worker = w with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern="'buildslave' attribute is deprecated"): old = cmd.buildslave self.assertIdentical(old, w)
def test_worker_old_api(self): bs = buildstep.BuildStep() worker = mock.Mock() with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): bs.setWorker(worker) new = bs.worker with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern="'buildslave' attribute is deprecated"): old = bs.buildslave self.assertIdentical(new, worker) self.assertIdentical(old, new)
def test_produces_warning(self): class C(object): @property def workername(self): return "name" deprecatedWorkerClassProperty(locals(), workername) c = C() with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): self.assertEqual(c.workername, "name") with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern="'slavename' property is deprecated, " "use 'workername' instead"): self.assertEqual(c.slavename, "name")
def test_attribute(self): class C(WorkerAPICompatMixin): def __init__(self): self.workers = [1, 2, 3] self._registerOldWorkerAttr("workers", name="buildslaves") self.workernames = ["a", "b", "c"] self._registerOldWorkerAttr("workernames") with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): c = C() self.assertEqual(c.workers, [1, 2, 3]) self.assertEqual(c.workernames, ["a", "b", "c"]) with assertProducesWarning(DeprecatedWorkerNameWarning): self.assertEqual(c.buildslaves, [1, 2, 3]) with assertProducesWarning(DeprecatedWorkerNameWarning): self.assertEqual(c.slavenames, ["a", "b", "c"])
def test_produces_warning(self): Worker = type("Worker", (object,), {}) buildbot_module = new.module('buildbot_module') buildbot_module.Worker = Worker with mock.patch.dict(sys.modules, {'buildbot_module': buildbot_module}): scope = buildbot_module.__dict__ deprecatedWorkerModuleAttribute(scope, Worker) # Overwrite with Twisted's module wrapper. import buildbot_module with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): W = buildbot_module.Worker self.assertIdentical(W, Worker) with assertProducesWarning( DeprecatedWorkerNameWarning, message_pattern=r"buildbot_module\.Slave was deprecated in " r"Buildbot 0.9.0: Use Worker instead."): S = buildbot_module.Slave self.assertIdentical(S, Worker)
def test_0_9_0b5_api_renamed_config(self): with open(self.filename, "w") as f: f.write(sample_0_9_0b5_api_renamed) with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): config.MasterConfig.loadConfig(self.basedir, self.filename)
def test_sample_config(self): filename = util.sibpath(runner.__file__, 'sample.cfg') with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): config.MasterConfig.loadConfig(self.basedir, filename)
def test_init_workerdest_positional(self): with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): step = transfer.FileDownload('srcfile', 'dstfile') self.assertEqual(step.workerdest, 'dstfile')
def test_init_workerdest_new_api_no_warns(self): with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): step = transfer.FileDownload(mastersrc='srcfile', workerdest='dstfile') self.assertEqual(step.workerdest, 'dstfile')
def test_init_workersrcs_positional(self): with assertNotProducesWarnings(DeprecatedWorkerAPIWarning): step = transfer.MultipleFileUpload(['srcfile'], 'dstfile') self.assertEqual(step.workersrcs, ['srcfile'])