Fixes tests method resolution
Python allows multiple inheritance, which we use in order to mix and match test scenarios and actions. Python performs method resolution as follows: - checks if the method is defined in the current class. - if not, check parents, left to right. Since all tests have test_base as its left-most parent, all methods are resolved in test_base, which is not the desired behaviour. This affects optional_feature mixin in particular. Change-Id: I19d3bdef85a12ef45b600aa4fc68afd390b96c9f
This commit is contained in:
parent
975fe2382d
commit
ab50a17aff
|
@ -29,10 +29,10 @@ CONF = config.CONF
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class HyperVClusterTest(test_base.TestBase,
|
class HyperVClusterTest(migrate._MigrateMixin,
|
||||||
migrate._MigrateMixin,
|
|
||||||
migrate._LiveMigrateMixin,
|
migrate._LiveMigrateMixin,
|
||||||
resize._ResizeMixin):
|
resize._ResizeMixin,
|
||||||
|
test_base.TestBase):
|
||||||
|
|
||||||
"""The test suite for the Hyper-V Cluster.
|
"""The test suite for the Hyper-V Cluster.
|
||||||
|
|
||||||
|
|
|
@ -62,7 +62,7 @@ class _BaseDiskTestMixin(migrate._MigrateMixin,
|
||||||
self._check_resize(flavor, new_flavor['id'], expected_fail=True)
|
self._check_resize(flavor, new_flavor['id'], expected_fail=True)
|
||||||
|
|
||||||
|
|
||||||
class VhdDiskTest(test_base.TestBase, _BaseDiskTestMixin):
|
class VhdDiskTest(_BaseDiskTestMixin, test_base.TestBase):
|
||||||
|
|
||||||
_IMAGE_REF = CONF.hyperv.vhd_image_ref
|
_IMAGE_REF = CONF.hyperv.vhd_image_ref
|
||||||
_CONF_OPTION_NAME = 'hyperv.vhd_image_ref'
|
_CONF_OPTION_NAME = 'hyperv.vhd_image_ref'
|
||||||
|
@ -71,14 +71,14 @@ class VhdDiskTest(test_base.TestBase, _BaseDiskTestMixin):
|
||||||
# TODO(claudiub): validate that the images really are VHD / VHDX.
|
# TODO(claudiub): validate that the images really are VHD / VHDX.
|
||||||
|
|
||||||
|
|
||||||
class VhdxDiskTest(test_base.TestBase, _BaseDiskTestMixin):
|
class VhdxDiskTest(_BaseDiskTestMixin, test_base.TestBase):
|
||||||
|
|
||||||
_IMAGE_REF = CONF.hyperv.vhdx_image_ref
|
_IMAGE_REF = CONF.hyperv.vhdx_image_ref
|
||||||
_CONF_OPTION_NAME = 'hyperv.vhdx_image_ref'
|
_CONF_OPTION_NAME = 'hyperv.vhdx_image_ref'
|
||||||
_FLAVOR_SUFFIX = 'vhdx'
|
_FLAVOR_SUFFIX = 'vhdx'
|
||||||
|
|
||||||
|
|
||||||
class Generation2DiskTest(test_base.TestBase, _BaseDiskTestMixin):
|
class Generation2DiskTest(_BaseDiskTestMixin, test_base.TestBase):
|
||||||
|
|
||||||
# Generation 2 VMs have been introduced in Windows / Hyper-V Server 2012 R2
|
# Generation 2 VMs have been introduced in Windows / Hyper-V Server 2012 R2
|
||||||
_MIN_HYPERV_VERSION = 6003
|
_MIN_HYPERV_VERSION = 6003
|
||||||
|
|
|
@ -19,8 +19,8 @@ from oswin_tempest_plugin.tests._mixins import optional_feature
|
||||||
from oswin_tempest_plugin.tests import test_base
|
from oswin_tempest_plugin.tests import test_base
|
||||||
|
|
||||||
|
|
||||||
class QosTestCase(test_base.TestBase,
|
class QosTestCase(optional_feature._OptionalFeatureMixin,
|
||||||
optional_feature._OptionalFeatureMixin):
|
test_base.TestBase):
|
||||||
"""QoS test suite.
|
"""QoS test suite.
|
||||||
|
|
||||||
This test suite will spawn instances with QoS specs.
|
This test suite will spawn instances with QoS specs.
|
||||||
|
|
|
@ -20,8 +20,8 @@ from oswin_tempest_plugin.tests import test_base
|
||||||
CONF = config.CONF
|
CONF = config.CONF
|
||||||
|
|
||||||
|
|
||||||
class RemoteFxTestCase(test_base.TestBase,
|
class RemoteFxTestCase(optional_feature._OptionalFeatureMixin,
|
||||||
optional_feature._OptionalFeatureMixin):
|
test_base.TestBase):
|
||||||
"""RemoteFX test suite.
|
"""RemoteFX test suite.
|
||||||
|
|
||||||
This test suit will spawn instances with RemoteFX enabled.
|
This test suit will spawn instances with RemoteFX enabled.
|
||||||
|
|
|
@ -20,8 +20,8 @@ from oswin_tempest_plugin.tests import test_base
|
||||||
CONF = config.CONF
|
CONF = config.CONF
|
||||||
|
|
||||||
|
|
||||||
class SecureBootTestCase(test_base.TestBase,
|
class SecureBootTestCase(optional_feature._OptionalFeatureMixin,
|
||||||
optional_feature._OptionalFeatureMixin):
|
test_base.TestBase):
|
||||||
"""Secure boot test suite.
|
"""Secure boot test suite.
|
||||||
|
|
||||||
This test suite will spawn instances requiring secure boot to be
|
This test suite will spawn instances requiring secure boot to be
|
||||||
|
|
|
@ -24,12 +24,12 @@ from oswin_tempest_plugin.tests import test_base
|
||||||
CONF = config.CONF
|
CONF = config.CONF
|
||||||
|
|
||||||
|
|
||||||
class HyperVvNumaTestCase(test_base.TestBase,
|
class HyperVvNumaTestCase(migrate._MigrateMixin,
|
||||||
migrate._MigrateMixin,
|
|
||||||
migrate._LiveMigrateMixin,
|
migrate._LiveMigrateMixin,
|
||||||
optional_feature._OptionalFeatureMixin,
|
optional_feature._OptionalFeatureMixin,
|
||||||
resize._ResizeMixin,
|
resize._ResizeMixin,
|
||||||
resize._ResizeNegativeMixin):
|
resize._ResizeNegativeMixin,
|
||||||
|
test_base.TestBase):
|
||||||
"""Hyper-V vNUMA test suite.
|
"""Hyper-V vNUMA test suite.
|
||||||
|
|
||||||
This test suite will spawn instances requiring NUMA placement.
|
This test suite will spawn instances requiring NUMA placement.
|
||||||
|
|
Loading…
Reference in New Issue