Problem
pytest.ini defines a slow marker and three tests carry it, but CI runs pytest quantecon with no -m filter, so the marker has no effect anywhere — documentation of an intent that was never wired up.
Two of the three marked tests — test_gridtools.py::test_performance_C and ::test_performance_F — are wall-clock performance assertions, together roughly 15 seconds of the suite. Timing assertions on shared CI runners are a well-known flakiness source, and the project has already had to de-flake timing tests once (#846).
Two things to decide
- Should CI deselect
slow on the pull-request path and run the full suite on merge to main? Cheap, and makes the marker mean something.
- Do wall-clock assertions belong in a correctness suite at all? If the intent is to catch performance regression, a benchmark job comparing against a baseline is the tool; a unit test that fails when a runner is busy is not.
Acceptance criteria
From the July 2026 technical-debt audit (AI-assisted; claims verified against 28d4b3b on 2026-07-25).
Problem
pytest.inidefines aslowmarker and three tests carry it, but CI runspytest quanteconwith no-mfilter, so the marker has no effect anywhere — documentation of an intent that was never wired up.Two of the three marked tests —
test_gridtools.py::test_performance_Cand::test_performance_F— are wall-clock performance assertions, together roughly 15 seconds of the suite. Timing assertions on shared CI runners are a well-known flakiness source, and the project has already had to de-flake timing tests once (#846).Two things to decide
slowon the pull-request path and run the full suite on merge tomain? Cheap, and makes the marker mean something.Acceptance criteria
slowtests run, and CI matches ittest_performance_C/test_performance_Fconverted to relative benchmarks, given meaningful tolerances, or removed with their intent documentedslowmarker either affects selection somewhere, or is removed frompytest.iniFrom the July 2026 technical-debt audit (AI-assisted; claims verified against
28d4b3bon 2026-07-25).