Skip to content
Snippets Groups Projects
Commit 0059b478 authored by Amal Hussein's avatar Amal Hussein Committed by Rick Waldron
Browse files

additional test coverage for atomics.wait + removing old tests which have been...

additional test coverage for atomics.wait + removing old tests which have been replaced + test cleanup and renaming test files for consistency
parent 9f57733e
No related branches found
No related tags found
No related merge requests found
...@@ -24,10 +24,10 @@ $262.agent.receiveBroadcast(function (sab, id) { ...@@ -24,10 +24,10 @@ $262.agent.receiveBroadcast(function (sab, id) {
var ia = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)); var ia = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));
$262.agent.broadcast(ia.buffer); $262.agent.broadcast(ia.buffer);
assert.sameValue(getReport(), "timed-out"); assert.sameValue(getReport(), "timed-out");
assert.sameValue((getReport() | 0) >= 500 - $ATOMICS_MAX_TIME_EPSILON, true); assert.sameValue((getReport() | 0) >= 500 - $ATOMICS_MAX_TIME_EPSILON, true);
function getReport() { function getReport() {
var r; var r;
while ((r = $262.agent.getReport()) == null) while ((r = $262.agent.getReport()) == null)
......
...@@ -28,3 +28,5 @@ function getReport() { ...@@ -28,3 +28,5 @@ function getReport() {
$262.agent.sleep(100); $262.agent.sleep(100);
return r; return r;
} }
assert.sameValue(Atomics.wake(ia, 0), 0);
...@@ -31,21 +31,20 @@ function getReport() { ...@@ -31,21 +31,20 @@ function getReport() {
$262.agent.start( $262.agent.start(
` `
$262.agent.receiveBroadcast(function (sab) { $262.agent.receiveBroadcast(function (sab) {
var int32Array = new Int32Array(sab); var int32Array = new Int32Array(sab);
var poisoned = { var poisoned = {
valueOf: false, valueOf: false,
toString: false toString: false
}; };
var err;
try { try {
Atomics.wait(int32Array, 0, 0, poisoned); Atomics.wait(int32Array, 0, 0, poisoned);
} catch(e) { } catch(e) {
err = e.name; $262.agent.report(e.name);
} }
$262.agent.report(err);
$262.agent.leaving(); $262.agent.leaving();
}) })
`); `);
...@@ -55,6 +54,8 @@ var int32Array = new Int32Array(sab); ...@@ -55,6 +54,8 @@ var int32Array = new Int32Array(sab);
$262.agent.broadcast(int32Array.buffer); $262.agent.broadcast(int32Array.buffer);
$262.agent.sleep(150);
assert.sameValue(getReport(), 'TypeError'); assert.sameValue(getReport(), 'TypeError');
assert.sameValue(Atomics.wake(int32Array, 0), 0); assert.sameValue(Atomics.wake(int32Array, 0), 0);
...@@ -27,15 +27,13 @@ $262.agent.start( ...@@ -27,15 +27,13 @@ $262.agent.start(
$262.agent.receiveBroadcast(function (sab) { $262.agent.receiveBroadcast(function (sab) {
var int32Array = new Int32Array(sab); var int32Array = new Int32Array(sab);
var err;
try { try {
Atomics.wait(int32Array, 0, 0, Symbol('foo')); Atomics.wait(int32Array, 0, 0, Symbol('foo'));
} catch(e) { } catch(e) {
err = e.name; $262.agent.report(e.name);
} }
$262.agent.report(err);
$262.agent.leaving(); $262.agent.leaving();
}) })
`); `);
...@@ -45,4 +43,8 @@ var int32Array = new Int32Array(sab); ...@@ -45,4 +43,8 @@ var int32Array = new Int32Array(sab);
$262.agent.broadcast(int32Array.buffer); $262.agent.broadcast(int32Array.buffer);
$262.agent.sleep(150);
assert.sameValue(getReport(), 'TypeError'); assert.sameValue(getReport(), 'TypeError');
assert.sameValue(Atomics.wake(int32Array, 0), 0);
...@@ -38,7 +38,7 @@ var int32Array = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEME ...@@ -38,7 +38,7 @@ var int32Array = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEME
$262.agent.broadcast(int32Array.buffer); $262.agent.broadcast(int32Array.buffer);
$262.agent.sleep(2); $262.agent.sleep(150);
var r1 = getReport(); var r1 = getReport();
var r2 = getReport(); var r2 = getReport();
......
...@@ -17,9 +17,8 @@ features: [ Atomics, SharedArrayBuffer, TypedArray ] ...@@ -17,9 +17,8 @@ features: [ Atomics, SharedArrayBuffer, TypedArray ]
function getReport() { function getReport() {
var r; var r;
while ((r = $262.agent.getReport()) == null) { while ((r = $262.agent.getReport()) == null)
$262.agent.sleep(100); $262.agent.sleep(100);
}
return r; return r;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment