test(smoke): add non-regression smoke for uuid + package overrides #84

Merged
maximus merged 1 commit from test/add-smoke-non-regression into master 2026-05-02 15:59:30 +00:00
Owner

Pre-requis pour la chaine defenseur-auto : permet au sous-agent plan de valider qu un override de dep n a pas casse l API utilisee.

  • tests/smoke.test.cjs — plain node script (no jest, no Expo runtime)
  • npm test wired

Verifie : package.json valide, uuid v4 format, v3/v5 avec namespace, v3/v5 avec buffer arg (le vuln site GHSA-w5hq-g745-h8pq).

Localement : npm test passe 6/6.

Pre-requis pour la chaine defenseur-auto : permet au sous-agent plan de valider qu un override de dep n a pas casse l API utilisee. - tests/smoke.test.cjs — plain node script (no jest, no Expo runtime) - npm test wired Verifie : package.json valide, uuid v4 format, v3/v5 avec namespace, v3/v5 avec buffer arg (le vuln site GHSA-w5hq-g745-h8pq). Localement : npm test passe 6/6.
maximus added 1 commit 2026-05-02 15:50:28 +00:00
Plain-node script invoked via `npm test`. Catches the buffer-bounds
regression area from GHSA-w5hq-g745-h8pq (uuid v3/v5 with buffer arg)
and validates package.json structure. No jest/Expo runtime needed —
runs in seconds, suitable for the defenseur-auto chain to gate auto-PRs.
Author
Owner

Verdict: APPROVE

Summary

Smoke test bien cible : valide que l override uuid ^14.0.0 (PR #83) ne casse pas l API au site reel de la vuln (GHSA-w5hq-g745-h8pq, buffer-arg dans v3/v5). Plain-node CJS, pas de jest/Expo runtime, 6/6 verts localement et en re-run.

Strengths

  • Vise les bons points : v3/v5 avec namespace + buffer arg (le vuln site), pas seulement v4 generique.
  • Decision pragmatique : .cjs direct sans jest evite la lourdeur de la config RN/Expo, parfait pour gating de la chaine defenseur-auto.
  • Exit codes propres (0/1), logs structures (OK/FAIL), counter de failures fiable.
  • Wired via npm test standard — consommable par n importe quel runner CI.
  • Verifie localement par le reviewer : node tests/smoke.test.cjs → 6/6 OK, exit 0.

Suggestions (non-blocking)

  1. tests/smoke.test.cjs:71 — l assertion buf.some((b) => b !== 0) est faible : une probabilite ~2^-128 de UUID tout-zero la ferait passer pour echouer. Pour rendre l intention plus explicite : verifier un byte de version (buf[6] >> 4 === 3 pour v3, === 5 pour v5) qui prouve que la fonction a effectivement ecrit des bytes UUID structures. Pas bloquant — la prob est negligeable.
  2. PR body sans Fixes #N — c est OK pour un test: qui prepare une chaine, mais un cross-link explicite (Refs #83) aiderait la tracabilite avec la PR uuid override.

Issues

None blocking.


Reviewed via /pr-review skill.

## Verdict: APPROVE ## Summary Smoke test bien cible : valide que l override uuid ^14.0.0 (PR #83) ne casse pas l API au site reel de la vuln (GHSA-w5hq-g745-h8pq, buffer-arg dans v3/v5). Plain-node CJS, pas de jest/Expo runtime, 6/6 verts localement et en re-run. ## Strengths - Vise les bons points : v3/v5 avec namespace + buffer arg (le vuln site), pas seulement v4 generique. - Decision pragmatique : `.cjs` direct sans jest evite la lourdeur de la config RN/Expo, parfait pour gating de la chaine defenseur-auto. - Exit codes propres (0/1), logs structures (`OK`/`FAIL`), counter de failures fiable. - Wired via `npm test` standard — consommable par n importe quel runner CI. - Verifie localement par le reviewer : `node tests/smoke.test.cjs` → 6/6 OK, exit 0. ## Suggestions (non-blocking) 1. `tests/smoke.test.cjs:71` — l assertion `buf.some((b) => b !== 0)` est faible : une probabilite ~2^-128 de UUID tout-zero la ferait passer pour echouer. Pour rendre l intention plus explicite : verifier un byte de version (`buf[6] >> 4 === 3` pour v3, `=== 5` pour v5) qui prouve que la fonction a effectivement ecrit des bytes UUID structures. Pas bloquant — la prob est negligeable. 2. PR body sans `Fixes #N` — c est OK pour un `test:` qui prepare une chaine, mais un cross-link explicite (`Refs #83`) aiderait la tracabilite avec la PR uuid override. ## Issues None blocking. --- Reviewed via /pr-review skill.
maximus merged commit 097d3f2d35 into master 2026-05-02 15:59:30 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: maximus/simpl-liste#84
No description provided.