diff options
| author | Jason Madden <jamadden@gmail.com> | 2018-10-06 08:51:24 -0500 |
|---|---|---|
| committer | Jason Madden <jamadden@gmail.com> | 2018-10-06 08:51:24 -0500 |
| commit | e60eb68c9f49f807be7c4210ccbfe887bb51c7c4 (patch) | |
| tree | 3129f87fbe4b204dc02afbddc52fc3b0ca45314b | |
| parent | ffadbcb76c721feb77baaf1efa5674bd22e5df24 (diff) | |
| download | zope-component-Python3.7support.tar.gz | |
Add a coverage environment to tox and reach 100% coverage.Python3.7support
| -rw-r--r-- | .coveragerc | 1 | ||||
| -rw-r--r-- | src/zope/component/eventtesting.py | 11 | ||||
| -rw-r--r-- | src/zope/component/hookable.py | 1 | ||||
| -rw-r--r-- | src/zope/component/tests/__init__.py | 2 | ||||
| -rw-r--r-- | src/zope/component/tests/test__declaration.py | 8 | ||||
| -rw-r--r-- | src/zope/component/tests/test_persistentregistry.py | 13 | ||||
| -rw-r--r-- | tox.ini | 14 |
7 files changed, 29 insertions, 21 deletions
diff --git a/.coveragerc b/.coveragerc index d65f848..ebda314 100644 --- a/.coveragerc +++ b/.coveragerc @@ -5,6 +5,7 @@ omit = src/zope/component/standalonetests.py # Not used src/zope/component/hookable.py + src/zope/component/eventtesting.py [report] exclude_lines = diff --git a/src/zope/component/eventtesting.py b/src/zope/component/eventtesting.py index 0e0b757..229c56e 100644 --- a/src/zope/component/eventtesting.py +++ b/src/zope/component/eventtesting.py @@ -13,6 +13,7 @@ ############################################################################## """Placeless Test Setup """ + from zope.component import provideHandler from zope.component.event import objectEventNotify from zope.component.registry import dispatchUtilityRegistrationEvent @@ -22,12 +23,12 @@ from zope.component.registry import ( from zope.component.registry import dispatchHandlerRegistrationEvent try: from zope.testing.cleanup import addCleanUp -except ImportError: #pragma NO COVER +except ImportError: def addCleanUp(x): pass events = [] -def getEvents(event_type=None, filter=None): #pragma NO COVER going aaway +def getEvents(event_type=None, filter=None): r = [] for event in events: if event_type is not None and not event_type.providedBy(event): @@ -38,11 +39,11 @@ def getEvents(event_type=None, filter=None): #pragma NO COVER going aaway return r -def clearEvents(): #pragma NO COVER going aaway +def clearEvents(): del events[:] addCleanUp(clearEvents) -class PlacelessSetup: #pragma NO COVER going aaway +class PlacelessSetup: def setUp(self): provideHandler(objectEventNotify) @@ -52,5 +53,5 @@ class PlacelessSetup: #pragma NO COVER going aaway provideHandler(dispatchHandlerRegistrationEvent) provideHandler(events.append, (None,)) -def setUp(test=None): #pragma NO COVER going aaway +def setUp(test=None): PlacelessSetup().setUp() diff --git a/src/zope/component/hookable.py b/src/zope/component/hookable.py index 2a0b5c0..275c4b6 100644 --- a/src/zope/component/hookable.py +++ b/src/zope/component/hookable.py @@ -14,5 +14,6 @@ """ This module is deprecated. Prefer to use zope.hookable.hookable. """ +# pragma: no cover import zope.deprecation zope.deprecation.moved("zope.hookable", "4.5") diff --git a/src/zope/component/tests/__init__.py b/src/zope/component/tests/__init__.py index 69e979e..bc508bb 100644 --- a/src/zope/component/tests/__init__.py +++ b/src/zope/component/tests/__init__.py @@ -3,7 +3,7 @@ import unittest def skipIfNoSecurity(testfunc): try: import zope.security - except ImportError: + except ImportError: # pragma: no cover return unittest.skip("zope.security not installed")(testfunc) return testfunc diff --git a/src/zope/component/tests/test__declaration.py b/src/zope/component/tests/test__declaration.py index 470cab0..1db841d 100644 --- a/src/zope/component/tests/test__declaration.py +++ b/src/zope/component/tests/test__declaration.py @@ -131,13 +131,9 @@ class Test_adapts(unittest.TestCase): ]) with warnings.catch_warnings(record=True) as log: warnings.resetwarnings() - try: + with self.assertRaises(TypeError): exec(CODE, globs, locs) - except TypeError: - if not PYTHON3: - self.assertEqual(len(log), 0) # no longer warn - else: - self.fail("Didn't raise TypeError") + self.assertEqual(len(log), 0) # no longer warn def test_called_once_from_class(self): from zope.component._declaration import adapts diff --git a/src/zope/component/tests/test_persistentregistry.py b/src/zope/component/tests/test_persistentregistry.py index 7ae79a3..9002e30 100644 --- a/src/zope/component/tests/test_persistentregistry.py +++ b/src/zope/component/tests/test_persistentregistry.py @@ -19,7 +19,7 @@ import unittest def skipIfNoPersistent(testfunc): try: import persistent - except ImportError: + except ImportError: # pragma: no cover return unittest.skip("persistent not installed")(testfunc) return testfunc @@ -40,13 +40,13 @@ class PersistentAdapterRegistryTests(unittest.TestCase): def __init__(self, jar): self._jar = jar self._mru = [] - def mru(self, oid): - self._mru.append(oid) + # mru(oid) is only called in pure-Python runs + self.mru = self._mru.append def new_ghost(self, oid, obj): obj._p_jar = self._jar obj._p_oid = oid def update_object_size_estimation(self, oid, size): - return + "This is only called in pure-Python runs" return _Cache(jar) @@ -160,7 +160,4 @@ class PersistentComponentsTests(unittest.TestCase): PersistentList)) def _makeOctets(s): - import sys - if sys.version_info < (3,): - return bytes(s) - return bytes(s, 'ascii') #pragma NO COVERAGE + return bytes(s) if bytes is str else bytes(s, 'ascii') @@ -2,7 +2,7 @@ envlist = # Jython support pending 2.7 support, due 2012-07-15 or so. See: # http://fwierzbicki.blogspot.com/2012/03/adconion-to-fund-jython-27.html - py27,py27-minimal,pypy,py34,py35,py36,py37,pypy3,docs + py27,py27-minimal,pypy,py34,py35,py36,py37,pypy3,docs,coverage [mindeps] deps = @@ -58,3 +58,15 @@ commands = deps = {[fulldeps]deps} .[docs] + +[testenv:coverage] +basepython = + python3.6 +usedevelop = true +commands = + coverage run -m zope.testrunner --test-path=src + coverage run -a -m sphinx.cmd.build -b doctest -d docs/_build/doctrees docs docs/_build/doctest + coverage report --fail-under=100 +deps = + {[testenv]deps} + coverage |
