From a19232ca4cc3dc3a7280ad9b1c14e9e13d1d7d2a Mon Sep 17 00:00:00 2001
From: Rick Waldron <waldron.rick@gmail.com>
Date: Thu, 17 May 2018 14:06:22 -0400
Subject: [PATCH] Atomics: house keeping.

---
 test/built-ins/Atomics/add/bad-range.js       |   6 +-
 .../built-ins/Atomics/add/bigint/bad-range.js |   6 +-
 .../Atomics/add/bigint/good-views.js          |  16 +--
 .../Atomics/add/bigint/nonshared-int-views.js |   6 +-
 test/built-ins/Atomics/add/descriptor.js      |   8 +-
 .../Atomics/add/expected-return-value.js      |   6 +-
 test/built-ins/Atomics/add/good-views.js      |  16 +--
 test/built-ins/Atomics/add/length.js          |  11 +-
 test/built-ins/Atomics/add/name.js            |  11 +-
 test/built-ins/Atomics/add/non-views.js       |   6 +-
 .../Atomics/add/nonshared-int-views.js        |   6 +-
 .../Atomics/add/shared-nonint-views.js        |   6 +-
 test/built-ins/Atomics/and/bad-range.js       |   6 +-
 .../built-ins/Atomics/and/bigint/bad-range.js |   6 +-
 .../Atomics/and/bigint/good-views.js          |  30 +++--
 .../Atomics/and/bigint/nonshared-int-views.js |   6 +-
 test/built-ins/Atomics/and/descriptor.js      |   8 +-
 .../Atomics/and/expected-return-value.js      |   8 +-
 test/built-ins/Atomics/and/good-views.js      |  30 +++--
 test/built-ins/Atomics/and/length.js          |  11 +-
 test/built-ins/Atomics/and/name.js            |  11 +-
 test/built-ins/Atomics/and/non-views.js       |   6 +-
 .../Atomics/and/nonshared-int-views.js        |   6 +-
 .../Atomics/and/shared-nonint-views.js        |   6 +-
 .../Atomics/compareExchange/bad-range.js      |   6 +-
 .../compareExchange/bigint/bad-range.js       |   6 +-
 .../compareExchange/bigint/good-views.js      |  34 +++--
 .../bigint/nonshared-int-views.js             |   6 +-
 .../Atomics/compareExchange/descriptor.js     |   8 +-
 .../compareExchange/expected-return-value.js  |  12 +-
 .../Atomics/compareExchange/good-views.js     |  34 +++--
 .../Atomics/compareExchange/length.js         |  11 +-
 .../built-ins/Atomics/compareExchange/name.js |  11 +-
 .../Atomics/compareExchange/non-views.js      |   6 +-
 .../compareExchange/nonshared-int-views.js    |   6 +-
 .../compareExchange/shared-nonint-views.js    |   6 +-
 test/built-ins/Atomics/exchange/bad-range.js  |   6 +-
 .../Atomics/exchange/bigint/bad-range.js      |   6 +-
 .../Atomics/exchange/bigint/good-views.js     |  16 +--
 .../exchange/bigint/nonshared-int-views.js    |   6 +-
 test/built-ins/Atomics/exchange/descriptor.js |   8 +-
 .../Atomics/exchange/expected-return-value.js |  16 ++-
 test/built-ins/Atomics/exchange/good-views.js |  16 +--
 test/built-ins/Atomics/exchange/length.js     |  11 +-
 test/built-ins/Atomics/exchange/name.js       |  11 +-
 test/built-ins/Atomics/exchange/non-views.js  |   6 +-
 .../Atomics/exchange/nonshared-int-views.js   |   6 +-
 .../Atomics/exchange/shared-nonint-views.js   |   6 +-
 .../Atomics/isLockFree/bigint/corner-cases.js |  66 ++++++++--
 .../bigint/expected-return-value.js           |   8 +-
 .../Atomics/isLockFree/bigint/value.js        |  46 -------
 .../Atomics/isLockFree/corner-cases.js        |  66 ++++++++--
 .../Atomics/isLockFree/descriptor.js          |   8 +-
 .../isLockFree/expected-return-value.js       | 119 +++++++++++++++---
 test/built-ins/Atomics/isLockFree/length.js   |  11 +-
 test/built-ins/Atomics/isLockFree/name.js     |  11 +-
 test/built-ins/Atomics/isLockFree/value.js    |  45 -------
 test/built-ins/Atomics/load/descriptor.js     |   8 +-
 .../Atomics/load/expected-return-value.js     |   6 +-
 test/built-ins/Atomics/load/length.js         |  11 +-
 test/built-ins/Atomics/load/name.js           |  11 +-
 test/built-ins/Atomics/or/descriptor.js       |   9 +-
 .../Atomics/or/expected-return-value.js       |   6 +-
 test/built-ins/Atomics/or/length.js           |  11 +-
 test/built-ins/Atomics/or/name.js             |  11 +-
 test/built-ins/Atomics/store/descriptor.js    |   9 +-
 .../Atomics/store/expected-return-value.js    |   6 +-
 test/built-ins/Atomics/store/length.js        |  11 +-
 test/built-ins/Atomics/store/name.js          |  11 +-
 test/built-ins/Atomics/sub/descriptor.js      |   8 +-
 .../Atomics/sub/expected-return-value.js      |   6 +-
 test/built-ins/Atomics/sub/length.js          |  11 +-
 test/built-ins/Atomics/sub/name.js            |  10 +-
 .../Atomics/wait/bigint/did-timeout.js        |   4 +-
 .../wait/bigint/false-for-timeout-agent.js    |   4 +-
 ...no-spurious-wakeup-on-store-padded-time.js |   4 +-
 .../bigint/no-spurious-wakeup-on-store.js     |   4 +-
 test/built-ins/Atomics/wait/descriptor.js     |   9 +-
 test/built-ins/Atomics/wait/did-timeout.js    |   4 +-
 .../Atomics/wait/false-for-timeout-agent.js   |   4 +-
 test/built-ins/Atomics/wait/length.js         |  11 +-
 test/built-ins/Atomics/wait/name.js           |  11 +-
 .../Atomics/wait/no-spurious-wakeup-on-add.js |   4 +-
 .../Atomics/wait/no-spurious-wakeup-on-and.js |   4 +-
 .../no-spurious-wakeup-on-compareExchange.js  |   4 +-
 .../wait/no-spurious-wakeup-on-exchange.js    |   4 +-
 .../Atomics/wait/no-spurious-wakeup-on-or.js  |   4 +-
 ...no-spurious-wakeup-on-store-padded-time.js |   4 +-
 .../wait/no-spurious-wakeup-on-store.js       |   4 +-
 .../Atomics/wait/no-spurious-wakeup-on-sub.js |   4 +-
 .../Atomics/wait/no-spurious-wakeup-on-xor.js |   4 +-
 .../Atomics/wait/null-for-timeout-agent.js    |   4 +-
 .../Atomics/wait/object-for-timeout-agent.js  |   4 +-
 ...oisoned-object-for-timeout-throws-agent.js |   4 +-
 .../wait/symbol-for-index-throws-agent.js     |   4 +-
 .../wait/symbol-for-timeout-throws-agent.js   |   4 +-
 .../wait/symbol-for-value-throws-agent.js     |   4 +-
 .../Atomics/wait/true-for-timeout-agent.js    |   4 +-
 .../waiterlist-order-of-operations-is-fifo.js |   4 +-
 test/built-ins/Atomics/wait/was-woken.js      |  10 +-
 test/built-ins/Atomics/wake/descriptor.js     |   8 +-
 test/built-ins/Atomics/wake/length.js         |  11 +-
 test/built-ins/Atomics/wake/name.js           |  11 +-
 test/built-ins/Atomics/wake/negative-count.js |   2 +-
 .../built-ins/Atomics/wake/wake-all-on-loc.js |  26 ++--
 test/built-ins/Atomics/wake/wake-all.js       |  26 ++--
 test/built-ins/Atomics/wake/wake-in-order.js  |  30 ++---
 test/built-ins/Atomics/wake/wake-nan.js       |  10 +-
 test/built-ins/Atomics/xor/descriptor.js      |   8 +-
 .../Atomics/xor/expected-return-value.js      |  10 +-
 test/built-ins/Atomics/xor/length.js          |  10 +-
 test/built-ins/Atomics/xor/name.js            |  11 +-
 112 files changed, 798 insertions(+), 521 deletions(-)
 delete mode 100644 test/built-ins/Atomics/isLockFree/bigint/value.js
 delete mode 100644 test/built-ins/Atomics/isLockFree/value.js

diff --git a/test/built-ins/Atomics/add/bad-range.js b/test/built-ins/Atomics/add/bad-range.js
index 971a958806..e220affe3a 100644
--- a/test/built-ins/Atomics/add/bad-range.js
+++ b/test/built-ins/Atomics/add/bad-range.js
@@ -15,6 +15,10 @@ var views = intArrayConstructors.slice();
 testWithTypedArrayConstructors(function(TA) {
   let view = new TA(buffer);
   testWithAtomicsOutOfBoundsIndices(function(IdxGen) {
-    assert.throws(RangeError, () => Atomics.add(view, IdxGen(view), 10));
+    assert.throws(
+      RangeError,
+      () => Atomics.add(view, IdxGen(view), 10),
+      'Atomics.add(view, IdxGen(view), 10) throws RangeError'
+    );
   });
 }, views);
diff --git a/test/built-ins/Atomics/add/bigint/bad-range.js b/test/built-ins/Atomics/add/bigint/bad-range.js
index d8781ee6f6..2cb1260dde 100644
--- a/test/built-ins/Atomics/add/bigint/bad-range.js
+++ b/test/built-ins/Atomics/add/bigint/bad-range.js
@@ -14,6 +14,10 @@ var buffer = new SharedArrayBuffer(8);
 testWithBigIntTypedArrayConstructors(function(TA) {
   let view = new TA(buffer);
   testWithAtomicsOutOfBoundsIndices(function(IdxGen) {
-    assert.throws(RangeError, () => Atomics.add(view, IdxGen(view), 10));
+    assert.throws(
+      RangeError,
+      () => Atomics.add(view, IdxGen(view), 10),
+      'Atomics.add(view, IdxGen(view), 10) throws RangeError'
+    );
   });
 });
diff --git a/test/built-ins/Atomics/add/bigint/good-views.js b/test/built-ins/Atomics/add/bigint/good-views.js
index 9752794497..a0ba6015e9 100644
--- a/test/built-ins/Atomics/add/bigint/good-views.js
+++ b/test/built-ins/Atomics/add/bigint/good-views.js
@@ -19,27 +19,27 @@ testWithBigIntTypedArrayConstructors(function(TA) {
 
   // Add positive number
   view[8] = 0;
-  assert.sameValue(Atomics.add(view, 8, 10), 0);
-  assert.sameValue(view[8], 10);
+  assert.sameValue(Atomics.add(view, 8, 10), 0, 'Atomics.add(view, 8, 10) returns 0');
+  assert.sameValue(view[8], 10, 'The value of view[8] is 10');
 
   // Add negative number
-  assert.sameValue(Atomics.add(view, 8, -5), 10);
-  assert.sameValue(view[8], 5);
+  assert.sameValue(Atomics.add(view, 8, -5), 10, 'Atomics.add(view, 8, -5) returns 10');
+  assert.sameValue(view[8], 5, 'The value of view[8] is 5');
 
   view[3] = -5;
   control[0] = -5;
   assert.sameValue(Atomics.add(view, 3, 0), control[0],
-    "Result is negative and subject to coercion");
+    'Atomics.add(view, 3, 0) equals the value of control[0] (-5)');
 
   control[0] = 12345;
   view[3] = 12345;
   assert.sameValue(Atomics.add(view, 3, 0), control[0],
-    "Result is subject to chopping");
+    'Atomics.add(view, 3, 0) equals the value of control[0] (12345)');
 
   control[0] = 123456789;
   view[3] = 123456789;
   assert.sameValue(Atomics.add(view, 3, 0), control[0],
-    "Result is subject to chopping");
+    'Atomics.add(view, 3, 0) equals the value of control[0] (123456789)');
 
   // In-bounds boundary cases for indexing
   testWithAtomicsInBoundsIndices(function(IdxGen) {
@@ -48,6 +48,6 @@ testWithBigIntTypedArrayConstructors(function(TA) {
     // Atomics.store() computes an index from Idx in the same way as other
     // Atomics operations, not quite like view[Idx].
     Atomics.store(view, Idx, 37);
-    assert.sameValue(Atomics.add(view, Idx, 0), 37);
+    assert.sameValue(Atomics.add(view, Idx, 0), 37, 'Atomics.add(view, Idx, 0) returns 37');
   });
 });
diff --git a/test/built-ins/Atomics/add/bigint/nonshared-int-views.js b/test/built-ins/Atomics/add/bigint/nonshared-int-views.js
index 1d9c2b1fc9..033e733168 100644
--- a/test/built-ins/Atomics/add/bigint/nonshared-int-views.js
+++ b/test/built-ins/Atomics/add/bigint/nonshared-int-views.js
@@ -12,5 +12,9 @@ features: [ArrayBuffer, arrow-function, Atomics, BigInt, TypedArray]
 var ab = new ArrayBuffer(16);
 
 testWithBigIntTypedArrayConstructors(function(TA) {
-  assert.throws(TypeError, () => Atomics.add(new TA(ab), 0, 0));
+  assert.throws(
+    TypeError,
+    () => Atomics.add(new TA(ab), 0, 0),
+    'Atomics.add(new TA(ab), 0, 0) throws TypeError'
+  );
 });
diff --git a/test/built-ins/Atomics/add/descriptor.js b/test/built-ins/Atomics/add/descriptor.js
index d5e28f040d..ffb5311abe 100644
--- a/test/built-ins/Atomics/add/descriptor.js
+++ b/test/built-ins/Atomics/add/descriptor.js
@@ -8,6 +8,8 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-verifyWritable(Atomics, "add");
-verifyNotEnumerable(Atomics, "add");
-verifyConfigurable(Atomics, "add");
+verifyProperty(Atomics, 'add', {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/add/expected-return-value.js b/test/built-ins/Atomics/add/expected-return-value.js
index b60694689d..ad6d4817e5 100644
--- a/test/built-ins/Atomics/add/expected-return-value.js
+++ b/test/built-ins/Atomics/add/expected-return-value.js
@@ -29,7 +29,7 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 
 var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT);
 var i32a = new Int32Array(buffer);
-var value = 0b00000001000000001000000010000001;
+var newValue = 0b00000001000000001000000010000001;
 
-assert.sameValue(Atomics.add(i32a, 0, value), 0);
-assert.sameValue(i32a[0], value);
+assert.sameValue(Atomics.add(i32a, 0, newValue), 0, 'Atomics.add(i32a, 0, newValue) returns 0');
+assert.sameValue(i32a[0], newValue, 'The value of i32a[0] equals the value of newValue (0b00000001000000001000000010000001)');
diff --git a/test/built-ins/Atomics/add/good-views.js b/test/built-ins/Atomics/add/good-views.js
index 64235a5be8..07731646be 100644
--- a/test/built-ins/Atomics/add/good-views.js
+++ b/test/built-ins/Atomics/add/good-views.js
@@ -20,27 +20,27 @@ testWithTypedArrayConstructors(function(TA) {
 
   // Add positive number
   view[8] = 0;
-  assert.sameValue(Atomics.add(view, 8, 10), 0);
-  assert.sameValue(view[8], 10);
+  assert.sameValue(Atomics.add(view, 8, 10), 0, 'Atomics.add(view, 8, 10) returns 0');
+  assert.sameValue(view[8], 10, 'The value of view[8] is 10');
 
   // Add negative number
-  assert.sameValue(Atomics.add(view, 8, -5), 10);
-  assert.sameValue(view[8], 5);
+  assert.sameValue(Atomics.add(view, 8, -5), 10, 'Atomics.add(view, 8, -5) returns 10');
+  assert.sameValue(view[8], 5, 'The value of view[8] is 5');
 
   view[3] = -5;
   control[0] = -5;
   assert.sameValue(Atomics.add(view, 3, 0), control[0],
-    "Result is negative and subject to coercion");
+    'Atomics.add(view, 3, 0) equals the value of control[0] (-5)');
 
   control[0] = 12345;
   view[3] = 12345;
   assert.sameValue(Atomics.add(view, 3, 0), control[0],
-    "Result is subject to chopping");
+    'Atomics.add(view, 3, 0) equals the value of control[0] (12345)');
 
   control[0] = 123456789;
   view[3] = 123456789;
   assert.sameValue(Atomics.add(view, 3, 0), control[0],
-    "Result is subject to chopping");
+    'Atomics.add(view, 3, 0) equals the value of control[0] (123456789)');
 
   // In-bounds boundary cases for indexing
   testWithAtomicsInBoundsIndices(function(IdxGen) {
@@ -49,6 +49,6 @@ testWithTypedArrayConstructors(function(TA) {
     // Atomics.store() computes an index from Idx in the same way as other
     // Atomics operations, not quite like view[Idx].
     Atomics.store(view, Idx, 37);
-    assert.sameValue(Atomics.add(view, Idx, 0), 37);
+    assert.sameValue(Atomics.add(view, Idx, 0), 37, 'Atomics.add(view, Idx, 0) returns 37');
   });
 }, views);
