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

pytest -v does not show the 'msg' contents in the report for subtests #6

Closed
bskinn opened this issue Apr 2, 2019 · 5 comments
Closed
Labels
enhancement New feature or request

Comments

@bskinn
Copy link

bskinn commented Apr 2, 2019

For the following test function, code and test details unimportant:

def test_apifail_inventory_no_object_invs(subtests):
    """Confirm no-objects inventories don't import."""
    inv = soi.Inventory()

    with subtests.test(msg="plain"):
        with pytest.raises(TypeError):
            soi.Inventory(inv.data_file())

    with subtests.test(msg="zlib"):
        with pytest.raises((TypeError, ValueError)):
            soi.Inventory(soi.compress(inv.data_file()))

    d = {"project": "test", "version": "0.0", "count": 0}
    with subtests.test(msg="json"):
        with pytest.raises(ValueError):
            soi.Inventory(d)

The following output is obtained; the contents of msg are not included in the line of the report for each subtest (marked with arrows):

>pytest -vk no_object
================================================= test session starts =================================================
platform win32 -- Python 3.6.3, pytest-4.4.0, py-1.8.0, pluggy-0.9.0 -- c:\temp\git\sphobjinv\env\scripts\python.exe
cachedir: .pytest_cache
rootdir: C:\Temp\git\sphobjinv, inifile: tox.ini
plugins: timeout-1.3.3, subtests-0.1.0, ordering-0.6, cov-2.6.1
collected 173 items / 172 deselected / 1 selected

tests/test_api_fail.py::test_apifail_inventory_no_object_invs PASSED     [100%]  <---
tests/test_api_fail.py::test_apifail_inventory_no_object_invs PASSED     [100%]  <---
tests/test_api_fail.py::test_apifail_inventory_no_object_invs PASSED     [100%]  <---
tests/test_api_fail.py::test_apifail_inventory_no_object_invs PASSED                                             [100%]

====================================== 1 passed, 172 deselected in 0.30 seconds =======================================

This is problematic when a subtest fails and something like --tb=line is used. After making a breaking edit to one of the subtests and rerunning:

>pytest -vk no_object --tb=line
================================================= test session starts =================================================
platform win32 -- Python 3.6.3, pytest-4.4.0, py-1.8.0, pluggy-0.9.0 -- c:\temp\git\sphobjinv\env\scripts\python.exe
cachedir: .pytest_cache
rootdir: C:\Temp\git\sphobjinv, inifile: tox.ini
plugins: timeout-1.3.3, subtests-0.1.0, ordering-0.6, cov-2.6.1
collected 173 items / 172 deselected / 1 selected

tests/test_api_fail.py::test_apifail_inventory_no_object_invs FAILED     [100%]    <===
tests/test_api_fail.py::test_apifail_inventory_no_object_invs PASSED     [100%]
tests/test_api_fail.py::test_apifail_inventory_no_object_invs PASSED     [100%]
tests/test_api_fail.py::test_apifail_inventory_no_object_invs PASSED                                             [100%]

====================================================== FAILURES =======================================================
c:\temp\git\sphobjinv\src\sphobjinv\inventory.py:626: TypeError: Invalid Inventory source type
================================= 1 failed, 1 passed, 172 deselected in 0.34 seconds ==================================

It would be nice to have the msg reported with each subtest, so as to avoid having to rerun the test with expanded context to identify offending case(s).

@nicoddemus
Copy link
Member

Hi @bskinn,

Thanks for the report!

You are absolutely right. I'm afraid I will have to add some more things to pytest in order to be able to achieve this output though. 👍

@nicoddemus
Copy link
Member

Hi @thedrow, unfortunately this has stalled a bit. Still trying to figure out the best approach, which might be to go ahead and integrate this into pytest rather than add further capabilities to it. Let's see. 👍

@mohamed--abdel-maksoud
Copy link

Just to say I'm also waiting for this feature!
Thanks for the awesome project, a life saver indeed.

@mauvilsa
Copy link
Contributor

mauvilsa commented May 2, 2023

Created pull request #88 with a proposal for an interim solution to this.

