forked from test_framework/pytest-bdd
Drop dependency on py.io
Pytest 7.2.0 dropped its dependency on the `py` package. We don't specify `py` explicitly as a dependency, so tests starting failing since the release of pytest 7.2.0. To drop this dependency, pytest vendored `py.io.TerminalWriter` into `_pytest._io` in pytest commit 276405a03 (6.0.0rc1). It looks like we still support pytest 5.0 —at least it's listed in tox.ini— so I fall back to importing from `py.io` if it isn't present in `_pytest`. This was our only direct use of the `py` library.
This commit is contained in:
parent
6ea28d3a4b
commit
36e81cb924
|
@ -5,9 +5,13 @@ import itertools
|
|||
import os.path
|
||||
from typing import TYPE_CHECKING, cast
|
||||
|
||||
import py
|
||||
from mako.lookup import TemplateLookup
|
||||
|
||||
try:
|
||||
from _pytest._io import TerminalWriter
|
||||
except ImportError:
|
||||
from py.io import TerminalWriter
|
||||
|
||||
from .feature import get_features
|
||||
from .scenario import inject_fixturedefs_for_step, make_python_docstring, make_python_name, make_string_literal
|
||||
from .steps import get_step_fixture_name
|
||||
|
@ -79,7 +83,7 @@ def show_missing_code(config: Config) -> int:
|
|||
|
||||
def print_missing_code(scenarios: list[ScenarioTemplate], steps: list[Step]) -> None:
|
||||
"""Print missing code with TerminalWriter."""
|
||||
tw = py.io.TerminalWriter()
|
||||
tw = TerminalWriter()
|
||||
scenario = step = None
|
||||
|
||||
for scenario in scenarios:
|
||||
|
@ -166,7 +170,7 @@ def group_steps(steps: list[Step]) -> list[Step]:
|
|||
|
||||
def _show_missing_code_main(config: Config, session: Session) -> None:
|
||||
"""Preparing fixture duplicates for output."""
|
||||
tw = py.io.TerminalWriter()
|
||||
tw = TerminalWriter()
|
||||
session.perform_collect()
|
||||
|
||||
fm = session._fixturemanager
|
||||
|
|
Loading…
Reference in New Issue