-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Open
Labels
topic: rewriterelated to the assertion rewrite mechanismrelated to the assertion rewrite mechanismtype: regressionindicates a problem that was introduced in a release which was working previouslyindicates a problem that was introduced in a release which was working previously
Description
- a detailed description of the bug or problem you are having
- output of
pip list
from the virtual environment you are using - pytest and operating system versions
- minimal example if possible
Ubuntu 22.04, pytest 7.3.2, python 3.10.11
Package Version
exceptiongroup 1.1.1
iniconfig 2.0.0
packaging 23.1
pip 23.1.2
pluggy 1.0.0
pytest 7.3.2
setuptools 67.8.0
tomli 2.0.1
wheel 0.38.4
Pytest 7.3.2 re-evaluates walrus operator statements if they appear in assert statements.
def test_walrus():
assert (x := 2) == 2
x = 3
assert x == 3, "This test fails because (x := 2) is reevaluated by pytest"
def test_walrus_no_assert():
(x := 2) == 2
x = 3
assert x == 3, "This test passes because (x := 2) is not reevaluated"
Metadata
Metadata
Assignees
Labels
topic: rewriterelated to the assertion rewrite mechanismrelated to the assertion rewrite mechanismtype: regressionindicates a problem that was introduced in a release which was working previouslyindicates a problem that was introduced in a release which was working previously