Skip to content

Array.from honours IsConstructor, and a typed array's length write th… #1485

Array.from honours IsConstructor, and a typed array's length write th…

Array.from honours IsConstructor, and a typed array's length write th… #1485

Triggered via push August 18, 2026 16:21
Status Failure
Total duration 9m 35s
Artifacts

build.yml

on: push
Fit to window
Zoom out
Zoom in

Annotations

2 errors
build
Process completed with exit code 1.
Atomics_waitAsync("built-ins/Atomics/waitAsync/true-for-timeout.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L8420
built-ins/Atomics/waitAsync/true-for-timeout.js System.Exception: Test262Error: Test timed out at Jint.Tests.Test262.Test262Test.WaitForAsyncTestCompletion(Engine engine) in /home/runner/work/jint/jint/Jint.Tests.Test262/Test262Test.cs:line 331 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in /home/runner/work/jint/jint/Jint.Tests.Test262/Test262Test.cs:line 187 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in /home/runner/work/jint/jint/Jint.Tests.Test262/Generated/Tests262Harness.Test262Test.generated.cs:line 77 01: "use strict"; 02: // Copyright (C) 2020 Rick Waldron. All rights reserved. 03: // This code is governed by the BSD license found in the LICENSE file. 04: 05: /*--- 06: esid: sec-atomics.waitasync 07: description: > 08: Throws a TypeError if index arg can not be converted to an Integer 09: info: | 10: Atomics.waitAsync( typedArray, index, value, timeout ) 11: 12: 1. Return DoWait(async, typedArray, index, value, timeout). 13: 14: DoWait ( mode, typedArray, index, value, timeout ) 15: 16: 6. Let q be ? ToNumber(timeout). 17: 18: Boolean -> If argument is true, return 1. If argument is false, return +0. 19: 20: flags: [async] 21: includes: [atomicsHelper.js] 22: features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, computed-property-names, Symbol, Symbol.toPrimitive, arrow-function] 23: ---*/ 24: assert.sameValue(typeof Atomics.waitAsync, 'function', 'The value of `typeof Atomics.waitAsync` is "function"'); 25: const i32a = new Int32Array( 26: new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4) 27: ); 28: 29: const valueOf = { 30: valueOf() { 31: return true; 32: } 33: }; 34: 35: const toPrimitive = { 36: [Symbol.toPrimitive]() { 37: return true; 38: } 39: }; 40: 41: let outcomes = []; 42: let lifespan = 1000; 43: let start = $262.agent.monotonicNow(); 44: 45: (function wait() { 46: let elapsed = $262.agent.monotonicNow() - start; 47: if (elapsed > lifespan) { 48: $DONE("Test timed out"); 49: return; 50: } 51: if (outcomes.length) { 52: assert.sameValue(outcomes[0], 'timed-out', 'The value of outcomes[0] is "timed-out"'); 53: assert.sameValue(outcomes[1], 'timed-out', 'The value of outcomes[1] is "timed-out"'); 54: assert.sameValue(outcomes[2], 'timed-out', 'The value of outcomes[2] is "timed-out"'); 55: $DONE(); 56: return; 57: } 58: 59: $262.agent.setTimeout(wait, 0); 60: })(); 61: 62: Promise.all([ 63: Atomics.waitAsync(i32a, 0, 0, true).value, 64: Atomics.waitAsync(i32a, 0, 0, valueOf).value, 65: Atomics.waitAsync(i32a, 0, 0, toPrimitive).value, 66: ]).then(results => (outcomes = results), $DONE); 67: