This page lists the minimal steps to verify the YORU test suite.
Run these commands at the repository root (the directory where yoru/ is visible).
python -m pip install -e .[dev] # installs pytest and dev deps
pytest --version
Exclude GUI / hardware / heavy tests and just confirm nothing is broken.
pytest -m "not gui and not hw and not slow"
Pass criteria: failed=0 errors=0. (skipped is fine.)
Assumes you have tests_extra/test_cli_basics_nopatch.py in your tree.
pytest -m "not hw" tests_extra/test_cli_basics_nopatch.py
What to look for
python -m yoru --help exits 0 and prints text containing “YORU/yoru”python -m yoru -V exits 0 and prints X.Y.Z or 0+unknownyoru/__init__.py contains a relative sys.path.append("../yoru"), the in‑process check is skipped (that is expected).Assumes you have tests_extra/test_trigger_plugins_api.py in your tree.
pytest -m "not hw" tests_extra/test_trigger_plugins_api.py
Pass criteria for each trigger_plugins/*.py:
trigger_condition existstrigger(...) with ≥ 6 parametersUse tiny data to confirm “end‑to‑end runs” only. These are slow; you can skip in routine checks.
# Example (adapt to your Python API / CLI wrappers)
export YORU_SMOKE_WEIGHTS=/path/to/tiny.pt
export YORU_SMOKE_DATA=/path/to/small_dataset
# inference only (marked as @slow)
pytest -k inference_smoke -m "slow and not gui and not hw"
# training only
pytest -k training_smoke -m "slow and not gui and not hw"
Pass criteria (examples):
yoru/cli.py; move them into subcommands (lazy import).serial / nidaqmx / libs.arduino → ensure test stubs in tests/conftest.py are active.pytest -m "not gui and not hw".