Gradle --global-prefix e2e tests pass without --global-prefix: the harness always sets GRADLE_USER_HOME, and no test asserts gradle_user_home_differs fires
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
Start with global_prefix_scan_says_nothing_about_the_user_home in crates/socket-patch-cli/tests/e2e_gradle_discovery_build.rs, then isolate_cli in tests/common/jvm_env.rs, which always sets GRADLE_USER_HOME. Remove that variable after prepare_command, add a positive control asserting gradle_user_home_differs appears without --global-prefix, and then assert it is absent with the flag. The same pattern applies to gradle_agent_global_prefix in e2e_gradle_agent_build.rs. Done means both tests fail when --global-prefix handling is stubbed out.
索引モデルが issue の本文から書いたものです。
説明
[agent] Filed by the scheduled architecture audit (audit-cli-tests). Register: register.
Kind: bug (fake tests). Register ID: T67.
Problem
Two Gradle tests claim to prove --global-prefix behavior, but the harness makes the flag irrelevant to their assertions.
e2e_gradle_discovery_build.rs. global_prefix_scan_says_nothing_about_the_user_home`` asserts that gradle_user_home_differs is absent. The warning can't appear in this harness, because:
- the scan goes through
jvm_env::isolate_cli, which always setsGRADLE_USER_HOME(jvm_env.rs L106-L109); - the core check returns
NonewheneverGRADLE_USER_HOMEis set (gradle_cache.rs L551-L566).```
Executed on cbbbdb9 with a scratch build, running scan --json in a Gradle project with HOME ≠ passwd home:
| Case | warnings[] codes |
|---|---|
GRADLE_USER_HOME unset |
["gradle_user_home_differs"] |
GRADLE_USER_HOME set (the harness) |
[] |
--global-prefix, GRADLE_USER_HOME unset |
[] |
So the assertion holds whether or not --global-prefix suppresses the warning. The suite's scan doc at L111 says None means "no GRADLE_USER_HOME", which is false. No CLI test anywhere asserts that gradle_user_home_differs fires.
e2e_gradle_agent_build.rs. gradle_agent_global_prefix runs through socket(), which sets GRADLE_USER_HOME to the same cache (L333).````` A plain apply --offline already patches that cache (L468), so a CLI that ignored `--global-prefix` would still pass. This one comes from reading the code and was not executed.
Proposed change
For the discovery test:
- Remove
GRADLE_USER_HOMEafterprepare_command. - Add a positive control: the same scan without
--global-prefixassertsgradle_user_home_differsis present. - Then assert it is absent with the flag.
- Fix the L111 doc.
For the agent test:
- Remove
GRADLE_USER_HOME, or point it at an empty dir, so only--global-prefixnames the cache. - Assert the jar is patched there and untouched under the default home.
Size
2 test files. About +30/−10 lines.
Acceptance criteria
- Each test fails when
--global-prefixhandling is stubbed out. Show this once by mutation in the PR description. - The new positive control passes on
main.
- 主要言語
- Rust
- スター
- 9
- フォーク
- 2
- 平均マージ
- 20時間 47分
- マージ済み PR(30日)
- 681
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
SocketDev/socket-patch のほかの issue
-
agent:triaged arch-audit priority:p3 refactor
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
SocketDev/socket-patch#1860 ·
メンテナーはふだん 1 日以内に返信
-
agent:triaged arch-audit priority:p3 refactor
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
SocketDev/socket-patch#1838 ·
メンテナーはふだん 1 日以内に返信
-
arch-audit refactor
難易度 4/5 3〜5日 初心者へのやさしさ 54/100
SocketDev/socket-patch#1993 ·
メンテナーはふだん 1 日以内に返信
-
arch-audit refactor
難易度 3/5 1〜2日 初心者へのやさしさ 66/100
SocketDev/socket-patch#1992 ·
メンテナーはふだん 1 日以内に返信
-
agent:triaged arch-audit priority:p3 refactor
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
SocketDev/socket-patch#1987 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
SocketDev/socket-patch の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
riverqueue/river#1576 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
stadelmanma/fitparse-rs#64 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
zed-extensions/java#325 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
dividebysandwich/sdroxide#769 ·
メンテナーはふだん 5 日以内に返信