Files
rose-ash/lib/js/test262-scoreboard.md
giles 81059861fd js-on-sx: Function.prototype.isPrototypeOf recognises callable recvs (+3)
Tests expected Function.prototype.isPrototypeOf(Number/String/…) ===
true because every built-in ctor inherits from Function.prototype.
Our model doesn't link Number.__proto__ anywhere, so the default
Object.isPrototypeOf walked an empty chain and returned false.

Fix: post-definition dict-set! adds an explicit isPrototypeOf override
on js-function-global.prototype that returns (js-function? x) — which
accepts lambdas, functions, components, and __callable__ dicts. Good
enough to satisfy the spec for every case that isn't a bespoke proto
chain.

Unit 521/522, slice 148/148 unchanged.
Wide scoreboard: 156/300 → 159/300 (+3, Number/S15.7.3_A7 and the
three S15.5.3_A2 / S15.6.3_A2 / S15.9.3_A2 twins).
2026-04-24 13:07:33 +00:00

1.5 KiB

test262 scoreboard

Pinned commit: d5e73fc8d2c663554fb72e2380a8c2bc1a318a33 Wall time: 268.6s

Total: 159/300 runnable passed (53.0%). Raw: pass=159 fail=131 skip=1597 timeout=10 total=1897.

Top failure modes

  • 79x Test262Error (assertion failed)
  • 43x TypeError: not a function
  • 10x Timeout
  • 2x ReferenceError (undefined symbol)
  • 2x Unhandled: Not callable: {:proto {:toLowerCase <lambda(&rest, args)
  • 2x Unhandled: Not callable: \\
  • 1x SyntaxError (parse/unsupported syntax)
  • 1x Unhandled: Not callable: {:proto {:valueOf <lambda()> :propertyIsEn
  • 1x Unhandled: js-transpile-binop: unsupported op: >>>\

Categories (worst pass-rate first, min 10 runnable)

Category Pass Fail Skip Timeout Total Pass %
built-ins/String 39 56 1123 5 1223 39.0%
built-ins/Math 43 56 227 1 327 43.0%
built-ins/Number 77 19 240 4 340 77.0%

Per-category top failures (min 10 runnable, worst first)

built-ins/String (39/100 — 39.0%)

  • 40x Test262Error (assertion failed)
  • 7x TypeError: not a function
  • 5x Timeout
  • 2x ReferenceError (undefined symbol)
  • 2x Unhandled: Not callable: {:proto {:toLowerCase <lambda(&rest, args)

built-ins/Math (43/100 — 43.0%)

  • 36x TypeError: not a function
  • 20x Test262Error (assertion failed)
  • 1x Timeout

built-ins/Number (77/100 — 77.0%)

  • 19x Test262Error (assertion failed)
  • 4x Timeout