Skip to content

Commit

Permalink
Merge pull request #41 from zopefoundation/issue40
Browse files Browse the repository at this point in the history
Reach 100% coverage
  • Loading branch information
jamadden authored Sep 13, 2017
2 parents 54ee5cd + 9874e2d commit dde46cb
Show file tree
Hide file tree
Showing 27 changed files with 1,011 additions and 1,225 deletions.
1 change: 1 addition & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
[run]
source = zope.security
omit = */flycheck_*.py

[report]
precision = 2
Expand Down
111 changes: 64 additions & 47 deletions CHANGES.rst
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
Changes
=======
=========
Changes
=========

4.1.2 (unreleased)
------------------
4.2.0 (unreleased)
==================

- Fix the extremely rare potential for a crash when the C extensions
are in use. See `issue 35 <https://github.com/zopefoundation/zope.security/issues/35>`_.

- Fix `issue 7
<https://github.com/zopefoundation/zope.security/issues/7`_: The
<https://github.com/zopefoundation/zope.security/issues/7>`_: The
pure-Python proxy didn't propagate ``TypeError`` from ``__repr__``
and ``__str__`` like the C implementation did.

Expand Down Expand Up @@ -43,8 +44,24 @@ Changes
- Fix watching checkers (``ZOPE_WATCH_CHECKERS=1``) in pure-Python
mode. See `issue 8 <https://github.com/zopefoundation/zope.security/issues/8>`_.

- Remove unused internal files from ``tests/``.

- Remove ``zope.security.setup``. It was unused and did not work
anyway.

- Fix the pure-Python proxy on Python 2 letting ``__getslice__`` and
``__setslice__`` fall through to ``__getitem__`` or ``__setitem__``,
respectively, if it raised an error.

- Fix the pure-Python proxy calling a wrapped ``__getattr__`` or
``__getattribute__`` more than once in situations where the C
implementation only called it one time (when it raised an
AttributeError).

- Reach 100% test coverage and maintain it via automated checks.

4.1.1 (2017-05-17)
------------------
==================

- Fix `issue 23 <https://github.com/zopefoundation/zope.security/issues/23>`_:
iteration of ``collections.OrderedDict`` and its various views is
Expand All @@ -54,7 +71,7 @@ Changes
allowed by default.

4.1.0 (2017-04-24)
------------------
==================

- When testing ``PURE_PYTHON`` environments under ``tox``, avoid poisoning
the user's global wheel cache.
Expand All @@ -68,26 +85,26 @@ Changes
``BTrees.items()`` on Python 3. The same applies for ``keys()`` and ``values()``.

4.0.3 (2015-06-02)
------------------
==================

- Fix iteration over security proxies in Python 3 using the pure-Python
implementation.

4.0.2 (2015-06-02)
------------------
==================

- Fix compatibility with ``zope.proxy`` 4.1.5 under PyPy.

- Fix the very first call to ``removeSecurityProxy`` returning
incorrect results if given a proxy under PyPy.

4.0.1 (2014-03-19)
------------------
==================

- Add support for Python 3.4.

4.0.0 (2013-07-09)
------------------
==================

- Update ``boostrap.py`` to version 2.2.

Expand All @@ -98,34 +115,34 @@ Changes


4.0.0b1 (2013-03-11)
--------------------
====================

- Add support for PyPy.

- Fix extension compilation on windows python 3.x


4.0.0a5 (2013-02-28)
--------------------
====================

- Undo changes from 4.0.0a4. Instead, ``zope.untrustedpython`` is only
included during Python 2 installs.


4.0.0a4 (2013-02-28)
--------------------
====================

- Remove ``untrustedpython`` extra again, since we do not want to support
``zope.untrustedpython`` in ZTK 2.0. If BBB is really needed, we will create
a 3.10.0 release.

4.0.0a3 (2013-02-15)
--------------------
====================

- Fix test breakage in 4.0.0a2 due to deprecation strategy.

4.0.0a2 (2013-02-15)
--------------------
====================

- Add back the ``untrustedpython`` extra: now pulls in
``zope.untrustedpython``. Restored deprecated backward-compatible imports
Expand All @@ -134,7 +151,7 @@ Changes


4.0.0a1 (2013-02-14)
--------------------
====================

- Add support for Python 3.2 and 3.3.

Expand Down Expand Up @@ -185,26 +202,26 @@ Changes
``with interaction()``.

3.9.0 (2012-12-21)
------------------
==================

- Pin ``zope.proxy >= 4.1.0``

- Ship with an included ``proxy.h`` header which is compatible with the
4.1.x version ov ``zope.proxy``.

3.8.5 (2012-12-21)
------------------
==================

- Ship with an included ``proxy.h`` header which is compatible with the
supported versions of ``zope.proxy``.

3.8.4 (2012-12-20)
------------------
==================

- Pin ``zope.proxy >= 3.4.2, <4.1dev``

3.8.3 (2011-09-24)
------------------
==================

- Fix a regression introduced in 3.8.1: ``zope.location``\'s LocationProxy
did not get a security checker if ``zope.security.decorator`` was not
Expand All @@ -213,21 +230,21 @@ Changes
3.8.1.

