123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- # Ultralytics YOLO 🚀, AGPL-3.0 license
- import shutil
- from pathlib import Path
- import pytest
- from ultralytics.utils import ROOT
- from ultralytics.utils.torch_utils import init_seeds
- TMP = (ROOT / '../tests/tmp').resolve() # temp directory for test files
- def pytest_addoption(parser):
- parser.addoption('--runslow', action='store_true', default=False, help='run slow tests')
- def pytest_configure(config):
- config.addinivalue_line('markers', 'slow: mark test as slow to run')
- def pytest_collection_modifyitems(config, items):
- if config.getoption('--runslow'):
- # --runslow given in cli: do not skip slow tests
- return
- skip_slow = pytest.mark.skip(reason='need --runslow option to run')
- for item in items:
- if 'slow' in item.keywords:
- item.add_marker(skip_slow)
- def pytest_sessionstart(session):
- """
- Called after the 'Session' object has been created and before performing test collection.
- """
- init_seeds()
- shutil.rmtree(TMP, ignore_errors=True) # delete any existing tests/tmp directory
- TMP.mkdir(parents=True, exist_ok=True) # create a new empty directory
- def pytest_terminal_summary(terminalreporter, exitstatus, config):
- # Remove files
- for file in ['bus.jpg', 'decelera_landscape_min.mov']:
- Path(file).unlink(missing_ok=True)
- # Remove directories
- for directory in ['.pytest_cache/', TMP]:
- shutil.rmtree(directory, ignore_errors=True)
|