from __future__ import absolute_import from __future__ import division from __future__ import 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