3.8.2 (2011-05-24)
------------------
==================

- Fix a test that failed on Python 2.7.


3.8.1 (2011-05-03)
------------------
==================

- Fix circular import beween ``zope.security.decorator`` and
``zope.security.proxy`` which led to an ``ImportError`` when only
importing ``zope.security.decorator``.


3.8.0 (2010-12-14)
------------------
==================

- Add tests for our own ``configure.zcml``.

Expand All @@ -239,7 +256,7 @@ Changes


3.7.3 (2010-04-30)
------------------
==================

- Prefer the standard library's ``doctest`` module to the one from
``zope.testing``.
Expand All @@ -255,13 +272,13 @@ Changes


3.7.2 (2009-11-10)
------------------
==================

- Add compatibility with Python 2.6 abstract base classes.


3.7.1 (2009-08-13)
------------------
==================

- Fix for LP bug 181833 (from Gustavo Niemeyer). Before "visiting" a
sub-object, a check should be made to ensure the object is still valid.
Expand All @@ -273,15 +290,15 @@ Changes


3.7.0 (2009-05-13)
------------------
==================

- Make ``pytz`` a soft dependency: the checker for ``pytz.UTC`` is
created / tested only if the package is already present. Run
``bin/test_pytz`` to run the tests with ``pytz`` on the path.


3.6.3 (2009-03-23)
------------------
==================

- Ensure that simple zope.schema's ``VocabularyRegistry`` is used for
``PermissionVocabulary`` tests, because it's replaced implicitly in
Expand All @@ -295,7 +312,7 @@ Changes


3.6.2 (2009-03-14)
------------------
==================

- Add ``zope.i18nmessageid.Message`` to non-proxied basic types. It's okay,
because messages are immutable. Done previously by ``zope.app.security``.
Expand Down Expand Up @@ -324,7 +341,7 @@ Changes


3.6.1 (2009-03-10)
------------------
==================

- Use ``from`` imports instead of ``zope.deferred`` to avoid circular
import problems, thus drop dependency on ``zope.deferredimport``.
Expand All @@ -343,7 +360,7 @@ Changes


3.6.0 (2009-01-31)
------------------
==================

- Install decorated security checker support on ``LocationProxy`` from the
outside.
Expand All @@ -361,27 +378,27 @@ Changes


3.5.2 (2008-07-27)
------------------
==================

- Make C code compatible with Python 2.5 on 64bit architectures.


3.5.1 (2008-06-04)
------------------
==================

- Add ``frozenset``, ``set``, ``reversed``, and ``sorted`` to the list of
safe builtins.


3.5.0 (2008-03-05)
------------------
==================

- Changed title for ``zope.security.management.system_user`` to be more
presentable.


3.4.3 - (2009/11/26)
--------------------
====================

- Backport a fix made by Gary Poster to the 3.4 branch:
Fix for LP bug 181833 (from Gustavo Niemeyer). Before "visiting" a
Expand All @@ -394,7 +411,7 @@ Changes


3.4.2 - (2009/03/23)
--------------------
====================

- Add dependency on ``zope.thread`` to setup.py; without it, the tests were
failing.
Expand All @@ -407,31 +424,31 @@ Changes


3.4.1 - 2008/07/27
------------------
==================

- Make C code compatible with Python 2.5 on 64bit architectures.


3.4.0 (2007-10-02)
------------------
==================

- Update meta-data.


3.4.0b5 (2007-08-15)
--------------------
====================

- Fix a circular import in the C implementation.


3.4.0b4 (2007-08-14)
--------------------
====================

- Improve ugly/brittle ID of ``zope.security.management.system_user``.


3.4.0b3 (2007-08-14)
--------------------
====================

- Add support for Python 2.5.

Expand All @@ -444,15 +461,15 @@ Changes


3.4.0b2 (2007-06-15)
--------------------
====================

- Bug: Remove stack extraction in ``newInteraction``. When using eggs this is
an extremly expensive function. The publisher is now more than 10 times
faster when using eggs and about twice as fast with a zope trunk checkout.


3.4.0b1
-------
=======

- Temporarily fixed the hidden (and accidental) dependency on zope.testing to
become optional.
Expand All @@ -462,7 +479,7 @@ individual package and have been documented in the Zope 3 changelog.


3.2.0 (2006-01-05)
------------------
==================

- Corresponds to the verison of the ``zope.security`` package shipped as part
of the Zope 3.2.0 release.
Expand All @@ -481,7 +498,7 @@ individual package and have been documented in the Zope 3 changelog.


3.1.0 (2005-10-03)
------------------
==================

- Add support for use of the new Python 2.4 datatypes, ``set`` and
``frozenset``, within checked code.
Expand Down Expand Up @@ -510,7 +527,7 @@ individual package and have been documented in the Zope 3 changelog.


3.0.0 (2004-11-07)
------------------
==================

- Corresponds to the version of the ``zope.security`` package shipped as part
of the Zope X3.0.0 release.
Loading

0 comments on commit dde46cb

Please sign in to comment.