Convert sanity tests to plugins. (#28425)

* Move sanity into directory.
* Omit abstract classes from returned subclass list.
* Split sanity tests out into plugins.
* Fix abstract class handling for Python 3.
This commit is contained in:
Matt Clay 2017-08-18 17:21:11 -07:00 committed by GitHub
commit 688823014f
15 changed files with 1164 additions and 912 deletions

View file

@ -15,6 +15,7 @@ from lib.util import (
is_shippable,
import_plugins,
load_plugins,
ABC,
)
from lib.target import (
@ -132,7 +133,7 @@ def cloud_init(args, targets):
provider.setup()
class CloudBase(object):
class CloudBase(ABC):
"""Base class for cloud plugins."""
__metaclass__ = abc.ABCMeta
@ -206,8 +207,6 @@ class CloudBase(object):
class CloudProvider(CloudBase):
"""Base class for cloud provider plugins. Sets up cloud resources before delegation."""
__metaclass__ = abc.ABCMeta
TEST_DIR = 'test/integration'
def __init__(self, args, config_extension='.yml'):
@ -334,8 +333,6 @@ class CloudProvider(CloudBase):
class CloudEnvironment(CloudBase):
"""Base class for cloud environment plugins. Updates integration test environment after delegation."""
__metaclass__ = abc.ABCMeta
@abc.abstractmethod
def configure_environment(self, env, cmd):
"""