Open
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"