Skip to content

Commit c4dd650

Browse files
committed
Preparing for 5.0.0 release.
1 parent 3a70a8c commit c4dd650

16 files changed

+62
-27
lines changed

CHANGELOG.rst

+61
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,64 @@
1+
5.0.0
2+
-----
3+
4+
- gh-98624: Add a mutex to unittest.mock.NonCallableMock to protect
5+
concurrent access to mock attributes.
6+
7+
- bpo-43478: Mocks can no longer be used as the specs for other Mocks. As a
8+
result, an already-mocked object cannot have an attribute mocked using
9+
`autospec=True` or be the subject of a `create_autospec(...)` call. This
10+
can uncover bugs in tests since these Mock-derived Mocks will always pass
11+
certain tests (e.g. isinstance) and builtin assert functions (e.g.
12+
assert_called_once_with) will unconditionally pass.
13+
14+
- bpo-45156: Fixes infinite loop on :func:`unittest.mock.seal` of mocks
15+
created by :func:`~unittest.create_autospec`.
16+
17+
- bpo-41403: Make :meth:`mock.patch` raise a :exc:`TypeError` with a
18+
relevant error message on invalid arg. Previously it allowed a cryptic
19+
:exc:`AttributeError` to escape.
20+
21+
- gh-91803: Fix an error when using a method of objects mocked with
22+
:func:`unittest.mock.create_autospec` after it was sealed with
23+
:func:`unittest.mock.seal` function.
24+
25+
- bpo-41877: AttributeError for suspected misspellings of assertions on
26+
mocks are now pointing out that the cause are misspelled assertions and
27+
also what to do if the misspelling is actually an intended attribute name.
28+
The unittest.mock document is also updated to reflect the current set of
29+
recognised misspellings.
30+
31+
- bpo-43478: Mocks can no longer be provided as the specs for other Mocks.
32+
As a result, an already-mocked object cannot be passed to `mock.Mock()`.
33+
This can uncover bugs in tests since these Mock-derived Mocks will always
34+
pass certain tests (e.g. isinstance) and builtin assert functions (e.g.
35+
assert_called_once_with) will unconditionally pass.
36+
37+
- bpo-45010: Remove support of special method ``__div__`` in
38+
:mod:`unittest.mock`. It is not used in Python 3.
39+
40+
- gh-84753: :func:`inspect.iscoroutinefunction` now properly returns
41+
``True`` when an instance of :class:`unittest.mock.AsyncMock` is passed to
42+
it. This makes it consistent with behavior of
43+
:func:`asyncio.iscoroutinefunction`. Patch by Mehdi ABAAKOUK.
44+
45+
- bpo-46852: Remove the undocumented private ``float.__set_format__()``
46+
method, previously known as ``float.__setformat__()`` in Python 3.7. Its
47+
docstring said: "You probably don't want to use this function. It exists
48+
mainly to be used in Python's test suite." Patch by Victor Stinner.
49+
50+
- gh-98086: Make sure ``patch.dict()`` can be applied on async functions.
51+
52+
- gh-100287: Fix the interaction of :func:`unittest.mock.seal` with
53+
:class:`unittest.mock.AsyncMock`.
54+
55+
- gh-83076: Instantiation of ``Mock()`` and ``AsyncMock()`` is now 3.8x
56+
faster.
57+
58+
- bpo-41877: A check is added against misspellings of autospect, auto_spec
59+
and set_spec being passed as arguments to patch, patch.object and
60+
create_autospec.
61+
162
4.0.3
263
-----
364

NEWS.d/2020-12-10-09-24-44.bpo-41877.iJSCvM.rst

-1
This file was deleted.

NEWS.d/2020-12-10-19-49-52.bpo-41877.wiVlPc.rst

-1
This file was deleted.

NEWS.d/2021-04-10-03-30-36.bpo-43478.iZcBTq.rst

-1
This file was deleted.

NEWS.d/2021-08-26-09-54-14.bpo-45010.Cn23bQ.rst

-2
This file was deleted.

NEWS.d/2021-09-13-00-28-17.bpo-45156.8oomV3.rst

-2
This file was deleted.

NEWS.d/2022-01-23-18-04-45.bpo-41403.SgoHqV.rst

-3
This file was deleted.

NEWS.d/2022-02-03-00-21-32.bpo-43478.0nfcam.rst

-1
This file was deleted.

NEWS.d/2022-02-25-01-42-45.bpo-46852.nkRDvV.rst

-4
This file was deleted.

NEWS.d/2022-05-03-11-32-29.gh-issue-91803.pI4Juv.rst

-3
This file was deleted.

NEWS.d/2022-06-21-11-40-31.gh-issue-84753.FW1pxO.rst

-3
This file was deleted.

NEWS.d/2022-10-08-19-39-27.gh-issue-98086.y---WC.rst

-1
This file was deleted.

NEWS.d/2022-10-25-20-17-34.gh-issue-98624.YQUPFy.rst

-2
This file was deleted.

NEWS.d/2022-12-14-17-37-01.gh-issue-83076.NaYzWT.rst

-1
This file was deleted.

NEWS.d/2022-12-24-08-42-05.gh-issue-100287.n0oEuG.rst

-1
This file was deleted.

mock/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import mock.mock as _mock
88
from mock.mock import *
99

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

0 commit comments

Comments
 (0)