30 lines
823 B
Python
30 lines
823 B
Python
from __future__ import absolute_import, division, print_function
|
|
|
|
import pytest
|
|
|
|
|
|
def pytest_addoption(parser):
|
|
group = parser.getgroup("debugconfig")
|
|
group.addoption(
|
|
"--setupplan",
|
|
"--setup-plan",
|
|
action="store_true",
|
|
help="show what fixtures and tests would be executed but "
|
|
"don't execute anything.",
|
|
)
|
|
|
|
|
|
@pytest.hookimpl(tryfirst=True)
|
|
def pytest_fixture_setup(fixturedef, request):
|
|
# Will return a dummy fixture if the setuponly option is provided.
|
|
if request.config.option.setupplan:
|
|
fixturedef.cached_result = (None, None, None)
|
|
return fixturedef.cached_result
|
|
|
|
|
|
@pytest.hookimpl(tryfirst=True)
|
|
def pytest_cmdline_main(config):
|
|
if config.option.setupplan:
|
|
config.option.setuponly = True
|
|
config.option.setupshow = True
|