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

Custom generator with a custom Config cannot be generated #365

Open
RobertCraigie opened this issue Apr 17, 2022 · 1 comment · May be fixed by #366
Open

Custom generator with a custom Config cannot be generated #365

RobertCraigie opened this issue Apr 17, 2022 · 1 comment · May be fixed by #366
Labels
bug/2-confirmed We have confirmed that this is a bug. kind/bug A reported bug. process/candidate Candidate for the next release

Comments

@RobertCraigie
Copy link
Owner

Bug description

$ prisma generate

✔ Generated Prisma Client Python (v0.6.4) to ./.nox/pytest/lib/python3.10/site-packages/prisma in 223ms

    config = get_config()
  File ".nox/pytest/lib/python3.10/site-packages/prisma/generator/models.py", line 109, in get_config
    return config_ctx.get()
LookupError: <ContextVar name='config_ctx' at 0x10292e8e0>

How to reproduce

datasource db {
  provider = "sqlite"
  url      = "file:database.db"
}

generator py {
  provider             = "prisma-client-py"
  interface            = "asyncio"
  recursive_type_depth = -1
}

generator custom {
  provider = "python generator.py"
}

model User {
  id    String  @id @default(cuid())
  name  String
}
# generator.py
from jinja2 import Environment, FileSystemLoader
from prisma.generator import (
    GenericGenerator,
    GenericData,
    Manifest,
)
from prisma.generator.models import BaseModel

class Config(BaseModel):
    ...

class Data(GenericData[Config]):
    ...

class Generator(GenericGenerator[Data]):
    def get_manifest(self) -> Manifest:
        return Manifest(
            name='Custom',
            default_output=PKG_DIR,
            requires_generators=['prisma-client-py'],
        )

    def generate(self, data: Data) -> None:
        ...

Generator.invoke()

Expected behavior

Custom generator can be generated.

@RobertCraigie RobertCraigie added bug/2-confirmed We have confirmed that this is a bug. kind/bug A reported bug. labels Apr 17, 2022
@RobertCraigie RobertCraigie linked a pull request Apr 17, 2022 that will close this issue
4 tasks
@RobertCraigie RobertCraigie added the process/candidate Candidate for the next release label Jun 26, 2022
@RobertCraigie RobertCraigie moved this from Backlog to Todo in Prisma Client Python Nov 28, 2022
@RobertCraigie
Copy link
Owner Author

This may actually be fixed - needs investigation.

