Skip to content

Commit

Permalink
Preparing for 5.0.0 release.
Browse files Browse the repository at this point in the history
  • Loading branch information
cjw296 committed Dec 28, 2022
1 parent 3a70a8c commit c4dd650
Show file tree
Hide file tree
Showing 16 changed files with 62 additions and 27 deletions.
61 changes: 61 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,64 @@
5.0.0
-----

- gh-98624: Add a mutex to unittest.mock.NonCallableMock to protect
concurrent access to mock attributes.

- bpo-43478: Mocks can no longer be used as the specs for other Mocks. As a
result, an already-mocked object cannot have an attribute mocked using
`autospec=True` or be the subject of a `create_autospec(...)` call. This
can uncover bugs in tests since these Mock-derived Mocks will always pass
certain tests (e.g. isinstance) and builtin assert functions (e.g.
assert_called_once_with) will unconditionally pass.

- bpo-45156: Fixes infinite loop on :func:`unittest.mock.seal` of mocks
created by :func:`~unittest.create_autospec`.

- bpo-41403: Make :meth:`mock.patch` raise a :exc:`TypeError` with a
relevant error message on invalid arg. Previously it allowed a cryptic
:exc:`AttributeError` to escape.

- gh-91803: Fix an error when using a method of objects mocked with
:func:`unittest.mock.create_autospec` after it was sealed with
:func:`unittest.mock.seal` function.

- bpo-41877: AttributeError for suspected misspellings of assertions on
mocks are now pointing out that the cause are misspelled assertions and
also what to do if the misspelling is actually an intended attribute name.
The unittest.mock document is also updated to reflect the current set of
recognised misspellings.

- bpo-43478: Mocks can no longer be provided as the specs for other Mocks.
As a result, an already-mocked object cannot be passed to `mock.Mock()`.
This can uncover bugs in tests since these Mock-derived Mocks will always
pass certain tests (e.g. isinstance) and builtin assert functions (e.g.
assert_called_once_with) will unconditionally pass.

- bpo-45010: Remove support of special method ``__div__`` in
:mod:`unittest.mock`. It is not used in Python 3.

- gh-84753: :func:`inspect.iscoroutinefunction` now properly returns
``True`` when an instance of :class:`unittest.mock.AsyncMock` is passed to
it. This makes it consistent with behavior of
:func:`asyncio.iscoroutinefunction`. Patch by Mehdi ABAAKOUK.

- bpo-46852: Remove the undocumented private ``float.__set_format__()``
method, previously known as ``float.__setformat__()`` in Python 3.7. Its
docstring said: "You probably don't want to use this function. It exists
mainly to be used in Python's test suite." Patch by Victor Stinner.

- gh-98086: Make sure ``patch.dict()`` can be applied on async functions.

- gh-100287: Fix the interaction of :func:`unittest.mock.seal` with
:class:`unittest.mock.AsyncMock`.

- gh-83076: Instantiation of ``Mock()`` and ``AsyncMock()`` is now 3.8x
faster.

- bpo-41877: A check is added against misspellings of autospect, auto_spec
and set_spec being passed as arguments to patch, patch.object and
create_autospec.

4.0.3
-----

Expand Down
1 change: 0 additions & 1 deletion NEWS.d/2020-12-10-09-24-44.bpo-41877.iJSCvM.rst

This file was deleted.

1 change: 0 additions & 1 deletion NEWS.d/2020-12-10-19-49-52.bpo-41877.wiVlPc.rst

This file was deleted.

1 change: 0 additions & 1 deletion NEWS.d/2021-04-10-03-30-36.bpo-43478.iZcBTq.rst

This file was deleted.

2 changes: 0 additions & 2 deletions NEWS.d/2021-08-26-09-54-14.bpo-45010.Cn23bQ.rst

This file was deleted.

2 changes: 0 additions & 2 deletions NEWS.d/2021-09-13-00-28-17.bpo-45156.8oomV3.rst

This file was deleted.

3 changes: 0 additions & 3 deletions NEWS.d/2022-01-23-18-04-45.bpo-41403.SgoHqV.rst

This file was deleted.

1 change: 0 additions & 1 deletion NEWS.d/2022-02-03-00-21-32.bpo-43478.0nfcam.rst

This file was deleted.

4 changes: 0 additions & 4 deletions NEWS.d/2022-02-25-01-42-45.bpo-46852.nkRDvV.rst

This file was deleted.

3 changes: 0 additions & 3 deletions NEWS.d/2022-05-03-11-32-29.gh-issue-91803.pI4Juv.rst

This file was deleted.

3 changes: 0 additions & 3 deletions NEWS.d/2022-06-21-11-40-31.gh-issue-84753.FW1pxO.rst

This file was deleted.

1 change: 0 additions & 1 deletion NEWS.d/2022-10-08-19-39-27.gh-issue-98086.y---WC.rst

This file was deleted.

2 changes: 0 additions & 2 deletions NEWS.d/2022-10-25-20-17-34.gh-issue-98624.YQUPFy.rst

This file was deleted.

1 change: 0 additions & 1 deletion NEWS.d/2022-12-14-17-37-01.gh-issue-83076.NaYzWT.rst

This file was deleted.

1 change: 0 additions & 1 deletion NEWS.d/2022-12-24-08-42-05.gh-issue-100287.n0oEuG.rst

This file was deleted.

2 changes: 1 addition & 1 deletion mock/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import mock.mock as _mock
from mock.mock import *

__version__ = '4.0.3'
__version__ = '5.0.0'
version_info = tuple(int(p) for p in
re.match(r'(\d+).(\d+).(\d+)', __version__).groups())

Expand Down

0 comments on commit c4dd650

Please sign in to comment.