diff --git a/test/built-ins/Atomics/add/length.js b/test/built-ins/Atomics/add/length.js
index 518f30277e..207c46455c 100644
--- a/test/built-ins/Atomics/add/length.js
+++ b/test/built-ins/Atomics/add/length.js
@@ -24,8 +24,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.add.length, 3);
-
-verifyNotEnumerable(Atomics.add, "length");
-verifyNotWritable(Atomics.add, "length");
-verifyConfigurable(Atomics.add, "length");
+verifyProperty(Atomics.add, 'length', {
+  value: 3,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/add/name.js b/test/built-ins/Atomics/add/name.js
index ccb06e1fad..8299f8962b 100644
--- a/test/built-ins/Atomics/add/name.js
+++ b/test/built-ins/Atomics/add/name.js
@@ -10,8 +10,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.add.name, "add");
-
-verifyNotEnumerable(Atomics.add, "name");
-verifyNotWritable(Atomics.add, "name");
-verifyConfigurable(Atomics.add, "name");
+verifyProperty(Atomics.add, 'name', {
+  value: 'add',
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/add/non-views.js b/test/built-ins/Atomics/add/non-views.js
index f0eecdafb2..5eece9cb81 100644
--- a/test/built-ins/Atomics/add/non-views.js
+++ b/test/built-ins/Atomics/add/non-views.js
@@ -10,5 +10,9 @@ features: [ArrayBuffer, arrow-function, Atomics, DataView, for-of, let, SharedAr
 ---*/
 
 testWithAtomicsNonViewValues(function(view) {
-  assert.throws(TypeError, (() => Atomics.add(view, 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.add(view, 0, 0),
+    'Atomics.add(view, 0, 0) throws TypeError'
+  );
 });
diff --git a/test/built-ins/Atomics/add/nonshared-int-views.js b/test/built-ins/Atomics/add/nonshared-int-views.js
index a7df43c696..441b422ecc 100644
--- a/test/built-ins/Atomics/add/nonshared-int-views.js
+++ b/test/built-ins/Atomics/add/nonshared-int-views.js
@@ -13,5 +13,9 @@ var ab = new ArrayBuffer(16);
 var views = intArrayConstructors.slice();
 
 testWithTypedArrayConstructors(function(TA) {
-  assert.throws(TypeError, (() => Atomics.add(new TA(ab), 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.add(new TA(ab), 0, 0),
+    'Atomics.add(new TA(ab), 0, 0) throws TypeError'
+  );
 }, views);
diff --git a/test/built-ins/Atomics/add/shared-nonint-views.js b/test/built-ins/Atomics/add/shared-nonint-views.js
index b8eb2ce0bf..82fdfe8449 100644
--- a/test/built-ins/Atomics/add/shared-nonint-views.js
+++ b/test/built-ins/Atomics/add/shared-nonint-views.js
@@ -12,5 +12,9 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 var buffer = new SharedArrayBuffer(1024);
 
 testWithTypedArrayConstructors(function(TA) {
-  assert.throws(TypeError, (() => Atomics.add(new TA(buffer), 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.add(new TA(buffer), 0, 0),
+    'Atomics.add(new TA(buffer), 0, 0) throws TypeError'
+  );
 }, floatArrayConstructors);
diff --git a/test/built-ins/Atomics/and/bad-range.js b/test/built-ins/Atomics/and/bad-range.js
index 683a5a32b2..e01b6def7f 100644
--- a/test/built-ins/Atomics/and/bad-range.js
+++ b/test/built-ins/Atomics/and/bad-range.js
@@ -15,6 +15,10 @@ var views = intArrayConstructors.slice();
 testWithTypedArrayConstructors(function(TA) {
   let view = new TA(buffer);
   testWithAtomicsOutOfBoundsIndices(function(IdxGen) {
-    assert.throws(RangeError, () => Atomics.and(view, IdxGen(view), 10));
+    assert.throws(
+      RangeError,
+      () => Atomics.and(view, IdxGen(view), 10),
+      'Atomics.and(view, IdxGen(view), 10) throws RangeError'
+    );
   });
 }, views);
diff --git a/test/built-ins/Atomics/and/bigint/bad-range.js b/test/built-ins/Atomics/and/bigint/bad-range.js
index 0f87ca9fe9..8e320065bc 100644
--- a/test/built-ins/Atomics/and/bigint/bad-range.js
+++ b/test/built-ins/Atomics/and/bigint/bad-range.js
@@ -14,6 +14,10 @@ var buffer = new SharedArrayBuffer(8);
 testWithBigIntTypedArrayConstructors(function(TA) {
   let view = new TA(buffer);
   testWithAtomicsOutOfBoundsIndices(function(IdxGen) {
-    assert.throws(RangeError, () => Atomics.and(view, IdxGen(view), 10));
+    assert.throws(
+      RangeError,
+      () => Atomics.and(view, IdxGen(view), 10),
+      'Atomics.and(view, IdxGen(view), 10) throws RangeError'
+    );
   });
 });
diff --git a/test/built-ins/Atomics/and/bigint/good-views.js b/test/built-ins/Atomics/and/bigint/good-views.js
index 2ce7daa33c..b0cd17f087 100644
--- a/test/built-ins/Atomics/and/bigint/good-views.js
+++ b/test/built-ins/Atomics/and/bigint/good-views.js
@@ -20,33 +20,41 @@ testWithBigIntTypedArrayConstructors(function(TA) {
   view[8] = 0x33333333;
   control[0] = 0x33333333;
   assert.sameValue(Atomics.and(view, 8, 0x55555555), control[0],
-    "Result is subject to chopping");
+    'Atomics.and(view, 8, 0x55555555) equals the value of control[0] (0x33333333)');
 
   control[0] = 0x11111111;
-  assert.sameValue(view[8], control[0]);
+  assert.sameValue(
+    view[8],
+    control[0],
+    'The value of view[8] equals the value of control[0] (0x11111111)'
+  );
   assert.sameValue(Atomics.and(view, 8, 0xF0F0F0F0), control[0],
-    "Result is subject to chopping");
+    'Atomics.and(view, 8, 0xF0F0F0F0) equals the value of control[0] (0x11111111)');
 
   control[0] = 0x10101010;
-  assert.sameValue(view[8], control[0]);
+  assert.sameValue(
+    view[8],
+    control[0],
+    'The value of view[8] equals the value of control[0] (0x10101010)'
+  );
 
   view[3] = -5;
   control[0] = -5;
   assert.sameValue(Atomics.and(view, 3, 0), control[0],
-    "Result is negative and subject to coercion");
-  assert.sameValue(view[3], 0);
+    'Atomics.and(view, 3, 0) equals the value of control[0] (-5)');
+  assert.sameValue(view[3], 0, 'The value of view[3] is 0');
 
   control[0] = 12345;
   view[3] = 12345;
   assert.sameValue(Atomics.and(view, 3, 0), control[0],
-    "Result is subjective to chopping");
-  assert.sameValue(view[3], 0);
+    'Atomics.and(view, 3, 0) equals the value of control[0] (12345)');
+  assert.sameValue(view[3], 0, 'The value of view[3] is 0');
 
   control[0] = 123456789;
   view[3] = 123456789;
   assert.sameValue(Atomics.and(view, 3, 0), control[0],
-    "Result is subjective to chopping");
-  assert.sameValue(view[3], 0);
+    'Atomics.and(view, 3, 0) equals the value of control[0] (123456789)');
+  assert.sameValue(view[3], 0, 'The value of view[3] is 0');
 
   // In-bounds boundary cases for indexing
   testWithAtomicsInBoundsIndices(function(IdxGen) {
@@ -55,6 +63,6 @@ testWithBigIntTypedArrayConstructors(function(TA) {
     // Atomics.store() computes an index from Idx in the same way as other
     // Atomics operations, not quite like view[Idx].
     Atomics.store(view, Idx, 37);
-    assert.sameValue(Atomics.and(view, Idx, 0), 37);
+    assert.sameValue(Atomics.and(view, Idx, 0), 37, 'Atomics.and(view, Idx, 0) returns 37');
   });
 });
diff --git a/test/built-ins/Atomics/and/bigint/nonshared-int-views.js b/test/built-ins/Atomics/and/bigint/nonshared-int-views.js
index 8389b91852..5005574664 100644
--- a/test/built-ins/Atomics/and/bigint/nonshared-int-views.js
+++ b/test/built-ins/Atomics/and/bigint/nonshared-int-views.js
@@ -12,5 +12,9 @@ features: [ArrayBuffer, arrow-function, Atomics, BigInt, TypedArray]
 var buffer = new ArrayBuffer(16);
 
 testWithBigIntTypedArrayConstructors(function(TA) {
-  assert.throws(TypeError, () => Atomics.and(new TA(buffer), 0, 0));
+  assert.throws(
+    TypeError,
+    () => Atomics.and(new TA(buffer), 0, 0),
+    'Atomics.and(new TA(buffer), 0, 0) throws TypeError'
+  );
 });
diff --git a/test/built-ins/Atomics/and/descriptor.js b/test/built-ins/Atomics/and/descriptor.js
index 6e78a6a1ed..00cf864e85 100644
--- a/test/built-ins/Atomics/and/descriptor.js
+++ b/test/built-ins/Atomics/and/descriptor.js
@@ -8,6 +8,8 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-verifyWritable(Atomics, "and");
-verifyNotEnumerable(Atomics, "and");
-verifyConfigurable(Atomics, "and");
+verifyProperty(Atomics, 'and', {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/and/expected-return-value.js b/test/built-ins/Atomics/and/expected-return-value.js
index 86282e1d99..f45d2a400c 100644
--- a/test/built-ins/Atomics/and/expected-return-value.js
+++ b/test/built-ins/Atomics/and/expected-return-value.js
@@ -34,5 +34,9 @@ var other = 0b00000001111111111000000011111111;
 
 i32a[0] = value;
 
-assert.sameValue(Atomics.and(i32a, 0, value), value);
-assert.sameValue(i32a[0], value & other);
+assert.sameValue(
+  Atomics.and(i32a, 0, value),
+  value,
+  'Atomics.and(i32a, 0, value) equals the value of value (0b00000001000000001000000010000001)'
+);
+assert.sameValue(i32a[0], value & other, 'The value of i32a[0] is value & other');
diff --git a/test/built-ins/Atomics/and/good-views.js b/test/built-ins/Atomics/and/good-views.js
index e69420d530..d6ec3fafbb 100644
--- a/test/built-ins/Atomics/and/good-views.js
+++ b/test/built-ins/Atomics/and/good-views.js
@@ -21,33 +21,41 @@ testWithTypedArrayConstructors(function(TA) {
   view[8] = 0x33333333;
   control[0] = 0x33333333;
   assert.sameValue(Atomics.and(view, 8, 0x55555555), control[0],
-    "Result is subject to chopping");
+    'Atomics.and(view, 8, 0x55555555) equals the value of control[0] (0x33333333)');
 
   control[0] = 0x11111111;
-  assert.sameValue(view[8], control[0]);
+  assert.sameValue(
+    view[8],
+    control[0],
+    'The value of view[8] equals the value of control[0] (0x11111111)'
+  );
   assert.sameValue(Atomics.and(view, 8, 0xF0F0F0F0), control[0],
-    "Result is subject to chopping");
+    'Atomics.and(view, 8, 0xF0F0F0F0) equals the value of control[0] (0x11111111)');
 
   control[0] = 0x10101010;
-  assert.sameValue(view[8], control[0]);
+  assert.sameValue(
+    view[8],
+    control[0],
+    'The value of view[8] equals the value of control[0] (0x10101010)'
+  );
 
   view[3] = -5;
   control[0] = -5;
   assert.sameValue(Atomics.and(view, 3, 0), control[0],
-    "Result is negative and subject to coercion");
-  assert.sameValue(view[3], 0);
+    'Atomics.and(view, 3, 0) equals the value of control[0] (-5)');
+  assert.sameValue(view[3], 0, 'The value of view[3] is 0');
 
   control[0] = 12345;
   view[3] = 12345;
   assert.sameValue(Atomics.and(view, 3, 0), control[0],
-    "Result is subjective to chopping");
-  assert.sameValue(view[3], 0);
+    'Atomics.and(view, 3, 0) equals the value of control[0] (12345)');
+  assert.sameValue(view[3], 0, 'The value of view[3] is 0');
 
   control[0] = 123456789;
   view[3] = 123456789;
   assert.sameValue(Atomics.and(view, 3, 0), control[0],
-    "Result is subjective to chopping");
-  assert.sameValue(view[3], 0);
+    'Atomics.and(view, 3, 0) equals the value of control[0] (123456789)');
+  assert.sameValue(view[3], 0, 'The value of view[3] is 0');
 
   // In-bounds boundary cases for indexing
   testWithAtomicsInBoundsIndices(function(IdxGen) {
@@ -56,6 +64,6 @@ testWithTypedArrayConstructors(function(TA) {
     // Atomics.store() computes an index from Idx in the same way as other
     // Atomics operations, not quite like view[Idx].
     Atomics.store(view, Idx, 37);
-    assert.sameValue(Atomics.and(view, Idx, 0), 37);
+    assert.sameValue(Atomics.and(view, Idx, 0), 37, 'Atomics.and(view, Idx, 0) returns 37');
   });
 }, views);
diff --git a/test/built-ins/Atomics/and/length.js b/test/built-ins/Atomics/and/length.js
index b1e9bb0fd7..9b41408010 100644
--- a/test/built-ins/Atomics/and/length.js
+++ b/test/built-ins/Atomics/and/length.js
@@ -24,8 +24,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.and.length, 3);
-
-verifyNotEnumerable(Atomics.and, "length");
-verifyNotWritable(Atomics.and, "length");
-verifyConfigurable(Atomics.and, "length");
+verifyProperty(Atomics.and, 'length', {
+  value: 3,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/and/name.js b/test/built-ins/Atomics/and/name.js
index 33010c4b52..7d85586e52 100644
--- a/test/built-ins/Atomics/and/name.js
+++ b/test/built-ins/Atomics/and/name.js
@@ -10,8 +10,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.and.name, "and");
-
-verifyNotEnumerable(Atomics.and, "name");
-verifyNotWritable(Atomics.and, "name");
-verifyConfigurable(Atomics.and, "name");
+verifyProperty(Atomics.and, 'name', {
+  value: 'and',
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/and/non-views.js b/test/built-ins/Atomics/and/non-views.js
index 5d77bb208f..83cdd79add 100644
--- a/test/built-ins/Atomics/and/non-views.js
+++ b/test/built-ins/Atomics/and/non-views.js
@@ -10,5 +10,9 @@ features: [ArrayBuffer, arrow-function, Atomics, DataView, for-of, let, SharedAr
 ---*/
 
 testWithAtomicsNonViewValues(function(view) {
-  assert.throws(TypeError, (() => Atomics.and(view, 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.and(view, 0, 0),
+    'Atomics.and(view, 0, 0) throws TypeError'
+  );
 });
diff --git a/test/built-ins/Atomics/and/nonshared-int-views.js b/test/built-ins/Atomics/and/nonshared-int-views.js
index 1808f89565..f588fb7bb7 100644
--- a/test/built-ins/Atomics/and/nonshared-int-views.js
+++ b/test/built-ins/Atomics/and/nonshared-int-views.js
@@ -13,5 +13,9 @@ var buffer = new ArrayBuffer(16);
 var views = intArrayConstructors.slice();
 
 testWithTypedArrayConstructors(function(TA) {
-  assert.throws(TypeError, (() => Atomics.and(new TA(buffer), 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.and(new TA(buffer), 0, 0),
+    'Atomics.and(new TA(buffer), 0, 0) throws TypeError'
+  );
 }, views);
diff --git a/test/built-ins/Atomics/and/shared-nonint-views.js b/test/built-ins/Atomics/and/shared-nonint-views.js
index 42b669359e..05d57616cf 100644
--- a/test/built-ins/Atomics/and/shared-nonint-views.js
+++ b/test/built-ins/Atomics/and/shared-nonint-views.js
@@ -12,5 +12,9 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 var buffer = new SharedArrayBuffer(1024);
 
 testWithTypedArrayConstructors(function(TA) {
-  assert.throws(TypeError, (() => Atomics.and(new TA(buffer), 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.and(new TA(buffer), 0, 0),
+    'Atomics.and(new TA(buffer), 0, 0) throws TypeError'
+  );
 }, floatArrayConstructors);
diff --git a/test/built-ins/Atomics/compareExchange/bad-range.js b/test/built-ins/Atomics/compareExchange/bad-range.js
index 34407bb0cb..d43a2d66ac 100644
--- a/test/built-ins/Atomics/compareExchange/bad-range.js
+++ b/test/built-ins/Atomics/compareExchange/bad-range.js
@@ -15,6 +15,10 @@ var views = intArrayConstructors.slice();
 testWithTypedArrayConstructors(function(TA) {
   let view = new TA(buffer);
   testWithAtomicsOutOfBoundsIndices(function(IdxGen) {
-    assert.throws(RangeError, () => Atomics.compareExchange(view, IdxGen(view), 10, 0));
+    assert.throws(
+      RangeError,
+      () => Atomics.compareExchange(view, IdxGen(view), 10, 0),
+      'Atomics.compareExchange(view, IdxGen(view), 10, 0) throws RangeError'
+    );
   });
 }, views);
diff --git a/test/built-ins/Atomics/compareExchange/bigint/bad-range.js b/test/built-ins/Atomics/compareExchange/bigint/bad-range.js
index 99ff9ec70b..1b302f1676 100644
--- a/test/built-ins/Atomics/compareExchange/bigint/bad-range.js
+++ b/test/built-ins/Atomics/compareExchange/bigint/bad-range.js
@@ -14,6 +14,10 @@ var buffer = new SharedArrayBuffer(8);
 testWithBigIntTypedArrayConstructors(function(TA) {
   let view = new TA(buffer);
   testWithAtomicsOutOfBoundsIndices(function(IdxGen) {
-    assert.throws(RangeError, () => Atomics.compareExchange(view, IdxGen(view), 10, 0));
+    assert.throws(
+      RangeError,
+      () => Atomics.compareExchange(view, IdxGen(view), 10, 0),
+      'Atomics.compareExchange(view, IdxGen(view), 10, 0) throws RangeError'
+    );
   });
 });
diff --git a/test/built-ins/Atomics/compareExchange/bigint/good-views.js b/test/built-ins/Atomics/compareExchange/bigint/good-views.js
index ed6c330d39..f68e8b4592 100644
--- a/test/built-ins/Atomics/compareExchange/bigint/good-views.js
+++ b/test/built-ins/Atomics/compareExchange/bigint/good-views.js
@@ -19,39 +19,43 @@ testWithBigIntTypedArrayConstructors(function(TA) {
 
   // Performs the exchange
   view[8] = 0;
-  assert.sameValue(Atomics.compareExchange(view, 8, 0, 10), 0);
-  assert.sameValue(view[8], 10);
+  assert.sameValue(
+    Atomics.compareExchange(view, 8, 0, 10),
+    0,
+    'Atomics.compareExchange(view, 8, 0, 10) returns 0'
+  );
+  assert.sameValue(view[8], 10, 'The value of view[8] is 10');
 
   view[8] = 0;
   assert.sameValue(Atomics.compareExchange(view, 8, 1, 10), 0,
-    "Does not perform the exchange");
-  assert.sameValue(view[8], 0);
+    'Atomics.compareExchange(view, 8, 1, 10) returns 0');
+  assert.sameValue(view[8], 0, 'The value of view[8] is 0');
 
   view[8] = 0;
   assert.sameValue(Atomics.compareExchange(view, 8, 0, -5), 0,
-    "Performs the exchange, coercing the value being stored");
+    'Atomics.compareExchange(view, 8, 0, -5) returns 0');
   control[0] = -5;
-  assert.sameValue(view[8], control[0]);
+  assert.sameValue(view[8], control[0], 'The value of view[8] equals the value of control[0] (-5)');
 
 
   view[3] = -5;
   control[0] = -5;
   assert.sameValue(Atomics.compareExchange(view, 3, -5, 0), control[0],
-    "Performs the exchange, coercing the value being tested");
-  assert.sameValue(view[3], 0);
+    'Atomics.compareExchange(view, 3, -5, 0) equals the value of control[0] (-5)');
+  assert.sameValue(view[3], 0, 'The value of view[3] is 0');
 
 
   control[0] = 12345;
   view[3] = 12345;
   assert.sameValue(Atomics.compareExchange(view, 3, 12345, 0), control[0],
-    "Performs the exchange, chopping the value being tested");
-  assert.sameValue(view[3], 0);
+    'Atomics.compareExchange(view, 3, 12345, 0) equals the value of control[0] (12345)');
+  assert.sameValue(view[3], 0, 'The value of view[3] is 0');
 
   control[0] = 123456789;
   view[3] = 123456789;
   assert.sameValue(Atomics.compareExchange(view, 3, 123456789, 0), control[0],
-    "Performs the exchange, chopping the value being tested");
-  assert.sameValue(view[3], 0);
+    'Atomics.compareExchange(view, 3, 123456789, 0) equals the value of control[0] (123456789)');
+  assert.sameValue(view[3], 0, 'The value of view[3] is 0');
 
   // In-bounds boundary cases for indexing
   testWithAtomicsInBoundsIndices(function(IdxGen) {
@@ -60,6 +64,10 @@ testWithBigIntTypedArrayConstructors(function(TA) {
     // Atomics.store() computes an index from Idx in the same way as other
     // Atomics operations, not quite like view[Idx].
     Atomics.store(view, Idx, 37);
-    assert.sameValue(Atomics.compareExchange(view, Idx, 37, 0), 37);
+    assert.sameValue(
+      Atomics.compareExchange(view, Idx, 37, 0),
+      37,
+      'Atomics.compareExchange(view, Idx, 37, 0) returns 37'
+    );
   });
 });
diff --git a/test/built-ins/Atomics/compareExchange/bigint/nonshared-int-views.js b/test/built-ins/Atomics/compareExchange/bigint/nonshared-int-views.js
index 2b044ca0c5..083fb0bf6b 100644
--- a/test/built-ins/Atomics/compareExchange/bigint/nonshared-int-views.js
+++ b/test/built-ins/Atomics/compareExchange/bigint/nonshared-int-views.js
@@ -12,5 +12,9 @@ features: [ArrayBuffer, arrow-function, Atomics, BigInt, TypedArray]
 var buffer = new ArrayBuffer(16);
 
 testWithBigIntTypedArrayConstructors(function(TA) {
-  assert.throws(TypeError, (() => Atomics.compareExchange(new TA(buffer), 0, 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.compareExchange(new TA(buffer), 0, 0, 0),
+    'Atomics.compareExchange(new TA(buffer), 0, 0, 0) throws TypeError'
+  );
 });
diff --git a/test/built-ins/Atomics/compareExchange/descriptor.js b/test/built-ins/Atomics/compareExchange/descriptor.js
index de399b2f2c..229d0d52d4 100644
--- a/test/built-ins/Atomics/compareExchange/descriptor.js
+++ b/test/built-ins/Atomics/compareExchange/descriptor.js
@@ -8,6 +8,8 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-verifyWritable(Atomics, "compareExchange");
-verifyNotEnumerable(Atomics, "compareExchange");
-verifyConfigurable(Atomics, "compareExchange");
+verifyProperty(Atomics, 'compareExchange', {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/compareExchange/expected-return-value.js b/test/built-ins/Atomics/compareExchange/expected-return-value.js
index 5f46bb74ef..d9ef99de2f 100644
--- a/test/built-ins/Atomics/compareExchange/expected-return-value.js
+++ b/test/built-ins/Atomics/compareExchange/expected-return-value.js
@@ -28,9 +28,13 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 
 var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT);
 var i32a = new Int32Array(buffer);
-var value = 0b00000001000000001000000010000001;
+var update = 0b00000001000000001000000010000001;
 
-i32a[0] = value;
+i32a[0] = update;
 
-assert.sameValue(Atomics.compareExchange(i32a, 0, value, 0), value);
-assert.sameValue(i32a[0], 0);
+assert.sameValue(
+  Atomics.compareExchange(i32a, 0, update, 0),
+  update,
+  'Atomics.compareExchange(i32a, 0, update, 0) equals the value of update (0b00000001000000001000000010000001)'
+);
+assert.sameValue(i32a[0], 0, 'The value of i32a[0] is 0');
diff --git a/test/built-ins/Atomics/compareExchange/good-views.js b/test/built-ins/Atomics/compareExchange/good-views.js
index 9d39d9a4ae..091414b496 100644
--- a/test/built-ins/Atomics/compareExchange/good-views.js
+++ b/test/built-ins/Atomics/compareExchange/good-views.js
@@ -20,39 +20,43 @@ testWithTypedArrayConstructors(function(TA) {
 
   // Performs the exchange
   view[8] = 0;
-  assert.sameValue(Atomics.compareExchange(view, 8, 0, 10), 0);
-  assert.sameValue(view[8], 10);
+  assert.sameValue(
+    Atomics.compareExchange(view, 8, 0, 10),
+    0,
+    'Atomics.compareExchange(view, 8, 0, 10) returns 0'
+  );
+  assert.sameValue(view[8], 10, 'The value of view[8] is 10');
 
   view[8] = 0;
   assert.sameValue(Atomics.compareExchange(view, 8, 1, 10), 0,
-    "Does not perform the exchange");
-  assert.sameValue(view[8], 0);
+    'Atomics.compareExchange(view, 8, 1, 10) returns 0');
+  assert.sameValue(view[8], 0, 'The value of view[8] is 0');
 
   view[8] = 0;
   assert.sameValue(Atomics.compareExchange(view, 8, 0, -5), 0,
-    "Performs the exchange, coercing the value being stored");
+    'Atomics.compareExchange(view, 8, 0, -5) returns 0');
   control[0] = -5;
-  assert.sameValue(view[8], control[0]);
+  assert.sameValue(view[8], control[0], 'The value of view[8] equals the value of control[0] (-5)');
 
 
   view[3] = -5;
   control[0] = -5;
   assert.sameValue(Atomics.compareExchange(view, 3, -5, 0), control[0],
-    "Performs the exchange, coercing the value being tested");
-  assert.sameValue(view[3], 0);
+    'Atomics.compareExchange(view, 3, -5, 0) equals the value of control[0] (-5)');
+  assert.sameValue(view[3], 0, 'The value of view[3] is 0');
 
 
   control[0] = 12345;
   view[3] = 12345;
   assert.sameValue(Atomics.compareExchange(view, 3, 12345, 0), control[0],
-    "Performs the exchange, chopping the value being tested");
-  assert.sameValue(view[3], 0);
+    'Atomics.compareExchange(view, 3, 12345, 0) equals the value of control[0] (12345)');
+  assert.sameValue(view[3], 0, 'The value of view[3] is 0');
 
   control[0] = 123456789;
   view[3] = 123456789;
   assert.sameValue(Atomics.compareExchange(view, 3, 123456789, 0), control[0],
-    "Performs the exchange, chopping the value being tested");
-  assert.sameValue(view[3], 0);
+    'Atomics.compareExchange(view, 3, 123456789, 0) equals the value of control[0] (123456789)');
+  assert.sameValue(view[3], 0, 'The value of view[3] is 0');
 
   // In-bounds boundary cases for indexing
   testWithAtomicsInBoundsIndices(function(IdxGen) {
@@ -61,6 +65,10 @@ testWithTypedArrayConstructors(function(TA) {
     // Atomics.store() computes an index from Idx in the same way as other
     // Atomics operations, not quite like view[Idx].
     Atomics.store(view, Idx, 37);
-    assert.sameValue(Atomics.compareExchange(view, Idx, 37, 0), 37);
+    assert.sameValue(
+      Atomics.compareExchange(view, Idx, 37, 0),
+      37,
+      'Atomics.compareExchange(view, Idx, 37, 0) returns 37'
+    );
   });
 }, views);
diff --git a/test/built-ins/Atomics/compareExchange/length.js b/test/built-ins/Atomics/compareExchange/length.js
index db09540738..063833eb46 100644
--- a/test/built-ins/Atomics/compareExchange/length.js
+++ b/test/built-ins/Atomics/compareExchange/length.js
@@ -24,8 +24,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.compareExchange.length, 4);
-
-verifyNotEnumerable(Atomics.compareExchange, "length");
-verifyNotWritable(Atomics.compareExchange, "length");
-verifyConfigurable(Atomics.compareExchange, "length");
+verifyProperty(Atomics.compareExchange, 'length', {
+  value: 4,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/compareExchange/name.js b/test/built-ins/Atomics/compareExchange/name.js
index 80a56b04c4..687de28581 100644
--- a/test/built-ins/Atomics/compareExchange/name.js
+++ b/test/built-ins/Atomics/compareExchange/name.js
@@ -10,8 +10,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.compareExchange.name, "compareExchange");
-
-verifyNotEnumerable(Atomics.compareExchange, "name");
-verifyNotWritable(Atomics.compareExchange, "name");
-verifyConfigurable(Atomics.compareExchange, "name");
+verifyProperty(Atomics.compareExchange, 'name', {
+  value: 'compareExchange',
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/compareExchange/non-views.js b/test/built-ins/Atomics/compareExchange/non-views.js
index e297384cf7..2f073adf06 100644
--- a/test/built-ins/Atomics/compareExchange/non-views.js
+++ b/test/built-ins/Atomics/compareExchange/non-views.js
@@ -10,5 +10,9 @@ features: [ArrayBuffer, arrow-function, Atomics, DataView, for-of, let, SharedAr
 ---*/
 
 testWithAtomicsNonViewValues(function(view) {
-  assert.throws(TypeError, (() => Atomics.compareExchange(view, 0, 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.compareExchange(view, 0, 0, 0),
+    'Atomics.compareExchange(view, 0, 0, 0) throws TypeError'
+  );
 });
diff --git a/test/built-ins/Atomics/compareExchange/nonshared-int-views.js b/test/built-ins/Atomics/compareExchange/nonshared-int-views.js
index 649359451b..e021e00301 100644
--- a/test/built-ins/Atomics/compareExchange/nonshared-int-views.js
+++ b/test/built-ins/Atomics/compareExchange/nonshared-int-views.js
@@ -13,5 +13,9 @@ var buffer = new ArrayBuffer(16);
 var views = intArrayConstructors.slice();
 
 testWithTypedArrayConstructors(function(TA) {
-  assert.throws(TypeError, (() => Atomics.compareExchange(new TA(buffer), 0, 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.compareExchange(new TA(buffer), 0, 0, 0),
+    'Atomics.compareExchange(new TA(buffer), 0, 0, 0) throws TypeError'
+  );
 }, views);
diff --git a/test/built-ins/Atomics/compareExchange/shared-nonint-views.js b/test/built-ins/Atomics/compareExchange/shared-nonint-views.js
index 58815cb1e5..6fac3bf5a6 100644
--- a/test/built-ins/Atomics/compareExchange/shared-nonint-views.js
+++ b/test/built-ins/Atomics/compareExchange/shared-nonint-views.js
@@ -12,5 +12,9 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 var buffer = new SharedArrayBuffer(1024);
 
 testWithTypedArrayConstructors(function(TA) {
-  assert.throws(TypeError, (() => Atomics.compareExchange(new TA(buffer), 0, 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.compareExchange(new TA(buffer), 0, 0, 0),
+    'Atomics.compareExchange(new TA(buffer), 0, 0, 0) throws TypeError'
+  );
 }, floatArrayConstructors);
diff --git a/test/built-ins/Atomics/exchange/bad-range.js b/test/built-ins/Atomics/exchange/bad-range.js
index f1c929ddd0..5073f7ab73 100644
--- a/test/built-ins/Atomics/exchange/bad-range.js
+++ b/test/built-ins/Atomics/exchange/bad-range.js
@@ -15,6 +15,10 @@ var views = intArrayConstructors.slice();
 testWithTypedArrayConstructors(function(TA) {
   let view = new TA(buffer);
   testWithAtomicsOutOfBoundsIndices(function(IdxGen) {
-    assert.throws(RangeError, () => Atomics.exchange(view, IdxGen(view), 10, 0));
+    assert.throws(
+      RangeError,
+      () => Atomics.exchange(view, IdxGen(view), 10, 0),
+      'Atomics.exchange(view, IdxGen(view), 10, 0) throws RangeError'
+    );
   });
 }, views);
diff --git a/test/built-ins/Atomics/exchange/bigint/bad-range.js b/test/built-ins/Atomics/exchange/bigint/bad-range.js
index 2ccd1b9460..dd0599c033 100644
--- a/test/built-ins/Atomics/exchange/bigint/bad-range.js
+++ b/test/built-ins/Atomics/exchange/bigint/bad-range.js
@@ -14,6 +14,10 @@ var buffer = new SharedArrayBuffer(8);
 testWithBigIntTypedArrayConstructors(function(TA) {
   let view = new TA(buffer);
   testWithAtomicsOutOfBoundsIndices(function(IdxGen) {
-    assert.throws(RangeError, () => Atomics.exchange(view, IdxGen(view), 10, 0));
+    assert.throws(
+      RangeError,
+      () => Atomics.exchange(view, IdxGen(view), 10, 0),
+      'Atomics.exchange(view, IdxGen(view), 10, 0) throws RangeError'
+    );
   });
 });
diff --git a/test/built-ins/Atomics/exchange/bigint/good-views.js b/test/built-ins/Atomics/exchange/bigint/good-views.js
index 44cdf9e522..610305fb46 100644
--- a/test/built-ins/Atomics/exchange/bigint/good-views.js
+++ b/test/built-ins/Atomics/exchange/bigint/good-views.js
@@ -19,28 +19,28 @@ testWithBigIntTypedArrayConstructors(function(TA) {
 
   view[8] = 0;
   assert.sameValue(Atomics.exchange(view, 8, 10), 0,
-    "Exchange returns the value previously in the array");
-  assert.sameValue(view[8], 10);
+    'Atomics.exchange(view, 8, 10) returns 0');
+  assert.sameValue(view[8], 10, 'The value of view[8] is 10');
 
   assert.sameValue(Atomics.exchange(view, 8, -5), 10,
-    "Exchange returns the value previously in the array");
+    'Atomics.exchange(view, 8, -5) returns 10');
   control[0] = -5;
-  assert.sameValue(view[8], control[0]);
+  assert.sameValue(view[8], control[0], 'The value of view[8] equals the value of control[0] (-5)');
 
   view[3] = -5;
   control[0] = -5;
   assert.sameValue(Atomics.exchange(view, 3, 0), control[0],
-    "Result is subject to coercion");
+    'Atomics.exchange(view, 3, 0) equals the value of control[0] (-5)');
 
   control[0] = 12345;
   view[3] = 12345;
   assert.sameValue(Atomics.exchange(view, 3, 0), control[0],
-    "Result is subject to chopping");
+    'Atomics.exchange(view, 3, 0) equals the value of control[0] (12345)');
 
   control[0] = 123456789;
   view[3] = 123456789;
   assert.sameValue(Atomics.exchange(view, 3, 0), control[0],
-    "Result is subject to chopping");
+    'Atomics.exchange(view, 3, 0) equals the value of control[0] (123456789)');
 
   // In-bounds boundary cases for indexing
   testWithAtomicsInBoundsIndices(function(IdxGen) {
@@ -49,6 +49,6 @@ testWithBigIntTypedArrayConstructors(function(TA) {
     // Atomics.store() computes an index from Idx in the same way as other
     // Atomics operations, not quite like view[Idx].
     Atomics.store(view, Idx, 37);
-    assert.sameValue(Atomics.exchange(view, Idx, 0), 37);
+    assert.sameValue(Atomics.exchange(view, Idx, 0), 37, 'Atomics.exchange(view, Idx, 0) returns 37');
   });
 });
diff --git a/test/built-ins/Atomics/exchange/bigint/nonshared-int-views.js b/test/built-ins/Atomics/exchange/bigint/nonshared-int-views.js
index 13f49c28f2..5f70fa85c8 100644
--- a/test/built-ins/Atomics/exchange/bigint/nonshared-int-views.js
+++ b/test/built-ins/Atomics/exchange/bigint/nonshared-int-views.js
@@ -12,5 +12,9 @@ features: [ArrayBuffer, arrow-function, Atomics, BigInt, TypedArray]
 var buffer = new ArrayBuffer(16);
 
 testWithBigIntTypedArrayConstructors(function(TA) {
-  assert.throws(TypeError, (() => Atomics.exchange(new TA(buffer), 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.exchange(new TA(buffer), 0, 0),
+    'Atomics.exchange(new TA(buffer), 0, 0) throws TypeError'
+  );
 });
diff --git a/test/built-ins/Atomics/exchange/descriptor.js b/test/built-ins/Atomics/exchange/descriptor.js
index b65ea64f17..33998156eb 100644
--- a/test/built-ins/Atomics/exchange/descriptor.js
+++ b/test/built-ins/Atomics/exchange/descriptor.js
@@ -8,6 +8,8 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-verifyWritable(Atomics, "exchange");
-verifyNotEnumerable(Atomics, "exchange");
-verifyConfigurable(Atomics, "exchange");
+verifyProperty(Atomics, 'exchange', {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/exchange/expected-return-value.js b/test/built-ins/Atomics/exchange/expected-return-value.js
index b5a91b03f6..31af025b38 100644
--- a/test/built-ins/Atomics/exchange/expected-return-value.js
+++ b/test/built-ins/Atomics/exchange/expected-return-value.js
@@ -29,7 +29,15 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 
 var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT);
 var i32a = new Int32Array(buffer);
-var value = 0b00000001000000001000000010000001;
-
-assert.sameValue(Atomics.exchange(i32a, 0, value), 0);
-assert.sameValue(i32a[0], value);
+var update = 0b00000001000000001000000010000001;
+
+assert.sameValue(
+  Atomics.exchange(i32a, 0, update),
+  0,
+  'Atomics.exchange(i32a, 0, update) returns 0'
+);
+assert.sameValue(
+  i32a[0],
+  update,
+  'The value of i32a[0] equals the value of update (0b00000001000000001000000010000001)'
+);
diff --git a/test/built-ins/Atomics/exchange/good-views.js b/test/built-ins/Atomics/exchange/good-views.js
index a7b5c76330..d0a21d455e 100644
--- a/test/built-ins/Atomics/exchange/good-views.js
+++ b/test/built-ins/Atomics/exchange/good-views.js
@@ -20,28 +20,28 @@ testWithTypedArrayConstructors(function(TA) {
 
   view[8] = 0;
   assert.sameValue(Atomics.exchange(view, 8, 10), 0,
-    "Exchange returns the value previously in the array");
-  assert.sameValue(view[8], 10);
+    'Atomics.exchange(view, 8, 10) returns 0');
+  assert.sameValue(view[8], 10, 'The value of view[8] is 10');
 
   assert.sameValue(Atomics.exchange(view, 8, -5), 10,
-    "Exchange returns the value previously in the array");
+    'Atomics.exchange(view, 8, -5) returns 10');
   control[0] = -5;
-  assert.sameValue(view[8], control[0]);
+  assert.sameValue(view[8], control[0], 'The value of view[8] equals the value of control[0] (-5)');
 
   view[3] = -5;
   control[0] = -5;
   assert.sameValue(Atomics.exchange(view, 3, 0), control[0],
-    "Result is subject to coercion");
+    'Atomics.exchange(view, 3, 0) equals the value of control[0] (-5)');
 
   control[0] = 12345;
   view[3] = 12345;
   assert.sameValue(Atomics.exchange(view, 3, 0), control[0],
-    "Result is subject to chopping");
+    'Atomics.exchange(view, 3, 0) equals the value of control[0] (12345)');
 
   control[0] = 123456789;
   view[3] = 123456789;
   assert.sameValue(Atomics.exchange(view, 3, 0), control[0],
-    "Result is subject to chopping");
+    'Atomics.exchange(view, 3, 0) equals the value of control[0] (123456789)');
 
   // In-bounds boundary cases for indexing
   testWithAtomicsInBoundsIndices(function(IdxGen) {
@@ -50,6 +50,6 @@ testWithTypedArrayConstructors(function(TA) {
     // Atomics.store() computes an index from Idx in the same way as other
     // Atomics operations, not quite like view[Idx].
     Atomics.store(view, Idx, 37);
-    assert.sameValue(Atomics.exchange(view, Idx, 0), 37);
+    assert.sameValue(Atomics.exchange(view, Idx, 0), 37, 'Atomics.exchange(view, Idx, 0) returns 37');
   });
 }, views);
diff --git a/test/built-ins/Atomics/exchange/length.js b/test/built-ins/Atomics/exchange/length.js
index 6a0cc44462..34005d0412 100644
--- a/test/built-ins/Atomics/exchange/length.js
+++ b/test/built-ins/Atomics/exchange/length.js
@@ -24,8 +24,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.exchange.length, 3);
-
-verifyNotEnumerable(Atomics.exchange, "length");
-verifyNotWritable(Atomics.exchange, "length");
-verifyConfigurable(Atomics.exchange, "length");
+verifyProperty(Atomics.exchange, 'length', {
+  value: 3,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/exchange/name.js b/test/built-ins/Atomics/exchange/name.js
index 95ca01a237..a8ee063822 100644
--- a/test/built-ins/Atomics/exchange/name.js
+++ b/test/built-ins/Atomics/exchange/name.js
@@ -10,8 +10,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.exchange.name, "exchange");
-
-verifyNotEnumerable(Atomics.exchange, "name");
-verifyNotWritable(Atomics.exchange, "name");
-verifyConfigurable(Atomics.exchange, "name");
+verifyProperty(Atomics.exchange, 'name', {
+  value: 'exchange',
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/exchange/non-views.js b/test/built-ins/Atomics/exchange/non-views.js
index 1b9348ca69..cedc446103 100644
--- a/test/built-ins/Atomics/exchange/non-views.js
+++ b/test/built-ins/Atomics/exchange/non-views.js
@@ -10,5 +10,9 @@ features: [ArrayBuffer, arrow-function, Atomics, DataView, for-of, let, SharedAr
 ---*/
 
 testWithAtomicsNonViewValues(function(view) {
-  assert.throws(TypeError, (() => Atomics.exchange(view, 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.exchange(view, 0, 0),
+    'Atomics.exchange(view, 0, 0) throws TypeError'
+  );
 });
diff --git a/test/built-ins/Atomics/exchange/nonshared-int-views.js b/test/built-ins/Atomics/exchange/nonshared-int-views.js
index b5eda3754b..937d5cff5c 100644
--- a/test/built-ins/Atomics/exchange/nonshared-int-views.js
+++ b/test/built-ins/Atomics/exchange/nonshared-int-views.js
@@ -13,5 +13,9 @@ var buffer = new ArrayBuffer(16);
 var views = intArrayConstructors.slice();
 
 testWithTypedArrayConstructors(function(TA) {
-  assert.throws(TypeError, (() => Atomics.exchange(new TA(buffer), 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.exchange(new TA(buffer), 0, 0),
+    'Atomics.exchange(new TA(buffer), 0, 0) throws TypeError'
+  );
 }, views);
diff --git a/test/built-ins/Atomics/exchange/shared-nonint-views.js b/test/built-ins/Atomics/exchange/shared-nonint-views.js
index 16a10234a4..b5e2edb24c 100644
--- a/test/built-ins/Atomics/exchange/shared-nonint-views.js
+++ b/test/built-ins/Atomics/exchange/shared-nonint-views.js
@@ -12,5 +12,9 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 var buffer = new SharedArrayBuffer(1024);
 
 testWithTypedArrayConstructors(function(TA) {
-  assert.throws(TypeError, (() => Atomics.exchange(new TA(buffer), 0, 0)));
+  assert.throws(
+    TypeError,
+    () => Atomics.exchange(new TA(buffer), 0, 0),
+    'Atomics.exchange(new TA(buffer), 0, 0) throws TypeError'
+  );
 }, floatArrayConstructors);
diff --git a/test/built-ins/Atomics/isLockFree/bigint/corner-cases.js b/test/built-ins/Atomics/isLockFree/bigint/corner-cases.js
index a0127ee288..45daa591d4 100644
--- a/test/built-ins/Atomics/isLockFree/bigint/corner-cases.js
+++ b/test/built-ins/Atomics/isLockFree/bigint/corner-cases.js
@@ -9,20 +9,64 @@ features: [arrow-function, Atomics]
 includes: [testAtomics.js, testBigIntTypedArray.js]
 ---*/
 
-assert.sameValue(Atomics.isLockFree(hide(3, Number.NaN)), false);
-assert.sameValue(Atomics.isLockFree(hide(3, -1)), false);
-assert.sameValue(Atomics.isLockFree(hide(3, 3.14)), false);
-assert.sameValue(Atomics.isLockFree(hide(3, 0)), false);
+assert.sameValue(
+  Atomics.isLockFree(hide(3, Number.NaN)),
+  false,
+  'Atomics.isLockFree(hide(3, Number.NaN)) returns false'
+);
+assert.sameValue(
+  Atomics.isLockFree(hide(3, -1)),
+  false,
+  'Atomics.isLockFree(hide(3, -1)) returns false'
+);
+assert.sameValue(
+  Atomics.isLockFree(hide(3, 3.14)),
+  false,
+  'Atomics.isLockFree(hide(3, 3.14)) returns false'
+);
+assert.sameValue(
+  Atomics.isLockFree(hide(3, 0)),
+  false,
+  'Atomics.isLockFree(hide(3, 0)) returns false'
+);
 
-assert.sameValue(Atomics.isLockFree('1'), Atomics.isLockFree(1));
-assert.sameValue(Atomics.isLockFree('3'), Atomics.isLockFree(3));
+assert.sameValue(
+  Atomics.isLockFree('1'),
+  Atomics.isLockFree(1),
+  'Atomics.isLockFree(\'1\') returns Atomics.isLockFree(1)'
+);
+assert.sameValue(
+  Atomics.isLockFree('3'),
+  Atomics.isLockFree(3),
+  'Atomics.isLockFree(\'3\') returns Atomics.isLockFree(3)'
+);
 
-assert.sameValue(Atomics.isLockFree(true), Atomics.isLockFree(1));
+assert.sameValue(
+  Atomics.isLockFree(true),
+  Atomics.isLockFree(1),
+  'Atomics.isLockFree(true) returns Atomics.isLockFree(1)'
+);
 
-assert.sameValue(Atomics.isLockFree(1), Atomics.isLockFree({valueOf: () => 1}));
-assert.sameValue(Atomics.isLockFree(3), Atomics.isLockFree({valueOf: () => 3}));
-assert.sameValue(Atomics.isLockFree(1), Atomics.isLockFree({toString: () => '1'}));
-assert.sameValue(Atomics.isLockFree(3), Atomics.isLockFree({toString: () => '3'}));
+assert.sameValue(
+  Atomics.isLockFree(1),
+  Atomics.isLockFree({valueOf: () => 1}),
+  'Atomics.isLockFree(1) returns Atomics.isLockFree({valueOf: () => 1})'
+);
+assert.sameValue(
+  Atomics.isLockFree(3),
+  Atomics.isLockFree({valueOf: () => 3}),
+  'Atomics.isLockFree(3) returns Atomics.isLockFree({valueOf: () => 3})'
+);
+assert.sameValue(
+  Atomics.isLockFree(1),
+  Atomics.isLockFree({toString: () => '1'}),
+  'Atomics.isLockFree(1) returns Atomics.isLockFree({toString: () => \'1\'})'
+);
+assert.sameValue(
+  Atomics.isLockFree(3),
+  Atomics.isLockFree({toString: () => '3'}),
+  'Atomics.isLockFree(3) returns Atomics.isLockFree({toString: () => \'3\'})'
+);
 
 function hide(k, x) {
   if (k) {
diff --git a/test/built-ins/Atomics/isLockFree/bigint/expected-return-value.js b/test/built-ins/Atomics/isLockFree/bigint/expected-return-value.js
index 56a0186f51..69cad37db6 100644
--- a/test/built-ins/Atomics/isLockFree/bigint/expected-return-value.js
+++ b/test/built-ins/Atomics/isLockFree/bigint/expected-return-value.js
@@ -23,7 +23,13 @@ includes: [testBigIntTypedArray.js]
 ---*/
 
 testWithBigIntTypedArrayConstructors(function(TA) {
-  assert.sameValue(Atomics.isLockFree(TA.BYTES_PER_ELEMENT), true);
+  var observed = Atomics.isLockFree(TA.BYTES_PER_ELEMENT);
+
+  assert.sameValue(
+    Atomics.isLockFree(TA.BYTES_PER_ELEMENT),
+    observed,
+    'Atomics.isLockFree(TA.BYTES_PER_ELEMENT) equals the value of `observed` (Atomics.isLockFree(TA.BYTES_PER_ELEMENT))'
+  );
 });
 
 
diff --git a/test/built-ins/Atomics/isLockFree/bigint/value.js b/test/built-ins/Atomics/isLockFree/bigint/value.js
deleted file mode 100644
index 0743f1c0fa..0000000000
--- a/test/built-ins/Atomics/isLockFree/bigint/value.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright (C) 2018 Rick Waldron. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-atomics.islockfree
-description: >
-  Test isLockFree on nonnegative integer arguments
-features: [Atomics, computed-property-names]
-includes: [testAtomics.js, testBigIntTypedArray.js]
----*/
-
-var sizes   = [    1,     2,     3,     4,     5,     6,     7,  8,
-                   9,    10,    11,    12];
-var answers = [   {},    {}, false,  true, false, false, false, false,
-               false, false, false, false];
-
-var saved = {};
-
-// This should defeat most optimizations.
-
-for (var i = 0; i < sizes.length; i++) {
-  var v = Atomics.isLockFree(sizes[i]);
-  var a = answers[i];
-  assert.sameValue(typeof v, 'boolean');
-  if (typeof a == 'boolean') {
-    assert.sameValue(v, a);
-  } else {
-    saved[sizes[i]] = v;
-  }
-}
-
-// This ought to be optimizable.  Make sure the answers are the same
-// as for the unoptimized case.
-
-assert.sameValue(Atomics.isLockFree(1), saved[1]);
-assert.sameValue(Atomics.isLockFree(2), saved[2]);
-assert.sameValue(Atomics.isLockFree(3), false);
-assert.sameValue(Atomics.isLockFree(4), true);
-assert.sameValue(Atomics.isLockFree(5), false);
-assert.sameValue(Atomics.isLockFree(6), false);
-assert.sameValue(Atomics.isLockFree(7), false);
-assert.sameValue(Atomics.isLockFree(8), false);
-assert.sameValue(Atomics.isLockFree(9), false);
-assert.sameValue(Atomics.isLockFree(10), false);
-assert.sameValue(Atomics.isLockFree(11), false);
-assert.sameValue(Atomics.isLockFree(12), false);
diff --git a/test/built-ins/Atomics/isLockFree/corner-cases.js b/test/built-ins/Atomics/isLockFree/corner-cases.js
index 9901e553a9..8f77cda292 100644
--- a/test/built-ins/Atomics/isLockFree/corner-cases.js
+++ b/test/built-ins/Atomics/isLockFree/corner-cases.js
@@ -8,20 +8,64 @@ description: >
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.isLockFree(hide(3, Number.NaN)), false);
-assert.sameValue(Atomics.isLockFree(hide(3, -1)), false);
-assert.sameValue(Atomics.isLockFree(hide(3, 3.14)), false);
-assert.sameValue(Atomics.isLockFree(hide(3, 0)), false);
+assert.sameValue(
+  Atomics.isLockFree(hide(3, Number.NaN)),
+  false,
+  'Atomics.isLockFree(hide(3, Number.NaN)) returns false'
+);
+assert.sameValue(
+  Atomics.isLockFree(hide(3, -1)),
+  false,
+  'Atomics.isLockFree(hide(3, -1)) returns false'
+);
+assert.sameValue(
+  Atomics.isLockFree(hide(3, 3.14)),
+  false,
+  'Atomics.isLockFree(hide(3, 3.14)) returns false'
+);
+assert.sameValue(
+  Atomics.isLockFree(hide(3, 0)),
+  false,
+  'Atomics.isLockFree(hide(3, 0)) returns false'
+);
 
-assert.sameValue(Atomics.isLockFree('1'), Atomics.isLockFree(1));
-assert.sameValue(Atomics.isLockFree('3'), Atomics.isLockFree(3));
+assert.sameValue(
+  Atomics.isLockFree('1'),
+  Atomics.isLockFree(1),
+  'Atomics.isLockFree("1") returns Atomics.isLockFree(1)'
+);
+assert.sameValue(
+  Atomics.isLockFree('3'),
+  Atomics.isLockFree(3),
+  'Atomics.isLockFree("3") returns Atomics.isLockFree(3)'
+);
 
-assert.sameValue(Atomics.isLockFree(true), Atomics.isLockFree(1));
+assert.sameValue(
+  Atomics.isLockFree(true),
+  Atomics.isLockFree(1),
+  'Atomics.isLockFree(true) returns Atomics.isLockFree(1)'
+);
 
-assert.sameValue(Atomics.isLockFree(1), Atomics.isLockFree({valueOf: () => 1}));
-assert.sameValue(Atomics.isLockFree(3), Atomics.isLockFree({valueOf: () => 3}));
-assert.sameValue(Atomics.isLockFree(1), Atomics.isLockFree({toString: () => '1'}));
-assert.sameValue(Atomics.isLockFree(3), Atomics.isLockFree({toString: () => '3'}));
+assert.sameValue(
+  Atomics.isLockFree(1),
+  Atomics.isLockFree({valueOf: () => 1}),
+  'Atomics.isLockFree(1) returns Atomics.isLockFree({valueOf: () => 1})'
+);
+assert.sameValue(
+  Atomics.isLockFree(3),
+  Atomics.isLockFree({valueOf: () => 3}),
+  'Atomics.isLockFree(3) returns Atomics.isLockFree({valueOf: () => 3})'
+);
+assert.sameValue(
+  Atomics.isLockFree(1),
+  Atomics.isLockFree({toString: () => '1'}),
+  'Atomics.isLockFree(1) returns Atomics.isLockFree({toString: () => "1"})'
+);
+assert.sameValue(
+  Atomics.isLockFree(3),
+  Atomics.isLockFree({toString: () => '3'}),
+  'Atomics.isLockFree(3) returns Atomics.isLockFree({toString: () => "3"})'
+);
 
 function hide(k, x) {
   if (k) {
diff --git a/test/built-ins/Atomics/isLockFree/descriptor.js b/test/built-ins/Atomics/isLockFree/descriptor.js
index d9c786c8ce..ef47411ebb 100644
--- a/test/built-ins/Atomics/isLockFree/descriptor.js
+++ b/test/built-ins/Atomics/isLockFree/descriptor.js
@@ -8,6 +8,8 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-verifyWritable(Atomics, "add");
-verifyNotEnumerable(Atomics, "add");
-verifyConfigurable(Atomics, "add");
+verifyProperty(Atomics, 'add', {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/isLockFree/expected-return-value.js b/test/built-ins/Atomics/isLockFree/expected-return-value.js
index 81898abe72..a057543a8a 100644
--- a/test/built-ins/Atomics/isLockFree/expected-return-value.js
+++ b/test/built-ins/Atomics/isLockFree/expected-return-value.js
@@ -1,30 +1,111 @@
-// Copyright (C) 2018 Rick Waldron.  All rights reserved.
+// Copyright (C) 2017 Mozilla Corporation.  All rights reserved.
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-esid: sec-atomics.isLockFree
+esid: sec-atomics.islockfree
 description: >
-  Atomics.isLockFree returns a boolean that indicates whether
-  operations on datum of size will be performed without the agent
-  acquiring a lock outside of size bytes.
-info: |
   Atomics.isLockFree( size )
+    Let n be ? ToInteger(size).
+    Let AR be the Agent Record of the surrounding agent.
+    If n equals 1, return AR.[[IsLockFree1]].
+    If n equals 2, return AR.[[IsLockFree2]].
+    If n equals 4, return true.
+    If n equals 8, return AR.[[IsLockFree8]].
+    Return false.
+features: [Atomics]
+---*/
 
-  1. Let n be ? ToInteger(size).
-  2. Let AR be the Agent Record of the surrounding agent.
-  3. If n equals 1, return AR.[[IsLockFree1]].
-  4. If n equals 2, return AR.[[IsLockFree2]].
-  5. If n equals 4, return true.
-  6. Return false.
+// These are the only counts that we care about tracking.
+var isLockFree1;
+var isLockFree2;
+var isLockFree8;
 
-features: [Atomics, SharedArrayBuffer, TypedArray]
-includes: [testTypedArray.js]
----*/
+{
+  isLockFree1 = Atomics.isLockFree(1);
+  //
+  // If n equals 1, return AR.[[IsLockFree1]].
+  //
+  assert.sameValue(typeof isLockFree1, 'boolean', 'The value of `typeof isLockFree1` is "boolean"');
+  // Once the values of [[Signifier]], [[IsLockFree1]], [[IsLockFree2]],
+  // and [[IsLockFree8]] have been observed by any agent in the agent
+  // cluster they cannot change.
+  assert.sameValue(
+    Atomics.isLockFree(1),
+    isLockFree1,
+    'Atomics.isLockFree(1) equals the value of `isLockFree1` (Atomics.isLockFree(1))'
+  );
+};
+{
+  isLockFree2 = Atomics.isLockFree(2);
+  //
+  // If n equals 2, return AR.[[IsLockFree2]].
+  //
+  assert.sameValue(typeof isLockFree2, 'boolean', 'The value of `typeof isLockFree2` is "boolean"');
+  // Once the values of [[Signifier]], [[IsLockFree1]], [[IsLockFree2]],
+  // and [[IsLockFree8]] have been observed by any agent in the agent
+  // cluster they cannot change.
+  assert.sameValue(
+    Atomics.isLockFree(2),
+    isLockFree2,
+    'Atomics.isLockFree(2) equals the value of `isLockFree2` (Atomics.isLockFree(2))'
+  );
+};
+{
+  let isLockFree4 = Atomics.isLockFree(4);
+  //
+  // If n equals 4, return true.
+  //
+  assert.sameValue(typeof isLockFree4, 'boolean', 'The value of `typeof isLockFree` is "boolean"');
+  assert.sameValue(isLockFree4, true, 'The value of `isLockFree` is true');
+};
 
-var views = intArrayConstructors.slice();
+{
+  let isLockFree8 = Atomics.isLockFree(8);
+  //
+  // If n equals 8, return AR.[[IsLockFree8]].
+  //
+  assert.sameValue(typeof isLockFree8, 'boolean', 'The value of `typeof isLockFree8` is "boolean"');
+  // Once the values of [[Signifier]], [[IsLockFree1]], [[IsLockFree2]],
+  // and [[IsLockFree8]] have been observed by any agent in the agent
+  // cluster they cannot change.
+  assert.sameValue(
+    Atomics.isLockFree(8),
+    isLockFree8,
+    'Atomics.isLockFree(8) equals the value of `isLockFree8` (Atomics.isLockFree(8))'
+  );
+};
 
-testWithTypedArrayConstructors(function(TA) {
-  assert.sameValue(Atomics.isLockFree(TA.BYTES_PER_ELEMENT), true);
-}, views);
+{
+  for (let i = 0; i < 12; i++) {
+    if (![1, 2, 4, 8].includes(i)) {
+      assert.sameValue(Atomics.isLockFree(i), false);
+    }
+  }
+};
 
+assert.sameValue(
+  Atomics.isLockFree(1),
+  isLockFree1,
+  'Later call to Atomics.isLockFree(1) equals the value of `isLockFree1` (Atomics.isLockFree(1))'
+);
+assert.sameValue(
+  Atomics.isLockFree(2),
+  isLockFree2,
+  'Later call to Atomics.isLockFree(2) equals the value of `isLockFree2` (Atomics.isLockFree(2))'
+);
+assert.sameValue(
+  Atomics.isLockFree(8),
+  isLockFree8,
+  'Later call to Atomics.isLockFree(8) equals the value of `isLockFree8` (Atomics.isLockFree(8))'
+);
 
+// Duplicates behavior created by loop from above
+assert.sameValue(Atomics.isLockFree(3), false, 'Atomics.isLockFree(3) returns false');
+assert.sameValue(Atomics.isLockFree(4), true, 'Atomics.isLockFree(4) returns true');
+assert.sameValue(Atomics.isLockFree(5), false, 'Atomics.isLockFree(5) returns false');
+assert.sameValue(Atomics.isLockFree(6), false, 'Atomics.isLockFree(6) returns false');
+assert.sameValue(Atomics.isLockFree(7), false, 'Atomics.isLockFree(7) returns false');
+assert.sameValue(Atomics.isLockFree(9), false, 'Atomics.isLockFree(9) returns false');
+assert.sameValue(Atomics.isLockFree(10), false, 'Atomics.isLockFree(10) returns false');
+assert.sameValue(Atomics.isLockFree(11), false, 'Atomics.isLockFree(11) returns false');
+assert.sameValue(Atomics.isLockFree(12), false, 'Atomics.isLockFree(12) returns false');
diff --git a/test/built-ins/Atomics/isLockFree/length.js b/test/built-ins/Atomics/isLockFree/length.js
index beaf7962c7..e529f1ecf3 100644
--- a/test/built-ins/Atomics/isLockFree/length.js
+++ b/test/built-ins/Atomics/isLockFree/length.js
@@ -24,8 +24,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.isLockFree.length, 1);
-
-verifyNotEnumerable(Atomics.isLockFree, "length");
-verifyNotWritable(Atomics.isLockFree, "length");
-verifyConfigurable(Atomics.isLockFree, "length");
+verifyProperty(Atomics.isLockFree, 'length', {
+  value: 1,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/isLockFree/name.js b/test/built-ins/Atomics/isLockFree/name.js
index bfa8478edd..eaedf2e857 100644
--- a/test/built-ins/Atomics/isLockFree/name.js
+++ b/test/built-ins/Atomics/isLockFree/name.js
@@ -10,8 +10,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.isLockFree.name, "isLockFree");
-
-verifyNotEnumerable(Atomics.isLockFree, "name");
-verifyNotWritable(Atomics.isLockFree, "name");
-verifyConfigurable(Atomics.isLockFree, "name");
+verifyProperty(Atomics.isLockFree, 'name', {
+  value: 'isLockFree',
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/isLockFree/value.js b/test/built-ins/Atomics/isLockFree/value.js
deleted file mode 100644
index 737043dad3..0000000000
--- a/test/built-ins/Atomics/isLockFree/value.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright (C) 2017 Mozilla Corporation.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-atomics.islockfree
-description: >
-  Test isLockFree on nonnegative integer arguments
-features: [Atomics]
----*/
-
-var sizes   = [    1,     2,     3,     4,     5,     6,     7,  8,
-                   9,    10,    11,    12];
-var answers = [   {},    {}, false,  true, false, false, false, false,
-               false, false, false, false];
-
-var saved = {};
-
-// This should defeat most optimizations.
-
-for (var i = 0; i < sizes.length; i++) {
-  var v = Atomics.isLockFree(sizes[i]);
-  var a = answers[i];
-  assert.sameValue(typeof v, 'boolean');
-  if (typeof a == 'boolean') {
-    assert.sameValue(v, a);
-  } else {
-    saved[sizes[i]] = v;
-  }
-}
-
-// This ought to be optimizable.  Make sure the answers are the same
-// as for the unoptimized case.
-
-assert.sameValue(Atomics.isLockFree(1), saved[1]);
-assert.sameValue(Atomics.isLockFree(2), saved[2]);
-assert.sameValue(Atomics.isLockFree(3), false);
-assert.sameValue(Atomics.isLockFree(4), true);
-assert.sameValue(Atomics.isLockFree(5), false);
-assert.sameValue(Atomics.isLockFree(6), false);
-assert.sameValue(Atomics.isLockFree(7), false);
-assert.sameValue(Atomics.isLockFree(8), false);
-assert.sameValue(Atomics.isLockFree(9), false);
-assert.sameValue(Atomics.isLockFree(10), false);
-assert.sameValue(Atomics.isLockFree(11), false);
-assert.sameValue(Atomics.isLockFree(12), false);
diff --git a/test/built-ins/Atomics/load/descriptor.js b/test/built-ins/Atomics/load/descriptor.js
index 65002a23d9..1320c21865 100644
--- a/test/built-ins/Atomics/load/descriptor.js
+++ b/test/built-ins/Atomics/load/descriptor.js
@@ -8,6 +8,8 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-verifyWritable(Atomics, "load");
-verifyNotEnumerable(Atomics, "load");
-verifyConfigurable(Atomics, "load");
+verifyProperty(Atomics, 'load', {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/load/expected-return-value.js b/test/built-ins/Atomics/load/expected-return-value.js
index b2ad4e19ae..7116765a67 100644
--- a/test/built-ins/Atomics/load/expected-return-value.js
+++ b/test/built-ins/Atomics/load/expected-return-value.js
@@ -30,11 +30,11 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 
 var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT);
 var i32a = new Int32Array(buffer);
-var value = 0b00000001000000001000000010000001;
+var update = 0b00000001000000001000000010000001;
 
 assert.sameValue(Atomics.load(i32a, 0), 0);
 
-i32a[0] = value;
+i32a[0] = update;
 
-assert.sameValue(Atomics.load(i32a, 0), value);
+assert.sameValue(Atomics.load(i32a, 0), update);
 
diff --git a/test/built-ins/Atomics/load/length.js b/test/built-ins/Atomics/load/length.js
index 072711b9c2..b917a38714 100644
--- a/test/built-ins/Atomics/load/length.js
+++ b/test/built-ins/Atomics/load/length.js
@@ -24,8 +24,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.load.length, 2);
-
-verifyNotEnumerable(Atomics.load, "length");
-verifyNotWritable(Atomics.load, "length");
-verifyConfigurable(Atomics.load, "length");
+verifyProperty(Atomics.load, 'length', {
+  value: 2,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/load/name.js b/test/built-ins/Atomics/load/name.js
index 7629a7c09f..279cf9664e 100644
--- a/test/built-ins/Atomics/load/name.js
+++ b/test/built-ins/Atomics/load/name.js
@@ -10,8 +10,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.load.name, "load");
-
-verifyNotEnumerable(Atomics.load, "name");
-verifyNotWritable(Atomics.load, "name");
-verifyConfigurable(Atomics.load, "name");
+verifyProperty(Atomics.load, 'name', {
+  value: 'load',
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/or/descriptor.js b/test/built-ins/Atomics/or/descriptor.js
index f074365a8c..f9f83981bb 100644
--- a/test/built-ins/Atomics/or/descriptor.js
+++ b/test/built-ins/Atomics/or/descriptor.js
@@ -7,7 +7,8 @@ description: Testing descriptor property of Atomics.or
 includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
-
-verifyWritable(Atomics, "or");
-verifyNotEnumerable(Atomics, "or");
-verifyConfigurable(Atomics, "or");
+verifyProperty(Atomics, 'or', {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/or/expected-return-value.js b/test/built-ins/Atomics/or/expected-return-value.js
index 1cb876ede6..8e9a394ea0 100644
--- a/test/built-ins/Atomics/or/expected-return-value.js
+++ b/test/built-ins/Atomics/or/expected-return-value.js
@@ -29,7 +29,7 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 
 var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT);
 var i32a = new Int32Array(buffer);
-var value = 0b00000001000000001000000010000001;
+var update = 0b00000001000000001000000010000001;
 
-assert.sameValue(Atomics.or(i32a, 0, value), 0);
-assert.sameValue(i32a[0], 0 | value);
+assert.sameValue(Atomics.or(i32a, 0, update), 0);
+assert.sameValue(i32a[0], 0 | update);
diff --git a/test/built-ins/Atomics/or/length.js b/test/built-ins/Atomics/or/length.js
index 05e2c49563..e09822bb47 100644
--- a/test/built-ins/Atomics/or/length.js
+++ b/test/built-ins/Atomics/or/length.js
@@ -24,8 +24,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.or.length, 3);
-
-verifyNotEnumerable(Atomics.or, "length");
-verifyNotWritable(Atomics.or, "length");
-verifyConfigurable(Atomics.or, "length");
+verifyProperty(Atomics.or, 'length', {
+  value: 3,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/or/name.js b/test/built-ins/Atomics/or/name.js
index 4096e9697d..d1826272a5 100644
--- a/test/built-ins/Atomics/or/name.js
+++ b/test/built-ins/Atomics/or/name.js
@@ -10,8 +10,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.or.name, "or");
-
-verifyNotEnumerable(Atomics.or, "name");
-verifyNotWritable(Atomics.or, "name");
-verifyConfigurable(Atomics.or, "name");
+verifyProperty(Atomics.or, 'name', {
+  value: 'or',
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/store/descriptor.js b/test/built-ins/Atomics/store/descriptor.js
index 342f7827bc..7b127363d0 100644
--- a/test/built-ins/Atomics/store/descriptor.js
+++ b/test/built-ins/Atomics/store/descriptor.js
@@ -7,7 +7,8 @@ description: Testing descriptor property of Atomics.store
 includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
-
-verifyWritable(Atomics, "store");
-verifyNotEnumerable(Atomics, "store");
-verifyConfigurable(Atomics, "store");
+verifyProperty(Atomics, 'store', {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/store/expected-return-value.js b/test/built-ins/Atomics/store/expected-return-value.js
index 133b39ec92..763453d165 100644
--- a/test/built-ins/Atomics/store/expected-return-value.js
+++ b/test/built-ins/Atomics/store/expected-return-value.js
@@ -20,7 +20,7 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 
 var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT);
 var i32a = new Int32Array(buffer);
-var expect = 0b00000001000000001000000010000001;
+var update = 0b00000001000000001000000010000001;
 
-assert.sameValue(Atomics.store(i32a, 0, expect), expect);
-assert.sameValue(i32a[0], expect);
+assert.sameValue(Atomics.store(i32a, 0, update), update);
+assert.sameValue(i32a[0], update);
diff --git a/test/built-ins/Atomics/store/length.js b/test/built-ins/Atomics/store/length.js
index 9143f9459f..53ffb0546c 100644
--- a/test/built-ins/Atomics/store/length.js
+++ b/test/built-ins/Atomics/store/length.js
@@ -24,8 +24,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.store.length, 3);
-
-verifyNotEnumerable(Atomics.store, "length");
-verifyNotWritable(Atomics.store, "length");
-verifyConfigurable(Atomics.store, "length");
+verifyProperty(Atomics.store, 'length', {
+  value: 3,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/store/name.js b/test/built-ins/Atomics/store/name.js
index 97d8ca3628..75aceb62ad 100644
--- a/test/built-ins/Atomics/store/name.js
+++ b/test/built-ins/Atomics/store/name.js
@@ -10,8 +10,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.store.name, "store");
-
-verifyNotEnumerable(Atomics.store, "name");
-verifyNotWritable(Atomics.store, "name");
-verifyConfigurable(Atomics.store, "name");
+verifyProperty(Atomics.store, 'name', {
+  value: 'store',
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/sub/descriptor.js b/test/built-ins/Atomics/sub/descriptor.js
index 8d81ad48a5..e1d59dde71 100644
--- a/test/built-ins/Atomics/sub/descriptor.js
+++ b/test/built-ins/Atomics/sub/descriptor.js
@@ -8,6 +8,8 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-verifyWritable(Atomics, "sub");
-verifyNotEnumerable(Atomics, "sub");
-verifyConfigurable(Atomics, "sub");
+verifyProperty(Atomics, 'sub', {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/sub/expected-return-value.js b/test/built-ins/Atomics/sub/expected-return-value.js
index 77ce9506e7..9116a649d7 100644
--- a/test/built-ins/Atomics/sub/expected-return-value.js
+++ b/test/built-ins/Atomics/sub/expected-return-value.js
@@ -29,9 +29,9 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 
 var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT);
 var i32a = new Int32Array(buffer);
-var value = 0b00000001000000001000000010000001;
+var update = 0b00000001000000001000000010000001;
 
-i32a[0] = value;
+i32a[0] = update;
 
-assert.sameValue(Atomics.sub(i32a, 0, value), value);
+assert.sameValue(Atomics.sub(i32a, 0, update), update);
 assert.sameValue(i32a[0], 0);
diff --git a/test/built-ins/Atomics/sub/length.js b/test/built-ins/Atomics/sub/length.js
index 8130e97385..e35f698597 100644
--- a/test/built-ins/Atomics/sub/length.js
+++ b/test/built-ins/Atomics/sub/length.js
@@ -24,8 +24,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.sub.length, 3);
-
-verifyNotEnumerable(Atomics.sub, "length");
-verifyNotWritable(Atomics.sub, "length");
-verifyConfigurable(Atomics.sub, "length");
+verifyProperty(Atomics.sub, 'length', {
+  value: 3,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/sub/name.js b/test/built-ins/Atomics/sub/name.js
index 64afa5d9f0..93ae7fab42 100644
--- a/test/built-ins/Atomics/sub/name.js
+++ b/test/built-ins/Atomics/sub/name.js
@@ -10,8 +10,10 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.sub.name, "sub");
+verifyProperty(Atomics.sub, 'name', {
+  value: 'sub',
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
 
-verifyNotEnumerable(Atomics.sub, "name");
-verifyNotWritable(Atomics.sub, "name");
-verifyConfigurable(Atomics.sub, "name");
diff --git a/test/built-ins/Atomics/wait/bigint/did-timeout.js b/test/built-ins/Atomics/wait/bigint/did-timeout.js
index fee3b1982c..47d99e1b68 100644
--- a/test/built-ins/Atomics/wait/bigint/did-timeout.js
+++ b/test/built-ins/Atomics/wait/bigint/did-timeout.js
@@ -26,9 +26,9 @@ function getReport() {
 $262.agent.start(`
 $262.agent.receiveBroadcast(function(sab, id) {
   var ia = new BigInt64Array(sab);
-  var then = Date.now();
+  var then = $262.agent.monotonicNow();
   $262.agent.report(Atomics.wait(ia, 0, 0, 500)); // Timeout 500ms
-  $262.agent.report(Date.now() - then);           // Actual time can be more than 500ms
+  $262.agent.report($262.agent.monotonicNow() - then);           // Actual time can be more than 500ms
   $262.agent.leaving();
 });
 `);
diff --git a/test/built-ins/Atomics/wait/bigint/false-for-timeout-agent.js b/test/built-ins/Atomics/wait/bigint/false-for-timeout-agent.js
index cc2d8a292d..93f3bc8c33 100644
--- a/test/built-ins/Atomics/wait/bigint/false-for-timeout-agent.js
+++ b/test/built-ins/Atomics/wait/bigint/false-for-timeout-agent.js
@@ -38,11 +38,11 @@ var toPrimitive = {
 
 $262.agent.receiveBroadcast(function(sab) {
   var i64a = new BigInt64Array(sab);
-  var start = Date.now();
+  var start = $262.agent.monotonicNow();
   $262.agent.report(Atomics.wait(i64a, 0, 0, false));
   $262.agent.report(Atomics.wait(i64a, 0, 0, valueOf));
   $262.agent.report(Atomics.wait(i64a, 0, 0, toPrimitive));
-  $262.agent.report(Date.now() - start);
+  $262.agent.report($262.agent.monotonicNow() - start);
   $262.agent.leaving();
 });
 `);
diff --git a/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store-padded-time.js b/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store-padded-time.js
index 7aa69020d6..2e7b540f65 100644
--- a/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store-padded-time.js
+++ b/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store-padded-time.js
@@ -13,9 +13,9 @@ features: [Atomics, BigInt, SharedArrayBuffer, TypedArray]
 $262.agent.start(`
 $262.agent.receiveBroadcast(function(sab, id) {
   var ia = new BigInt64Array(sab);
-  var then = Date.now();
+  var then = $262.agent.monotonicNow();
   Atomics.wait(ia, 0, 0);
-  var diff = Date.now() - then;        // Should be about 1000 ms but can be more
+  var diff = $262.agent.monotonicNow() - then;        // Should be about 1000 ms but can be more
   $262.agent.report(diff);
   $262.agent.leaving();
 })
diff --git a/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store.js b/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store.js
index 0dee43eb5a..2296fb1f0d 100644
--- a/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store.js
+++ b/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store.js
@@ -23,10 +23,10 @@ const i64a = new BigInt64Array(
 $262.agent.start(`
   $262.agent.receiveBroadcast(function(sab) {
     var i64a = new BigInt64Array(sab);
-    var before = Date.now();
+    var before = $262.agent.monotonicNow();
     $262.agent.report("ready");
     Atomics.wait(i64a, 0, 0, ${TWO_SECOND_TIMEOUT});
-    $262.agent.report(Date.now() - before);
+    $262.agent.report($262.agent.monotonicNow() - before);
     $262.agent.leaving();
   });
 `);
diff --git a/test/built-ins/Atomics/wait/descriptor.js b/test/built-ins/Atomics/wait/descriptor.js
index bfa9f3ac94..550d87b599 100644
--- a/test/built-ins/Atomics/wait/descriptor.js
+++ b/test/built-ins/Atomics/wait/descriptor.js
@@ -8,6 +8,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-verifyWritable(Atomics, "wait");
-verifyNotEnumerable(Atomics, "wait");
-verifyConfigurable(Atomics, "wait");
+verifyProperty(Atomics, 'wait', {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});
+
diff --git a/test/built-ins/Atomics/wait/did-timeout.js b/test/built-ins/Atomics/wait/did-timeout.js
index 82c1f1beb1..41ff82f5a6 100644
--- a/test/built-ins/Atomics/wait/did-timeout.js
+++ b/test/built-ins/Atomics/wait/did-timeout.js
@@ -27,9 +27,9 @@ function getReport() {
 $262.agent.start(`
 $262.agent.receiveBroadcast(function(sab, id) {
   var i32a = new Int32Array(sab);
-  var then = Date.now();
+  var before = $262.agent.monotonicNow();
   $262.agent.report(Atomics.wait(i32a, 0, 0, 500)); // Timeout 500ms
-  $262.agent.report(Date.now() - then);           // Actual time can be more than 500ms
+  $262.agent.report($262.agent.monotonicNow() - before); // Actual time can be more than 500ms
   $262.agent.leaving();
 })
 `);
diff --git a/test/built-ins/Atomics/wait/false-for-timeout-agent.js b/test/built-ins/Atomics/wait/false-for-timeout-agent.js
index d54e57cf45..346ff60687 100644
--- a/test/built-ins/Atomics/wait/false-for-timeout-agent.js
+++ b/test/built-ins/Atomics/wait/false-for-timeout-agent.js
@@ -40,11 +40,11 @@ var toPrimitive = {
 
 $262.agent.receiveBroadcast(function(sab) {
   var i32a = new Int32Array(sab);
-  var start = Date.now();
+  var before = $262.agent.monotonicNow();
   $262.agent.report(Atomics.wait(i32a, 0, 0, false));
   $262.agent.report(Atomics.wait(i32a, 0, 0, valueOf));
   $262.agent.report(Atomics.wait(i32a, 0, 0, toPrimitive));
-  $262.agent.report(Date.now() - start);
+  $262.agent.report($262.agent.monotonicNow() - before);
   $262.agent.leaving();
 })
 `);
diff --git a/test/built-ins/Atomics/wait/length.js b/test/built-ins/Atomics/wait/length.js
index 53dbc3f52c..3452475b29 100644
--- a/test/built-ins/Atomics/wait/length.js
+++ b/test/built-ins/Atomics/wait/length.js
@@ -24,8 +24,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.wait.length, 4);
-
-verifyNotEnumerable(Atomics.wait, "length");
-verifyNotWritable(Atomics.wait, "length");
-verifyConfigurable(Atomics.wait, "length");
+verifyProperty(Atomics.wait, 'length', {
+  value: 4,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/wait/name.js b/test/built-ins/Atomics/wait/name.js
index 38d22dda68..6c10aa19e6 100644
--- a/test/built-ins/Atomics/wait/name.js
+++ b/test/built-ins/Atomics/wait/name.js
@@ -10,8 +10,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.wait.name, "wait");
-
-verifyNotEnumerable(Atomics.wait, "name");
-verifyNotWritable(Atomics.wait, "name");
-verifyConfigurable(Atomics.wait, "name");
+verifyProperty(Atomics.wait, 'name', {
+  value: 'wait',
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-add.js b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-add.js
index 14eafc31f7..24fde8580b 100644
--- a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-add.js
+++ b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-add.js
@@ -23,10 +23,10 @@ const i32a = new Int32Array(
 $262.agent.start(`
   $262.agent.receiveBroadcast(function(sab) {
     var i32a = new Int32Array(sab);
-    var before = Date.now();
+    var before = $262.agent.monotonicNow();
     $262.agent.report("ready");
     Atomics.wait(i32a, 0, 0, ${TWO_SECOND_TIMEOUT});
-    $262.agent.report(Date.now() - before);
+    $262.agent.report($262.agent.monotonicNow() - before);
     $262.agent.leaving();
   });
 `);
diff --git a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-and.js b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-and.js
index 64be29377e..4c69ef53f7 100644
--- a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-and.js
+++ b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-and.js
@@ -23,10 +23,10 @@ const i32a = new Int32Array(
 $262.agent.start(`
   $262.agent.receiveBroadcast(function(sab) {
     var i32a = new Int32Array(sab);
-    var before = Date.now();
+    var before = $262.agent.monotonicNow();
     $262.agent.report("ready");
     Atomics.wait(i32a, 0, 0, ${TWO_SECOND_TIMEOUT});
-    $262.agent.report(Date.now() - before);
+    $262.agent.report($262.agent.monotonicNow() - before);
     $262.agent.leaving();
   });
 `);
diff --git a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-compareExchange.js b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-compareExchange.js
index 1aec3286c2..81458cf612 100644
--- a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-compareExchange.js
+++ b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-compareExchange.js
@@ -23,10 +23,10 @@ const i32a = new Int32Array(
 $262.agent.start(`
   $262.agent.receiveBroadcast(function(sab) {
     var i32a = new Int32Array(sab);
-    var before = Date.now();
+    var before = $262.agent.monotonicNow();
     $262.agent.report("ready");
     Atomics.wait(i32a, 0, 0, ${TWO_SECOND_TIMEOUT});
-    $262.agent.report(Date.now() - before);
+    $262.agent.report($262.agent.monotonicNow() - before);
     $262.agent.leaving();
   });
 `);
diff --git a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-exchange.js b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-exchange.js
index cb3f1d97f3..383c548e5d 100644
--- a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-exchange.js
+++ b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-exchange.js
@@ -23,10 +23,10 @@ const i32a = new Int32Array(
 $262.agent.start(`
   $262.agent.receiveBroadcast(function(sab) {
     var i32a = new Int32Array(sab);
-    var before = Date.now();
+    var before = $262.agent.monotonicNow();
     $262.agent.report("ready");
     Atomics.wait(i32a, 0, 0, ${TWO_SECOND_TIMEOUT});
-    $262.agent.report(Date.now() - before);
+    $262.agent.report($262.agent.monotonicNow() - before);
     $262.agent.leaving();
   });
 `);
diff --git a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-or.js b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-or.js
index 258ecce13f..b6f48d4471 100644
--- a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-or.js
+++ b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-or.js
@@ -23,10 +23,10 @@ const i32a = new Int32Array(
 $262.agent.start(`
   $262.agent.receiveBroadcast(function(sab) {
     var i32a = new Int32Array(sab);
-    var before = Date.now();
+    var before = $262.agent.monotonicNow();
     $262.agent.report("ready");
     Atomics.wait(i32a, 0, 0, ${TWO_SECOND_TIMEOUT});
-    $262.agent.report(Date.now() - before);
+    $262.agent.report($262.agent.monotonicNow() - before);
     $262.agent.leaving();
   });
 `);
diff --git a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-store-padded-time.js b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-store-padded-time.js
index cc538140dd..c8c66eb86f 100644
--- a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-store-padded-time.js
+++ b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-store-padded-time.js
@@ -13,9 +13,9 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 $262.agent.start(`
 $262.agent.receiveBroadcast(function(sab, id) {
   var i32a = new Int32Array(sab);
-  var then = Date.now();
+  var then = $262.agent.monotonicNow();
   Atomics.wait(i32a, 0, 0);
-  var diff = Date.now() - then;        // Should be about 1000 ms but can be more
+  var diff = $262.agent.monotonicNow() - then;        // Should be about 1000 ms but can be more
   $262.agent.report(diff);
   $262.agent.leaving();
 })
diff --git a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-store.js b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-store.js
index 6cb8f24931..fbac920c93 100644
--- a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-store.js
+++ b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-store.js
@@ -23,10 +23,10 @@ const i32a = new Int32Array(
 $262.agent.start(`
   $262.agent.receiveBroadcast(function(sab) {
     var i32a = new Int32Array(sab);
-    var before = Date.now();
+    var before = $262.agent.monotonicNow();
     $262.agent.report("ready");
     Atomics.wait(i32a, 0, 0, ${TWO_SECOND_TIMEOUT});
-    $262.agent.report(Date.now() - before);
+    $262.agent.report($262.agent.monotonicNow() - before);
     $262.agent.leaving();
   });
 `);
diff --git a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-sub.js b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-sub.js
index 0bd3ee6e82..908f30e37a 100644
--- a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-sub.js
+++ b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-sub.js
@@ -23,10 +23,10 @@ const i32a = new Int32Array(
 $262.agent.start(`
   $262.agent.receiveBroadcast(function(sab) {
     var i32a = new Int32Array(sab);
-    var before = Date.now();
+    var before = $262.agent.monotonicNow();
     $262.agent.report("ready");
     Atomics.wait(i32a, 0, 0, ${TWO_SECOND_TIMEOUT});
-    $262.agent.report(Date.now() - before);
+    $262.agent.report($262.agent.monotonicNow() - before);
     $262.agent.leaving();
   });
 `);
diff --git a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-xor.js b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-xor.js
index ff4796715e..5356b3fd77 100644
--- a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-xor.js
+++ b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-xor.js
@@ -23,10 +23,10 @@ const i32a = new Int32Array(
 $262.agent.start(`
   $262.agent.receiveBroadcast(function(sab) {
     var i32a = new Int32Array(sab);
-    var before = Date.now();
+    var before = $262.agent.monotonicNow();
     $262.agent.report("ready");
     Atomics.wait(i32a, 0, 0, ${TWO_SECOND_TIMEOUT});
-    $262.agent.report(Date.now() - before);
+    $262.agent.report($262.agent.monotonicNow() - before);
     $262.agent.leaving();
   });
 `);
diff --git a/test/built-ins/Atomics/wait/null-for-timeout-agent.js b/test/built-ins/Atomics/wait/null-for-timeout-agent.js
index c7d376f457..1793d59ffd 100644
--- a/test/built-ins/Atomics/wait/null-for-timeout-agent.js
+++ b/test/built-ins/Atomics/wait/null-for-timeout-agent.js
@@ -40,11 +40,11 @@ var toPrimitive = {
 
 $262.agent.receiveBroadcast(function(sab) {
   var i32a = new Int32Array(sab);
-  var start = Date.now();
+  var before = $262.agent.monotonicNow();
   $262.agent.report(Atomics.wait(i32a, 0, 0, null));
   $262.agent.report(Atomics.wait(i32a, 0, 0, valueOf));
   $262.agent.report(Atomics.wait(i32a, 0, 0, toPrimitive));
-  $262.agent.report(Date.now() - start);
+  $262.agent.report($262.agent.monotonicNow() - before);
   $262.agent.leaving();
 })
 `);
diff --git a/test/built-ins/Atomics/wait/object-for-timeout-agent.js b/test/built-ins/Atomics/wait/object-for-timeout-agent.js
index cca80c08c2..477d24df09 100644
--- a/test/built-ins/Atomics/wait/object-for-timeout-agent.js
+++ b/test/built-ins/Atomics/wait/object-for-timeout-agent.js
@@ -47,11 +47,11 @@ var toPrimitive = {
 
 $262.agent.receiveBroadcast(function(sab) {
   var i32a = new Int32Array(sab);
-  var start = Date.now();
+  var start = $262.agent.monotonicNow();
   $262.agent.report(Atomics.wait(i32a, 0, 0, valueOf));
   $262.agent.report(Atomics.wait(i32a, 0, 0, toString));
   $262.agent.report(Atomics.wait(i32a, 0, 0, toPrimitive));
-  $262.agent.report(Date.now() - start);
+  $262.agent.report($262.agent.monotonicNow() - start);
   $262.agent.leaving();
 })
 `);
diff --git a/test/built-ins/Atomics/wait/poisoned-object-for-timeout-throws-agent.js b/test/built-ins/Atomics/wait/poisoned-object-for-timeout-throws-agent.js
index 738c78072e..f4a068881f 100644
--- a/test/built-ins/Atomics/wait/poisoned-object-for-timeout-throws-agent.js
+++ b/test/built-ins/Atomics/wait/poisoned-object-for-timeout-throws-agent.js
@@ -40,7 +40,7 @@ var poisonedToPrimitive = {
 
 $262.agent.receiveBroadcast(function(sab) {
   var i32a = new Int32Array(sab);
-  var start = Date.now();
+  var start = $262.agent.monotonicNow();
   try {
     Atomics.wait(i32a, 0, 0, poisonedValueOf);
   } catch (error) {
@@ -51,7 +51,7 @@ $262.agent.receiveBroadcast(function(sab) {
   } catch (error) {
     $262.agent.report("poisonedToPrimitive");
   }
-  $262.agent.report(Date.now() - start);
+  $262.agent.report($262.agent.monotonicNow() - start);
   $262.agent.leaving();
 });
 `);
diff --git a/test/built-ins/Atomics/wait/symbol-for-index-throws-agent.js b/test/built-ins/Atomics/wait/symbol-for-index-throws-agent.js
index e341a344c9..997ad79246 100644
--- a/test/built-ins/Atomics/wait/symbol-for-index-throws-agent.js
+++ b/test/built-ins/Atomics/wait/symbol-for-index-throws-agent.js
@@ -53,7 +53,7 @@ var poisonedToPrimitive = {
 
 $262.agent.receiveBroadcast(function(sab) {
   var i32a = new Int32Array(sab);
-  var start = Date.now();
+  var start = $262.agent.monotonicNow();
   try {
     Atomics.wait(i32a, Symbol("1"), poisonedValueOf, poisonedValueOf);
   } catch (error) {
@@ -64,7 +64,7 @@ $262.agent.receiveBroadcast(function(sab) {
   } catch (error) {
     $262.agent.report('Symbol("2")');
   }
-  $262.agent.report(Date.now() - start);
+  $262.agent.report($262.agent.monotonicNow() - start);
   $262.agent.leaving();
 });
 `);
diff --git a/test/built-ins/Atomics/wait/symbol-for-timeout-throws-agent.js b/test/built-ins/Atomics/wait/symbol-for-timeout-throws-agent.js
index 9dc6526e57..9c23685c7c 100644
--- a/test/built-ins/Atomics/wait/symbol-for-timeout-throws-agent.js
+++ b/test/built-ins/Atomics/wait/symbol-for-timeout-throws-agent.js
@@ -26,7 +26,7 @@ function getReport() {
 $262.agent.start(`
 $262.agent.receiveBroadcast(function(sab) {
   var i32a = new Int32Array(sab);
-  var start = Date.now();
+  var start = $262.agent.monotonicNow();
   try {
     Atomics.wait(i32a, 0, 0, Symbol("1"));
   } catch (error) {
@@ -37,7 +37,7 @@ $262.agent.receiveBroadcast(function(sab) {
   } catch (error) {
     $262.agent.report('Symbol("2")');
   }
-  $262.agent.report(Date.now() - start);
+  $262.agent.report($262.agent.monotonicNow() - start);
   $262.agent.leaving();
 });
 `);
diff --git a/test/built-ins/Atomics/wait/symbol-for-value-throws-agent.js b/test/built-ins/Atomics/wait/symbol-for-value-throws-agent.js
index 35f1c9aae3..b3f582db00 100644
--- a/test/built-ins/Atomics/wait/symbol-for-value-throws-agent.js
+++ b/test/built-ins/Atomics/wait/symbol-for-value-throws-agent.js
@@ -43,7 +43,7 @@ var poisonedToPrimitive = {
 
 $262.agent.receiveBroadcast(function(sab) {
   var i32a = new Int32Array(sab);
-  var start = Date.now();
+  var start = $262.agent.monotonicNow();
   try {
     Atomics.wait(i32a, 0, Symbol("1"), poisonedValueOf);
   } catch (error) {
@@ -54,7 +54,7 @@ $262.agent.receiveBroadcast(function(sab) {
   } catch (error) {
     $262.agent.report('Symbol("2")');
   }
-  $262.agent.report(Date.now() - start);
+  $262.agent.report($262.agent.monotonicNow() - start);
   $262.agent.leaving();
 });
 `);
diff --git a/test/built-ins/Atomics/wait/true-for-timeout-agent.js b/test/built-ins/Atomics/wait/true-for-timeout-agent.js
index 53b3b50e2f..7e3b1fb0c3 100644
--- a/test/built-ins/Atomics/wait/true-for-timeout-agent.js
+++ b/test/built-ins/Atomics/wait/true-for-timeout-agent.js
@@ -40,11 +40,11 @@ var toPrimitive = {
 
 $262.agent.receiveBroadcast(function(sab) {
   var i32a = new Int32Array(sab);
-  var start = Date.now();
+  var start = $262.agent.monotonicNow();
   $262.agent.report(Atomics.wait(i32a, 0, 0, true));
   $262.agent.report(Atomics.wait(i32a, 0, 0, valueOf));
   $262.agent.report(Atomics.wait(i32a, 0, 0, toPrimitive));
-  $262.agent.report(Date.now() - start);
+  $262.agent.report($262.agent.monotonicNow() - start);
   $262.agent.leaving();
 })
 `);
diff --git a/test/built-ins/Atomics/wait/waiterlist-order-of-operations-is-fifo.js b/test/built-ins/Atomics/wait/waiterlist-order-of-operations-is-fifo.js
index 6f9bb220c2..20bfe22a5c 100644
--- a/test/built-ins/Atomics/wait/waiterlist-order-of-operations-is-fifo.js
+++ b/test/built-ins/Atomics/wait/waiterlist-order-of-operations-is-fifo.js
@@ -70,7 +70,7 @@ var i32a = new Int32Array(new SharedArrayBuffer(4));
 
 $262.agent.broadcast(i32a.buffer);
 
-var orderWhichAgentsWereStarted = getReport() + getReport() + getReport(); // can be started in any order
+var orderAgentsStarted = getReport() + getReport() + getReport(); // can be started in any order
 
 assert.sameValue(Atomics.wake(i32a, 0, 1), 1);
 
@@ -84,4 +84,4 @@ assert.sameValue(Atomics.wake(i32a, 0, 1), 1);
 
 orderAgentsWereWoken += getReport();
 
-assert.sameValue(orderWhichAgentsWereStarted, orderAgentsWereWoken);  // agents should wake in the same order as they were started FIFO
+assert.sameValue(orderAgentsStarted, orderAgentsWereWoken);  // agents should wake in the same order as they were started FIFO
diff --git a/test/built-ins/Atomics/wait/was-woken.js b/test/built-ins/Atomics/wait/was-woken.js
index 6fcaefca10..9bba4693f0 100644
--- a/test/built-ins/Atomics/wait/was-woken.js
+++ b/test/built-ins/Atomics/wait/was-woken.js
@@ -18,15 +18,15 @@ function getReport() {
 
 $262.agent.start(`
 $262.agent.receiveBroadcast(function(sab, id) {
-  var ia = new Int32Array(sab);
-  $262.agent.report(Atomics.wait(ia, 0, 0)); // No timeout => Infinity
+  var i32a = new Int32Array(sab);
+  $262.agent.report(Atomics.wait(i32a, 0, 0)); // No timeout => Infinity
   $262.agent.leaving();
 });
 `);
 
-var ia = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));
+var i32a = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));
 
-$262.agent.broadcast(ia.buffer);
+$262.agent.broadcast(i32a.buffer);
 $262.agent.sleep(500); // Give the agent a chance to wait
-Atomics.wake(ia, 0);
+Atomics.wake(i32a, 0);
 assert.sameValue(getReport(), "ok");
diff --git a/test/built-ins/Atomics/wake/descriptor.js b/test/built-ins/Atomics/wake/descriptor.js
index 395b3c35f5..d22f2ebb28 100644
--- a/test/built-ins/Atomics/wake/descriptor.js
+++ b/test/built-ins/Atomics/wake/descriptor.js
@@ -8,6 +8,8 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-verifyWritable(Atomics, "wake");
-verifyNotEnumerable(Atomics, "wake");
-verifyConfigurable(Atomics, "wake");
+verifyProperty(Atomics, 'wake', {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/wake/length.js b/test/built-ins/Atomics/wake/length.js
index f275634fec..a2efb99e92 100644
--- a/test/built-ins/Atomics/wake/length.js
+++ b/test/built-ins/Atomics/wake/length.js
@@ -24,8 +24,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.wake.length, 3);
-
-verifyNotEnumerable(Atomics.wake, "length");
-verifyNotWritable(Atomics.wake, "length");
-verifyConfigurable(Atomics.wake, "length");
+verifyProperty(Atomics.wake, 'length', {
+  value: 3,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/wake/name.js b/test/built-ins/Atomics/wake/name.js
index 434e272392..0a2b2c956e 100644
--- a/test/built-ins/Atomics/wake/name.js
+++ b/test/built-ins/Atomics/wake/name.js
@@ -10,8 +10,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.wake.name, "wake");
-
-verifyNotEnumerable(Atomics.wake, "name");
-verifyNotWritable(Atomics.wake, "name");
-verifyConfigurable(Atomics.wake, "name");
+verifyProperty(Atomics.wake, 'name', {
+  value: 'wake',
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/wake/negative-count.js b/test/built-ins/Atomics/wake/negative-count.js
index 3c8c6c83b6..917f0d76ec 100644
--- a/test/built-ins/Atomics/wake/negative-count.js
+++ b/test/built-ins/Atomics/wake/negative-count.js
@@ -11,7 +11,7 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 $262.agent.start(`
 $262.agent.receiveBroadcast(function(sab) {
   var ia = new Int32Array(sab);
-  $262.agent.report(Atomics.wait(ia, 0, 0, 1000)); // We will timeout eventually
+  $262.agent.report(Atomics.wait(ia, 0, 0, 1000)); // Timeout after 1 second
   $262.agent.leaving();
 })
 `);
diff --git a/test/built-ins/Atomics/wake/wake-all-on-loc.js b/test/built-ins/Atomics/wake/wake-all-on-loc.js
index 552eb52b6c..3c94b89201 100644
--- a/test/built-ins/Atomics/wake/wake-all-on-loc.js
+++ b/test/built-ins/Atomics/wake/wake-all-on-loc.js
@@ -19,9 +19,9 @@ var NUMAGENT = 3;
 for (var i=0; i < NUMAGENT; i++) {
 $262.agent.start(`
 $262.agent.receiveBroadcast(function(sab) {
-  var ia = new Int32Array(sab);
-  Atomics.add(ia, ${RUNNING}, 1);
-  $262.agent.report("A " + Atomics.wait(ia, ${WAKEUP}, 0));
+  var i32a = new Int32Array(sab);
+  Atomics.add(i32a, ${RUNNING}, 1);
+  $262.agent.report("A " + Atomics.wait(i32a, ${WAKEUP}, 0));
   $262.agent.leaving();
 })
 `);
@@ -29,26 +29,26 @@ $262.agent.receiveBroadcast(function(sab) {
 
 $262.agent.start(`
 $262.agent.receiveBroadcast(function(sab) {
-  var ia = new Int32Array(sab);
-  Atomics.add(ia, ${RUNNING}, 1);
+  var i32a = new Int32Array(sab);
+  Atomics.add(i32a, ${RUNNING}, 1);
   // This will always time out.
-  $262.agent.report("B " + Atomics.wait(ia, ${DUMMY}, 0, 10));
+  $262.agent.report("B " + Atomics.wait(i32a, ${DUMMY}, 0, 10));
   $262.agent.leaving();
 })
 `);
 
-var ia = new Int32Array(new SharedArrayBuffer(NUMELEM * Int32Array.BYTES_PER_ELEMENT));
-$262.agent.broadcast(ia.buffer);
+var i32a = new Int32Array(new SharedArrayBuffer(NUMELEM * Int32Array.BYTES_PER_ELEMENT));
+$262.agent.broadcast(i32a.buffer);
 
 // Wait for agents to be running.
-waitUntil(ia, RUNNING, NUMAGENT + 1);
+waitUntil(i32a, RUNNING, NUMAGENT + 1);
 
 // Then wait some more to give the agents a fair chance to wait.  If we don't,
 // we risk sending the wakeup before agents are sleeping, and we hang.
 $262.agent.sleep(50);
 
 // Wake all waiting on WAKEUP, should be 3 always, they won't time out.
-assert.sameValue(Atomics.wake(ia, WAKEUP), NUMAGENT);
+assert.sameValue(Atomics.wake(i32a, WAKEUP), NUMAGENT);
 
 var rs = [];
 for (var i = 0; i < NUMAGENT + 1; i++) {
@@ -69,11 +69,11 @@ function getReport() {
   return r;
 }
 
-function waitUntil(ia, k, value) {
+function waitUntil(i32a, k, value) {
   var i = 0;
-  while (Atomics.load(ia, k) !== value && i < 15) {
+  while (Atomics.load(i32a, k) !== value && i < 15) {
     $262.agent.sleep(10);
     i++;
   }
-  assert.sameValue(Atomics.load(ia, k), value, "All agents are running");
+  assert.sameValue(Atomics.load(i32a, k), value, "All agents are running");
 }
diff --git a/test/built-ins/Atomics/wake/wake-all.js b/test/built-ins/Atomics/wake/wake-all.js
index e211529280..25ef337015 100644
--- a/test/built-ins/Atomics/wake/wake-all.js
+++ b/test/built-ins/Atomics/wake/wake-all.js
@@ -18,9 +18,9 @@ var NUMAGENT = 3;
 for (var i=0; i < NUMAGENT; i++) {
 $262.agent.start(`
 $262.agent.receiveBroadcast(function(sab) {
-  var ia = new Int32Array(sab);
-  Atomics.add(ia, ${RUNNING}, 1);
-  $262.agent.report("A " + Atomics.wait(ia, ${WAKEUP}, 0));
+  var i32a = new Int32Array(sab);
+  Atomics.add(i32a, ${RUNNING}, 1);
+  $262.agent.report("A " + Atomics.wait(i32a, ${WAKEUP}, 0));
   $262.agent.leaving();
 })
 `);
@@ -28,26 +28,26 @@ $262.agent.receiveBroadcast(function(sab) {
 
 $262.agent.start(`
 $262.agent.receiveBroadcast(function(sab) {
-  var ia = new Int32Array(sab);
-  Atomics.add(ia, ${RUNNING}, 1);
+  var i32a = new Int32Array(sab);
+  Atomics.add(i32a, ${RUNNING}, 1);
   // This will always time out.
-  $262.agent.report("B " + Atomics.wait(ia, ${DUMMY}, 0, 10));
+  $262.agent.report("B " + Atomics.wait(i32a, ${DUMMY}, 0, 10));
   $262.agent.leaving();
 })
 `);
 
-var ia = new Int32Array(new SharedArrayBuffer(NUMELEM * Int32Array.BYTES_PER_ELEMENT));
-$262.agent.broadcast(ia.buffer);
+var i32a = new Int32Array(new SharedArrayBuffer(NUMELEM * Int32Array.BYTES_PER_ELEMENT));
+$262.agent.broadcast(i32a.buffer);
 
 // Wait for agents to be running.
-waitUntil(ia, RUNNING, NUMAGENT + 1);
+waitUntil(i32a, RUNNING, NUMAGENT + 1);
 
 // Then wait some more to give the agents a fair chance to wait.  If we don't,
 // we risk sending the wakeup before agents are sleeping, and we hang.
 $262.agent.sleep(50);
 
 // Wake all waiting on WAKEUP, should be 3 always, they won't time out.
-assert.sameValue(Atomics.wake(ia, WAKEUP), NUMAGENT);
+assert.sameValue(Atomics.wake(i32a, WAKEUP), NUMAGENT);
 
 var rs = [];
 for (var i = 0; i < NUMAGENT + 1; i++) {
@@ -68,11 +68,11 @@ function getReport() {
   return r;
 }
 
-function waitUntil(ia, k, value) {
+function waitUntil(i32a, k, value) {
   var i = 0;
-  while (Atomics.load(ia, k) !== value && i < 15) {
+  while (Atomics.load(i32a, k) !== value && i < 15) {
     $262.agent.sleep(10);
     i++;
   }
-  assert.sameValue(Atomics.load(ia, k), value, "All agents are running");
+  assert.sameValue(Atomics.load(i32a, k), value, "All agents are running");
 }
diff --git a/test/built-ins/Atomics/wake/wake-in-order.js b/test/built-ins/Atomics/wake/wake-in-order.js
index 8598b84b0d..60d00dc9d2 100644
--- a/test/built-ins/Atomics/wake/wake-in-order.js
+++ b/test/built-ins/Atomics/wake/wake-in-order.js
@@ -19,38 +19,38 @@ var NUMELEM = RUNNING + 1;
 // them go into a wait, thus controlling the waiting order.  Then we wake them
 // one by one and observe the wakeup order.
 
-for ( var i=0 ; i < NUMAGENT ; i++ ) {
+for (var i = 0; i < NUMAGENT; i++) {
 $262.agent.start(`
 $262.agent.receiveBroadcast(function(sab) {
-  var ia = new Int32Array(sab);
-  Atomics.add(ia, ${RUNNING}, 1);
-  while (Atomics.load(ia, ${SPIN + i}) === 0)
+  var i32a = new Int32Array(sab);
+  Atomics.add(i32a, ${RUNNING}, 1);
+  while (Atomics.load(i32a, ${SPIN + i}) === 0)
       /* nothing */ ;
-  $262.agent.report(${i} + Atomics.wait(ia, ${WAKEUP}, 0));
+  $262.agent.report(${i} + Atomics.wait(i32a, ${WAKEUP}, 0));
   $262.agent.leaving();
-})
+});
 `);
 }
 
-var ia = new Int32Array(new SharedArrayBuffer(NUMELEM * Int32Array.BYTES_PER_ELEMENT));
-$262.agent.broadcast(ia.buffer);
+var i32a = new Int32Array(new SharedArrayBuffer(NUMELEM * Int32Array.BYTES_PER_ELEMENT));
+$262.agent.broadcast(i32a.buffer);
 
 // Wait for agents to be running.
-waitUntil(ia, RUNNING, NUMAGENT);
+waitUntil(i32a, RUNNING, NUMAGENT);
 
 // Then wait some more to give the agents a fair chance to wait.  If we don't,
 // we risk sending the wakeup before agents are sleeping, and we hang.
 $262.agent.sleep(50);
 
-// Make them sleep in order 0 1 2 on ia[0]
+// Make them sleep in order 0 1 2 on i32a[0]
 for (var i = 0; i < NUMAGENT; i++) {
-  Atomics.store(ia, SPIN + i, 1);
+  Atomics.store(i32a, SPIN + i, 1);
   $262.agent.sleep(50);
 }
 
 // Wake them up one at a time and check the order is 0 1 2
 for (var i = 0; i < NUMAGENT; i++) {
-  assert.sameValue(Atomics.wake(ia, WAKEUP, 1), 1);
+  assert.sameValue(Atomics.wake(i32a, WAKEUP, 1), 1);
   assert.sameValue(getReport(), i + "ok");
 }
 
@@ -62,11 +62,11 @@ function getReport() {
   return r;
 }
 
-function waitUntil(ia, k, value) {
+function waitUntil(i32a, k, value) {
   var i = 0;
-  while (Atomics.load(ia, k) !== value && i < 15) {
+  while (Atomics.load(i32a, k) !== value && i < 15) {
     $262.agent.sleep(10);
     i++;
   }
-  assert.sameValue(Atomics.load(ia, k), value, "All agents are running");
+  assert.sameValue(Atomics.load(i32a, k), value, 'All agents are running');
 }
diff --git a/test/built-ins/Atomics/wake/wake-nan.js b/test/built-ins/Atomics/wake/wake-nan.js
index 5fa193e20e..14c47d69ce 100644
--- a/test/built-ins/Atomics/wake/wake-nan.js
+++ b/test/built-ins/Atomics/wake/wake-nan.js
@@ -10,17 +10,17 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 
 $262.agent.start(`
 $262.agent.receiveBroadcast(function(sab) {
-  var ia = new Int32Array(sab);
-  $262.agent.report(Atomics.wait(ia, 0, 0, 1000)); // We will timeout eventually
+  var i32a = new Int32Array(sab);
+  $262.agent.report(Atomics.wait(i32a, 0, 0, 1000)); // We will timeout eventually
   $262.agent.leaving();
 })
 `);
 
-var ia = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));
+var i32a = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));
 
-$262.agent.broadcast(ia.buffer);
+$262.agent.broadcast(i32a.buffer);
 $262.agent.sleep(500); // Give the agent a chance to wait
-assert.sameValue(Atomics.wake(ia, 0, NaN), 0); // Don't actually wake it
+assert.sameValue(Atomics.wake(i32a, 0, NaN), 0); // Don't actually wake it
 assert.sameValue(getReport(), "timed-out");
 
 function getReport() {
diff --git a/test/built-ins/Atomics/xor/descriptor.js b/test/built-ins/Atomics/xor/descriptor.js
index f837f67f51..80ad13066e 100644
--- a/test/built-ins/Atomics/xor/descriptor.js
+++ b/test/built-ins/Atomics/xor/descriptor.js
@@ -8,6 +8,8 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-verifyWritable(Atomics, "xor");
-verifyNotEnumerable(Atomics, "xor");
-verifyConfigurable(Atomics, "xor");
+verifyProperty(Atomics, 'xor', {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});
diff --git a/test/built-ins/Atomics/xor/expected-return-value.js b/test/built-ins/Atomics/xor/expected-return-value.js
index a9bfbbb48c..0323e77676 100644
--- a/test/built-ins/Atomics/xor/expected-return-value.js
+++ b/test/built-ins/Atomics/xor/expected-return-value.js
@@ -29,10 +29,10 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 
 var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT);
 var i32a = new Int32Array(buffer);
-var value = 0b00000001000000001000000010000001;
-var other = 0b00000001111111111000000011111111;
+var initial = 0b00000001000000001000000010000001;
+var update = 0b00000001111111111000000011111111;
 
-i32a[0] = value;
+i32a[0] = initial;
 
-assert.sameValue(Atomics.xor(i32a, 0, other), value);
-assert.sameValue(i32a[0], value ^ other);
+assert.sameValue(Atomics.xor(i32a, 0, update), initial);
+assert.sameValue(i32a[0], initial ^ update);
diff --git a/test/built-ins/Atomics/xor/length.js b/test/built-ins/Atomics/xor/length.js
index 1a00282eef..fd5fa67bb2 100644
--- a/test/built-ins/Atomics/xor/length.js
+++ b/test/built-ins/Atomics/xor/length.js
@@ -24,8 +24,10 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.xor.length, 3);
+verifyProperty(Atomics.xor, 'length', {
+  value: 3,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
 
-verifyNotEnumerable(Atomics.xor, "length");
-verifyNotWritable(Atomics.xor, "length");
-verifyConfigurable(Atomics.xor, "length");
diff --git a/test/built-ins/Atomics/xor/name.js b/test/built-ins/Atomics/xor/name.js
index f632daa105..68d125115a 100644
--- a/test/built-ins/Atomics/xor/name.js
+++ b/test/built-ins/Atomics/xor/name.js
@@ -10,8 +10,9 @@ includes: [propertyHelper.js]
 features: [Atomics]
 ---*/
 
-assert.sameValue(Atomics.xor.name, "xor");
-
-verifyNotEnumerable(Atomics.xor, "name");
-verifyNotWritable(Atomics.xor, "name");
-verifyConfigurable(Atomics.xor, "name");
+verifyProperty(Atomics.xor, 'name', {
+  value: 'xor',
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
-- 
GitLab