summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTres Seaver <tseaver@palladion.com>2016-11-15 17:54:25 -0500
committerTres Seaver <tseaver@palladion.com>2016-11-15 17:54:25 -0500
commitb27a50f4131ccf10732d7ebd20b3f8fa8afd397c (patch)
treea9ec409209fcf74c35532a5899380a8fef5c2d48
parent53246e53624b0ed24cabbd6a819008e2bf1e6540 (diff)
downloadzope-interface-b27a50f4131ccf10732d7ebd20b3f8fa8afd397c.tar.gz
Add tests asserting that optimzations are / are not present as expected.
-rw-r--r--src/zope/interface/tests/test_adapter.py18
-rw-r--r--src/zope/interface/tests/test_declarations.py53
-rw-r--r--src/zope/interface/tests/test_interface.py32
3 files changed, 103 insertions, 0 deletions
diff --git a/src/zope/interface/tests/test_adapter.py b/src/zope/interface/tests/test_adapter.py
index df16397..68074f9 100644
--- a/src/zope/interface/tests/test_adapter.py
+++ b/src/zope/interface/tests/test_adapter.py
@@ -527,6 +527,15 @@ class LookupBaseTests(LookupBaseFallbackTests):
from zope.interface.adapter import LookupBase
return LookupBase
+ def test_optimizations(self):
+ from zope.interface.adapter import LookupBaseFallback
+ try:
+ import zope.interface._zope_interface_coptimizations
+ except ImportError:
+ self.assertIs(self._getTargetClass(), LookupBaseFallback)
+ else:
+ self.assertIsNot(self._getTargetClass(), LookupBaseFallback)
+
class VerifyingBaseFallbackTests(unittest.TestCase):
@@ -689,6 +698,15 @@ class VerifyingBaseTests(VerifyingBaseFallbackTests):
from zope.interface.adapter import VerifyingBase
return VerifyingBase
+ def test_optimizations(self):
+ from zope.interface.adapter import VerifyingBaseFallback
+ try:
+ import zope.interface._zope_interface_coptimizations
+ except ImportError:
+ self.assertIs(self._getTargetClass(), VerifyingBaseFallback)
+ else:
+ self.assertIsNot(self._getTargetClass(), VerifyingBaseFallback)
+
class AdapterLookupBaseTests(unittest.TestCase):
diff --git a/src/zope/interface/tests/test_declarations.py b/src/zope/interface/tests/test_declarations.py
index 702a677..8e1ab9f 100644
--- a/src/zope/interface/tests/test_declarations.py
+++ b/src/zope/interface/tests/test_declarations.py
@@ -473,6 +473,16 @@ class Test_implementedBy(Test_implementedByFallback):
from zope.interface.declarations import implementedBy
return implementedBy(*args, **kw)
+ def test_optimizations(self):
+ from zope.interface.declarations import implementedByFallback
+ from zope.interface.declarations import implementedBy
+ try:
+ import zope.interface._zope_interface_coptimizations
+ except ImportError:
+ self.assertIs(implementedBy, implementedByFallback)
+ else:
+ self.assertIsNot(implementedBy, implementedByFallback)
+
class Test_classImplementsOnly(unittest.TestCase):
@@ -1123,6 +1133,15 @@ class ClassProvidesBaseTests(ClassProvidesBaseFallbackTests):
from zope.interface.declarations import ClassProvidesBase
return ClassProvidesBase
+ def test_optimizations(self):
+ from zope.interface.declarations import ClassProvidesBaseFallback
+ try:
+ import zope.interface._zope_interface_coptimizations
+ except ImportError:
+ self.assertIs(self._getTargetClass(), ClassProvidesBaseFallback)
+ else:
+ self.assertIsNot(self._getTargetClass(), ClassProvidesBaseFallback)
+
class ClassProvidesTests(unittest.TestCase):
@@ -1440,6 +1459,18 @@ class Test_getObjectSpecification(Test_getObjectSpecificationFallback):
from zope.interface.declarations import getObjectSpecification
return getObjectSpecification(*args, **kw)
+ def test_optimizations(self):
+ from zope.interface.declarations import getObjectSpecificationFallback
+ from zope.interface.declarations import getObjectSpecification
+ try:
+ import zope.interface._zope_interface_coptimizations
+ except ImportError:
+ self.assertIs(getObjectSpecification,
+ getObjectSpecificationFallback)
+ else:
+ self.assertIsNot(getObjectSpecification,
+ getObjectSpecificationFallback)
+
class Test_providedByFallback(unittest.TestCase):
@@ -1525,6 +1556,16 @@ class Test_providedBy(Test_providedByFallback):
from zope.interface.declarations import providedBy
return providedBy(*args, **kw)
+ def test_optimizations(self):
+ from zope.interface.declarations import providedByFallback
+ from zope.interface.declarations import providedBy
+ try:
+ import zope.interface._zope_interface_coptimizations
+ except ImportError:
+ self.assertIs(providedBy, providedByFallback)
+ else:
+ self.assertIsNot(providedBy, providedByFallback)
+
class ObjectSpecificationDescriptorFallbackTests(unittest.TestCase):
@@ -1586,6 +1627,18 @@ class ObjectSpecificationDescriptorTests(
from zope.interface.declarations import ObjectSpecificationDescriptor
return ObjectSpecificationDescriptor
+ def test_optimizations(self):
+ from zope.interface.declarations import (
+ ObjectSpecificationDescriptorFallback)
+ try:
+ import zope.interface._zope_interface_coptimizations
+ except ImportError:
+ self.assertIs(self._getTargetClass(),
+ ObjectSpecificationDescriptorFallback)
+ else:
+ self.assertIsNot(self._getTargetClass(),
+ ObjectSpecificationDescriptorFallback)
+
# Test _normalizeargs through its callers.
diff --git a/src/zope/interface/tests/test_interface.py b/src/zope/interface/tests/test_interface.py
index a3b7007..2b6f804 100644
--- a/src/zope/interface/tests/test_interface.py
+++ b/src/zope/interface/tests/test_interface.py
@@ -205,6 +205,22 @@ class SpecificationBasePyTests(unittest.TestCase):
self.assertTrue(sb(testing))
+class SpecificationBaseTests(unittest.TestCase):
+
+ def _getTargetClass(self):
+ from zope.interface.interface import SpecificationBase
+ return SpecificationBase
+
+ def test_optimizations(self):
+ from zope.interface.interface import SpecificationBasePy
+ try:
+ import zope.interface._zope_interface_coptimizations
+ except ImportError:
+ self.assertIs(self._getTargetClass(), SpecificationBasePy)
+ else:
+ self.assertIsNot(self._getTargetClass(), SpecificationBasePy)
+
+
class InterfaceBasePyTests(unittest.TestCase):
def _getTargetClass(self):
@@ -266,6 +282,22 @@ class InterfaceBasePyTests(unittest.TestCase):
self.assertEqual(_missed, [(ib, adapted)])
+class InterfaceBaseTests(unittest.TestCase):
+
+ def _getTargetClass(self):
+ from zope.interface.interface import InterfaceBase
+ return InterfaceBase
+
+ def test_optimizations(self):
+ from zope.interface.interface import InterfaceBasePy
+ try:
+ import zope.interface._zope_interface_coptimizations
+ except ImportError:
+ self.assertIs(self._getTargetClass(), InterfaceBasePy)
+ else:
+ self.assertIsNot(self._getTargetClass(), InterfaceBasePy)
+
+
class SpecificationTests(unittest.TestCase):
def _getTargetClass(self):