Move the cargo e2e fixture helpers into cargo_e2e_matrix: cargo(), sparse_index_rel, find_registry_crate, locked_version and package_block are copied in 3-4 suites that already include it
維護者通常 1 天內回覆
還沒有人認領這個 Issue。
評估
研究方向
Read crates/socket-patch-cli/tests/cargo_e2e_matrix/mod.rs and the four named Cargo e2e suites: e2e_redirect_cargo_build.rs, e2e_redirect_cargo_shapes.rs, e2e_vendor_cargo_build.rs, and mode_migration_cargo.rs. Compare the duplicated helpers with the existing parse_lock API, then consolidate the specified helpers and remove local copies. Run the cargo e2e CI jobs with SOCKET_PATCH_CARGO_E2E_REQUIRED=1; done means the same tests pass and only one find_registry_crate and sparse_index_rel remain.
由索引模型根據 Issue 內容生成。
描述
[agent] Filed by the scheduled architecture audit (audit-cli-tests). Register: register.
Kind: refactor. Register ID: T71.
Problem: the four cargo build suites all mod cargo_e2e_matrix;, yet each one re-writes the same fixture helpers. md5 is of the fn body with comments and whitespace stripped:
| fn | e2e_redirect_cargo_build | e2e_redirect_cargo_shapes | e2e_vendor_cargo_build | mode_migration_cargo | md5 |
|---|---|---|---|---|---|
cargo |
L128 | L165 | L232 | L111 | f9f7f391 (all identical) |
sparse_index_rel |
L207 | L185 | — | L209 | c5573a49 |
find_registry_crate |
L182 | L176 (drifted) | L344 | L198 | 07d0421e / fbb0ccc2 |
locked_version |
L153 | — | L315 | L171 | b933fd5b |
package_block |
L173 | — | L335 | L190 | 312981d4 |
build_patched_crate |
L220 | build_crate L228 |
— | L218 | drifted (expect vs unwrap, leaf param) |
- The
find_registry_cratedrift: on a bad dir entry, the shapes copy (L176-L183)`` skips it, while the others (redirect_cargo_build L182-L191) returnNone. - Lock parsing written twice:
locked_versionandpackage_blockhand-parseCargo.locktext (L152-L179,```` mode_migration_cargo L171-L196).````` Yetcargo_e2e_matrix::parse_lockalready returns `name`/`version`/`source`/`checksum`, and the same file uses it at L620-L623. - Another hand-kept copy:
stage_fixtureis near-copied between redirect_cargo_build L252-L295 and mode_migration_cargo L242-L279.
Proposed change:
- Move
cargo,sparse_index_rel,find_registry_crate(iterator form),build_patched_crate(leaf, …)andstage_fixtureintotests/cargo_e2e_matrix/mod.rs. - Replace
locked_version/package_blockwithparse_locklookups. - Delete the local copies.
- The
copy_dir_recursivecopies in the same files are left to #1979 (T64).
Size: 4 test files plus cargo_e2e_matrix/mod.rs. About −250/+80 lines.
Acceptance criteria:
- No product code changes.
- The four suites list the same tests and pass in the cargo e2e CI jobs with
SOCKET_PATCH_CARGO_E2E_REQUIRED=1. - Exactly one
fn find_registry_crateand onefn sparse_index_relundercrates/socket-patch-cli/tests.
- 主要語言
- Rust
- 星號
- 9
- 分支
- 2
- 平均合併
- 20 小時 47 分鐘
- 30 天內合併 PR
- 681
環境準備
- 沒有 Dockerfile 或 Docker Compose 檔案
- 沒有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 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
難度 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 天內回覆
-
agent:triaged arch-audit priority:p3 refactor
難度 4/5 3-5 天 新手友好度 35/100
SocketDev/socket-patch#1983 · 1 則留言 ·
維護者通常 1 天內回覆
查看 SocketDev/socket-patch 的全部 Issue
相似的 Issue
-
docs(metrics): replace stale src/metrics.rs line anchors in dashboard-metrics.md with symbol names未關閉
難度 2/5 1-3 小時 新手友好度 88/100
維護者通常 1 天內回覆
-
ci-cd desktop size:low telemetry-improvement telemetry-round-1
難度 2/5 1-3 小時 新手友好度 66/100
vfarcic/dot-agent-deck#2079 ·
維護者通常 1 天內回覆
-
bug
難度 2/5 1-3 小時 新手友好度 63/100
qingjian-team/qingjian#894 ·
維護者通常 2 天內回覆
-
難度 2/5 1-3 小時 新手友好度 85/100
rubys/roundhouse#1757 ·
-
enhancement user-priority/P3
難度 2/5 1-3 小時 新手友好度 68/100
維護者通常 1 天內回覆