from functools import partial import pytest def pytest_addoption(parser): parser.addoption( "--network", action="store_true", dest="network", default=False, help="allow network related tests to run", ) def mark_network(config, func): """Decorator to add a 'net' mark and skip the test unless --network is passed.""" skip_func = pytest.mark.skipif( not config.option.network, reason="needs --network option to run" ) return skip_func(pytest.mark.net(func)) def pytest_configure(config): pytest.mark_network = partial(mark_network, config)