一键导入
tests-and-backends
pytest marker conventions for backend-tagged tests in TVBO, the slow/julia markers, and how to run the test suite locally.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
pytest marker conventions for backend-tagged tests in TVBO, the slow/julia markers, and how to run the test suite locally.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | tests-and-backends |
| description | pytest marker conventions for backend-tagged tests in TVBO, the slow/julia markers, and how to run the test suite locally. |
TVBO's test suite is backend-tagged: every backend integration test carries a marker so CI can run a subset depending on which extras are installed.
[tool.pytest.ini_options].markers)| Marker | Meaning |
|---|---|
backend_core | Backend-agnostic core simulation tests |
backend_jax | JAX backend |
backend_tvb | TVB backend |
backend_pyrates | PyRates backend |
backend_tvboptim | tvboptim backend |
backend_julia | Class-level Julia tests (any Julia-backed sim) |
backend_julia_diffeq | DifferentialEquations.jl |
backend_networkdynamics | NetworkDynamics.jl |
backend_mtk | ModelingToolkit.jl |
backend_neuroml | NeuroML/LEMS |
docs | Quarto/Jupyter notebook execution tests |
julia | Needs a Julia runtime via juliacall |
slow | Long-running; excluded by default — pass --run-slow to include |
When adding a backend test, always apply the matching backend_* marker. CI uses these to filter.
# Fast, default subset
pytest
# Include slow tests
pytest --run-slow
# A specific backend
pytest -m backend_jax
# Exclude Julia entirely
pytest -m "not julia"
tests/ — the canonical suite.dev/test/ — exploratory scripts and notebooks. Not picked up by pytest.-n 1 --dist=loadscope (single-process, group-by-file). Don't override globally unless you have a reason.pyproject.toml or pytest will warn (--strict-markers).Edit [tool.pytest.ini_options].markers in pyproject.toml. Add the optional-dependency group under [project.optional-dependencies] so users can pip install tvbo[<backend>]. See the codegen-templates skill for the full new-backend checklist.
How TVBO's code generation works — template engines, backend dispatch in tvbo/codegen/, and the contract for adding a new backend.
How TVBO's code generation works — template engines, backend dispatch in tvbo/codegen/, and the contract for adding a new backend.
Ruthless editor who detects and destroys AI-generated slop — the hollow filler phrases, fake enthusiasm, recycled structures, and performative depth that make text instantly recognizable as machine-written. Rewrites content to sound like a human with something to say.
How to run a SimulationExperiment in TVBO — choosing a backend, calling run/plot, and what each optional extra (jax, tvb, pyrates, julia) provides.
How to write Python docstrings in TVBO so that quartodoc renders them correctly in the API site. Google style, markdown body, type info on signature (not in the docstring).
How to specify a Dynamics in TVBO — the YAML and Python forms, parameter / state-variable / equation conventions, and common pitfalls.