codingjoe / codingjoe/threadmill
Timing-dependent inspector coverage makes the suite report flapping misses
- Dominant language
- Python
- Stars
- 12
- Forks
- 1
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 10
Description
Found by `testJoe` while adding coverage for the fair multi-queue rotation (`codingjoe-fair-multi-queue-scheduling`). Pre-existing and untouched by that diff.
Coverage of these inspector paths flaps from run to run, which means the lines are reached by timing rather than deterministically — the tests under `tests/test_inspector.py` pass on their own (58/58 per run), so this is a flaky-coverage problem, not a red suite:
- `threadmill/inspector/telemetry.py:37-41` — the `rates_for` path.
- `threadmill/inspector/telemetry.py:81` — the `_evict` `popitem` path.
- `threadmill/inspector/app.py:592-603` — `_refresh_sparklines`.
Either drive those paths deterministically (inject the clock, shorten the refresh interval) or mark the timing-dependent assertions so coverage stops depending on scheduling.
Contributor guide
Research direction
Start with tests/test_inspector.py, which passes independently, then inspect threadmill/inspector/telemetry.py lines 37-41 and 81 and threadmill/inspector/app.py lines 592-603. Reproduce the coverage flapping and make those timing-dependent paths deterministic, or mark the assertions so coverage no longer depends on scheduling; the inspector tests and coverage should remain stable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100