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")