Skip to content

Commit

Permalink
contrib/python-pytest-mock: new package (3.12.0)
Browse files Browse the repository at this point in the history
  • Loading branch information
a16bitsysop committed Jan 22, 2024
1 parent 707f683 commit 6901863
Show file tree
Hide file tree
Showing 2 changed files with 112 additions and 0 deletions.
90 changes: 90 additions & 0 deletions contrib/python-pytest-mock/patches/python-tests.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
From 8480bb6d0500f933be039cfec65e04157e6ecffe Mon Sep 17 00:00:00 2001
From: Bruno Oliveira <[email protected]>
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 <[email protected]>
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"
22 changes: 22 additions & 0 deletions contrib/python-pytest-mock/template.py
Original file line number Diff line number Diff line change
@@ -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 <[email protected]>"
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")

0 comments on commit 6901863

Please sign in to comment.