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

🤖 tests: loop-test runner signal edge cases (deferred from #7208)

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

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

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

評価

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

調査の方向性

Start with scripts/perf/loopTestBaseline.ts and trace how signal handling interacts with measure, runPool, and stopChildren(). The issue reports two deferred edge cases but says the first race was not reproduced and the second is intentionally left as is. Pick up only if a stopped run leaves a record, scratch directory, or worktree behind; done means reproducing that leftover and fixing it without disrupting cleanup.

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

説明

Two edge cases in the loop-test runner's signal handling (scripts/perf/loopTestBaseline.ts). The advisor of the #7208 fix stack (#7264, #7265) raised them. Both are deferred from #7208 with the reasons below.

  1. With --runs 1, a signal during the last run lets measure resolve, so main can write a record that holds the killed run. I tried assert(!stopping) after runPool plus a fixture test. The test also passed without the fix: in Bun 1.4.3 the signal handler reaches process.exit before main writes. I could not show the race, so I did not ship the fix.
  2. A second SIGINT or SIGTERM while stopChildren() waits uses the default handler (process.once). It kills the runner and leaves the children, the scratch dir and the base worktree behind. A user who signals twice asks for an immediate stop, so this stays as is unless it causes trouble.

Owner: the phase 1 builder. Trigger: a leftover record, scratch dir or worktree after a stopped run.

Refs #7208, #7255


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

主要言語
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 を短くまとめたダイジェスト。