Source code for pkglts.option.test.option

import logging
from pathlib import Path

from pkglts.dependency import Dependency
from pkglts.option_object import Option
from pkglts.version import __version__

LOGGER = logging.getLogger(__name__)


[docs] class OptionTest(Option):
[docs] def version(self): return __version__
[docs] def root_dir(self): return Path(__file__).parent
[docs] def update_parameters(self, cfg): LOGGER.info("update parameters %s", self._name) sec = dict( suite_name="pytest", ) cfg[self._name] = sec
[docs] def check(self, cfg): invalids = [] name = cfg[self._name]['suite_name'] if name not in ("pytest", "nose"): invalids.append('test.suite_name') return invalids
[docs] def require_option(self, cfg): return ['pyproject']
[docs] def require(self, cfg): test_suite = cfg['test']['suite_name'] if test_suite == 'pytest': yield Dependency('pytest', intent='test') yield Dependency('pytest-mock', intent='test') elif test_suite == 'nose': yield Dependency('nose', intent='test') yield Dependency('mock', intent='test')