ReviewOS

zig-utils/zig-js

Tests: publish private event fixture globals as object properties

#1066
Closed chris opened this 9 days ago ·
9 days ago

Parent: #465 Related: #1064, #1065

The main CI run for fd5baca failed unit and TSan shard 0 at private process rejection and uncaught dispatch preserve pinned events: sibling uncaught count expected 1, observed 0.

The fixture writes __shared_error_242 only to the sibling environment, then reads globalThis.__shared_error_242 in its listener. It depended on the environment fallback removed by #1064. The same fixture also injects __wrapped_242 for identifier evaluation; #1065 now requires live object bindings for that public global. The IPC fixture has the same environment-only injection pattern.

Acceptance:

  • Publish script-visible injected test values through the actual realm global object, preserving sibling shared-VM identity.
  • Keep private ABI production code, signatures, layouts, inventories, and event behavior unchanged.
  • Process event and IPC fixtures pass normally, ReleaseSafe, and under unsuppressed TSan.
  • Verify the relevant private ABI audit and hosted failure evidence.
9 days ago

Landed in d47d02c. The three injected values now become actual properties of their respective realm global objects, preserving sibling shared-VM identity. This changes only test setup; production ABI contracts, inventories, and event dispatch code are unchanged.

Validation: each process-event and IPC fixture passed 2/2 in normal, ReleaseSafe, and unsuppressed TSan module-root runs. The Bun private ABI audit found 484 symbols, 437 implemented private symbols, and 0 unclassified symbols. Flips 0 test262 cases.

The hosted failure was verified in both unit shard 0 and TSan shard 0 of the preceding main run. The new full CI run is pending; these focused results do not establish full-suite success.

Sign in to comment on this issue.