Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spy neither sets exception, nor return on non-Exception exceptions #215

Closed
webknjaz opened this issue Dec 11, 2020 · 1 comment · Fixed by #216
Closed

Spy neither sets exception, nor return on non-Exception exceptions #215

webknjaz opened this issue Dec 11, 2020 · 1 comment · Fixed by #216

Comments

@webknjaz
Copy link
Member

Basically, things like KeyboardInterrupt aren't spyable. The fix should be to simply use BaseException instead of Exception.

webknjaz added a commit to webknjaz/pytest-mock that referenced this issue Dec 11, 2020
This change replaces `Exception` with `BaseException` in the `spy()`
method provided by the `mocker` fixture. This enables the caller to
spy on things like `KeyboardInterrupt`, `GeneratorExit` and
`SystemExit` exceptions that hasn't been possible before because of
a bug.

Before this change, any occurances of the above exceptions caused
`spy()` to assign `None` to both `spy_return` and `spy_exception`
attributes.

Fixes pytest-dev#215
@webknjaz
Copy link
Member Author

This PR should fix the bug: #216.

webknjaz added a commit to webknjaz/pytest-mock that referenced this issue Dec 11, 2020
This change replaces `Exception` with `BaseException` in the `spy()`
method provided by the `mocker` fixture. This enables the caller to
spy on things like `KeyboardInterrupt`, `GeneratorExit` and
`SystemExit` exceptions that hasn't been possible before because of
a bug.

Before this change, any occurances of the above exceptions caused
`spy()` to assign `None` to both `spy_return` and `spy_exception`
attributes.

Fixes pytest-dev#215
webknjaz added a commit to webknjaz/pytest-mock that referenced this issue Dec 11, 2020
This change replaces `Exception` with `BaseException` in the `spy()`
method provided by the `mocker` fixture. This enables the caller to
spy on things like `KeyboardInterrupt`, `GeneratorExit` and
`SystemExit` exceptions that hasn't been possible before because of
a bug.

Before this change, any occurances of the above exceptions caused
`spy()` to assign `None` to both `spy_return` and `spy_exception`
attributes.

Fixes pytest-dev#215
webknjaz added a commit to webknjaz/pytest-mock that referenced this issue Dec 11, 2020
This change replaces `Exception` with `BaseException` in the `spy()`
method provided by the `mocker` fixture. This enables the caller to
spy on things like `KeyboardInterrupt`, `GeneratorExit` and
`SystemExit` exceptions that hasn't been possible before because of
a bug.

Before this change, any occurances of the above exceptions caused
`spy()` to assign `None` to both `spy_return` and `spy_exception`
attributes.

