|
|
|
|
|
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() |
|
|
|
|
|
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'): |
|
|
|
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) |
|
TMP.mkdir(parents=True, exist_ok=True) |
|
|
|
|
|
def pytest_terminal_summary(terminalreporter, exitstatus, config): |
|
|
|
for file in ['bus.jpg', 'decelera_landscape_min.mov']: |
|
Path(file).unlink(missing_ok=True) |
|
|
|
|
|
for directory in [ROOT / '../.pytest_cache', TMP]: |
|
shutil.rmtree(directory, ignore_errors=True) |
|
|