RobertCraigie added a commit that referenced this issue Jul 21, 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 |
|---|---|---|---|---|---|
| [coverage](https://github.com/nedbat/coveragepy) | `==7.2.5` ->
`==7.2.7` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/coverage/7.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/coverage/7.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/coverage/7.2.5/7.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/coverage/7.2.5/7.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) |
`==9.1.9` -> `==9.1.19` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/mkdocs-material/9.1.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/mkdocs-material/9.1.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/mkdocs-material/9.1.9/9.1.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/mkdocs-material/9.1.9/9.1.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [mock](http://mock.readthedocs.org/en/latest/)
([source](https://github.com/testing-cabal/mock)) | `==5.0.2` ->
`==5.1.0` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/mock/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/mock/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/mock/5.0.2/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/mock/5.0.2/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [pyright](https://github.com/RobertCraigie/pyright-python) |
`==1.1.306` -> `==1.1.317` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/pyright/1.1.317?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pyright/1.1.317?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pyright/1.1.306/1.1.317?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pyright/1.1.306/1.1.317?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [pytest](https://docs.pytest.org/en/latest/)
([source](https://github.com/pytest-dev/pytest),
[changelog](https://docs.pytest.org/en/stable/changelog.html)) |
`==7.3.1` -> `==7.4.0` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/pytest/7.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pytest/7.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pytest/7.3.1/7.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pytest/7.3.1/7.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio)
([changelog](https://pytest-asyncio.readthedocs.io/en/latest/reference/changelog.html))
| `==0.21.0` -> `==0.21.1` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/pytest-asyncio/0.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pytest-asyncio/0.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pytest-asyncio/0.21.0/0.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pytest-asyncio/0.21.0/0.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [pytest-mock](https://github.com/pytest-dev/pytest-mock)
([changelog](https://pytest-mock.readthedocs.io/en/latest/changelog.html))
| `==3.10.0` -> `==3.11.1` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/pytest-mock/3.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pytest-mock/3.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pytest-mock/3.10.0/3.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pytest-mock/3.10.0/3.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>nedbat/coveragepy (coverage)</summary>

###
[`v7.2.7`](https://github.com/nedbat/coveragepy/blob/HEAD/CHANGES.rst#Version-727--2023-05-29)

[Compare
Source](https://github.com/nedbat/coveragepy/compare/7.2.6...7.2.7)

- Fix: reverted a `change from 6.4.3 <pull 1347_>`\_ that helped Cython,
but
also increased the size of data files when using dynamic contexts, as
described in the now-fixed `issue 1586`*. The problem is now avoided due
to a
recent change (`issue 1538`*). Thanks to `Anders Kaseorg <pull 1629_>`\_
and David Szotten for persisting with problem reports and detailed
diagnoses.

-   Wheels are now provided for CPython 3.12.

.. \_issue
1586:[https://github.com/nedbat/coveragepy/issues/1586](https://github.com/nedbat/coveragepy/issues/1586)6
.. \_pull
1629[https://github.com/nedbat/coveragepy/pull/1629](https://github.com/nedbat/coveragepy/pull/1629)29

.. \_changes\_7-2-6:

###
[`v7.2.6`](https://github.com/nedbat/coveragepy/blob/HEAD/CHANGES.rst#Version-726--2023-05-23)

[Compare
Source](https://github.com/nedbat/coveragepy/compare/7.2.5...7.2.6)

- Fix: the `lcov` command could raise an IndexError exception if a file
is
translated to Python but then executed under its own name. Jinja2 does
this
    when rendering templates.  Fixes `issue 1553`\_.

- Python 3.12 beta 1 now inlines comprehensions. Previously they were
compiled
as invisible functions and coverage.py would warn you if they weren't
    completely executed.  This no longer happens under Python 3.12.

- Fix: the `coverage debug sys` command includes some environment
variables
in its output. This could have included sensitive data. Those values are
    now hidden with asterisks, closing `issue 1628`\_.

.. \_issue
1553:[https://github.com/nedbat/coveragepy/issues/1553](https://github.com/nedbat/coveragepy/issues/1553)3
.. \_issue
1628[https://github.com/nedbat/coveragepy/issues/1628](https://github.com/nedbat/coveragepy/issues/1628)28

.. \_changes\_7-2-5:

</details>

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

###
[`v9.1.19`](https://github.com/squidfunk/mkdocs-material/releases/tag/9.1.19):
mkdocs-material-9.1.19

[Compare
Source](https://github.com/squidfunk/mkdocs-material/compare/9.1.18...9.1.19)

-   Added support for MkDocs 1.5+
- Fixed
[#&#8203;5699](https://github.com/squidfunk/mkdocs-material/issues/5699):
Improve error reporting in social plugin

###
[`v9.1.18`](https://github.com/squidfunk/mkdocs-material/releases/tag/9.1.18):
mkdocs-material-9.1.18

[Compare
Source](https://github.com/squidfunk/mkdocs-material/compare/9.1.17...9.1.18)

-   Updated Danish translations
-   Added support for installing user requirements in Docker image
- Fixed
[#&#8203;5655](https://github.com/squidfunk/mkdocs-material/issues/5655):
Search separator with lookbehind breaks highlighting

###
[`v9.1.17`](https://github.com/squidfunk/mkdocs-material/releases/tag/9.1.17):
mkdocs-material-9.1.17

[Compare
Source](https://github.com/squidfunk/mkdocs-material/compare/9.1.16...9.1.17)

- Fixed
[#&#8203;5633](https://github.com/squidfunk/mkdocs-material/issues/5633):
Code annotations with nested lists incorrectly mounted
- Fixed
[#&#8203;5628](https://github.com/squidfunk/mkdocs-material/issues/5628):
Regression in new social plugin configuration scheme

###
[`v9.1.16`](https://github.com/squidfunk/mkdocs-material/releases/tag/9.1.16):
mkdocs-material-9.1.16

[Compare
Source](https://github.com/squidfunk/mkdocs-material/compare/9.1.15...9.1.16)

-   Updated Indonesian translations
-   Ensure scroll bar follows color scheme of operating system

###
[`v9.1.15`](https://github.com/squidfunk/mkdocs-material/releases/tag/9.1.15):
mkdocs-material-9.1.15

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

- Fixed
[#&#8203;5566](https://github.com/squidfunk/mkdocs-material/issues/5566):
Indicate color scheme to operating system
- Fixed
[#&#8203;5565](https://github.com/squidfunk/mkdocs-material/issues/5565):
Update `Dockerfile` to latest version of base image
- Fixed
[#&#8203;5554](https://github.com/squidfunk/mkdocs-material/issues/5554):
Add additional version tags (`9`, `9.1`) to Docker image
- Fixed
[#&#8203;5536](https://github.com/squidfunk/mkdocs-material/issues/5536):
Strip tags of ARIA labels in table of contents

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

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

-   Updated Armenian and Greek translations

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

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

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

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

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

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

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

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

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

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

[Compare
Source](https://github.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

</details>

<details>
<summary>testing-cabal/mock (mock)</summary>

###
[`v5.1.0`](https://github.com/testing-cabal/mock/blob/HEAD/CHANGELOG.rst#510)

[Compare
Source](https://github.com/testing-cabal/mock/compare/5.0.2...5.1.0)

- bpo-44185: :func:`unittest.mock.mock_open` will call the :func:`close`
    method of the file handle mock when it is exiting from the context
    manager. Patch by Samet Yaslan.

- [gh-94924](https://github.com/testing-cabal/mock/issues/94924):
:func:`unittest.mock.create_autospec` now properly returns
coroutine functions compatible with :func:`inspect.iscoroutinefunction`

- bpo-17013: Add `ThreadingMock` to :mod:`unittest.mock` that can be
used
    to create Mock objects that can wait until they are called. Patch by
    Karthikeyan Singaravelan and Mario Corchero.

- bpo-41768: :mod:`unittest.mock` speccing no longer calls class
properties.
    Patch by Melanie Witt.

</details>

<details>
<summary>RobertCraigie/pyright-python (pyright)</summary>

###
[`v1.1.317`](https://github.com/RobertCraigie/pyright-python/compare/v1.1.316...v1.1.317)

[Compare
Source](https://github.com/RobertCraigie/pyright-python/compare/v1.1.316...v1.1.317)

###
[`v1.1.316`](https://github.com/RobertCraigie/pyright-python/compare/v1.1.315...v1.1.316)

[Compare
Source](https://github.com/RobertCraigie/pyright-python/compare/v1.1.315...v1.1.316)

###
[`v1.1.315`](https://github.com/RobertCraigie/pyright-python/compare/v1.1.314...v1.1.315)

[Compare
Source](https://github.com/RobertCraigie/pyright-python/compare/v1.1.314...v1.1.315)

###
[`v1.1.314`](https://github.com/RobertCraigie/pyright-python/compare/v1.1.313...v1.1.314)

[Compare
Source](https://github.com/RobertCraigie/pyright-python/compare/v1.1.313...v1.1.314)

###
[`v1.1.313`](https://github.com/RobertCraigie/pyright-python/compare/v1.1.312...v1.1.313)

[Compare
Source](https://github.com/RobertCraigie/pyright-python/compare/v1.1.312...v1.1.313)

###
[`v1.1.312`](https://github.com/RobertCraigie/pyright-python/compare/v1.1.311...v1.1.312)

[Compare
Source](https://github.com/RobertCraigie/pyright-python/compare/v1.1.311...v1.1.312)

###
[`v1.1.311`](https://github.com/RobertCraigie/pyright-python/compare/v1.1.310...v1.1.311)

[Compare
Source](https://github.com/RobertCraigie/pyright-python/compare/v1.1.310...v1.1.311)

###
[`v1.1.310`](https://github.com/RobertCraigie/pyright-python/compare/v1.1.309...v1.1.310)

[Compare
Source](https://github.com/RobertCraigie/pyright-python/compare/v1.1.309...v1.1.310)

###
[`v1.1.309`](https://github.com/RobertCraigie/pyright-python/compare/v1.1.308...v1.1.309)

[Compare
Source](https://github.com/RobertCraigie/pyright-python/compare/v1.1.308...v1.1.309)

###
[`v1.1.308`](https://github.com/RobertCraigie/pyright-python/compare/v1.1.307...v1.1.308)

[Compare
Source](https://github.com/RobertCraigie/pyright-python/compare/v1.1.307...v1.1.308)

###
[`v1.1.307`](https://github.com/RobertCraigie/pyright-python/compare/v1.1.306...v1.1.307)

[Compare
Source](https://github.com/RobertCraigie/pyright-python/compare/v1.1.306...v1.1.307)

</details>

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

###
[`v7.4.0`](https://github.com/pytest-dev/pytest/releases/tag/7.4.0)

[Compare
Source](https://github.com/pytest-dev/pytest/compare/7.3.2...7.4.0)

# pytest 7.4.0 (2023-06-23)

## Features

- [#&#8203;10901](https://github.com/pytest-dev/pytest/issues/10901):
Added `ExceptionInfo.from_exception()
<pytest.ExceptionInfo.from_exception>`{.interpreted-text role="func"}, a
simpler way to create an `~pytest.ExceptionInfo`{.interpreted-text
role="class"} from an exception.
This can replace `ExceptionInfo.from_exc_info()
<pytest.ExceptionInfo.from_exc_info()>`{.interpreted-text role="func"}
for most uses.

## Improvements

- [#&#8203;10872](https://github.com/pytest-dev/pytest/issues/10872):
Update test log report annotation to named tuple and fixed inconsistency
in docs for `pytest_report_teststatus`{.interpreted-text role="hook"}
hook.

- [#&#8203;10907](https://github.com/pytest-dev/pytest/issues/10907):
When an exception traceback to be displayed is completely filtered out
(by mechanisms such as `__tracebackhide__`, internal frames, and
similar), now only the exception string and the following message are
shown:

"All traceback entries are hidden. Pass \[--full-trace]{.title-ref} to
see hidden and internal frames.".

Previously, the last frame of the traceback was shown, even though it
was hidden.

- [#&#8203;10940](https://github.com/pytest-dev/pytest/issues/10940):
Improved verbose output (`-vv`) of `skip` and `xfail` reasons by
performing text wrapping while leaving a clear margin for progress
output.

    Added `TerminalReporter.wrap_write()` as a helper for that.

- [#&#8203;10991](https://github.com/pytest-dev/pytest/issues/10991):
Added handling of `%f` directive to print microseconds in log format
options, such as `log-date-format`.

- [#&#8203;11005](https://github.com/pytest-dev/pytest/issues/11005):
Added the underlying exception to the cache provider's path creation and
write warning messages.

- [#&#8203;11013](https://github.com/pytest-dev/pytest/issues/11013):
Added warning when `testpaths`{.interpreted-text role="confval"} is set,
but paths are not found by glob. In this case, pytest will fall back to
searching from the current directory.

- [#&#8203;11043](https://github.com/pytest-dev/pytest/issues/11043):
When \[--confcutdir]{.title-ref} is not specified, and there is no
config file present, the conftest cutoff directory
(\[--confcutdir]{.title-ref}) is now set to the `rootdir
<rootdir>`{.interpreted-text role="ref"}.
Previously in such cases, \[conftest.py]{.title-ref} files would be
probed all the way to the root directory of the filesystem.
If you are badly affected by this change, consider adding an empty
config file to your desired cutoff directory, or explicitly set
\[--confcutdir]{.title-ref}.

- [#&#8203;11081](https://github.com/pytest-dev/pytest/issues/11081):
The `norecursedirs`{.interpreted-text role="confval"} check is now
performed in a `pytest_ignore_collect`{.interpreted-text role="hook"}
implementation, so plugins can affect it.

If after updating to this version you see that your
\[norecursedirs]{.title-ref} setting is not being respected,
it means that a conftest or a plugin you use has a bad
\[pytest_ignore_collect]{.title-ref} implementation.
Most likely, your hook returns \[False]{.title-ref} for paths it does
not want to ignore,
which ends the processing and doesn't allow other plugins, including
pytest itself, to ignore the path.
The fix is to return \[None]{.title-ref} instead of \[False]{.title-ref}
for paths your hook doesn't want to ignore.

- [#&#8203;8711](https://github.com/pytest-dev/pytest/issues/8711):
`caplog.set_level()
<pytest.LogCaptureFixture.set_level>`{.interpreted-text role="func"} and
`caplog.at_level()
<pytest.LogCaptureFixture.at_level>`{.interpreted-text role="func"}
will temporarily enable the requested `level` if `level` was disabled
globally via
    `logging.disable(LEVEL)`.

## Bug Fixes

- [#&#8203;10831](https://github.com/pytest-dev/pytest/issues/10831):
Terminal Reporting: Fixed bug when running in `--tb=line` mode where
`pytest.fail(pytrace=False)` tests report `None`.
- [#&#8203;11068](https://github.com/pytest-dev/pytest/issues/11068):
Fixed the `--last-failed` whole-file skipping functionality ("skipped N
files") for `non-python test files <non-python tests>`{.interpreted-text
role="ref"}.
- [#&#8203;11104](https://github.com/pytest-dev/pytest/issues/11104):
Fixed a regression in pytest 7.3.2 which caused to
`testpaths`{.interpreted-text role="confval"} to be considered for
loading initial conftests,
even when it was not utilized (e.g. when explicit paths were given on
the command line).
    Now the `testpaths` are only considered when they are in use.
- [#&#8203;1904](https://github.com/pytest-dev/pytest/issues/1904):
Fixed traceback entries hidden with `__tracebackhide__ = True` still
being shown for chained exceptions (parts after "... the above exception
..." message).
- [#&#8203;7781](https://github.com/pytest-dev/pytest/issues/7781):
Fix writing non-encodable text to log file when using `--debug`.

## Improved Documentation

- [#&#8203;9146](https://github.com/pytest-dev/pytest/issues/9146):
Improved documentation for `caplog.set_level()
<pytest.LogCaptureFixture.set_level>`{.interpreted-text role="func"}.

## Trivial/Internal Changes

- [#&#8203;11031](https://github.com/pytest-dev/pytest/issues/11031):
Enhanced the CLI flag for `-c` to now include `--config-file` to make it
clear that this flag applies to the usage of a custom config file.

###
[`v7.3.2`](https://github.com/pytest-dev/pytest/releases/tag/7.3.2)

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

# pytest 7.3.2 (2023-06-10)

## Bug Fixes

- [#&#8203;10169](https://github.com/pytest-dev/pytest/issues/10169):
Fix bug where very long option names could cause pytest to break with
`OSError: [Errno 36] File name too long` on some systems.
- [#&#8203;10894](https://github.com/pytest-dev/pytest/issues/10894):
Support for Python 3.12 (beta at the time of writing).
- [#&#8203;10987](https://github.com/pytest-dev/pytest/issues/10987):
`testpaths`{.interpreted-text role="confval"} is now honored to load
root `conftests`.
- [#&#8203;10999](https://github.com/pytest-dev/pytest/issues/10999):
The \[monkeypatch]{.title-ref}
\[setitem]{.title-ref}/\[delitem]{.title-ref} type annotations now allow
\[TypedDict]{.title-ref} arguments.
- [#&#8203;11028](https://github.com/pytest-dev/pytest/issues/11028):
Fixed bug in assertion rewriting where a variable assigned with the
walrus operator could not be used later in a function call.
- [#&#8203;11054](https://github.com/pytest-dev/pytest/issues/11054):
Fixed `--last-failed`'s "(skipped N files)" functionality for files
inside of packages (directories with \[\__init\_\_.py]{.title-ref}
files).

</details>

<details>
<summary>pytest-dev/pytest-asyncio (pytest-asyncio)</summary>

###
[`v0.21.1`](https://github.com/pytest-dev/pytest-asyncio/releases/tag/v0.21.1):
pytest-asyncio 0.21.1

[Compare
Source](https://github.com/pytest-dev/pytest-asyncio/compare/v0.21.0...v0.21.1)

### 0.21.1 (2023-07-12)

- Output a proper error message when an invalid `asyncio_mode` is
selected.
- Extend warning message about unclosed event loops with additional
possible cause.

[#&#8203;531](https://github.com/pytest-dev/pytest-asyncio/issues/531)
- Previously, some tests reported "skipped" or "xfailed" as a result.
Now all tests report a "success" result.

</details>

<details>
<summary>pytest-dev/pytest-mock (pytest-mock)</summary>

###
[`v3.11.1`](https://github.com/pytest-dev/pytest-mock/blob/HEAD/CHANGELOG.rst#3111-2023-06-15)

[Compare
Source](https://github.com/pytest-dev/pytest-mock/compare/v3.11.0...v3.11.1)

(This release source code is identical to `3.11.0` except a small
internal fix to deployment/CI)

-   Fixed introspection for failed `assert_has_calls` (`#365`\_).

- Updated type annotations for `mocker.patch` and `mocker.spy`
(`#364`\_).

..
\_#365:[https://github.com/pytest-dev/pytest-mock/pull/365](https://github.com/pytest-dev/pytest-mock/pull/365)5
..
\_#364[https://github.com/pytest-dev/pytest-mock/pull/364](https://github.com/pytest-dev/pytest-mock/pull/364)64

###
[`v3.11.0`](https://github.com/pytest-dev/pytest-mock/blob/HEAD/CHANGELOG.rst#3110-2023-06-15)

[Compare
Source](https://github.com/pytest-dev/pytest-mock/compare/v3.10.0...v3.11.0)

-   Fixed introspection for failed `assert_has_calls` (`#365`\_).

- Updated type annotations for `mocker.patch` and `mocker.spy`
(`#364`\_).

..
\_#365:[https://github.com/pytest-dev/pytest-mock/pull/365](https://github.com/pytest-dev/pytest-mock/pull/365)5
..
\_#364[https://github.com/pytest-dev/pytest-mock/pull/364](https://github.com/pytest-dev/pytest-mock/pull/364)64

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
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://github.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://developer.mend.io/github/RobertCraigie/prisma-client-py).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS43NC4wIiwidXBkYXRlZEluVmVyIjoiMzYuOC4xMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Robert Craigie <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug/2-confirmed We have confirmed that this is a bug. kind/bug A reported bug. process/candidate Candidate for the next release
Projects
Development

Successfully merging a pull request may close this issue.

1 participant