Skip to content

Commit

Permalink
replace define_old_worker_class() with deprecatedWorkerModuleAttribute()
Browse files Browse the repository at this point in the history
  • Loading branch information
rutsky committed Feb 8, 2016
1 parent 9f8c901 commit af72e95
Show file tree
Hide file tree
Showing 21 changed files with 100 additions and 323 deletions.
4 changes: 2 additions & 2 deletions master/buildbot/buildslave/ec2.py
Expand Up @@ -16,7 +16,7 @@
# This module is left for backward compatibility of old-named worker API.
# It should never be imported by Buildbot.

from buildbot.worker_transition import define_old_worker_class
from buildbot.worker_transition import deprecatedWorkerModuleAttribute
from buildbot.worker_transition import reportDeprecatedWorkerModuleUsage

reportDeprecatedWorkerModuleUsage(
Expand All @@ -25,4 +25,4 @@

from buildbot.worker.ec2 import EC2LatentWorker as _EC2LatentWorker

define_old_worker_class(locals(), _EC2LatentWorker, compat_name="EC2LatentBuildSlave")
deprecatedWorkerModuleAttribute(locals(), _EC2LatentWorker, compat_name="EC2LatentBuildSlave")
6 changes: 4 additions & 2 deletions master/buildbot/buildslave/libvirt.py
Expand Up @@ -16,7 +16,7 @@
# This module is left for backward compatibility of old-named worker API.
# It should never be imported by Buildbot.

from buildbot.worker_transition import define_old_worker_class
from buildbot.worker_transition import deprecatedWorkerModuleAttribute
from buildbot.worker_transition import reportDeprecatedWorkerModuleUsage

reportDeprecatedWorkerModuleUsage(
Expand All @@ -25,4 +25,6 @@

from buildbot.worker.libvirt import LibVirtWorker as _LibVirtWorker

define_old_worker_class(locals(), _LibVirtWorker)
deprecatedWorkerModuleAttribute(locals(), _LibVirtWorker,
compat_name="LibVirtSlave",
new_name="LibVirtWorker")
7 changes: 4 additions & 3 deletions master/buildbot/buildslave/openstack.py
Expand Up @@ -16,7 +16,7 @@
# This module is left for backward compatibility of old-named worker API.
# It should never be imported by Buildbot.

from buildbot.worker_transition import define_old_worker_class
from buildbot.worker_transition import deprecatedWorkerModuleAttribute
from buildbot.worker_transition import reportDeprecatedWorkerModuleUsage

reportDeprecatedWorkerModuleUsage(
Expand All @@ -25,5 +25,6 @@

from buildbot.worker.openstack import OpenStackLatentWorker as _OpenStackLatentWorker

define_old_worker_class(locals(), _OpenStackLatentWorker,
compat_name="OpenStackLatentBuildSlave")
deprecatedWorkerModuleAttribute(locals(), _OpenStackLatentWorker,
compat_name="OpenStackLatentBuildSlave",
new_name="OpenStackLatentWorker")
7 changes: 4 additions & 3 deletions master/buildbot/db/buildslave.py
Expand Up @@ -16,7 +16,7 @@
# This module is left for backward compatibility of old-named worker API.
# It should never be imported by Buildbot.

from buildbot.worker_transition import define_old_worker_class
from buildbot.worker_transition import deprecatedWorkerModuleAttribute
from buildbot.worker_transition import reportDeprecatedWorkerModuleUsage

reportDeprecatedWorkerModuleUsage(
Expand All @@ -25,5 +25,6 @@

from buildbot.db.worker import WorkersConnectorComponent as _WorkersConnectorComponent

define_old_worker_class(locals(), _WorkersConnectorComponent,
compat_name="BuildslavesConnectorComponent")
deprecatedWorkerModuleAttribute(locals(), _WorkersConnectorComponent,
compat_name="BuildslavesConnectorComponent",
new_name="WorkersConnectorComponent")
5 changes: 2 additions & 3 deletions master/buildbot/interfaces.py
Expand Up @@ -25,7 +25,6 @@
from zope.interface import Attribute
from zope.interface import Interface

from buildbot.worker_transition import define_old_worker_class
from buildbot.worker_transition import deprecatedWorkerModuleAttribute

# exceptions that can be raised while trying to start a build
Expand All @@ -45,13 +44,13 @@ class BuilderInUseError(Exception):

class WorkerTooOldError(Exception):
pass
define_old_worker_class(
deprecatedWorkerModuleAttribute(
locals(), WorkerTooOldError, compat_name="BuildSlaveTooOldError")


class LatentWorkerFailedToSubstantiate(Exception):
pass
define_old_worker_class(
deprecatedWorkerModuleAttribute(
locals(), LatentWorkerFailedToSubstantiate,
compat_name="LatentBuildSlaveFailedToSubstantiate")

Expand Down
4 changes: 2 additions & 2 deletions master/buildbot/locks.py
Expand Up @@ -18,7 +18,7 @@
from buildbot.util import subscription
from buildbot.util.eventual import eventually
from buildbot.worker_transition import WorkerAPICompatMixin
from buildbot.worker_transition import define_old_worker_class
from buildbot.worker_transition import deprecatedWorkerModuleAttribute
from buildbot.worker_transition import reportDeprecatedWorkerNameUsage
from twisted.internet import defer
from twisted.python import log
Expand Down Expand Up @@ -337,4 +337,4 @@ def __init__(self, name, maxCount=1, maxCountForWorker=None,
# for comparison purposes, turn this dictionary into a stably-sorted
# list of tuples
self._maxCountForWorkerList = tuple(sorted(self.maxCountForWorker.items()))
define_old_worker_class(locals(), WorkerLock)
deprecatedWorkerModuleAttribute(locals(), WorkerLock)
17 changes: 10 additions & 7 deletions master/buildbot/process/slavebuilder.py
Expand Up @@ -16,7 +16,7 @@
# This module is left for backward compatibility of old-named worker API.
# It should never be imported by Buildbot.

from buildbot.worker_transition import define_old_worker_class
from buildbot.worker_transition import deprecatedWorkerModuleAttribute
from buildbot.worker_transition import reportDeprecatedWorkerModuleUsage

reportDeprecatedWorkerModuleUsage(
Expand All @@ -35,9 +35,12 @@
from buildbot.process.workerforbuilder import SUBSTANTIATING # noqa
from buildbot.process.workerforbuilder import WorkerForBuilder as _WorkerForBuilder

define_old_worker_class(locals(), _AbstractWorkerForBuilder,
compat_name="AbstractSlaveBuilder")
define_old_worker_class(locals(), _WorkerForBuilder,
compat_name="SlaveBuilder")
define_old_worker_class(locals(), _LatentWorkerForBuilder,
compat_name="LatentSlaveBuilder")
deprecatedWorkerModuleAttribute(locals(), _AbstractWorkerForBuilder,
compat_name="AbstractSlaveBuilder",
new_name="AbstractWorkerForBuilder")
deprecatedWorkerModuleAttribute(locals(), _WorkerForBuilder,
compat_name="SlaveBuilder",
new_name="WorkerForBuilder")
deprecatedWorkerModuleAttribute(locals(), _LatentWorkerForBuilder,
compat_name="LatentSlaveBuilder",
new_name="LatentWorkerForBuilder")
6 changes: 3 additions & 3 deletions master/buildbot/schedulers/forcesched.py
Expand Up @@ -25,7 +25,7 @@
from buildbot import config
from buildbot.process.properties import Properties
from buildbot.schedulers import base
from buildbot.worker_transition import define_old_worker_class
from buildbot.worker_transition import deprecatedWorkerModuleAttribute


class ValidationError(ValueError):
Expand Down Expand Up @@ -356,8 +356,8 @@ def getChoices(self, master, scheduler, buildername):
workernames.sort()
workernames.insert(0, self.anySentinel)
return workernames
define_old_worker_class(locals(), WorkerChoiceParameter,
compat_name="BuildslaveChoiceParameter")
deprecatedWorkerModuleAttribute(locals(), WorkerChoiceParameter,
compat_name="BuildslaveChoiceParameter")


class NestedParameter(BaseParameter):
Expand Down
4 changes: 2 additions & 2 deletions master/buildbot/steps/slave.py
Expand Up @@ -16,7 +16,7 @@
# This module is left for backward compatibility of old-named worker API.
# It should never be imported by Buildbot.

from buildbot.worker_transition import define_old_worker_class
from buildbot.worker_transition import deprecatedWorkerModuleAttribute
from buildbot.worker_transition import reportDeprecatedWorkerModuleUsage

reportDeprecatedWorkerModuleUsage(
Expand All @@ -28,5 +28,5 @@
# pylint: disable=unused-wildcard-import
from buildbot.steps.worker import * # noqa

define_old_worker_class(locals(), WorkerBuildStep)
deprecatedWorkerModuleAttribute(locals(), WorkerBuildStep)
del WorkerBuildStep # noqa
19 changes: 6 additions & 13 deletions master/buildbot/test/unit/test_db_workers.py
Expand Up @@ -21,8 +21,6 @@
from buildbot.test.util import interfaces
from buildbot.test.util import validation
from buildbot.test.util.warnings import assertProducesWarning
from buildbot.test.util.warnings import ignoreWarning
from buildbot.worker_transition import DeprecatedWorkerModuleWarning
from buildbot.worker_transition import DeprecatedWorkerNameWarning
from twisted.internet import defer
from twisted.trial import unittest
Expand Down Expand Up @@ -576,19 +574,14 @@ def tearDown(self):

class TestWorkerTransition(unittest.TestCase):

def test_WorkerBuildStep(self):
from buildbot.db.buildslave import BuildslavesConnectorComponent

class C(BuildslavesConnectorComponent):

def __init__(self):
pass

def test_BuildslavesConnectorComponent_deprecated(self):
with assertProducesWarning(
DeprecatedWorkerNameWarning,
message_pattern="'BuildslavesConnectorComponent' class is deprecated"):
c = C()
self.assertIsInstance(c, worker.WorkersConnectorComponent)
message_pattern="BuildslavesConnectorComponent was deprecated"):
from buildbot.db.buildslave import BuildslavesConnectorComponent

self.assertIdentical(BuildslavesConnectorComponent,
worker.WorkersConnectorComponent)

def test_getWorkers_old_api(self):
method = mock.Mock(return_value='dummy')
Expand Down
45 changes: 15 additions & 30 deletions master/buildbot/test/unit/test_interfaces.py
Expand Up @@ -16,75 +16,60 @@
from twisted.trial import unittest

from buildbot import interfaces
from buildbot.test.util.warnings import assertNotProducesWarnings
from buildbot.test.util.warnings import assertProducesWarning
from buildbot.worker_transition import DeprecatedWorkerAPIWarning
from buildbot.worker_transition import DeprecatedWorkerNameWarning


class TestWorkerTransition(unittest.TestCase):

def test_NoSlaveError_deprecated_worker(self):
def test_NoSlaveError_deprecated(self):
with assertProducesWarning(
DeprecatedWorkerNameWarning,
message_pattern="NoSlaveError was deprecated"):
interfaces.NoSlaveError

def test_IWorker_deprecated_worker(self):
def test_IBuildSlave_deprecated(self):
with assertProducesWarning(
DeprecatedWorkerNameWarning,
message_pattern="IBuildSlave was deprecated"):
deprecated = interfaces.IBuildSlave

self.assertIdentical(deprecated, interfaces.IWorker)

def test_ILatentWorker_deprecated_worker(self):
def test_ILatentBuildSlave_deprecated(self):
with assertProducesWarning(
DeprecatedWorkerNameWarning,
message_pattern="ILatentBuildSlave was deprecated"):
deprecated = interfaces.ILatentBuildSlave

self.assertIdentical(deprecated, interfaces.ILatentWorker)

def test_IWorkerStatus_deprecated_worker(self):
def test_ISlaveStatus_deprecated(self):
with assertProducesWarning(
DeprecatedWorkerNameWarning,
message_pattern="ISlaveStatus was deprecated"):
deprecated = interfaces.ISlaveStatus

self.assertIdentical(deprecated, interfaces.IWorkerStatus)


class TestWorkerTooOldError(unittest.TestCase):

def test_use(self):
def test_BuildSlaveTooOldError_deprecated(self):
from buildbot.interfaces import WorkerTooOldError
from buildbot.interfaces import BuildSlaveTooOldError

with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
err = WorkerTooOldError()
self.assertIsInstance(err, Exception)

with assertProducesWarning(
DeprecatedWorkerNameWarning,
message_pattern="'BuildSlaveTooOldError' class is deprecated"):
err = BuildSlaveTooOldError()
assert isinstance(err, Exception)
message_pattern="BuildSlaveTooOldError was deprecated"):
from buildbot.interfaces import BuildSlaveTooOldError

self.assertIdentical(BuildSlaveTooOldError, WorkerTooOldError)

class TestLatentWorkerFailedToSubstantiate(unittest.TestCase):

def test_use(self):
def test_LatentBuildSlaveFailedToSubstantiate_deprecated(self):
from buildbot.interfaces import LatentWorkerFailedToSubstantiate
from buildbot.interfaces import LatentBuildSlaveFailedToSubstantiate

with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
err = LatentWorkerFailedToSubstantiate()
self.assertIsInstance(err, Exception)

with assertProducesWarning(
DeprecatedWorkerNameWarning,
message_pattern="'LatentBuildSlaveFailedToSubstantiate' class "
"is deprecated"):
err = LatentBuildSlaveFailedToSubstantiate()
assert isinstance(err, Exception)
message_pattern="LatentBuildSlaveFailedToSubstantiate "
"was deprecated"):
from buildbot.interfaces import LatentBuildSlaveFailedToSubstantiate

self.assertIdentical(LatentBuildSlaveFailedToSubstantiate,
LatentWorkerFailedToSubstantiate)
16 changes: 5 additions & 11 deletions master/buildbot/test/unit/test_locks.py
Expand Up @@ -23,19 +23,13 @@

class TestWorkerTransition(unittest.TestCase):

def test_worker_status(self):
from buildbot.locks import SlaveLock

class WL(SlaveLock):

def __init__(self):
pass

def test_SlaveLock_deprecated(self):
with assertProducesWarning(
DeprecatedWorkerNameWarning,
message_pattern="'SlaveLock' class is deprecated"):
l = WL()
self.assertIsInstance(l, WorkerLock)
message_pattern="SlaveLock was deprecated"):
from buildbot.locks import SlaveLock

self.assertIdentical(SlaveLock, WorkerLock)

def test_maxCountForWorker_old_api(self):
l = WorkerLock("lock")
Expand Down
48 changes: 15 additions & 33 deletions master/buildbot/test/unit/test_process_workerforbuilder.py
Expand Up @@ -15,10 +15,8 @@
from buildbot.process.workerforbuilder import AbstractWorkerForBuilder
from buildbot.test.util.warnings import assertNotProducesWarnings
from buildbot.test.util.warnings import assertProducesWarning
from buildbot.test.util.warnings import ignoreWarning
from buildbot.worker.base import AbstractWorker
from buildbot.worker_transition import DeprecatedWorkerAPIWarning
from buildbot.worker_transition import DeprecatedWorkerModuleWarning
from buildbot.worker_transition import DeprecatedWorkerNameWarning
from twisted.trial.unittest import TestCase

Expand Down Expand Up @@ -83,46 +81,30 @@ def test_worker_old_api(self):

class TestWorkerTransition(TestCase):

def test_abstract_worker_for_builder(self):
from buildbot.process.slavebuilder import AbstractSlaveBuilder

class WB(AbstractSlaveBuilder):

def __init__(self):
pass

def test_AbstractSlaveBuilder_deprecated(self):
with assertProducesWarning(
DeprecatedWorkerNameWarning,
message_pattern="'AbstractSlaveBuilder' class is deprecated"):
w = WB()
self.assertIsInstance(w, AbstractWorkerForBuilder)

def test_worker_for_builder(self):
from buildbot.process.workerforbuilder import WorkerForBuilder
from buildbot.process.slavebuilder import SlaveBuilder
message_pattern="AbstractSlaveBuilder was deprecated"):
from buildbot.process.slavebuilder import AbstractSlaveBuilder

class WB(SlaveBuilder):
self.assertIdentical(AbstractSlaveBuilder, AbstractWorkerForBuilder)

def __init__(self):
pass
def test_SlaveBuilder_deprecated(self):
from buildbot.process.workerforbuilder import WorkerForBuilder

with assertProducesWarning(
DeprecatedWorkerNameWarning,
message_pattern="'SlaveBuilder' class is deprecated"):
w = WB()
self.assertIsInstance(w, WorkerForBuilder)

def test_latent_worker_for_builder(self):
from buildbot.process.workerforbuilder import LatentWorkerForBuilder
from buildbot.process.slavebuilder import LatentSlaveBuilder
message_pattern="SlaveBuilder was deprecated"):
from buildbot.process.slavebuilder import SlaveBuilder

class WB(LatentSlaveBuilder):
self.assertIdentical(SlaveBuilder, WorkerForBuilder)

def __init__(self):
pass
def test_LatentSlaveBuilder_deprecated(self):
from buildbot.process.workerforbuilder import LatentWorkerForBuilder

with assertProducesWarning(
DeprecatedWorkerNameWarning,
message_pattern="'LatentSlaveBuilder' class is deprecated"):
w = WB()
self.assertIsInstance(w, LatentWorkerForBuilder)
message_pattern="LatentSlaveBuilder was deprecated"):
from buildbot.process.slavebuilder import LatentSlaveBuilder

self.assertIdentical(LatentSlaveBuilder, LatentWorkerForBuilder)

0 comments on commit af72e95

Please sign in to comment.