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

Ouverte
#1,992 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
66/100
Type d'issue
Refactorisation
Clarté
Clairement spécifiée
Activité
Active
Stack technique
bun, rust
Domaine
testing, tooling

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.
Langage dominant
Rust
Étoiles
9
Forks
2
Merge moyen
20 h 47 min
PR mergées (30 j)
681

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de SocketDev/socket-patch

Toutes les issues de SocketDev/socket-patch

Issues similaires

Plus d'issues Rust

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.