Flaky test: concurrent CLI redownload times out waiting for the progress log to go away
メンテナーはふだん 2 日以内に返信
@EhabY がすでに取り組んでいます。
2026年9月18日 から。
評価
この issue はまだ評価されていません。
説明
test/unit/core/cliManager.concurrent.test.ts fails intermittently on CI. It passed on attempt 1 of run 35406584668 and failed on attempt 2 of the same commit, in Unit Test (Linux, Electron 37).
FAIL test/unit/core/cliManager.concurrent.test.ts > CliManager Concurrent Downloads > redownloads when version mismatch is detected concurrently
AssertionError: promise resolved "undefined" instead of rejecting
- Expected: Error { "message": "rejected promise" }
+ Received: undefined
❯ test/unit/core/cliManager.concurrent.test.ts:102:56
Line 102 is the progress-log half of expectLockFilesRemoved:
await vi.waitFor(async () => {
await expect(fs.access(binaryPath + ".lock")).rejects.toThrow();
await expect(fs.access(binaryPath + ".progress.log")).rejects.toThrow();
});
fs.access resolved, so <binary>.progress.log was still on disk when the poll gave up. The test starts three fetchBinary calls, two of which detect the version mismatch and redownload, and Promise.all resolves before every peer has finished releasing its progress log. vi.waitFor defaults to a 1s timeout at a 50ms interval, which a loaded runner can outlast.
#1043 added that polling for this same flake, so the window helps but is not always enough.
Worth considering:
- Give
vi.waitForan explicit timeout, which is the cheap fix but still time-based. - Make the cleanup observable and await it, rather than polling the filesystem.
- Decide whether the progress log belongs in the assertion at all after a concurrent redownload, since the lock is the part the contract depends on.
- 主要言語
- TypeScript
- スター
- 132
- フォーク
- 48
- 平均マージ
- 2日 15分
- マージ済み PR(30日)
- 17
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
coder/vscode-coder のほかの issue
-
bug tech-debt
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
coder/vscode-coder#1140 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
Improvement tech-debt vs-code
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
coder/vscode-coder#1135 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
Migrate CI setup to pnpm/setup対応中かも @EhabY が 18 日前に担当しました。 オープンtech-debt
coder/vscode-coder#1119 · コメント 1 件 · 担当者 1 名 ·
メンテナーはふだん 2 日以内に返信
-
Design the VS Code Workspaces panel対応中かも @chrifro が 22 日前に担当しました。 オープン
coder/vscode-coder#1113 · コメント 3 件 · 担当者 1 名 ·
メンテナーはふだん 2 日以内に返信
-
Flush the connection log buffer after N failed reconnect attempts against an unreachable server対応中かも @aqandrew が 6 日前に担当しました。 オープンenhancement tech-debt
難易度 5/5 1週間以上 初心者へのやさしさ 45/100
coder/vscode-coder#1112 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
coder/vscode-coder の issue をすべて見る
似ている issue
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
メンテナーはふだん 1 日以内に返信
-
[Bug] remember() with special characters in namespace hangs until timeout instead of returning 400オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
MystenLabs/MemWal#1133 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
bug user-priority/P2
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1時間未満 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
Effect-TS/effect#8881 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信