No need to keep a counter, just try to pop from the stack if any

This commit is contained in:
Alessio Bogon 2023-11-11 20:35:24 +01:00
parent 825fcf804b
commit c23282819b
1 changed files with 2 additions and 12 deletions

View File

@ -21,10 +21,6 @@ if TYPE_CHECKING:
from .parser import Feature, Scenario, Step
# Counter to track how many times pytest initialization was started
_INIT_COUNT = 0
def pytest_addhooks(pluginmanager: PytestPluginManager) -> None:
"""Register plugin hooks."""
from pytest_bdd import hooks
@ -56,8 +52,6 @@ def _pytest_bdd_example() -> dict:
def pytest_addoption(parser: Parser) -> None:
"""Add pytest-bdd options."""
global _INIT_COUNT
_INIT_COUNT += 1
add_bdd_ini(parser)
cucumber_json.add_options(parser)
generation.add_options(parser)
@ -72,19 +66,15 @@ def add_bdd_ini(parser: Parser) -> None:
def pytest_configure(config: Config) -> None:
"""Configure all subplugins."""
CONFIG_STACK.append(config)
assert _INIT_COUNT == len(CONFIG_STACK)
cucumber_json.configure(config)
gherkin_terminal_reporter.configure(config)
def pytest_unconfigure(config: Config) -> None:
"""Unconfigure all subplugins."""
global _INIT_COUNT
assert len(CONFIG_STACK) <= _INIT_COUNT
if len(CONFIG_STACK) == _INIT_COUNT:
if CONFIG_STACK:
CONFIG_STACK.pop()
cucumber_json.unconfigure(config)
_INIT_COUNT -= 1
cucumber_json.unconfigure(config)
@pytest.hookimpl(hookwrapper=True)