Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Flaky test: test_polling_backoff_recovery_and_revoked_token times out on Windows CI

オープン 初心者向け
#420 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
82/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
python
領域
testing-qa

調査の方向性

まず tests/channels/test_telegram.py::test_polling_backoff_recovery_and_revoked_tokenから始め、特に524行目の asyncio.wait_for(ch.run(), 5)を確認して、テストがどのようにポーリング応答をスクリプト化し、失効したトークンを受け取った時点で停止するかを読んでください。このテストを実行し、不安定な再実行に頼らずにWindows CIで確実に完了することを確認してください。

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

説明

area: channels bug flaky

tests/channels/test_telegram.py::test_polling_backoff_recovery_and_revoked_token failed once on Windows CI and passed on a re-run of the same commit.

Where: PR #410, run 39010233496 attempt 1, Engine tests (windows-latest): 1 failed, 2464 passed in 28:49.

What failed: await asyncio.wait_for(ch.run(), 5) (test_telegram.py line 524) hit its 5 second limit: TimeoutError, with the inner task cancelled while it waited on an aiosqlite commit().

Likely cause: the test gives the whole polling loop (six scripted getUpdates replies, four backoffs with a fake sleep, a dispatched update and the revoked-token stop) 5 seconds of wall-clock time. On the Windows runner with -n auto every worker is busy; the same run shows fixture setups of 15 to 24 seconds (test_start_reconnects_saved_channel setup 15.4 s), so 5 seconds for many SQLite commits is not enough there. The logic did not fail; the clock did.

Possible fix: wait on the loop's own end (it stops on the 401) with a generous limit, e.g. 30 s, or drive it step by step instead of a wall-clock budget.

Until fixed it is marked @pytest.mark.flaky(reruns=2), and CI's rerun summary lists it whenever it needs a rerun.

主要言語
Python
スター
702
フォーク
113
平均マージ
5時間 8分
マージ済み PR(30日)
171

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

existence-master/Sentient のほかの issue

existence-master/Sentient の issue をすべて見る

似ている issue

Python の issue をもっと見る

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

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