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).
This commit is contained in:
@@ -1,36 +1,37 @@
|
||||
# test262 scoreboard
|
||||
|
||||
Pinned commit: `d5e73fc8d2c663554fb72e2380a8c2bc1a318a33`
|
||||
Wall time: 269.2s
|
||||
Wall time: 268.6s
|
||||
|
||||
**Total:** 156/300 runnable passed (52.0%). Raw: pass=156 fail=133 skip=1597 timeout=11 total=1897.
|
||||
**Total:** 159/300 runnable passed (53.0%). Raw: pass=159 fail=131 skip=1597 timeout=10 total=1897.
|
||||
|
||||
## Top failure modes
|
||||
|
||||
- **83x** Test262Error (assertion failed)
|
||||
- **42x** TypeError: not a function
|
||||
- **11x** Timeout
|
||||
- **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 | 38 | 56 | 1123 | 6 | 1223 | 38.0% |
|
||||
| built-ins/String | 39 | 56 | 1123 | 5 | 1223 | 39.0% |
|
||||
| built-ins/Math | 43 | 56 | 227 | 1 | 327 | 43.0% |
|
||||
| built-ins/Number | 75 | 21 | 240 | 4 | 340 | 75.0% |
|
||||
| built-ins/Number | 77 | 19 | 240 | 4 | 340 | 77.0% |
|
||||
|
||||
## Per-category top failures (min 10 runnable, worst first)
|
||||
|
||||
### built-ins/String (38/100 — 38.0%)
|
||||
### built-ins/String (39/100 — 39.0%)
|
||||
|
||||
- **42x** Test262Error (assertion failed)
|
||||
- **6x** Timeout
|
||||
- **6x** TypeError: not a function
|
||||
- **40x** Test262Error (assertion failed)
|
||||
- **7x** TypeError: not a function
|
||||
- **5x** Timeout
|
||||
- **2x** ReferenceError (undefined symbol)
|
||||
- **2x** Unhandled: Not callable: {:__proto__ {:toLowerCase <lambda(&rest, args)
|
||||
|
||||
@@ -40,7 +41,7 @@ Wall time: 269.2s
|
||||
- **20x** Test262Error (assertion failed)
|
||||
- **1x** Timeout
|
||||
|
||||
### built-ins/Number (75/100 — 75.0%)
|
||||
### built-ins/Number (77/100 — 77.0%)
|
||||
|
||||
- **21x** Test262Error (assertion failed)
|
||||
- **19x** Test262Error (assertion failed)
|
||||
- **4x** Timeout
|
||||
|
||||
Reference in New Issue
Block a user