Suite: `make -C <repo> test` fails [137] because print-SRC_V_asan-gfx output includes make's "Entering directory" banner
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 88/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
調査の方向性
tests/test_asan_gfx.sh と tests/test_leak_guard.sh から始め、特に print-* リーダーに注目して、MAKEFLAGS=w で問題を再現します。両方のリーダーがソースファイル名だけを受け取ることを確認し、次に make -C test を実行してセクション [137] が成功することを確認します。directory-banner の出力に対する要求されたチェックを追加します。
索引モデルが issue の本文から書いたものです。
説明
tests/test_asan_gfx.sh (suite section [137]) reads its source list with
SRCS=$(make -C "$ROOT" -s print-SRC_V_asan-gfx 2>/dev/null)
When the suite itself was started as make -C /path/to/EigenScript test, the outer make puts w (--print-directory) into MAKEFLAGS. The nested make inherits it, and -s does not suppress the banner, which goes to stdout. SRCS then contains make[1]: Entering directory '/path' / Leaving directory words, and the compile fails at link time:
/usr/bin/ld: cannot find make[1]:: No such file or directory
/usr/bin/ld: cannot find Entering: No such file or directory
/usr/bin/ld: cannot find '/home/user/wt1243': No such file or directory
...
FAIL: asan-gfx build failed
FAIL: test_asan_gfx.sh exited 1 without completing — section verdict is not trustworthy (#988)
The nested call in isolation, measured on main 38a20d5:
$ make -s print-SRC_V_asan-gfx | head -c 60
src/eigenscript.c src/lexer.c src/parser.c src/builtins.c
$ MAKEFLAGS=w make -C . -s print-SRC_V_asan-gfx | head -c 60
make: Entering directory '/home/user/wt1243'
src/eigens
cd <repo> && make test passes [137] (15/15). make -C <repo> test fails it deterministically (twice in a row), and the reported failure points at the gfx corpus rather than at the invocation. Found while gating an unrelated PR (#1330) from a different working directory.
tests/test_leak_guard.sh:51 reads make -s print-SOURCES the same way; it is exposed to the same inherited flag whenever it runs under a make that has w set.
Done when
- Both readers get a clean list whatever
MAKEFLAGSthe suite inherits: pass--no-print-directory, or clearMAKEFLAGS/MAKELEVELfor that call. -
make -C <repo> testpasses [137] on a tree wherecd <repo> && make testpasses. - A check that fails if a
print-*reader's output containsEntering directory. For example, run the reader withMAKEFLAGS=win the environment and assert that every word ends in.c.
- 主要言語
- C
- スター
- 3
- フォーク
- 7
- 平均マージ
- 3時間 58分
- マージ済み PR(30日)
- 105
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
InauguralSystems/EigenScript のほかの issue
-
area:stdlib found-by:code-review kind:silent-wrong
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
InauguralSystems/EigenScript#1338 ·
メンテナーはふだん 1 日以内に返信
-
area:lint-tooling found-by:critic kind:docs-drift
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
InauguralSystems/EigenScript#1335 ·
メンテナーはふだん 1 日以内に返信
-
area:ci found-by:critic kind:gate-defect
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
InauguralSystems/EigenScript#1311 ·
メンテナーはふだん 1 日以内に返信
-
enrolment: decide test_gc_runner_controls.py (exempt vs enrol) and whether floors need a ratchetオープンarea:gates found-by:critic kind:decision
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
InauguralSystems/EigenScript#1280 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
area:docs good first issue kind:docs-drift
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
InauguralSystems/EigenScript#1277 · コメント 4 件 ·
メンテナーはふだん 1 日以内に返信
InauguralSystems/EigenScript の issue をすべて見る
似ている issue
-
bug needs triage
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
netdata/netdata#24062 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
riscv-software-src/riscv-isa-sim#2448 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 75/100
NabuCasa/silabs-firmware-builder#231 · コメント 1 件 ·