summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Burke <tim.burke@gmail.com>2019-02-13 16:07:10 -0800
committerTim Burke <tim.burke@gmail.com>2019-02-13 16:35:43 -0800
commite6bb3e98d5d00e4ac7c058ba17f562ebfde8729b (patch)
treec9a6da919e94ac928498ae4b97a6d88c7c3d35a6
parent8d0afbb0324fd87abd05b4d60b269dc847595b35 (diff)
downloadpyeclib-e6bb3e98d5d00e4ac7c058ba17f562ebfde8729b.tar.gz
Make TestBackendsEnabled work on py3
Change-Id: I483488fd53516d44074f18168db6f3445be455b5
-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__':