codingjoe / codingjoe/threadmill

Timing-dependent inspector coverage makes the suite report flapping misses

オープン
#55 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Python
スター
12
フォーク
1
平均マージ
1日 1時間
マージ済み PR(30日)
10

説明

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.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python
領域
testing-qa
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
活発
明瞭さ
おおむね明確
初心者へのやさしさ
68/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。