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+unknown
yoru/__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"
.