ReviewOS

zig-utils/zig-js

Tests: publish private event fixture globals as object properties

#1066
Closed chris opened this 10 days ago ·
10 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.
10 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.