summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.openstack.org>2019-02-19 20:46:08 +0000
committerGerrit Code Review <review@openstack.org>2019-02-19 20:46:08 +0000
commit7d82e0216081c000feb2901a2501dc7dca0097b8 (patch)
tree11b5ae20dcf828dfcb9324f39182ba810118229e
parent5f73cfc518634b692d1aecc17849658833ed1295 (diff)
parente6bb3e98d5d00e4ac7c058ba17f562ebfde8729b (diff)
downloadpyeclib-7d82e0216081c000feb2901a2501dc7dca0097b8.tar.gz
Merge "Make TestBackendsEnabled work on py3"
-rw-r--r--test/test_pyeclib_api.py44
1 files changed, 24 insertions, 20 deletions
diff --git a/test/test_pyeclib_api.py b/test/test_pyeclib_api.py
index d53953a..31bedbd 100644
--- a/test/test_pyeclib_api.py
+++ b/test/test_pyeclib_api.py
@@ -30,6 +30,7 @@ import unittest
from distutils.version import StrictVersion
from itertools import combinations
+import six
import pyeclib.ec_iface
from pyeclib.ec_iface import ECBackendNotSupported
@@ -791,28 +792,31 @@ class TestPyECLibDriver(unittest.TestCase):
(baseline_usage, new_usage))
-class TestBackendsEnabled(unittest.TestCase):
+class BackendsEnabledMetaclass(type):
+ def __new__(meta, cls_name, cls_bases, cls_dict):
+ for ec_type in ALL_EC_TYPES:
+ def dummy(self, ec_type=ec_type):
+ if ec_type not in VALID_EC_TYPES:
+ raise unittest.SkipTest
+ if ec_type == 'shss':
+ k = 10
+ m = 4
+ elif ec_type == 'libphazr':
+ k = 4
+ m = 4
+ else:
+ k = 10
+ m = 5
+ ECDriver(k=k, m=m, ec_type=ec_type)
+ dummy.__name__ = 'test_%s_available' % ec_type
+ cls_dict[dummy.__name__] = dummy
+ return type.__new__(meta, cls_name, cls_bases, cls_dict)
+
+
+class TestBackendsEnabled(six.with_metaclass(BackendsEnabledMetaclass,
+ unittest.TestCase)):
'''Based on TestPyECLibDriver.test_valid_algo above, but these tests
should *always* either pass or skip.'''
- class __metaclass__(type):
- def __new__(meta, cls_name, cls_bases, cls_dict):
- for ec_type in ALL_EC_TYPES:
- def dummy(self, ec_type=ec_type):
- if ec_type not in VALID_EC_TYPES:
- raise unittest.SkipTest
- if ec_type == 'shss':
- k = 10
- m = 4
- elif ec_type == 'libphazr':
- k = 4
- m = 4
- else:
- k = 10
- m = 5
- ECDriver(k=k, m=m, ec_type=ec_type)
- dummy.__name__ = 'test_%s_available' % ec_type
- cls_dict[dummy.__name__] = dummy
- return type.__new__(meta, cls_name, cls_bases, cls_dict)
if __name__ == '__main__':