Skip to content

[WASM W3] Make repository tests host-portable - #255

Closed
cpunion wants to merge 10 commits into
codex/wasm-aggregate-lowering-w2-20260912from
codex/wasm-w3-portable-tests-20260912
Closed

cpunion wants to merge 10 commits into
codex/wasm-aggregate-lowering-w2-20260912from
codex/wasm-w3-portable-tests-20260912

Conversation

@cpunion

@cpunion cpunion commented Sep 12, 2026 •

Copy link
Copy Markdown
Owner

Tracks xgo-dev#2152 and is stacked on #252.

This is the portable repository-test layer of W3. It replaces native-host assumptions with explicit WebAssembly contracts so the following acceptance layer can execute the applicable test/** inventory instead of accumulating broad skips. It contains no compiler or runtime production changes.

Scope

  • Model supported and unsupported os, os/exec, signal, network, runtime/debug, heap-dump, and profiling behavior explicitly on WebAssembly hosts.
  • Keep applicable behavior under test while moving genuinely native-only caller, finalizer, linkname, and goroutine-lifecycle cases behind narrow build constraints.
  • Compare encoded WebAssembly function PCs correctly and retain runtime function-information assertions.
  • Bound recursive type and RSA fixture work for fixed WebAssembly stacks without weakening the semantic assertions.
  • Generate deterministic binary fixtures portably instead of relying on host object formats or pre-existing native artifacts, including tested decode and materialization failures.
  • Preserve official GoJS browser-host contracts for HTTP, os/user, and testing.Chdir.
  • Accept the post-Go 1.26 panic/recover semantics already selected by the Go 1.27 toolchain.

Validation

Current head 42689cb40d27, based on #252 5ddb2fd8c6ed (10 commits, 77 files, +1,595/-426).

  • git range-diff reports all 9 rebased commits equivalent to the previously audited range; the tenth commit only adds binary-fixture failure coverage. git diff --check passes.
  • Every changed file is under test/; the range adds no t.Skip, TODO/FIXME marker, diagnostic probe, dependency override, or production implementation.
  • The final-head six-profile WebAssembly standard-library gate passes for J32-GoJS (wasm32 with the Go-compatible JavaScript host), J32-Emscripten (wasm32 with Emscripten), J64-Emscripten (wasm64 with Emscripten Memory64), W32-WASI (wasm32 with WASI Preview 1), and the official GoJS/GoWASI references.
  • The preceding equivalent-head focused WASM runtime and public test-command jobs pass; the final delta changes only the independently tested fixture helper.
  • The final-head Ubuntu instrumented coverage job passes. Codecov project and patch checks pass at 93.87% and 95.0%; the fixture materialization helper itself is 100% covered, with only its defensive testing.TB.Fatal caller guard unexecuted.
  • The final-head format gate passes.
  • A size benchmark is intentionally omitted because every changed file is test-only, so this range cannot change release modules.

Review boundary

This PR only normalizes repository tests and fixtures. The complete sharded test/**/GOROOT inventory, per-profile sentinels, accounting artifacts, and real-browser GoJS callback execution remain in the following W3 acceptance PR.

@codecov

codecov Bot commented Sep 12, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 95.00000% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 93.87%. Comparing base (5ddb2fd) to head (42689cb).

Files with missing lines Patch % Lines
test/internal/binaryfixture/fixture.go 95.00% 1 Missing ⚠️
Additional details and impacted files
@@                            Coverage Diff                             @@
##           codex/wasm-aggregate-lowering-w2-20260912     #255   +/-   ##
==========================================================================
  Coverage                                      93.87%   93.87%           
==========================================================================
  Files                                            158      159    +1     
  Lines                                          30658    30678   +20     
==========================================================================
+ Hits                                           28780    28799   +19     
- Misses                                          1877     1878    +1     
  Partials                                           1        1           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@cpunion
cpunion marked this pull request as ready for review September 12, 2026 18:58
@cpunion
cpunion force-pushed the codex/wasm-aggregate-lowering-w2-20260912 branch from 6f9b8ab to 5ddb2fd Compare September 12, 2026 23:23
@cpunion
cpunion force-pushed the codex/wasm-w3-portable-tests-20260912 branch from 5c52cea to d4bd4b2 Compare September 13, 2026 00:11
@cpunion
cpunion force-pushed the codex/wasm-w3-portable-tests-20260912 branch from 3de243d to 42689cb Compare September 13, 2026 00:55
@cpunion

cpunion commented Sep 13, 2026

Copy link
Copy Markdown
Owner Author

Superseded by the consolidated W3 contribution stacked on xgo-dev#2580. All 10 commits are preserved with exact range-diff equivalence in the combined 32-commit acceptance range.

@cpunion cpunion closed this Sep 13, 2026
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.

1 participant