Sync from SUSE:SLFO:Main python-pytest-mock revision 64dc95f3b8a73f3ed84f7c566dcfbf3d

This commit is contained in:
Adrian Schröter 2024-05-03 22:26:49 +02:00
commit 5e7aa83d33
5 changed files with 444 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

View File

@ -0,0 +1,44 @@
From 8480bb6d0500f933be039cfec65e04157e6ecffe Mon Sep 17 00:00:00 2001
From: Bruno Oliveira <nicoddemus@gmail.com>
Date: Tue, 19 Dec 2023 08:24:23 -0300
Subject: [PATCH 1/2] Fix tests for Python 3.11 and 3.12
Fixes #401.
---
tests/test_pytest_mock.py | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
Index: pytest-mock-3.12.0/tests/test_pytest_mock.py
===================================================================
--- pytest-mock-3.12.0.orig/tests/test_pytest_mock.py
+++ pytest-mock-3.12.0/tests/test_pytest_mock.py
@@ -25,6 +25,7 @@ skip_pypy = pytest.mark.skipif(
# Python 3.8 changed the output formatting (bpo-35500), which has been ported to mock 3.0
NEW_FORMATTING = sys.version_info >= (3, 8)
+NEWEST_FORMATTING = sys.version_info >= (3, 11, 7)
if sys.version_info[:2] >= (3, 8):
from unittest.mock import AsyncMock
@@ -240,15 +241,18 @@ class TestMockerStub:
def __test_failure_message(self, mocker: MockerFixture, **kwargs: Any) -> None:
expected_name = kwargs.get("name") or "mock"
- if NEW_FORMATTING:
+ if NEWEST_FORMATTING:
+ msg = "expected call not found.\nExpected: {0}()\n Actual: not called."
+ elif NEW_FORMATTING:
msg = "expected call not found.\nExpected: {0}()\nActual: not called."
else:
msg = "Expected call: {0}()\nNot called"
expected_message = msg.format(expected_name)
stub = mocker.stub(**kwargs)
- with pytest.raises(AssertionError) as exc_info:
+ with pytest.raises(
+ AssertionError, match=re.escape(expected_message)
+ ) as exc_info:
stub.assert_called_with()
- assert str(exc_info.value) == expected_message
def test_failure_message_with_no_name(self, mocker: MagicMock) -> None:
self.__test_failure_message(mocker)

BIN
pytest-mock-3.12.0.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

308
python-pytest-mock.changes Normal file
View File

@ -0,0 +1,308 @@
-------------------------------------------------------------------
Wed Dec 20 12:28:16 UTC 2023 - Daniel Garcia <daniel.garcia@suse.com>
- Fix tests with python 3.11.7
- Add patch fix-tests-python3117.patch gh#pytest-dev/pytest-mock#403
-------------------------------------------------------------------
Tue Nov 7 19:35:58 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 3.12.0:
* Added support for Python 3.12.
* Dropped support for EOL Python 3.7.
* ``mocker.resetall()`` now also resets mocks created by
``mocker.create_autospec`` (`#390`_).
-------------------------------------------------------------------
Mon Jul 24 19:10:29 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 3.11.1:
* Fixed introspection for failed ``assert_has_calls``
* Updated type annotations for ``mocker.patch`` and
``mocker.spy`` (`#364`_).
-------------------------------------------------------------------
Fri Apr 21 12:31:50 UTC 2023 - Dirk Müller <dmueller@suse.com>
- add sle15_python_module_pythons (jsc#PED-68)
-------------------------------------------------------------------
Thu Apr 13 22:44:07 UTC 2023 - Matej Cepl <mcepl@suse.com>
- Make calling of %{sle15modernpython} optional.
-------------------------------------------------------------------
Wed Nov 30 11:25:21 UTC 2022 - Daniel Garcia <daniel.garcia@suse.com>
- Remove python_module macro definition
- Remove pytest-mock-issue272-asyncio.patch
- Add python-py dependency
- Update to 3.10.0:
* Added new mocker.stop(m) method to stop specific mocker.patch or mocker.spy
calls (#319).
- 3.9.0:
* Expose NonCallableMagicMock via the mocker fixture (#318).
- 3.8.2:
* Fixed AsyncMock support for Python 3.7+ in mocker.async_stub (#302).
- 3.8.1:
* Fix regression caused by an explicit mock dependency in the code (#298).
- 3.8.0:
* Add MockerFixture.async_mock method. Thanks @PerchunPak for the PR (#296).
- 3.7.0:
* Python 3.10 now officially supported.
* Dropped support for Python 3.6.
-------------------------------------------------------------------
Sat Jan 22 11:58:55 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Add pytest-mock-issue272-asyncio.patch
* gh#pytest-dev/pytest-mock#272
-------------------------------------------------------------------
Thu Jun 3 09:35:04 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
- Update to 3.6.1:
* Fix mocker.resetall() when using mocker.spy() (#237)
- Update to 3.6.0:
* pytest-mock no longer supports Python 3.5.
* Correct type annotations for mocker.patch.object to also
include the string form.
* reset_all now supports return_value and side_effect keyword
arguments.
- Update to 3.5.1:
* Use inspect.getattr_static instead of resorting to
object.__getattribute__ magic. This should better comply with
objects which implement a custom descriptor protocol.
- Update to 3.5.0:
* Now all patch functions will emit a warning instead of raising
a ValueError when used as a context-manager.
* Additionally, mocker.patch.context_manager is available when
the user intends to mock a context manager (for example
threading.Lock object), which will not emit that warning.
- Update to 3.4.0:
* Add [mock.seal]{.title-ref} alias to the [mocker]{.title-ref}
fixture (#211).
* Fixed spying on exceptions not covered by the Exception
superclass (#215), like KeyboardInterrupt
Before the fix, both spy_return and spy_exception were always
assigned to None whenever such an exception happened. And
after this fix, spy_exception is set to a correct value of
an exception.
- Update to 3.3.1:
* Introduce MockFixture as an alias to MockerFixture.
Before 3.3.0, the fixture class was named MockFixture, but was
renamed to MockerFixture to better match the mocker fixture.
While not officially part of the API, it was later discovered
that this broke the code of some users which already imported
pytest_mock.MockFixture for type annotations, so we decided to
reintroduce the name as an alias.
Note however that this is just a stop gap measure, and new code
should use MockerFixture for type annotations.
* Improved typing for MockerFixture.patch (#201).
- Update to 3.3.0:
* pytest-mock now includes inline type annotations and exposes
them to user programs. The mocker fixture returns
pytest_mock.MockerFixture, which can be used to annotate your
tests:
from pytest_mock import MockerFixture
def test_foo(mocker: MockerFixture) -> None:
...
* The type annotations were developed against mypy version 0.782,
the minimum version supported at the moment. If you run into an
error that you believe to be incorrect, please open an issue.
- Update to 3.2.0:
* AsyncMock is now exposed in mocker and supports provides
assertion introspection similar to Mock objects.
-------------------------------------------------------------------
Tue Jun 9 07:58:45 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 3.1.1:
* Fixed performance regression caused by the ValueError raised
when mocker is used as context manager (#191).
-------------------------------------------------------------------
Mon Apr 27 10:19:49 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 3.1.0:
* Python 2.7 and 3.4 are no longer supported
* New mocker fixtures added that allow using mocking functionality
in other scopes
-------------------------------------------------------------------
Mon Jan 6 13:11:42 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 2.0.0:
* mocker.spy attributes for tracking returned values and raised
exceptions of its spied functions are now called spy_return
and spy_exception, instead of reusing the existing MagicMock
attributes return_value and side_effect.
* The deprecated mock alias to the mocker fixture has finally
been removed.
-------------------------------------------------------------------
Wed Dec 4 12:04:01 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 1.12.1:
* Fix error if mocker.patch is used in code where the source file
is not available, for example stale .pyc files
* Now all patch functions also raise a ValueError when used as a
context-manager
-------------------------------------------------------------------
Sat Nov 16 22:35:16 UTC 2019 - Hans-Peter Jansen <hpj@urpla.net>
- Disable current failing tests
see: https://github.com/pytest-dev/pytest-mock/issues/167
boils done to an issue of pytest
-------------------------------------------------------------------
Tue Nov 5 10:50:54 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 1.11.2:
* The pytest introspection follows message is no longer shown
if there is no pytest introspection (#154)
* mocker now raises a ValueError when used as a context-manager
-------------------------------------------------------------------
Mon Oct 7 12:56:56 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 1.11.1:
* Fix mocker.spy on Python 2 when used on non-function objects
which implement __call__ (#157).
-------------------------------------------------------------------
Mon Sep 30 12:22:25 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 1.11.0:
* The object returned by mocker.spy now also tracks the return
value of the spied method/function.
- Drop merged patch mock3.patch and fix_tests.patch
-------------------------------------------------------------------
Wed Sep 11 08:21:28 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Add back the mock 3.0 patch as the mock is being integrated now:
* mock3.patch
-------------------------------------------------------------------
Fri Jul 26 12:26:36 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Remove mock30.patch for now as we are not able to upgrade
to mock3 yet
-------------------------------------------------------------------
Thu Jul 18 08:52:38 UTC 2019 - Ondřej Súkup <mimi.vx@gmail.com>
- add upstream patch to test with pytest5 - fix_tests.patch
-------------------------------------------------------------------
Wed May 15 17:39:00 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Add patch from upstream to build with new mock:
* mock30.patch
-------------------------------------------------------------------
Mon Apr 29 08:07:10 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 1.10.4:
* Fix plugin when 'terminal' plugin is disabled
-------------------------------------------------------------------
Mon Apr 1 08:34:55 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 1.10.3:
* Fix test suite in Python 3.8. Thanks @hroncok for the report and @blueyed for the PR (#140).
-------------------------------------------------------------------
Tue Mar 26 09:33:33 UTC 2019 - John Vandenberg <jayvdb@gmail.com>
- Update to v1.10.2
* Fix bug at the end of the test session when a call to
patch.stopall is done explicitly by user code.
-------------------------------------------------------------------
Wed Feb 13 09:46:47 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 1.10.1:
* Fix broken links and update README. Also the code is now formatted using black.
-------------------------------------------------------------------
Sun May 6 19:35:00 UTC 2018 - arun@gmx.de
- update to version 1.10.0:
* Add support for the recently added assert_called method in Python
3.6 and mock-2.0. Thanks @rouge8 for the PR (#115).
-------------------------------------------------------------------
Sat Apr 21 16:39:10 UTC 2018 - arun@gmx.de
- update to version 1.9.0:
* Add support for the recently added assert_called_once method in
Python 3.6 and mock-2.0. Thanks @rouge8 for the PR (#113).
- changes from version 1.8.0:
* Add aliases for NonCallableMock and create_autospec to
mocker. Thanks @mlhamel for the PR (#111).
-------------------------------------------------------------------
Sat Mar 3 10:13:26 UTC 2018 - mimi.vx@gmail.com
- update to 1.7.1
* fix reading README.rst in setup.py
-------------------------------------------------------------------
Fri Mar 2 10:04:50 UTC 2018 - chris@computersalat.de
- fix deps for setuptools
-------------------------------------------------------------------
Thu Mar 1 00:05:11 UTC 2018 - mimi.vx@gmail.com
- update to 1.7.0
* Drop support for python-2.6 and python-3.3
-------------------------------------------------------------------
Thu Jan 11 12:23:03 UTC 2018 - tchvatal@suse.com
- Fix building with python3 only available
- Install properly license file/etc
-------------------------------------------------------------------
Wed Oct 11 14:45:16 UTC 2017 - mpluskal@suse.com
- Update to version 1.6.3:
* Fix UnicodeDecodeError during assert introspection in
assert_called_with in Python 2.
* Provide source package in tar.gz format and remove obsolete
MANIFEST.in.
* Fix mocker.resetall() by ignoring mocker objects which don't
have a resetall method, like for example patch.dict
-------------------------------------------------------------------
Fri Aug 11 14:27:43 UTC 2017 - tbechtold@suse.com
- Remove python-virtualenv BuildRequires and simplify test
execution
-------------------------------------------------------------------
Wed Apr 5 12:22:45 UTC 2017 - jmatejek@suse.com
- update to 1.6.0
* original assertions now appear in failure message
- shorten summary
- add requirements on mock and pytest
- enable tests
-------------------------------------------------------------------
Thu Mar 9 09:06:36 UTC 2017 - okurz@suse.com
- Initial singlespec submission

66
python-pytest-mock.spec Normal file
View File

@ -0,0 +1,66 @@
#
# spec file for package python-pytest-mock
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?sle15_python_module_pythons}
Name: python-pytest-mock
Version: 3.12.0
Release: 0
Summary: Thin-wrapper around the mock package for easier use with pytest
License: MIT
URL: https://github.com/pytest-dev/pytest-mock
Source: https://files.pythonhosted.org/packages/source/p/pytest-mock/pytest-mock-%{version}.tar.gz
# PATCH-FIX-UPSTREAM: fix-tests-python3117.patch gh#pytest-dev/pytest-mock#403
Patch0: fix-tests-python3117.patch
BuildRequires: %{python_module base >= 3.8}
BuildRequires: %{python_module pytest >= 5}
BuildRequires: %{python_module pytest-asyncio}
BuildRequires: %{python_module py}
BuildRequires: %{python_module setuptools >= 36}
BuildRequires: %{python_module setuptools_scm}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-py
Requires: python-pytest
BuildArch: noarch
%python_subpackages
%description
This plugin installs a ``mocker`` fixture which is a thin-wrapper around the patching API
provided by the `mock` package, but with the benefit of not having to worry about undoing
patches at the end of a test
%prep
%autosetup -p1 -n pytest-mock-%{version}
%build
%python_build
%install
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
%pytest --assert=plain
%files %{python_files}
%doc CHANGELOG.rst
%license LICENSE
%{python_sitelib}/pytest_mock
%{python_sitelib}/pytest_mock-%{version}*-info
%changelog