diff --git a/test/built-ins/Atomics/wait/did-timeout.js b/test/built-ins/Atomics/wait/did-timeout.js index 337a45bbc90f04686eba89164376f2833010dbdc..908d0382d44678225e1c47f7ff1c7dbfab39d4fb 100644 --- a/test/built-ins/Atomics/wait/did-timeout.js +++ b/test/built-ins/Atomics/wait/did-timeout.js @@ -24,10 +24,10 @@ $262.agent.receiveBroadcast(function (sab, id) { var ia = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)); $262.agent.broadcast(ia.buffer); + assert.sameValue(getReport(), "timed-out"); assert.sameValue((getReport() | 0) >= 500 - $ATOMICS_MAX_TIME_EPSILON, true); - function getReport() { var r; while ((r = $262.agent.getReport()) == null) diff --git a/test/built-ins/Atomics/wait/negative-timeout.js b/test/built-ins/Atomics/wait/negative-timeout.js index 84ce5ce1901acb0457deb0cff68a982bb9f359ec..6b91448211bbb8bcda6b87456f2f6e2ec38f0ed8 100644 --- a/test/built-ins/Atomics/wait/negative-timeout.js +++ b/test/built-ins/Atomics/wait/negative-timeout.js @@ -28,3 +28,5 @@ function getReport() { $262.agent.sleep(100); return r; } + +assert.sameValue(Atomics.wake(ia, 0), 0); diff --git a/test/built-ins/Atomics/wait/poisoned-object-for-timeout-throws.js b/test/built-ins/Atomics/wait/poisoned-object-for-timeout-throws.js index 0ca369b12a882b49a1fef92fc6322e4ddc3d73f6..2145a37be05be503db3c4f28757cdb79384da163 100644 --- a/test/built-ins/Atomics/wait/poisoned-object-for-timeout-throws.js +++ b/test/built-ins/Atomics/wait/poisoned-object-for-timeout-throws.js @@ -31,21 +31,20 @@ function getReport() { $262.agent.start( ` $262.agent.receiveBroadcast(function (sab) { - - var int32Array = new Int32Array(sab); + + var int32Array = new Int32Array(sab); + var poisoned = { valueOf: false, toString: false }; - var err; try { Atomics.wait(int32Array, 0, 0, poisoned); } catch(e) { - err = e.name; + $262.agent.report(e.name); } - - $262.agent.report(err); + $262.agent.leaving(); }) `); @@ -55,6 +54,8 @@ var int32Array = new Int32Array(sab); $262.agent.broadcast(int32Array.buffer); +$262.agent.sleep(150); + assert.sameValue(getReport(), 'TypeError'); assert.sameValue(Atomics.wake(int32Array, 0), 0); diff --git a/test/built-ins/Atomics/wait/symbol-for-timeout-throws.js b/test/built-ins/Atomics/wait/symbol-for-timeout-throws.js index dd003bf5e7da749404a078ed8750c49f8f8fc74e..9a46c15fb297d79c975f84ab9d4870a07c891803 100644 --- a/test/built-ins/Atomics/wait/symbol-for-timeout-throws.js +++ b/test/built-ins/Atomics/wait/symbol-for-timeout-throws.js @@ -27,15 +27,13 @@ $262.agent.start( $262.agent.receiveBroadcast(function (sab) { var int32Array = new Int32Array(sab); - var err; try { Atomics.wait(int32Array, 0, 0, Symbol('foo')); } catch(e) { - err = e.name; + $262.agent.report(e.name); } - $262.agent.report(err); $262.agent.leaving(); }) `); @@ -45,4 +43,8 @@ var int32Array = new Int32Array(sab); $262.agent.broadcast(int32Array.buffer); +$262.agent.sleep(150); + assert.sameValue(getReport(), 'TypeError'); + +assert.sameValue(Atomics.wake(int32Array, 0), 0); diff --git a/test/built-ins/Atomics/wait/true-for-timeout.js b/test/built-ins/Atomics/wait/true-for-timeout.js index fd4f4e62ce724731e2d745ebef781fd9e43c35ac..8fc9d331f36b57aa075b7b1a2568cba677bcac08 100644 --- a/test/built-ins/Atomics/wait/true-for-timeout.js +++ b/test/built-ins/Atomics/wait/true-for-timeout.js @@ -38,7 +38,7 @@ var int32Array = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEME $262.agent.broadcast(int32Array.buffer); -$262.agent.sleep(2); +$262.agent.sleep(150); var r1 = getReport(); var r2 = getReport(); diff --git a/test/built-ins/Atomics/wait/wait-index-value-not-equal.js b/test/built-ins/Atomics/wait/wait-index-value-not-equal.js index b40986abc99fa6ec18cd76f75b95564101f237b9..23484d79702b93bb79396432333c8e7e0be1e469 100644 --- a/test/built-ins/Atomics/wait/wait-index-value-not-equal.js +++ b/test/built-ins/Atomics/wait/wait-index-value-not-equal.js @@ -17,9 +17,8 @@ features: [ Atomics, SharedArrayBuffer, TypedArray ] function getReport() { var r; - while ((r = $262.agent.getReport()) == null) { + while ((r = $262.agent.getReport()) == null) $262.agent.sleep(100); - } return r; }