AlexWaygood referenced this issue in AlexWaygood/typeshed-stats Jun 1, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [MarkDown](https://togithub.com/Python-Markdown/markdown)
([changelog](https://togithub.com/Python-Markdown/markdown/blob/master/docs/change_log/index.md))
| `==3.3.7` -> `==3.4.3` |
[![age](https://badges.renovateapi.com/packages/pypi/MarkDown/3.4.3/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/MarkDown/3.4.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/MarkDown/3.4.3/compatibility-slim/3.3.7)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/MarkDown/3.4.3/confidence-slim/3.3.7)](https://docs.renovatebot.com/merge-confidence/)
|
| [flake8-bugbear](https://togithub.com/PyCQA/flake8-bugbear#change-log)
([changelog](https://togithub.com/PyCQA/flake8-bugbear#change-log)) |
`==23.3.23` -> `==23.5.9` |
[![age](https://badges.renovateapi.com/packages/pypi/flake8-bugbear/23.5.9/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/flake8-bugbear/23.5.9/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/flake8-bugbear/23.5.9/compatibility-slim/23.3.23)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/flake8-bugbear/23.5.9/confidence-slim/23.3.23)](https://docs.renovatebot.com/merge-confidence/)
|
| [flake8-simplify](https://togithub.com/MartinThoma/flake8-simplify) |
`==0.19.3` -> `==0.20.0` |
[![age](https://badges.renovateapi.com/packages/pypi/flake8-simplify/0.20.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/flake8-simplify/0.20.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/flake8-simplify/0.20.0/compatibility-slim/0.19.3)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/flake8-simplify/0.20.0/confidence-slim/0.19.3)](https://docs.renovatebot.com/merge-confidence/)
|
| [mkdocs](https://togithub.com/mkdocs/mkdocs)
([changelog](https://www.mkdocs.org/about/release-notes/)) | `==1.4.2`
-> `==1.4.3` |
[![age](https://badges.renovateapi.com/packages/pypi/mkdocs/1.4.3/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/mkdocs/1.4.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/mkdocs/1.4.3/compatibility-slim/1.4.2)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/mkdocs/1.4.3/confidence-slim/1.4.2)](https://docs.renovatebot.com/merge-confidence/)
|
| [mkdocs-material](https://togithub.com/squidfunk/mkdocs-material) |
`==9.1.4` -> `==9.1.14` |
[![age](https://badges.renovateapi.com/packages/pypi/mkdocs-material/9.1.14/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/mkdocs-material/9.1.14/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/mkdocs-material/9.1.14/compatibility-slim/9.1.4)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/mkdocs-material/9.1.14/confidence-slim/9.1.4)](https://docs.renovatebot.com/merge-confidence/)
|
| [mkdocstrings](https://togithub.com/mkdocstrings/mkdocstrings)
([changelog](https://mkdocstrings.github.io/changelog)) | `==0.20.0` ->
`==0.21.2` |
[![age](https://badges.renovateapi.com/packages/pypi/mkdocstrings/0.21.2/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/mkdocstrings/0.21.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/mkdocstrings/0.21.2/compatibility-slim/0.20.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/mkdocstrings/0.21.2/confidence-slim/0.20.0)](https://docs.renovatebot.com/merge-confidence/)
|
| [mypy](https://www.mypy-lang.org/)
([source](https://togithub.com/python/mypy),
[changelog](https://mypy-lang.blogspot.com/)) | `==1.1.1` -> `==1.3.0` |
[![age](https://badges.renovateapi.com/packages/pypi/mypy/1.3.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/mypy/1.3.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/mypy/1.3.0/compatibility-slim/1.1.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/mypy/1.3.0/confidence-slim/1.1.1)](https://docs.renovatebot.com/merge-confidence/)
|
| [pytest](https://docs.pytest.org/en/latest/)
([source](https://togithub.com/pytest-dev/pytest),
[changelog](https://docs.pytest.org/en/stable/changelog.html)) |
`==7.2.2` -> `==7.3.1` |
[![age](https://badges.renovateapi.com/packages/pypi/pytest/7.3.1/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/pytest/7.3.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/pytest/7.3.1/compatibility-slim/7.2.2)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/pytest/7.3.1/confidence-slim/7.2.2)](https://docs.renovatebot.com/merge-confidence/)
|
| [pytest-subtests](https://togithub.com/pytest-dev/pytest-subtests) |
`==0.10.0` -> `==0.11.0` |
[![age](https://badges.renovateapi.com/packages/pypi/pytest-subtests/0.11.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/pytest-subtests/0.11.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/pytest-subtests/0.11.0/compatibility-slim/0.10.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/pytest-subtests/0.11.0/confidence-slim/0.10.0)](https://docs.renovatebot.com/merge-confidence/)
|
| [pyupgrade](https://togithub.com/asottile/pyupgrade) | `==3.3.1` ->
`==3.4.0` |
[![age](https://badges.renovateapi.com/packages/pypi/pyupgrade/3.4.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/pyupgrade/3.4.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/pyupgrade/3.4.0/compatibility-slim/3.3.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/pyupgrade/3.4.0/confidence-slim/3.3.1)](https://docs.renovatebot.com/merge-confidence/)
|
| [types-Markdown](https://togithub.com/python/typeshed)
([changelog](https://togithub.com/typeshed-internal/stub_uploader/blob/main/data/changelogs/Markdown.md))
| `==3.4.2.6` -> `==3.4.2.9` |
[![age](https://badges.renovateapi.com/packages/pypi/types-Markdown/3.4.2.9/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/types-Markdown/3.4.2.9/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/types-Markdown/3.4.2.9/compatibility-slim/3.4.2.6)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/types-Markdown/3.4.2.9/confidence-slim/3.4.2.6)](https://docs.renovatebot.com/merge-confidence/)
|
| [types-beautifulsoup4](https://togithub.com/python/typeshed)
([changelog](https://togithub.com/typeshed-internal/stub_uploader/blob/main/data/changelogs/beautifulsoup4.md))
| `==4.12.0.1` -> `==4.12.0.5` |
[![age](https://badges.renovateapi.com/packages/pypi/types-beautifulsoup4/4.12.0.5/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/types-beautifulsoup4/4.12.0.5/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/types-beautifulsoup4/4.12.0.5/compatibility-slim/4.12.0.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/types-beautifulsoup4/4.12.0.5/confidence-slim/4.12.0.1)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>Python-Markdown/markdown</summary>

###
[`v3.4.3`](https://togithub.com/Python-Markdown/markdown/compare/3.4.2...3.4.3)

[Compare
Source](https://togithub.com/Python-Markdown/markdown/compare/3.4.2...3.4.3)

###
[`v3.4.2`](https://togithub.com/Python-Markdown/markdown/compare/3.4.1...3.4.2)

[Compare
Source](https://togithub.com/Python-Markdown/markdown/compare/3.4.1...3.4.2)

###
[`v3.4.1`](https://togithub.com/Python-Markdown/markdown/compare/3.4...3.4.1)

[Compare
Source](https://togithub.com/Python-Markdown/markdown/compare/3.4...3.4.1)

###
[`v3.4`](https://togithub.com/Python-Markdown/markdown/compare/3.3.7...3.4)

[Compare
Source](https://togithub.com/Python-Markdown/markdown/compare/3.3.7...3.4)

</details>

<details>
<summary>PyCQA/flake8-bugbear</summary>

###
[`v23.5.9`](https://togithub.com/PyCQA/flake8-bugbear/releases/tag/23.5.9)

[Compare
Source](https://togithub.com/PyCQA/flake8-bugbear/compare/23.3.23...23.5.9)

-   Add B033: Detect duplicate items in sets
- Add B908: Detect assertRauses like contexts only has top level
statements that could throw
- Add B028: Allow stacklevel to be explicitly assigned as a positional
argument
-   Remove more < 3.8 checks / assertions

</details>

<details>
<summary>MartinThoma/flake8-simplify</summary>

###
[`v0.20.0`](https://togithub.com/MartinThoma/flake8-simplify/blob/HEAD/CHANGELOG.md#&#8203;0200)

Release on 30.03.2023

New rules:

-   SIM910: dict.get(key, None) → dict.get(key)

</details>

<details>
<summary>mkdocs/mkdocs</summary>

### [`v1.4.3`](https://togithub.com/mkdocs/mkdocs/releases/tag/1.4.3)

[Compare
Source](https://togithub.com/mkdocs/mkdocs/compare/1.4.2...1.4.3)

- Bugfix: for the `hooks` feature, modules no longer fail to load if
using some advanced Python features like dataclasses
([#&#8203;3193](https://togithub.com/mkdocs/mkdocs/issues/3193))

- Bugfix: Don't create `None` sitemap entries if the page has no
populated URL - affects sites that exclude some files from navigation
([`07a297b`](https://togithub.com/mkdocs/mkdocs/commit/07a297b3b4de4a1b49469b1497ee34039b9f38fa))

-   "readthedocs" theme:
- Accessibility: add aria labels to Home logo
([#&#8203;3129](https://togithub.com/mkdocs/mkdocs/issues/3129)) and
search inputs
([#&#8203;3046](https://togithub.com/mkdocs/mkdocs/issues/3046))
- "readthedocs" theme now supports `hljs_style:` config, same as
"mkdocs" theme
([#&#8203;3199](https://togithub.com/mkdocs/mkdocs/issues/3199))

-   Translations:
- Built-in themes now also support Indonesian language
([#&#8203;3154](https://togithub.com/mkdocs/mkdocs/issues/3154))
- Fixed `zh_CN` translation
([#&#8203;3125](https://togithub.com/mkdocs/mkdocs/issues/3125))
- `tr_TR` translation becomes just `tr` - usage should remain unaffected
([#&#8203;3195](https://togithub.com/mkdocs/mkdocs/issues/3195))

See [commit
log](https://togithub.com/mkdocs/mkdocs/compare/1.4.2...1.4.3).

</details>

<details>
<summary>squidfunk/mkdocs-material</summary>

###
[`v9.1.14`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.1.14):
mkdocs-material-9.1.14

[Compare
Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.1.13...9.1.14)

-   Updated Armenian and Greek translations

###
[`v9.1.13`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.1.13):
mkdocs-material-9.1.13

[Compare
Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.1.12...9.1.13)

- Fixed
[#&#8203;5517](https://togithub.com/squidfunk/mkdocs-material/issues/5517):
Social plugin crashes for some fonts (e.g. Open Sans)

###
[`v9.1.12`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.1.12):
mkdocs-material-9.1.12

[Compare
Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.1.11...9.1.12)

-   Updated Bengali (Bangla) translations
- Fixed
[#&#8203;5503](https://togithub.com/squidfunk/mkdocs-material/issues/5503):
Docker image publish errors on uppercase characters
- Fixed
[#&#8203;5407](https://togithub.com/squidfunk/mkdocs-material/issues/5407):
Auto-pause media when in hidden content tabs

###
[`v9.1.11`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.1.11):
mkdocs-material-9.1.11

[Compare
Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.1.10...9.1.11)

- Fixed
[#&#8203;5487](https://togithub.com/squidfunk/mkdocs-material/issues/5487):
Social plugin crashes without options (9.1.10 regression)

###
[`v9.1.10`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.1.10):
mkdocs-material-9.1.10

[Compare
Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.1.9...9.1.10)

-   Added `cards_layout_options` setting for social cards
-   Deprecated `cards_color` and `cards_font` setting for social cards

###
[`v9.1.9`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.1.9):
mkdocs-material-9.1.9

[Compare
Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.1.8...9.1.9)

-   Added Telugu, Kannada and Sanskrit translations
- Fixed
[#&#8203;5428](https://togithub.com/squidfunk/mkdocs-material/issues/5428):
Fixed margins for light/dark mode images in figures
- Fixed
[#&#8203;5420](https://togithub.com/squidfunk/mkdocs-material/issues/5420):
Social plugin crashing for some specific Google Fonts
- Fixed
[#&#8203;5160](https://togithub.com/squidfunk/mkdocs-material/issues/5160):
Instant loading makes code annotations jump (9.1.1 regression)
- Fixed
[#&#8203;4920](https://togithub.com/squidfunk/mkdocs-material/issues/4920):
Social plugin not loading logo from custom icon set
-   Fixed social plugin crashing when only code font is specified

###
[`v9.1.8`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.1.8):
mkdocs-material-9.1.8

[Compare
Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.1.7...9.1.8)

- Fixed
[#&#8203;5417](https://togithub.com/squidfunk/mkdocs-material/issues/5417):
Theme breaks when `palette` is not defined (9.1.7 regression)

###
[`v9.1.7`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.1.7):
mkdocs-material-9.1.7

[Compare
Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.1.6...9.1.7)

-   Updated Persian (Farsi) and Turkish translations
- Fixed
[#&#8203;5401](https://togithub.com/squidfunk/mkdocs-material/issues/5401):
Added missing flag to disable built-in tags plugin
- Fixed
[#&#8203;5206](https://togithub.com/squidfunk/mkdocs-material/issues/5206):
Ensure defaults are set for primary and accent colors
-   Fixed unnecessary inclusion of palette CSS when unused

###
[`v9.1.6`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.1.6):
mkdocs-material-9.1.6

[Compare
Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.1.5...9.1.6)

-   Updated Persian (Farsi) translations
- Fixed
[#&#8203;5300](https://togithub.com/squidfunk/mkdocs-material/issues/5300):
Boxes in Mermaid sequence diagrams not color-abiding

###
[`v9.1.5`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.1.5):
mkdocs-material-9.1.5

[Compare
Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.1.4...9.1.5)

-   Updated Lithuanian and Japanese translations
-   Updated Mermaid.js to version 9.4.3
- Fixed
[#&#8203;5290](https://togithub.com/squidfunk/mkdocs-material/issues/5290):
Footer previous/next labels cut-off for short page titles

</details>

<details>
<summary>mkdocstrings/mkdocstrings</summary>

###
[`v0.21.2`](https://togithub.com/mkdocstrings/mkdocstrings/blob/HEAD/CHANGELOG.md#&#8203;0212-httpsgithubcommkdocstringsmkdocstringsreleasestag0212---2023-04-06)

[Compare
Source](https://togithub.com/mkdocstrings/mkdocstrings/compare/0.21.1...0.21.2)

<small>[Compare with
0.21.1](https://togithub.com/mkdocstrings/mkdocstrings/compare/0.21.1...0.21.2)</small>

##### Bug Fixes

- Fix regression with LRU cached method
([85efbd2](https://togithub.com/mkdocstrings/mkdocstrings/commit/85efbd285d4c8977755bda1c36220b241a9e1502)
by Timothée Mazzucotelli). [Issue
#&#8203;549](https://togithub.com/mkdocstrings/mkdocstrings/issues/549)

###
[`v0.21.1`](https://togithub.com/mkdocstrings/mkdocstrings/blob/HEAD/CHANGELOG.md#&#8203;0211-httpsgithubcommkdocstringsmkdocstringsreleasestag0211---2023-04-05)

[Compare
Source](https://togithub.com/mkdocstrings/mkdocstrings/compare/0.21.0...0.21.1)

<small>[Compare with
0.21.0](https://togithub.com/mkdocstrings/mkdocstrings/compare/0.21.0...0.21.1)</small>

##### Bug Fixes

- Fix missing typing-extensions dependency on Python less than 3.10
([bff760b](https://togithub.com/mkdocstrings/mkdocstrings/commit/bff760b77c1eedfa770e852aa994a69ff51b0a32)
by Timothée Mazzucotelli). [Issue
#&#8203;548](https://togithub.com/mkdocstrings/mkdocstrings/issues/548)

###
[`v0.21.0`](https://togithub.com/mkdocstrings/mkdocstrings/blob/HEAD/CHANGELOG.md#&#8203;0210-httpsgithubcommkdocstringsmkdocstringsreleasestag0210---2023-04-05)

[Compare
Source](https://togithub.com/mkdocstrings/mkdocstrings/compare/0.20.0...0.21.0)

<small>[Compare with
0.20.0](https://togithub.com/mkdocstrings/mkdocstrings/compare/0.20.0...0.21.0)</small>

##### Features

- Expose the full config to handlers
([15dacf6](https://togithub.com/mkdocstrings/mkdocstrings/commit/15dacf62f8479a05e9604383155ffa6fade0522d)
by David Patterson). [Issue
#&#8203;501](https://togithub.com/mkdocstrings/mkdocstrings/issues/501),
[PR
#&#8203;509](https://togithub.com/mkdocstrings/mkdocstrings/pull/509)

</details>

<details>
<summary>python/mypy</summary>

### [`v1.3.0`](https://togithub.com/python/mypy/compare/v1.2.0...v1.3.0)

[Compare
Source](https://togithub.com/python/mypy/compare/v1.2.0...v1.3.0)

### [`v1.2.0`](https://togithub.com/python/mypy/compare/v1.1.1...v1.2.0)

[Compare
Source](https://togithub.com/python/mypy/compare/v1.1.1...v1.2.0)

</details>

<details>
<summary>pytest-dev/pytest</summary>

###
[`v7.3.1`](https://togithub.com/pytest-dev/pytest/releases/tag/7.3.1)

[Compare
Source](https://togithub.com/pytest-dev/pytest/compare/7.3.0...7.3.1)

# pytest 7.3.1 (2023-04-14)

## Improvements

- [#&#8203;10875](https://togithub.com/pytest-dev/pytest/issues/10875):
Python 3.12 support: fixed `RuntimeError: TestResult has no addDuration
method` when running `unittest` tests.
- [#&#8203;10890](https://togithub.com/pytest-dev/pytest/issues/10890):
Python 3.12 support: fixed `shutil.rmtree(onerror=...)` deprecation
warning when using `tmp_path`{.interpreted-text role="fixture"}.

## Bug Fixes

- [#&#8203;10896](https://togithub.com/pytest-dev/pytest/issues/10896):
Fixed performance regression related to `tmp_path`{.interpreted-text
role="fixture"} and the new
`tmp_path_retention_policy`{.interpreted-text role="confval"} option.
- [#&#8203;10903](https://togithub.com/pytest-dev/pytest/issues/10903):
Fix crash `INTERNALERROR IndexError: list index out of range` which
happens when displaying an exception where all entries are hidden.
This reverts the change "Correctly handle `__tracebackhide__` for
chained exceptions." introduced in version 7.3.0.

###
[`v7.3.0`](https://togithub.com/pytest-dev/pytest/releases/tag/7.3.0)

[Compare
Source](https://togithub.com/pytest-dev/pytest/compare/7.2.2...7.3.0)

# pytest 7.3.0 (2023-04-08)

## Features

- [#&#8203;10525](https://togithub.com/pytest-dev/pytest/issues/10525):
Test methods decorated with `@classmethod` can now be discovered as
tests, following the same rules as normal methods. This fills the gap
that static methods were discoverable as tests but not class methods.
- [#&#8203;10755](https://togithub.com/pytest-dev/pytest/issues/10755):
`console_output_style`{.interpreted-text role="confval"} now supports
`progress-even-when-capture-no` to force the use of the progress output
even when capture is disabled. This is useful in large test suites where
capture may have significant performance impact.
- [#&#8203;7431](https://togithub.com/pytest-dev/pytest/issues/7431):
`--log-disable` CLI option added to disable individual loggers.
- [#&#8203;8141](https://togithub.com/pytest-dev/pytest/issues/8141):
Added `tmp_path_retention_count`{.interpreted-text role="confval"} and
`tmp_path_retention_policy`{.interpreted-text role="confval"}
configuration options to control how directories created by the
`tmp_path`{.interpreted-text role="fixture"} fixture are kept.

## Improvements

- [#&#8203;10226](https://togithub.com/pytest-dev/pytest/issues/10226):
If multiple errors are raised in teardown, we now re-raise an
`ExceptionGroup` of them instead of discarding all but the last.
- [#&#8203;10658](https://togithub.com/pytest-dev/pytest/issues/10658):
Allow `-p` arguments to include spaces (eg: `-p no:logging` instead of
`-pno:logging`). Mostly useful in the `addopts` section of the
configuration
    file.
- [#&#8203;10710](https://togithub.com/pytest-dev/pytest/issues/10710):
Added `start` and `stop` timestamps to `TestReport` objects.
- [#&#8203;10727](https://togithub.com/pytest-dev/pytest/issues/10727):
Split the report header for `rootdir`, `config file` and `testpaths` so
each has its own line.
- [#&#8203;10840](https://togithub.com/pytest-dev/pytest/issues/10840):
pytest should no longer crash on AST with pathological position
attributes, for example testing AST produced by \[Hylang
\<https://github.com/hylang/hy>\__]{.title-ref}.
- [#&#8203;6267](https://togithub.com/pytest-dev/pytest/issues/6267):
The full output of a test is no longer truncated if the truncation
message would be longer than
    the hidden text. The line number shown has also been fixed.

## Bug Fixes

- [#&#8203;10743](https://togithub.com/pytest-dev/pytest/issues/10743):
The assertion rewriting mechanism now works correctly when assertion
expressions contain the walrus operator.
- [#&#8203;10765](https://togithub.com/pytest-dev/pytest/issues/10765):
Fixed `tmp_path`{.interpreted-text role="fixture"} fixture always
raising `OSError`{.interpreted-text role="class"} on `emscripten`
platform due to missing `os.getuid`{.interpreted-text role="func"}.
- [#&#8203;1904](https://togithub.com/pytest-dev/pytest/issues/1904):
Correctly handle `__tracebackhide__` for chained exceptions.

## Improved Documentation

- [#&#8203;10782](https://togithub.com/pytest-dev/pytest/issues/10782):
Fixed the minimal example in `goodpractices`{.interpreted-text
role="ref"}: `pip install -e .` requires a `version` entry in
`pyproject.toml` to run successfully.

## Trivial/Internal Changes

- [#&#8203;10669](https://togithub.com/pytest-dev/pytest/issues/10669):
pytest no longer depends on the \[attrs]{.title-ref} package (don't
worry, nice diffs for attrs classes are still supported).

</details>

<details>
<summary>pytest-dev/pytest-subtests</summary>

###
[`v0.11.0`](https://togithub.com/pytest-dev/pytest-subtests/blob/HEAD/CHANGELOG.rst#&#8203;0110-2023-05-15)

[Compare
Source](https://togithub.com/pytest-dev/pytest-subtests/compare/0.10.0...v0.11.0)

-   Logging is displayed for failing subtests (`#92`\_)
- Passing subtests no longer turn the pytest output to yellow (as if
warnings have been issued) (`#86`*). Thanks to `Andrew-Brock`* for
providing the solution.
- Now the `msg` contents of a subtest is displayed when running pytest
with `-v` (`#6`\_).

..
\_#&#8[https://github.com/pytest-dev/pytest-subtests/issues/6](https://togithub.com/pytest-dev/pytest-subtests/issues/6)ssues/6
..
[https://github.com/pytest-dev/pytest-subtests/issues/86](https://togithub.com/pytest-dev/pytest-subtests/issues/86)ests/issues[https://github.com/pytest-dev/pytest-subtests/issues/87](https://togithub.com/pytest-dev/pytest-subtests/issues/87)st-subtests/issues/87

.. \_`Andrew-Brock`: https://github.com/Andrew-Brock

</details>

<details>
<summary>asottile/pyupgrade</summary>

###
[`v3.4.0`](https://togithub.com/asottile/pyupgrade/compare/v3.3.2...v3.4.0)

[Compare
Source](https://togithub.com/asottile/pyupgrade/compare/v3.3.2...v3.4.0)

###
[`v3.3.2`](https://togithub.com/asottile/pyupgrade/compare/v3.3.1...v3.3.2)

[Compare
Source](https://togithub.com/asottile/pyupgrade/compare/v3.3.1...v3.3.2)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "every 3 months on the first day of
the month" (UTC), Automerge - At any time (no schedule defined).

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

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/AlexWaygood/typeshed-stats).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMDUuMiIsInVwZGF0ZWRJblZlciI6IjM1LjEwNS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants
@nicoddemus @mohamed--abdel-maksoud @mauvilsa @bskinn and others