import os import pytest def pytest_addoption(parser): # Add option to skip meta (test suite-testing) tests. parser.addoption('--skip-meta', action='store_true', help='skip test suite-testing tests') # Add option to skip slow tests. parser.addoption('--skip-slow', action='store_true', help='skip slow tests') # Add option to skip real life tests. parser.addoption('--skip-real', action='store_true', help='skip real life tests') def pytest_runtest_setup(item): if 'meta' in item.keywords and item.config.getoption('--skip-meta'): pytest.skip('skipping meta test (--skip-meta given)') if 'slow' in item.keywords and item.config.getoption('--skip-slow'): pytest.skip('skipping slow test (--skip-slow given)') if 'real' in item.keywords: if item.config.getoption('--skip-real'): pytest.skip('skipping real life test (--skip-real given)') if (not os.getenv('PYDLE_TESTS_REAL_HOST') or not os.getenv('PYDLE_TESTS_REAL_PORT')): pytest.skip('skipping real life test (no real server given)')