Skip to content

test: #697 — move stdlib_io FFI coverage into behavioral tests#758

Merged
proggeramlug merged 2 commits into
mainfrom
test/stdlib-io-ffi-covers
May 14, 2026
Merged

test: #697 — move stdlib_io FFI coverage into behavioral tests#758
proggeramlug merged 2 commits into
mainfrom
test/stdlib-io-ffi-covers

Conversation

@TheHypnoo
Copy link
Copy Markdown
Contributor

Summary

Follow-up to #694, addresses #697.

Moves the 155 inventory entries from test_ffi_surface_stdlib_io.ts
into @covers annotations attached to the existing behavioral fixtures
for each surface. The inventory entry per FFI name is preserved (so the
audit still sees full coverage) but it now lives next to a real
behavioral test exercising that surface, rather than in a bare inventory
file.

Mapping:

Surface Behavioral fixture
fetch.rs (40 names) test_gap_fetch_response.ts
streams.rs (37 names) test_parity_stream_web.ts
http.rs (13 names) test_parity_http.ts
net/mod.rs (10 names) test_net_socket.ts
readline.rs (5 names) test_parity_readline.ts
worker_threads.rs (6 names) test_parity_worker_threads.ts
ws.rs (11 names) test_node_http_ws_upgrade.ts
framework/{multipart,request,response,server}.rs (28 names) test_fastify_integration.ts

Each receiving fixture already exercises real behavior on its surface
(local loopback servers / deterministic in-memory probes / Headers +
Blob + Response API roundtrips) — no external services are added.

Verification

  • ./test-coverage/regen_ts_surface_inventory.pytest_ffi_surface_stdlib_io.ts shrinks from 155 → 0 unique FFI names.
  • ./test-coverage/audit.sh --markdown — still reports TypeScript 1790/1790 (100%) and Combined 1790/1790 (100%).
  • ./run_parity_tests.sh --filter test_gap_fetch_response — PASS.
  • ./run_parity_tests.sh --filter test_net_socket — PASS.
  • test_parity_stream_web / test_parity_http / test_parity_worker_threads / test_parity_readline_promises still fail with the same signatures on main (verified by stashing this PR and re-running) — pre-existing, unrelated to the @covers block additions.

The runtime_core inventory file picked up unrelated drift (new FFI added since last regen + names now referenced via the moved entries). That's a side-effect of running the regen, not a hand edit.

Notes

  • No version bump, no CHANGELOG.md, no CLAUDE.md edits.
  • Comment-only changes to existing parity fixtures — no behavioral changes.

Checklist

  • I have NOT bumped the workspace version or edited CLAUDE.md / CHANGELOG.md
  • My commit follows the loose conventional prefix style used in the log
  • I've read CONTRIBUTING.md and agree to the Code of Conduct

Test plan

  • ./test-coverage/regen_ts_surface_inventory.py
  • ./test-coverage/audit.sh --markdown
  • ./run_parity_tests.sh --filter test_gap_fetch_response
  • ./run_parity_tests.sh --filter test_net_socket
  • Pre-existing failures (stream_web, http, worker_threads, readline_promises) confirmed on main

TheHypnoo and others added 2 commits May 14, 2026 07:19
Moves the 155 entries from `test_ffi_surface_stdlib_io.ts` into
`@covers` annotations attached to the existing behavioral fixtures
for each surface:

- fetch / Response / Request / Headers / Blob → test_gap_fetch_response.ts
- node:stream/web → test_parity_stream_web.ts
- node:http / node:https → test_parity_http.ts
- node:net + TLS upgrade → test_net_socket.ts
- node:readline → test_parity_readline.ts
- node:worker_threads → test_parity_worker_threads.ts
- WebSocket upgrade → test_node_http_ws_upgrade.ts
- framework (multipart, request, response, server) → test_fastify_integration.ts

Regenerated via `./test-coverage/regen_ts_surface_inventory.py`:
`test_ffi_surface_stdlib_io.ts` shrinks from 155 unique FFI names to 0.
`./test-coverage/audit.sh --markdown` still reports 100% TypeScript and
combined FFI coverage (1790/1790).
Maintainer-side bump folded in at merge time per CLAUDE.md external-PR
workflow. Pure metadata + Cargo.lock workspace-version refresh; no
behavioral change.
@proggeramlug proggeramlug force-pushed the test/stdlib-io-ffi-covers branch from 638535a to 7b149e9 Compare May 14, 2026 05:22
@proggeramlug proggeramlug merged commit 7d6a247 into main May 14, 2026
9 checks passed
@proggeramlug proggeramlug deleted the test/stdlib-io-ffi-covers branch May 14, 2026 05:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants