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
-
A-linter
难度 2/5 1-3 小时 新手友好度 73/100
oxc-project/oxc#28783 ·
维护者通常 1 天内回复
-
Substrait consumer doesn't recognise `shift_left` / `shift_right` from functions_arithmetic.yaml未关闭bug
难度 2/5 1-3 小时 新手友好度 76/100
apache/datafusion#27059 ·
维护者通常 1 天内回复
-
Bump calamine to 0.38: RUSTSEC-2026-0436 (CFB/OLE2 panic and unbounded allocation) fails cargo audit未关闭
难度 2/5 1-3 小时 新手友好度 70/100
docling-project/docling.rs#979 ·
维护者通常 1 天内回复
-
llm translation
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 74/100
维护者通常 1 天内回复