slow-tests
Installation
SKILL.md
Running the gated tests
Plain pytest (and make test) runs the fast suite only. Four classes of
test are gated behind flags defined in tests/conftest.py. A gated test
that is not enabled shows as skipped, and the run still exits green. Enable
the class, then read the skip summary at the end of the run (-ra is in
addopts) to confirm the tests you meant to run actually ran.
PR CI runs almost none of these. A scheduled job in meridianlabs-ai/actions
runs pytest --runslow --runapi against main every couple of hours, so a
gated test that a change breaks fails there, after merge.
| Class | Flag | How a test joins it | What it needs | Does PR CI run it? |
|---|---|---|---|---|
| slow | --runslow |
@pytest.mark.slow |
Usually Docker (@skip_if_no_docker), sometimes a provider key too |
Only tests/tools/ when tool or sandbox code changed, plus the areas in the detect-slow table in .github/workflows/build.yml |
| api | --runapi |
skip_if_no_<provider> decorators in tests/test_helpers/utils.py add the api marker |
The provider's key or opt-in variable; the decorator names it | No. CI has no provider keys |
| flaky | --runflaky |
@pytest.mark.flaky |
Whatever the underlying test needs (Docker or a key) | No |
| trio | --runtrio |
Every async test gets a [trio] variant automatically |
A separate pytest invocation; it runs only the trio variants | No |