A failed --test run ends in an ASSERT FAIL trace from lib/test_runner.eigs
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
lib/test_runner.eigs の184行目付近から始めます。ここでは失敗したテストファイルによってアサーションが発生します。また、issue #1839 で言及されている既存の終了コードの動作を確認します。次に、eigenscript --test の回帰テストを見つけ、失敗した実行の最終出力行と終了ステータス(--json を含む)を検証するテストを追加します。失敗時はランナーのトレースなしで終了コード1となり、成功時は出力が変わらず終了コード0となれば完了です。
索引モデルが issue の本文から書いたものです。
説明
When any test file fails, eigenscript --test ends its run with an ASSERT FAIL error and a stack trace pointing into lib/test_runner.eigs. The exit status (1) is right; the output reads as if the runner itself crashed, and the trace is noise on every red run. It also lands after the --json document.
To reproduce (v0.48.0, release build)
mkdir -p tdir
printf 'assert of [1 == 2, "one is not two"]\n' > tdir/test_a.eigs
printf 'assert of [true, "ok"]\n' > tdir/test_b.eigs
eigenscript --test tdir; echo "rc=$?"
Actual (tail)
Files: 2 | Passed: 1 | Failed: 1
Error .../lib/test_runner.eigs:184: ASSERT FAIL: 1 test file(s) failed
184 | assert of [0, (str of failed_files) + " test file(s) failed"]
| ^
at <module> (.../lib/test_runner.eigs:184)
rc=1
Expected
The summary line is the last thing printed and the process exits 1, as pytest or cargo test do. No error header or trace from the runner's own source. (set_exit_code, from #1839, or exit of 1 would do it without a raise.)
Done when
- On the repro,
--testprints noASSERT FAILand no trace intolib/test_runner.eigs, and still exits 1. -
--test --jsonon the repro writes only the JSON document to stdout and exits 1. - An all-passing run is unchanged (same output, exit 0).
- A regression test checks the failing case's last line and exit status, and fails on v0.48.0.
Found while checking docs/llms.txt against the runtime (PR #2193).
Generated by Claude Code
- 主要言語
- C
- スター
- 3
- フォーク
- 7
- 平均マージ
- 8時間 51分
- マージ済み PR(30日)
- 393
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
InauguralSystems/EigenScript のほかの issue
-
area:gates kind:gate-defect
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
InauguralSystems/EigenScript#2188 ·
メンテナーはふだん 1 日以内に返信
-
area:docs kind:docs-drift
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
InauguralSystems/EigenScript#1887 ·
メンテナーはふだん 1 日以内に返信
-
phase2: test_bitwise.eigs cites ctl.scan.* rows; the MAP's refusal controls are ctl.N8.refuse-*オープンarea:gates kind:docs-drift
難易度 1/5 1時間未満 初心者へのやさしさ 86/100
InauguralSystems/EigenScript#1851 ·
メンテナーはふだん 1 日以内に返信
-
UB: (int) cast of a user double outside int range in dispatch / vm_index_is_int / flat_index_atオープンarea:runtime-vm kind:silent-wrong
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
InauguralSystems/EigenScript#1748 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
area:gfx bug
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
InauguralSystems/EigenScript#1684 ·
メンテナーはふだん 1 日以内に返信
InauguralSystems/EigenScript の issue をすべて見る
似ている issue
-
vim.filetype.match() prefixes a URL buffer name with the cwd before passing it to filetype functionsオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
メンテナーはふだん 1 日以内に返信
-
stream_curl: retry_count never resets after a successful reconnect, so long sequential streams die after 5 drops対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
mpv-player/mpv#18728 ·
メンテナーはふだん 1 日以内に返信
-
followup Prio 📌
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
cyrusimap/cyrus-imapd#6640 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 60/100
メンテナーはふだん 1 日以内に返信