Fixes pytest-dev#215
aio-libs-github-bot bot pushed a commit to aio-libs/aiohttp that referenced this issue Jan 5, 2021
Bumps [pytest-mock](https://github.com/pytest-dev/pytest-mock) from 3.3.1 to 3.5.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-mock/blob/master/CHANGELOG.rst">pytest-mock's changelog</a>.</em></p>
<blockquote>
<h2>3.5.0 (2021-01-04)</h2>
<ul>
<li>
<p>Now all patch functions will emit a warning instead of raising a <code>ValueError</code> when used
as a context-manager. Thanks <code>@iforapsy</code>_ for the PR (<code>[#221](https://github.com/pytest-dev/pytest-mock/issues/221)</code>_).</p>
</li>
<li>
<p>Additionally, <code>mocker.patch.context_manager</code> is available when the user intends to mock
a context manager (for example  <code>threading.Lock</code> object), which will not emit that
warning.</p>
</li>
</ul>
<p>.. _<a href="https://github.com/iforapsy">@iforapsy</a>: <a href="https://github.com/iforapsy">https://github.com/iforapsy</a>
.. _<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/221">#221</a>: <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/pull/221">pytest-dev/pytest-mock#221</a></p>
<h2>3.4.0 (2020-12-15)</h2>
<ul>
<li>
<p>Add <code>mock.seal</code> alias to the <code>mocker</code> fixture (<code>[#211](https://github.com/pytest-dev/pytest-mock/issues/211)</code><em>). Thanks <code>@coiax</code></em> for the PR.</p>
</li>
<li>
<p>Fixed spying on exceptions not covered by the <code>Exception</code>
superclass (<code>[#215](https://github.com/pytest-dev/pytest-mock/issues/215)</code><em>), like <code>KeyboardInterrupt</code> -- PR <code>[#216](https://github.com/pytest-dev/pytest-mock/issues/216)</code></em>
by <code>@webknjaz</code>_.</p>
<p>Before the fix, both <code>spy_return</code> and <code>spy_exception</code>
were always assigned to <code>None</code>
whenever such an exception happened. And after this fix,
<code>spy_exception</code> is set to a correct value of an exception
that has actually happened.</p>
</li>
</ul>
<p>.. _<a href="https://github.com/coiax">@coiax</a>: <a href="https://github.com/coiax">https://github.com/coiax</a>
.. _<a href="https://github.com/webknjaz">@webknjaz</a>: <a href="https://github.com/sponsors/webknjaz">https://github.com/sponsors/webknjaz</a>
.. _<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/211">#211</a>: <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/pull/211">pytest-dev/pytest-mock#211</a>
.. _<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/215">#215</a>: <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/215">pytest-dev/pytest-mock#215</a>
.. _<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/216">#216</a>: <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/pull/216">pytest-dev/pytest-mock#216</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/cdd5d709f5d1e30526ca30ae93c64fbbaebcd58d"><code>cdd5d70</code></a> Update context-manager docs and prepare for 3.5.0</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/f623fa88211e07ac4965a9079afabe9f23334758"><code>f623fa8</code></a> Warn instead of raising exception in context manager (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/221">#221</a>)</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/5f6cab7ead376d4f2de20c32bf01e244ffd44898"><code>5f6cab7</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/220">#220</a> from webknjaz/docs/216-changelog</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/9771def1069d3f1560525799ec8ba9d8e2c75ed3"><code>9771def</code></a> Fix typos in a change note for the PR <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/216">#216</a></li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/d4e3f3edd4e085e6b4bc15930a440e759984352b"><code>d4e3f3e</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/208">#208</a> from pytest-dev/graingert-patch-1</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/252eba86090fc0522c23805c097eb0c570a2c754"><code>252eba8</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/219">#219</a> from nicoddemus/release-3.4.0</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/df9ec17198d9c5d8e26eb91c892c5514b5793b02"><code>df9ec17</code></a> Prepare release 3.4.0</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/91b4afb0b9ab3a454a2e8235da682e7287ab8f32"><code>91b4afb</code></a> Add testing for Python 3.9 (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/218">#218</a>)</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/9640a36d06f1b35796e316d3b4529022e9d67fb7"><code>9640a36</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/216">#216</a> from webknjaz/bugfixes/215-spy-on-keyboard-interrupt</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/0e6b221080f5b8ef425a862ca45052131527894a"><code>0e6b221</code></a> Ensure all the exceptions cat be spied on</li>
<li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest-mock/compare/v3.3.1...v3.5.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pytest-mock&package-manager=pip&previous-version=3.3.1&new-version=3.5.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
alandtse pushed a commit to alandtse/aiohttp that referenced this issue Feb 14, 2021
Bumps [pytest-mock](https://github.com/pytest-dev/pytest-mock) from 3.3.1 to 3.5.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-mock/blob/master/CHANGELOG.rst">pytest-mock's changelog</a>.</em></p>
<blockquote>
<h2>3.5.0 (2021-01-04)</h2>
<ul>
<li>
<p>Now all patch functions will emit a warning instead of raising a <code>ValueError</code> when used
as a context-manager. Thanks <code>@iforapsy</code>_ for the PR (<code>[#221](https://github.com/pytest-dev/pytest-mock/issues/221)</code>_).</p>
</li>
<li>
<p>Additionally, <code>mocker.patch.context_manager</code> is available when the user intends to mock
a context manager (for example  <code>threading.Lock</code> object), which will not emit that
warning.</p>
</li>
</ul>
<p>.. _<a href="https://github.com/iforapsy">@iforapsy</a>: <a href="https://github.com/iforapsy">https://github.com/iforapsy</a>
.. _<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/221">#221</a>: <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/pull/221">pytest-dev/pytest-mock#221</a></p>
<h2>3.4.0 (2020-12-15)</h2>
<ul>
<li>
<p>Add <code>mock.seal</code> alias to the <code>mocker</code> fixture (<code>[#211](https://github.com/pytest-dev/pytest-mock/issues/211)</code><em>). Thanks <code>@coiax</code></em> for the PR.</p>
</li>
<li>
<p>Fixed spying on exceptions not covered by the <code>Exception</code>
superclass (<code>[#215](https://github.com/pytest-dev/pytest-mock/issues/215)</code><em>), like <code>KeyboardInterrupt</code> -- PR <code>[#216](https://github.com/pytest-dev/pytest-mock/issues/216)</code></em>
by <code>@webknjaz</code>_.</p>
<p>Before the fix, both <code>spy_return</code> and <code>spy_exception</code>
were always assigned to <code>None</code>
whenever such an exception happened. And after this fix,
<code>spy_exception</code> is set to a correct value of an exception
that has actually happened.</p>
</li>
</ul>
<p>.. _<a href="https://github.com/coiax">@coiax</a>: <a href="https://github.com/coiax">https://github.com/coiax</a>
.. _<a href="https://github.com/webknjaz">@webknjaz</a>: <a href="https://github.com/sponsors/webknjaz">https://github.com/sponsors/webknjaz</a>
.. _<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/211">#211</a>: <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/pull/211">pytest-dev/pytest-mock#211</a>
.. _<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/215">#215</a>: <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/215">pytest-dev/pytest-mock#215</a>
.. _<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/216">#216</a>: <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/pull/216">pytest-dev/pytest-mock#216</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/cdd5d709f5d1e30526ca30ae93c64fbbaebcd58d"><code>cdd5d70</code></a> Update context-manager docs and prepare for 3.5.0</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/f623fa88211e07ac4965a9079afabe9f23334758"><code>f623fa8</code></a> Warn instead of raising exception in context manager (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/221">#221</a>)</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/5f6cab7ead376d4f2de20c32bf01e244ffd44898"><code>5f6cab7</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/220">#220</a> from webknjaz/docs/216-changelog</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/9771def1069d3f1560525799ec8ba9d8e2c75ed3"><code>9771def</code></a> Fix typos in a change note for the PR <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/216">#216</a></li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/d4e3f3edd4e085e6b4bc15930a440e759984352b"><code>d4e3f3e</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/208">#208</a> from pytest-dev/graingert-patch-1</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/252eba86090fc0522c23805c097eb0c570a2c754"><code>252eba8</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/219">#219</a> from nicoddemus/release-3.4.0</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/df9ec17198d9c5d8e26eb91c892c5514b5793b02"><code>df9ec17</code></a> Prepare release 3.4.0</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/91b4afb0b9ab3a454a2e8235da682e7287ab8f32"><code>91b4afb</code></a> Add testing for Python 3.9 (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/218">#218</a>)</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/9640a36d06f1b35796e316d3b4529022e9d67fb7"><code>9640a36</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/216">#216</a> from webknjaz/bugfixes/215-spy-on-keyboard-interrupt</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/0e6b221080f5b8ef425a862ca45052131527894a"><code>0e6b221</code></a> Ensure all the exceptions cat be spied on</li>
<li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest-mock/compare/v3.3.1...v3.5.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pytest-mock&package-manager=pip&previous-version=3.3.1&new-version=3.5.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
commonism pushed a commit to commonism/aiohttp that referenced this issue Apr 27, 2021
Bumps [pytest-mock](https://github.com/pytest-dev/pytest-mock) from 3.3.1 to 3.5.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-mock/blob/master/CHANGELOG.rst">pytest-mock's changelog</a>.</em></p>
<blockquote>
<h2>3.5.0 (2021-01-04)</h2>
<ul>
<li>
<p>Now all patch functions will emit a warning instead of raising a <code>ValueError</code> when used
as a context-manager. Thanks <code>@iforapsy</code>_ for the PR (<code>[aio-libs#221](https://github.com/pytest-dev/pytest-mock/issues/221)</code>_).</p>
</li>
<li>
<p>Additionally, <code>mocker.patch.context_manager</code> is available when the user intends to mock
a context manager (for example  <code>threading.Lock</code> object), which will not emit that
warning.</p>
</li>
</ul>
<p>.. _<a href="https://github.com/iforapsy">@iforapsy</a>: <a href="https://github.com/iforapsy">https://github.com/iforapsy</a>
.. _<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/221">#221</a>: <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/pull/221">pytest-dev/pytest-mock#221</a></p>
<h2>3.4.0 (2020-12-15)</h2>
<ul>
<li>
<p>Add <code>mock.seal</code> alias to the <code>mocker</code> fixture (<code>[aio-libs#211](https://github.com/pytest-dev/pytest-mock/issues/211)</code><em>). Thanks <code>@coiax</code></em> for the PR.</p>
</li>
<li>
<p>Fixed spying on exceptions not covered by the <code>Exception</code>
superclass (<code>[aio-libs#215](https://github.com/pytest-dev/pytest-mock/issues/215)</code><em>), like <code>KeyboardInterrupt</code> -- PR <code>[aio-libs#216](https://github.com/pytest-dev/pytest-mock/issues/216)</code></em>
by <code>@webknjaz</code>_.</p>
<p>Before the fix, both <code>spy_return</code> and <code>spy_exception</code>
were always assigned to <code>None</code>
whenever such an exception happened. And after this fix,
<code>spy_exception</code> is set to a correct value of an exception
that has actually happened.</p>
</li>
</ul>
<p>.. _<a href="https://github.com/coiax">@coiax</a>: <a href="https://github.com/coiax">https://github.com/coiax</a>
.. _<a href="https://github.com/webknjaz">@webknjaz</a>: <a href="https://github.com/sponsors/webknjaz">https://github.com/sponsors/webknjaz</a>
.. _<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/211">#211</a>: <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/pull/211">pytest-dev/pytest-mock#211</a>
.. _<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/215">#215</a>: <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/215">pytest-dev/pytest-mock#215</a>
.. _<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/216">#216</a>: <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/pull/216">pytest-dev/pytest-mock#216</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/cdd5d709f5d1e30526ca30ae93c64fbbaebcd58d"><code>cdd5d70</code></a> Update context-manager docs and prepare for 3.5.0</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/f623fa88211e07ac4965a9079afabe9f23334758"><code>f623fa8</code></a> Warn instead of raising exception in context manager (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/221">#221</a>)</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/5f6cab7ead376d4f2de20c32bf01e244ffd44898"><code>5f6cab7</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/220">#220</a> from webknjaz/docs/216-changelog</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/9771def1069d3f1560525799ec8ba9d8e2c75ed3"><code>9771def</code></a> Fix typos in a change note for the PR <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/216">#216</a></li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/d4e3f3edd4e085e6b4bc15930a440e759984352b"><code>d4e3f3e</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/208">#208</a> from pytest-dev/graingert-patch-1</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/252eba86090fc0522c23805c097eb0c570a2c754"><code>252eba8</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/219">#219</a> from nicoddemus/release-3.4.0</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/df9ec17198d9c5d8e26eb91c892c5514b5793b02"><code>df9ec17</code></a> Prepare release 3.4.0</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/91b4afb0b9ab3a454a2e8235da682e7287ab8f32"><code>91b4afb</code></a> Add testing for Python 3.9 (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/218">#218</a>)</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/9640a36d06f1b35796e316d3b4529022e9d67fb7"><code>9640a36</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/216">#216</a> from webknjaz/bugfixes/215-spy-on-keyboard-interrupt</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/0e6b221080f5b8ef425a862ca45052131527894a"><code>0e6b221</code></a> Ensure all the exceptions cat be spied on</li>
<li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest-mock/compare/v3.3.1...v3.5.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pytest-mock&package-manager=pip&previous-version=3.3.1&new-version=3.5.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
commonism pushed a commit to commonism/aiohttp that referenced this issue Apr 27, 2021
Bumps [pytest-mock](https://github.com/pytest-dev/pytest-mock) from 3.3.1 to 3.5.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-mock/blob/master/CHANGELOG.rst">pytest-mock's changelog</a>.</em></p>
<blockquote>
<h2>3.5.0 (2021-01-04)</h2>
<ul>
<li>
<p>Now all patch functions will emit a warning instead of raising a <code>ValueError</code> when used
as a context-manager. Thanks <code>@iforapsy</code>_ for the PR (<code>[aio-libs#221](https://github.com/pytest-dev/pytest-mock/issues/221)</code>_).</p>
</li>
<li>
<p>Additionally, <code>mocker.patch.context_manager</code> is available when the user intends to mock
a context manager (for example  <code>threading.Lock</code> object), which will not emit that
warning.</p>
</li>
</ul>
<p>.. _<a href="https://github.com/iforapsy">@iforapsy</a>: <a href="https://github.com/iforapsy">https://github.com/iforapsy</a>
.. _<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/221">#221</a>: <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/pull/221">pytest-dev/pytest-mock#221</a></p>
<h2>3.4.0 (2020-12-15)</h2>
<ul>
<li>
<p>Add <code>mock.seal</code> alias to the <code>mocker</code> fixture (<code>[aio-libs#211](https://github.com/pytest-dev/pytest-mock/issues/211)</code><em>). Thanks <code>@coiax</code></em> for the PR.</p>
</li>
<li>
<p>Fixed spying on exceptions not covered by the <code>Exception</code>
superclass (<code>[aio-libs#215](https://github.com/pytest-dev/pytest-mock/issues/215)</code><em>), like <code>KeyboardInterrupt</code> -- PR <code>[aio-libs#216](https://github.com/pytest-dev/pytest-mock/issues/216)</code></em>
by <code>@webknjaz</code>_.</p>
<p>Before the fix, both <code>spy_return</code> and <code>spy_exception</code>
were always assigned to <code>None</code>
whenever such an exception happened. And after this fix,
<code>spy_exception</code> is set to a correct value of an exception
that has actually happened.</p>
</li>
</ul>
<p>.. _<a href="https://github.com/coiax">@coiax</a>: <a href="https://github.com/coiax">https://github.com/coiax</a>
.. _<a href="https://github.com/webknjaz">@webknjaz</a>: <a href="https://github.com/sponsors/webknjaz">https://github.com/sponsors/webknjaz</a>
.. _<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/211">#211</a>: <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/pull/211">pytest-dev/pytest-mock#211</a>
.. _<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/215">#215</a>: <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/215">pytest-dev/pytest-mock#215</a>
.. _<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/216">#216</a>: <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/pull/216">pytest-dev/pytest-mock#216</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/cdd5d709f5d1e30526ca30ae93c64fbbaebcd58d"><code>cdd5d70</code></a> Update context-manager docs and prepare for 3.5.0</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/f623fa88211e07ac4965a9079afabe9f23334758"><code>f623fa8</code></a> Warn instead of raising exception in context manager (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/221">#221</a>)</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/5f6cab7ead376d4f2de20c32bf01e244ffd44898"><code>5f6cab7</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/220">#220</a> from webknjaz/docs/216-changelog</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/9771def1069d3f1560525799ec8ba9d8e2c75ed3"><code>9771def</code></a> Fix typos in a change note for the PR <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/216">#216</a></li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/d4e3f3edd4e085e6b4bc15930a440e759984352b"><code>d4e3f3e</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/208">#208</a> from pytest-dev/graingert-patch-1</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/252eba86090fc0522c23805c097eb0c570a2c754"><code>252eba8</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/219">#219</a> from nicoddemus/release-3.4.0</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/df9ec17198d9c5d8e26eb91c892c5514b5793b02"><code>df9ec17</code></a> Prepare release 3.4.0</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/91b4afb0b9ab3a454a2e8235da682e7287ab8f32"><code>91b4afb</code></a> Add testing for Python 3.9 (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/218">#218</a>)</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/9640a36d06f1b35796e316d3b4529022e9d67fb7"><code>9640a36</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-mock/issues/216">#216</a> from webknjaz/bugfixes/215-spy-on-keyboard-interrupt</li>
<li><a href="https://github.com/pytest-dev/pytest-mock/commit/0e6b221080f5b8ef425a862ca45052131527894a"><code>0e6b221</code></a> Ensure all the exceptions cat be spied on</li>
<li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest-mock/compare/v3.3.1...v3.5.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pytest-mock&package-manager=pip&previous-version=3.3.1&new-version=3.5.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant