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

🤖 tests: three loop test files fail on unchanged main under the loop-test runner

オープン
#7,256 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る

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

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

評価

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

調査の方向性

Start with scripts/perf/loopTests.preload.ts and the named tests in src/node/services/tools/bash_output.test.ts, src/node/services/tools/bash_background_list.test.ts, and src/node/services/backgroundProcessManager.test.ts. Run make test-loop-baseline while other test processes are active and capture each bun test failure output; compare behavior with and without the preload and check whether concurrent runs share /tmp/mux-bashes/test-workspace. Done means the failures are understood and the tests pass reliably under concurrent load.

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

説明

Summary

Three loop test files fail on unchanged main when the loop-test runner (make test-loop-baseline) runs them. The phase 1 baseline on 563475d0c9 (10 rounds, 6 jobs, bun 1.4.3) recorded these failed rounds:

file failed rounds in the baseline
src/node/services/tools/bash_output.test.ts 9 of 10
src/node/services/tools/bash_background_list.test.ts 2 of 10
src/node/services/backgroundProcessManager.test.ts 1 of 10

Other agents shared the host during the baseline: the 1-minute load average was 5.5 to 56.8. Baseline comment: https://github.com/coder/xum/issues/7255#issuecomment-6353444207

I did not find the cause. This issue records what the runs show.

What the logs show

The runner discards the output of each bun test process, so the baseline has no test names. To get them, I ran the two tool test files again on a detached checkout of 563475d0c9: 5 runs each with the runner's preload (scripts/perf/loopTests.preload.ts) and 5 runs each without it, 6 processes at a time, load average 12 to 14. Unlike the runner, this run could start two processes of the same file at the same time.

tools/bash_output.test.ts

Failed 2 of 5 runs with the preload and 2 of 5 without it, so it also fails without the preload.

test runs that failed first error line
bash_output tool > should return incremental output from process 2 error: expect(received).toContain(expected), Expected to contain: "line1", Received: ""
bash_output tool > should block and wait for output when timeout_secs > 0 2 error: expect(received).toContain(expected), Expected to contain: "delayed output", Received: ""
tools/bash_background_list.test.ts

Failed 2 of 5 runs with the preload and 2 of 5 without it, so it also fails without the preload.

test runs that failed first error line
bash_background_list tool > should only list processes for the current workspace 4 error: Failed to spawn processes
bash_background_list tool > should list spawned processes with correct fields 2 error: Failed to spawn process
bash_background_list tool > should include display_name in listed processes 1 error: Failed to spawn process: Failed to persist the spawn record (meta.json): writeMeta failed with exit code 1: .../bash: line 7: /tmp/mux-bashes/test-workspace/Dev Server (2)/meta.json: No such file or directory

The last error names the fixed path /tmp/mux-bashes/test-workspace. I did not check whether other test processes use the same path at the same time.

backgroundProcessManager.test.ts

It failed in 1 of the 10 baseline rounds. The baseline has no output of that round, so I have no test name or error line. One more run with the preload and one without it both passed.

An earlier phase 1 parity run, before the stack merged (one pass of all loop test files with the preload and one pass without it), showed the same pattern: bash_output.test.ts failed on both passes, bash_background_list.test.ts failed only on the pass with the preload, and backgroundProcessManager.test.ts passed on both.

Next step

Find why these tests fail when other test processes run beside them, and fix the tests.

Refs #7255


Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: high • Cost: $53.93

主要言語
TypeScript
スター
2.1k
フォーク
140
平均マージ
4時間 57分
マージ済み PR(30日)
946

環境構築

  • Dockerfile または Docker Compose ファイルあり
  • プルリクエストのテンプレートなし
  • コントリビューションガイドなし

はじめの一歩

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

coder/xum のほかの issue

coder/xum の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

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

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