Share one bun e2e toolchain module: 7 helpers are md5-identical across the 3 bun build suites and bun_toolchain drifted only in a suite name

Aperta
#1,992 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
66/100
Tipo di issue
Refactoring
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
bun, rust
Ambito
testing, tooling

Direzione di ricerca

Read the existing cargo_e2e_matrix and composer_e2e_common modules, then compare the helper copies in e2e_redirect_bun_build.rs, e2e_vendor_bun_build.rs, and mode_migration_bun.rs; also inspect e2e_bun_lockb for the noted tgz and file_mode helpers. Add the shared tests/bun_e2e_common/mod.rs and update the suites to use it. Done means each suite lists the same tests, the pinned Bun CI job passes with SOCKET_PATCH_BUN_E2E_REQUIRED=1, and the grep check finds one parse_bun_version definition.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

arch-audit refactor

[agent] Filed by the scheduled architecture audit (audit-cli-tests). Register: register.

Kind: refactor. Register ID: T70.

Problem: the three bun build suites each keep their own copy of the bun toolchain block. Each helper below hashes the same in all three files (md5 of the fn body with comments and whitespace stripped):

fn e2e_redirect_bun_build e2e_vendor_bun_build mode_migration_bun md5
bun_required L161 L147 L208 87d11bab
pinned_bun_version L166 L152 L213 f0a8041d
parse_bun_version L175 L161 L222 59beb239
expected_lock_version L202 L188 L249 302e2a61
fixture_install_args L216 L202 L263 f599907c
packages_line L621 L516 L612 9864c4c9
bun_toolchain L239-L276 L225-L262 L286-L321 three hashes; only the SKIP suite-name string differs
  • lock_version, build_tgz and make_tgz_from_installed are identical in redirect and vendor. mode_migration and e2e_bun_lockb inline a set_mtime(0) variant.
  • Copies: redirect L161-L276,`` vendor L147-L262,``` mode_migration L208-L321.````
  • The SOCKET_PATCH_BUN_E2E_REQUIRED gate lives in each copy, so this is also an instance of T50 (#1940).

Proposed change: create a tests/bun_e2e_common/mod.rs, in the same pattern as cargo_e2e_matrix and composer_e2e_common, with the helpers above. bun_toolchain(suite: &str) takes the suite name. Delete the three local copies, and include the module from the three suites (and from e2e_bun_lockb for the tgz/file_mode helpers).

Size: 4 test files plus 1 new module. About −300/+120 lines.

Acceptance criteria:

  • No product code changes.
  • The three bun suites list the same tests (cargo test --test <suite> -- --list --ignored).
  • They pass in the pinned bun CI job with SOCKET_PATCH_BUN_E2E_REQUIRED=1.
  • grep -n "fn parse_bun_version" crates/socket-patch-cli/tests returns one hit.
Lingua principale
Rust
Stelle
9
Fork
2
Merge medio
20h 47m
PR unite (30g)
681

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di SocketDev/socket-patch

Tutte le issue di SocketDev/socket-patch

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.