Deleting the human view of `daemon status` leaves the whole suite green
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 68/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- typescript
- 領域
- cli, testing-qa
調査の方向性
未テストの分岐は src/cli/index.ts の1667〜1668行付近にある、人が読む形式の出力です。ここでは --json が設定されていない場合に daemon status が formatStatus(...) を書き出します。src/cli/index.test.ts の既存の daemon start と status のアサーションを読み、そのスタイルに合わせてください。そのうえで、--json を付けずに daemon status を実行し Daemon: running (worker) を期待する単体テストを追加します。このテストが現在のコードで成功し、人向けの分岐を無条件の writeResult に置き換えると失敗すれば完了です。#422 で提案されている修正済みの it を確認してください。作業が重複する可能性があります。
索引モデルが issue の本文から書いたものです。
説明
Testing rule 3: a code path that can be deleted with a green suite is untested.
I deleted the human branch of simlock daemon status in src/cli/index.ts:1667-1668 — turning
if (values.json) writeResult(environment, status);
else environment.stdout.write(`${formatStatus(status, environment.clock.now())}\n`);
into an unconditional writeResult(environment, status) — and every check stayed green:
pnpm exec vitest run --project unit src/cli/index.test.ts: 219 passed. That suite assertsDaemon: running (worker)forsimlock statusandDaemon runningforsimlock daemon start, so onlydaemon status's own human view has no unit assertion.pnpm test:e2e e2e/daemon-lifecycle.test.ts: 3 passed, 1 expected fail. The one test that namesdaemon status's default view is anit.fails, which passes whether the view exists or not.pnpm test:changed: green apart from the repro test from #422.
So the CLI publishes a human view of daemon status that no test can see. The corrected it proposed in #422 (asserting Daemon: running (worker) on daemon status with no --json) does cover it: run against this same deletion it fails with expected '{"devices":[]…' to contain 'Daemon: running (worker)'.
Found while triaging #422.
Written by an agent.
- 主要言語
- TypeScript
- スター
- 19
- フォーク
- 1
- 平均マージ
- 6時間 31分
- マージ済み PR(30日)
- 194
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
callstackincubator/simlock のほかの issue
-
Lint does not enforce index.ts boundaries for cleanup/, routing/, warm-pool/ and contract/ helpersオープンbug:new
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
callstackincubator/simlock#445 ·
メンテナーはふだん 1 日以内に返信
-
bug:new
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
callstackincubator/simlock#424 ·
メンテナーはふだん 1 日以内に返信
-
daemon-lifecycle e2e: the it.fails status test passes for the wrong reason対応中かも @V3RON が 6 日前に担当しました。 オープンbug:triage
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
callstackincubator/simlock#422 · コメント 1 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
The console draws each worker's load as gauges on its detail page対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンtask:draft
難易度 4/5 3〜5日 初心者へのやさしさ 15/100
callstackincubator/simlock#569 ·
メンテナーはふだん 1 日以内に返信
-
test(e2e): transfers through a gateway keep their promises対応中かも @V3RON が今日担当しました。 オープンtask:ready
callstackincubator/simlock#559 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
callstackincubator/simlock の issue をすべて見る
似ている issue
-
useFragment does not require `variables` when the fragment's variables type has required fieldsオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
apollographql/apollo-client#13493 ·
メンテナーはふだん 1 日以内に返信
-
Custom hosts written as trailing-dot FQDNs (`host.local.`) aren't detected as local backends対応中かも @roboomp が今日担当しました。 オープンbug prio:p2 providers triaged
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
can1357/oh-my-pi#15798 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
code-yeongyu/oh-my-openagent#10172 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
PDFCraftTool/pdfcraft#189 ·
-
Add the Yahoo chart API duplicate last-day row (yfinance#573) to incidents.md (about 1 hour)対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンdata docs good first issue
難易度 1/5 1時間未満 初心者へのやさしさ 80/100
pacocartones/market-data-sanity-checker#160 ·
メンテナーはふだん 1 日以内に返信