Skip to content

chore(deps): update dependency mock to v5

Tine Wittler requested to merge renovate/mock-5.x into master

This MR contains the following updates:

Package Update Change
mock (source) major ==2.0.0 -> ==5.1.0

Release Notes

testing-cabal/mock

v5.1.0

Compare Source

  • bpo-44185: :func:unittest.mock.mock_open will call the :func:close method of the file handle mock when it is exiting from the context manager. Patch by Samet Yaslan.

  • gh-94924: :func:unittest.mock.create_autospec now properly returns coroutine functions compatible with :func:inspect.iscoroutinefunction

  • bpo-17013: Add ThreadingMock to :mod:unittest.mock that can be used to create Mock objects that can wait until they are called. Patch by Karthikeyan Singaravelan and Mario Corchero.

  • bpo-41768: :mod:unittest.mock speccing no longer calls class properties. Patch by Melanie Witt.

v5.0.2

Compare Source

  • gh-102978: Fixes :func:unittest.mock.patch not enforcing function signatures for methods decorated with @classmethod or @staticmethod when patch is called with autospec=True.

  • gh-103329: Regression tests for the behaviour of unittest.mock.PropertyMock were added.

v5.0.1

Compare Source

  • gh-100740: Fix unittest.mock.Mock not respecting the spec for attribute names prefixed with assert.

  • gh-100690: Mock objects which are not unsafe will now raise an AttributeError when accessing an attribute that matches the name of an assertion but without the prefix assert_, e.g. accessing called_once instead of assert_called_once. This is in addition to this already happening for accessing attributes with prefixes assert, assret, asert, aseert, and assrt.

  • gh-96127: inspect.signature was raising TypeError on call with mock objects. Now it correctly returns (*args, **kwargs) as infered signature.

v5.0.0

Compare Source

  • 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.

v4.0.3

Compare Source

  • bpo-42532: Remove unexpected call of __bool__ when passing a spec_arg argument to a Mock.

  • bpo-39966: Revert bpo-25597. :class:unittest.mock.MagicMock with wraps' set uses default return values for magic methods.

  • bpo-41877: Mock objects which are not unsafe will now raise an AttributeError if an attribute with the prefix asert, aseert, or assrt is accessed, in addition to this already happening for the prefixes assert or assret.

  • bpo-40126: Fixed reverting multiple patches in unittest.mock. Patcher's __exit__() is now never called if its __enter__() is failed. Returning true from __exit__() silences now the exception.

v4.0.2

Compare Source

  • bpo-39915: Ensure :attr:unittest.mock.AsyncMock.await_args_list has call objects in the order of awaited arguments instead of using :attr:unittest.mock.Mock.call_args which has the last value of the call. Patch by Karthikeyan Singaravelan.

v4.0.1

Compare Source

  • Remove the universal marker from the wheel.

v4.0.0

Compare Source

  • No Changes from 4.0.0b1.

v3.0.5

Compare Source

  • bpo-31855: :func:unittest.mock.mock_open results now respects the argument of read([size]). Patch contributed by Rémi Lapeyre.

v3.0.4

Compare Source

  • Include the license, readme and changelog in the source distribution.

v3.0.3

Compare Source

  • Fixed patching of dictionaries, when specifying the target with a unicode on Python 2.

v3.0.2

Compare Source

  • Add missing funcsigs dependency on Python 2.

v3.0.1

Compare Source

  • Fix packaging issue where six was missed as a dependency.

v3.0.0

Compare Source

  • bpo-35226: Recursively check arguments when testing for equality of :class:unittest.mock.call objects and add note that tracking of parameters used to create ancestors of mocks in mock_calls is not possible.

  • bpo-31177: Fix bug that prevented using :meth:reset_mock <unittest.mock.Mock.reset_mock> on mock instances with deleted attributes

  • bpo-26704: Added test demonstrating double-patching of an instance method. Patch by Anthony Sottile.

  • bpo-35500: Write expected and actual call parameters on separate lines in :meth:unittest.mock.Mock.assert_called_with assertion errors. Contributed by Susan Su.

  • bpo-35330: When a :class:Mock instance was used to wrap an object, if side_effect is used in one of the mocks of it methods, don't call the original implementation and return the result of using the side effect the same way that it is done with return_value.

  • bpo-30541: Add new function to seal a mock and prevent the automatically creation of child mocks. Patch by Mario Corchero.

  • bpo-35022: :class:unittest.mock.MagicMock now supports the __fspath__ method (from :class:os.PathLike).

  • bpo-33516: :class:unittest.mock.MagicMock now supports the __round__ magic method.

  • bpo-35512: :func:unittest.mock.patch.dict used as a decorator with string target resolves the target during function call instead of during decorator construction. Patch by Karthikeyan Singaravelan.

  • bpo-36366: Calling stop() on an unstarted or stopped :func:unittest.mock.patch object will now return None instead of raising :exc:RuntimeError, making the method idempotent. Patch byKarthikeyan Singaravelan.

  • bpo-35357: Internal attributes' names of unittest.mock._Call and unittest.mock.MagicProxy (name, parent & from_kall) are now prefixed with mock in order to prevent clashes with widely used object attributes. Fixed minor typo in test function name.

  • bpo-20239: Allow repeated assignment deletion of :class:unittest.mock.Mock attributes. Patch by Pablo Galindo.

  • bpo-35082: Don't return deleted attributes when calling dir on a :class:unittest.mock.Mock.

  • bpo-0: Improved an error message when mock assert_has_calls fails.

  • bpo-23078: Add support for :func:classmethod and :func:staticmethod to :func:unittest.mock.create_autospec. Initial patch by Felipe Ochoa.

  • bpo-21478: Calls to a child function created with :func:unittest.mock.create_autospec should propagate to the parent. Patch by Karthikeyan Singaravelan.

  • bpo-36598: Fix isinstance check for Mock objects with spec when the code is executed under tracing. Patch by Karthikeyan Singaravelan.

  • bpo-32933: :func:unittest.mock.mock_open now supports iteration over the file contents. Patch by Tony Flury.

  • bpo-21269: Add args and kwargs properties to mock call objects. Contributed by Kumar Akshay.

  • bpo-17185: Set __signature__ on mock for :mod:inspect to get signature. Patch by Karthikeyan Singaravelan.

  • bpo-35047: unittest.mock now includes mock calls in exception messages if assert_not_called, assert_called_once, or assert_called_once_with fails. Patch by Petter Strandmark.

  • bpo-28380: unittest.mock Mock autospec functions now properly support assert_called, assert_not_called, and assert_called_once.

  • bpo-28735: Fixed the comparison of mock.MagickMock with mock.ANY.

  • bpo-20804: The unittest.mock.sentinel attributes now preserve their identity when they are copied or pickled.

  • bpo-28961: Fix unittest.mock._Call helper: don't ignore the name parameter anymore. Patch written by Jiajun Huang.

  • bpo-26750: unittest.mock.create_autospec() now works properly for subclasses of property() and other data descriptors.

  • bpo-21271: New keyword only parameters in reset_mock call.

  • bpo-26807: mock_open 'files' no longer error on readline at end of file. Patch from Yolanda Robla.

  • bpo-25195: Fix a regression in mock.MagicMock. _Call is a subclass of tuple (changeset 3603bae only works for classes) so we need to implement ne ourselves. Patch by Andrew Plummer.


Configuration

📅 Schedule: At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, click this checkbox.

This MR has been generated by Renovate Bot.

Merge request reports

Loading