원클릭으로
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 직업 분류 기준
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.
| 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. |
| metadata | {"audience":"maintainer","applies_to":["tests/**","pyproject.toml"],"tags":["tests","pytest","backends"]} |
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.