From 690186320b8c89d715b095b58ce03a0f6f1c82da Mon Sep 17 00:00:00 2001 From: Duncan Bellamy Date: Sat, 6 Jan 2024 10:26:56 +0000 Subject: [PATCH] contrib/python-pytest-mock: new package (3.12.0) --- .../patches/python-tests.patch | 90 +++++++++++++++++++ contrib/python-pytest-mock/template.py | 22 +++++ 2 files changed, 112 insertions(+) create mode 100644 contrib/python-pytest-mock/patches/python-tests.patch create mode 100644 contrib/python-pytest-mock/template.py diff --git a/contrib/python-pytest-mock/patches/python-tests.patch b/contrib/python-pytest-mock/patches/python-tests.patch new file mode 100644 index 00000000000..f12046b3a44 --- /dev/null +++ b/contrib/python-pytest-mock/patches/python-tests.patch @@ -0,0 +1,90 @@ +From 8480bb6d0500f933be039cfec65e04157e6ecffe Mon Sep 17 00:00:00 2001 +From: Bruno Oliveira +Date: Tue, 19 Dec 2023 08:24:23 -0300 +Subject: [PATCH 1/3] Fix tests for Python 3.11 and 3.12 + +Fixes #401. +--- + tests/test_pytest_mock.py | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/tests/test_pytest_mock.py b/tests/test_pytest_mock.py +index 3ee00da..7acb361 100644 +--- a/tests/test_pytest_mock.py ++++ b/tests/test_pytest_mock.py +@@ -246,9 +246,8 @@ def __test_failure_message(self, mocker: MockerFixture, **kwargs: Any) -> None: + 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) + +From c596504e062be06475b03122c9c0cc732ae87840 Mon Sep 17 00:00:00 2001 +From: "pre-commit-ci[bot]" + <66853113+pre-commit-ci[bot]@users.noreply.github.com> +Date: Tue, 19 Dec 2023 11:24:38 +0000 +Subject: [PATCH 2/3] [pre-commit.ci] auto fixes from pre-commit.com hooks + +for more information, see https://pre-commit.ci +--- + tests/test_pytest_mock.py | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/tests/test_pytest_mock.py b/tests/test_pytest_mock.py +index 7acb361..c185f2a 100644 +--- a/tests/test_pytest_mock.py ++++ b/tests/test_pytest_mock.py +@@ -246,7 +246,9 @@ def __test_failure_message(self, mocker: MockerFixture, **kwargs: Any) -> None: + msg = "Expected call: {0}()\nNot called" + expected_message = msg.format(expected_name) + stub = mocker.stub(**kwargs) +- with pytest.raises(AssertionError, match=re.escape(expected_message)) as exc_info: ++ with pytest.raises( ++ AssertionError, match=re.escape(expected_message) ++ ) as exc_info: + stub.assert_called_with() + + def test_failure_message_with_no_name(self, mocker: MagicMock) -> None: + +From 6da5b0506d6378a8dbe5ae314d5134e6868aeabd Mon Sep 17 00:00:00 2001 +From: danigm +Date: Wed, 20 Dec 2023 16:02:13 +0100 +Subject: [PATCH 3/3] Update expected message to match python 3.11.7 (#404) + +https://github.com/python/cpython/issues/111019 + +Fixes #401. +Closes #403. +--- + tests/test_pytest_mock.py | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/tests/test_pytest_mock.py b/tests/test_pytest_mock.py +index c185f2a..01534a4 100644 +--- a/tests/test_pytest_mock.py ++++ b/tests/test_pytest_mock.py +@@ -25,6 +25,8 @@ + + # Python 3.8 changed the output formatting (bpo-35500), which has been ported to mock 3.0 + NEW_FORMATTING = sys.version_info >= (3, 8) ++# Python 3.11.7 changed the output formatting, https://github.com/python/cpython/issues/111019 ++NEWEST_FORMATTING = sys.version_info >= (3, 11, 7) + + if sys.version_info[:2] >= (3, 8): + from unittest.mock import AsyncMock +@@ -240,7 +242,9 @@ def test_repr_with_name(self, mocker: MockerFixture) -> None: + + 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" diff --git a/contrib/python-pytest-mock/template.py b/contrib/python-pytest-mock/template.py new file mode 100644 index 00000000000..d02e056da67 --- /dev/null +++ b/contrib/python-pytest-mock/template.py @@ -0,0 +1,22 @@ +pkgname = "python-pytest-mock" +pkgver = "3.12.0" +pkgrel = 0 +build_style = "python_pep517" +hostmakedepends = [ + "python-build", + "python-installer", + "python-setuptools_scm", + "python-wheel", +] +depends = ["python-mock", "python-pytest"] +checkdepends = ["python-pytest-asyncio"] + depends +pkgdesc = "Thin-wrapper around the mock package for easier use with pytest" +maintainer = "Duncan Bellamy " +license = "MIT" +url = "https://pytest-mock.readthedocs.io/en/latest/index.html" +source = f"$(PYPI_SITE)/p/pytest-mock/pytest-mock-{pkgver}.tar.gz" +sha256 = "31a40f038c22cad32287bb43932054451ff5583ff094bca6f675df2f8bc1a6e9" + + +def post_install(self): + self.install_license("LICENSE")