diff --git a/test/built-ins/Math/E/S15.8.1.1_A2.js b/test/built-ins/Math/E/S15.8.1.1_A2.js
deleted file mode 100644
index 80d1475b1a10ce5ee1302b4eca85e428c2490b18..0000000000000000000000000000000000000000
--- a/test/built-ins/Math/E/S15.8.1.1_A2.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property E of the Math Object has the attribute DontEnum
-es5id: 15.8.1.1_A2
-description: Checking if Math.E property has the attribute DontEnum
----*/
-
-// CHECK#1
-for(var x in Math) {
-  if(x === "E") {
-    $ERROR('#1: Value Property E of the Math Object hasn\'t attribute DontEnum: \'for(x in Math) {x==="E"}\'');
-  }
-}
diff --git a/test/built-ins/Math/E/S15.8.1.1_A3.js b/test/built-ins/Math/E/S15.8.1.1_A3.js
deleted file mode 100644
index 38126ffc34eab1cbb315f088dd175ee683f09747..0000000000000000000000000000000000000000
--- a/test/built-ins/Math/E/S15.8.1.1_A3.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property E of the Math Object has the attribute DontDelete
-es5id: 15.8.1.1_A3
-description: Checking if Math.E property has the attribute DontDelete
-includes: [propertyHelper.js]
----*/
-
-verifyNotConfigurable(Math, "E");
-
-// CHECK#1
-try {
-  if (delete Math.E === true) {
-    $ERROR('#1: Value Property E of the Math Object hasn\'t attribute DontDelete: \'Math.E === true\'');
-  }
-} catch (e) {
-  if (e instanceof Test262Error) throw e;
-  assert(e instanceof TypeError);
-}
diff --git a/test/built-ins/Math/E/S15.8.1.1_A4.js b/test/built-ins/Math/E/S15.8.1.1_A4.js
deleted file mode 100644
index b8b67c8ab5ff783835cfeb0b65c4d8be4b6aa694..0000000000000000000000000000000000000000
--- a/test/built-ins/Math/E/S15.8.1.1_A4.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property E of the Math Object has the attribute ReadOnly
-es5id: 15.8.1.1_A4
-description: Checking if Math.E property has the attribute ReadOnly
-includes: [propertyHelper.js]
----*/
-
-// CHECK#1
-var x = Math.E;
-verifyNotWritable(Math, "E", null, 1);
-if (Math.E !== x) {
-  $ERROR('#1: Math.E hasn\'t ReadOnly: \'x = Math.E;Math.E = 1;Math.E === x\'');
-}
diff --git a/test/built-ins/Math/E/prop-desc.js b/test/built-ins/Math/E/prop-desc.js
new file mode 100644
index 0000000000000000000000000000000000000000..06db0bc67e33cc65bfd89bf69b3d4ebc33f44293
--- /dev/null
+++ b/test/built-ins/Math/E/prop-desc.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.e
+description: >
+  "E" property of Math
+info: |
+  This property has the attributes { [[Writable]]: false, [[Enumerable]]:
+  false, [[Configurable]]: false }.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, 'E');
+verifyNotWritable(Math, 'E');
+verifyNotConfigurable(Math, 'E');
diff --git a/test/built-ins/Math/LN10/S15.8.1.2_A2.js b/test/built-ins/Math/LN10/S15.8.1.2_A2.js
deleted file mode 100644
index e419b8017766d21b9d8770ab354b0049c65cda13..0000000000000000000000000000000000000000
--- a/test/built-ins/Math/LN10/S15.8.1.2_A2.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property LN10 of the Math Object has the attribute DontEnum
-es5id: 15.8.1.2_A2
-description: Checking if Math.LN10 property has the attribute DontEnum
----*/
-
-// CHECK#1
-for(var x in Math) {
-  if(x === "LN10") {
-    $ERROR('#1: Value Property LN10 of the Math Object hasn\'t attribute DontEnum: \'for(x in Math) {x==="LN10"}\'');
-  }
-}
diff --git a/test/built-ins/Math/LN10/S15.8.1.2_A3.js b/test/built-ins/Math/LN10/S15.8.1.2_A3.js
deleted file mode 100644
index 8ee3eb6fb0ba1aa7c95dce161636500975e93aa0..0000000000000000000000000000000000000000
--- a/test/built-ins/Math/LN10/S15.8.1.2_A3.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property LN10 of the Math Object has the attribute DontDelete
-es5id: 15.8.1.2_A3
-description: Checking if Math.LN10 property has the attribute DontDelete
-includes: [propertyHelper.js]
----*/
-
-verifyNotConfigurable(Math, "LN10");
-
-// CHECK#1
-try {
-  if (delete Math.LN10 === true) {
-    $ERROR('#1: Value Property LN10 of the Math Object hasn\'t attribute DontDelete: \'Math.LN10 === true\'');
-  }
-} catch (e) {
-  if (e instanceof Test262Error) throw e;
-  assert(e instanceof TypeError);
-}
diff --git a/test/built-ins/Math/LN10/S15.8.1.2_A4.js b/test/built-ins/Math/LN10/S15.8.1.2_A4.js
deleted file mode 100644
index 088d821a5157d111b34b723784a82441862b11c8..0000000000000000000000000000000000000000
--- a/test/built-ins/Math/LN10/S15.8.1.2_A4.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property LN10 of the Math Object has the attribute ReadOnly
-es5id: 15.8.1.2_A4
-description: Checking if Math.LN10 property has the attribute ReadOnly
-includes: [propertyHelper.js]
----*/
-
-// CHECK#1
-var x = Math.LN10;
-verifyNotWritable(Math, "LN10", null, 1);
-if (Math.LN10 !== x) {
-  $ERROR('#1: Math.LN10 hasn\'t ReadOnly: \'x = Math.LN10;Math.LN10 = 1;Math.LN10 === x\'');
-}
diff --git a/test/built-ins/Math/LN10/prop-desc.js b/test/built-ins/Math/LN10/prop-desc.js
new file mode 100644
index 0000000000000000000000000000000000000000..e60fb46a5b04ce6f338cd8eba8d1c15243f810e9
--- /dev/null
+++ b/test/built-ins/Math/LN10/prop-desc.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.ln10
+description: >
+  "LN10" property of Math
+info: |
+  This property has the attributes { [[Writable]]: false, [[Enumerable]]:
+  false, [[Configurable]]: false }.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, 'LN10');
+verifyNotWritable(Math, 'LN10');
+verifyNotConfigurable(Math, 'LN10');
diff --git a/test/built-ins/Math/LN2/S15.8.1.3_A2.js b/test/built-ins/Math/LN2/S15.8.1.3_A2.js
deleted file mode 100644
index e0c842e968fa49b034a781e05a4b51550760d84a..0000000000000000000000000000000000000000
--- a/test/built-ins/Math/LN2/S15.8.1.3_A2.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property LN2 of the Math Object has the attribute DontEnum
-es5id: 15.8.1.3_A2
-description: Checking if Math.LN2 property has the attribute DontEnum
----*/
-
-// CHECK#1
-for(var x in Math) {
-  if(x === "LN2") {
-    $ERROR('#1: Value Property LN2 of the Math Object hasn\'t attribute DontEnum: \'for(x in Math) {x==="LN2"}\'');
-  }
-}
diff --git a/test/built-ins/Math/LN2/S15.8.1.3_A3.js b/test/built-ins/Math/LN2/S15.8.1.3_A3.js
deleted file mode 100644
index 66de45f9ce41fd94cf4a2ba8d0fd948c08252ca1..0000000000000000000000000000000000000000
--- a/test/built-ins/Math/LN2/S15.8.1.3_A3.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property LN2 of the Math Object has the attribute DontDelete
-es5id: 15.8.1.3_A3
-description: Checking if Math.LN2 property has the attribute DontDelete
-includes: [propertyHelper.js]
----*/
-
-verifyNotConfigurable(Math, "LN2");
-
-// CHECK#1
-try {
-  if (delete Math.LN2 === true) {
-    $ERROR('#1: Value Property LN2 of the Math Object hasn\'t attribute DontDelete: \'Math.LN2 === true\'');
-  }
-} catch (e) {
-  if (e instanceof Test262Error) throw e;
-  assert(e instanceof TypeError);
-}
diff --git a/test/built-ins/Math/LN2/S15.8.1.3_A4.js b/test/built-ins/Math/LN2/S15.8.1.3_A4.js
deleted file mode 100644
index db335f4e397175fd6293f0beac11c5289f5137cd..0000000000000000000000000000000000000000
--- a/test/built-ins/Math/LN2/S15.8.1.3_A4.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property LN2 of the Math Object has the attribute ReadOnly
-es5id: 15.8.1.3_A4
-description: Checking if Math.LN2 property has the attribute DontDelete
-includes: [propertyHelper.js]
----*/
-
-// CHECK#1
-var x = Math.LN2;
-verifyNotWritable(Math, "LN2", null, 1);
-if (Math.LN2 !== x) {
-  $ERROR('#1: Math.LN2 hasn\'t ReadOnly: \'x = Math.LN2;Math.LN2 = 1;Math.LN2 === x\'');
-}
diff --git a/test/built-ins/Math/LN2/prop-desc.js b/test/built-ins/Math/LN2/prop-desc.js
new file mode 100644
index 0000000000000000000000000000000000000000..b40c2d9b12df00724afd27a07173df7edf171691
--- /dev/null
+++ b/test/built-ins/Math/LN2/prop-desc.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.ln2
+description: >
+  "LN2" property of Math
+info: |
+  This property has the attributes { [[Writable]]: false, [[Enumerable]]:
+  false, [[Configurable]]: false }.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, 'LN2');
+verifyNotWritable(Math, 'LN2');
+verifyNotConfigurable(Math, 'LN2');
diff --git a/test/built-ins/Math/LOG10E/S15.8.1.5_A2.js b/test/built-ins/Math/LOG10E/S15.8.1.5_A2.js
deleted file mode 100644
index e252c039119d857a584e9d0cb31ff74e0395a813..0000000000000000000000000000000000000000
--- a/test/built-ins/Math/LOG10E/S15.8.1.5_A2.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property LOG10E of the Math Object has the attribute DontEnum
-es5id: 15.8.1.5_A2
-description: Checking if Math.LOG10E property has the attribute DontEnum
----*/
-
-// CHECK#1
-for(var x in Math) {
-  if(x === "LOG10E") {
-    $ERROR('#1: Value Property LOG10E of the Math Object hasn\'t attribute DontEnum: \'for(x in Math) {x==="LOG10E"}\'');
-  }
-}
diff --git a/test/built-ins/Math/LOG10E/S15.8.1.5_A3.js b/test/built-ins/Math/LOG10E/S15.8.1.5_A3.js
deleted file mode 100644
index 5c02f2b0dd38c8db4be642d6e8fc122b5d53e473..0000000000000000000000000000000000000000
--- a/test/built-ins/Math/LOG10E/S15.8.1.5_A3.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property LOG10E of the Math Object has the attribute DontDelete
-es5id: 15.8.1.5_A3
-description: Checking if Math.LOG10E property has the attribute DontDelete
-includes: [propertyHelper.js]
----*/
-
-verifyNotConfigurable(Math, "LOG10E");
-
-// CHECK#1
-try {
-  if (delete Math.LOG10E === true) {
-    $ERROR('#1: Value Property LOG10E of the Math Object hasn\'t attribute DontDelete: \'Math.LOG10E === true\'');
-  }
-} catch (e) {
-  if (e instanceof Test262Error) throw e;
-  assert(e instanceof TypeError);
-}
diff --git a/test/built-ins/Math/LOG10E/S15.8.1.5_A4.js b/test/built-ins/Math/LOG10E/S15.8.1.5_A4.js
deleted file mode 100644
index 9708e5edaeb4524071c90983e1bfa75a2cb96bff..0000000000000000000000000000000000000000
--- a/test/built-ins/Math/LOG10E/S15.8.1.5_A4.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property LOG10E of the Math Object has the attribute ReadOnly
-es5id: 15.8.1.5_A4
-description: Checking if Math.LOG10E property has the attribute ReadOnly
-includes: [propertyHelper.js]
----*/
-
-// CHECK#1
-var x = Math.LOG10E;
-verifyNotWritable(Math, "LOG10E", null, 1);
-if (Math.LOG10E !== x) {
-  $ERROR('#1: Math.LOG10E hasn\'t ReadOnly: \'x = Math.LOG10E;Math.LOG10E = 1;Math.LOG10E === x\'');
-}
diff --git a/test/built-ins/Math/LOG10E/prop-desc.js b/test/built-ins/Math/LOG10E/prop-desc.js
new file mode 100644
index 0000000000000000000000000000000000000000..a690ef416fa059048bfb6ce76ccb1043b0e68221
--- /dev/null
+++ b/test/built-ins/Math/LOG10E/prop-desc.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.log10e
+description: >
+  "LOG10E" property of Math
+info: |
+  This property has the attributes { [[Writable]]: false, [[Enumerable]]:
+  false, [[Configurable]]: false }.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, 'LOG10E');
+verifyNotWritable(Math, 'LOG10E');
+verifyNotConfigurable(Math, 'LOG10E');
diff --git a/test/built-ins/Math/LOG2E/S15.8.1.4_A2.js b/test/built-ins/Math/LOG2E/S15.8.1.4_A2.js
deleted file mode 100644
index 9b70e8d220838464fa3241fb2a27ca08272ba12a..0000000000000000000000000000000000000000
--- a/test/built-ins/Math/LOG2E/S15.8.1.4_A2.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property LOG2E of the Math Object has the attribute DontEnum
-es5id: 15.8.1.4_A2
-description: Checking if Math.LOG2E property has the attribute DontEnum
----*/
-
-// CHECK#1
-for(var x in Math) {
-  if(x === "LOG2E") {
-    $ERROR('#1: Value Property LOG2E of the Math Object hasn\'t attribute DontEnum: \'for(x in Math) {x==="LOG2E"}\'');
-  }
-}
diff --git a/test/built-ins/Math/LOG2E/S15.8.1.4_A3.js b/test/built-ins/Math/LOG2E/S15.8.1.4_A3.js
deleted file mode 100644
index e31dbe98e528d6dee7f3d5fb6500c1c11308b849..0000000000000000000000000000000000000000
--- a/test/built-ins/Math/LOG2E/S15.8.1.4_A3.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property LOG2E of the Math Object has the attribute DontDelete
-es5id: 15.8.1.4_A3
-description: Checking if Math.LOG2E property has the attribute DontDelete
-includes: [propertyHelper.js]
----*/
-
-verifyNotConfigurable(Math, "LOG2E");
-
-// CHECK#1
-try {
-  if (delete Math.LOG2E === true) {
-    $ERROR('#1: Value Property LOG2E of the Math Object hasn\'t attribute DontDelete: \'Math.LOG2E === true\'');
-  }
-} catch (e) {
-  if (e instanceof Test262Error) throw e;
-  assert(e instanceof TypeError);
-}
diff --git a/test/built-ins/Math/LOG2E/S15.8.1.4_A4.js b/test/built-ins/Math/LOG2E/S15.8.1.4_A4.js
deleted file mode 100644
index 579d02b12524e360fed6796fff5e23241dfc30f8..0000000000000000000000000000000000000000
--- a/test/built-ins/Math/LOG2E/S15.8.1.4_A4.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property LOG2E of the Math Object has the attribute ReadOnly
-es5id: 15.8.1.4_A4
-description: Checking if Math.LOG2E property has the attribute ReadOnly
-includes: [propertyHelper.js]
----*/
-
-// CHECK#1
-var x = Math.LOG2E;
-verifyNotWritable(Math, "LOG2E", null, 1);
-if (Math.LOG2E !== x) {
-  $ERROR('#1: Math.LOG2E hasn\'t ReadOnly: \'x = Math.LOG2E;Math.LOG2E = 1;Math.LOG2E === x\'');
-}
diff --git a/test/built-ins/Math/LOG2E/prop-desc.js b/test/built-ins/Math/LOG2E/prop-desc.js
new file mode 100644
index 0000000000000000000000000000000000000000..a43b1159510c36a04f34c93bec6d4ebb7b835ee2
--- /dev/null
+++ b/test/built-ins/Math/LOG2E/prop-desc.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.log2e
+description: >
+  "LOG2E" property of Math
+info: |
+  This property has the attributes { [[Writable]]: false, [[Enumerable]]:
+  false, [[Configurable]]: false }.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, 'LOG2E');
+verifyNotWritable(Math, 'LOG2E');
+verifyNotConfigurable(Math, 'LOG2E');
diff --git a/test/built-ins/Math/PI/S15.8.1.6_A2.js b/test/built-ins/Math/PI/S15.8.1.6_A2.js
deleted file mode 100644
index 06bff8e0d0d7991a4ee6bf74c090b9f4524813d6..0000000000000000000000000000000000000000
--- a/test/built-ins/Math/PI/S15.8.1.6_A2.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property PI of the Math Object has the attribute DontEnum
-es5id: 15.8.1.6_A2
-description: Checking if Math.PI property has the attribute DontEnum
----*/
-
-// CHECK#1
-for(var x in Math) {
-  if(x === "PI") {
-    $ERROR('#1: Value Property PI of the Math Object hasn\'t attribute DontEnum: \'for(x in Math) {x==="PI"}\'');
-  }
-}
diff --git a/test/built-ins/Math/PI/S15.8.1.6_A3.js b/test/built-ins/Math/PI/S15.8.1.6_A3.js
deleted file mode 100644
index 1563c33a7b54c240b52c82f86683bc0337967b41..0000000000000000000000000000000000000000
--- a/test/built-ins/Math/PI/S15.8.1.6_A3.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property PI of the Math Object has the attribute DontDelete
-es5id: 15.8.1.6_A3
-description: Checking if Math.PI property has the attribute DontDelete
-includes: [propertyHelper.js]
----*/
-
-verifyNotConfigurable(Math, "PI");
-
-// CHECK#1
-try {
-  if (delete Math.PI === true) {
-    $ERROR('#1: Value Property PI of the Math Object hasn\'t attribute DontDelete: \'Math.PI === true\'');
-  }
-} catch (e) {
-  if (e instanceof Test262Error) throw e;
-  assert(e instanceof TypeError);
-}
diff --git a/test/built-ins/Math/PI/S15.8.1.6_A4.js b/test/built-ins/Math/PI/S15.8.1.6_A4.js
deleted file mode 100644
index a65b24b2a613c4ddf4fb600b1e30fcacff47f355..0000000000000000000000000000000000000000
--- a/test/built-ins/Math/PI/S15.8.1.6_A4.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property PI of the Math Object has the attribute ReadOnly
-es5id: 15.8.1.6_A4
-description: Checking if Math.PI property has the attribute ReadOnly
-includes: [propertyHelper.js]
----*/
-
-// CHECK#1
-var x = Math.PI;
-verifyNotWritable(Math, "PI", null, 1);
-if (Math.PI !== x) {
-  $ERROR('#1: Math.PI hasn\'t ReadOnly: \'x = Math.PI;Math.PI = 1;Math.PI === x\'');
-}
diff --git a/test/built-ins/Math/PI/prop-desc.js b/test/built-ins/Math/PI/prop-desc.js
new file mode 100644
index 0000000000000000000000000000000000000000..4ac3ff9beeb8df110bac8edc21d93137c1e992a2
--- /dev/null
+++ b/test/built-ins/Math/PI/prop-desc.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.pi
+description: >
+  "PI" property of Math
+info: |
+  This property has the attributes { [[Writable]]: false, [[Enumerable]]:
+  false, [[Configurable]]: false }.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, 'PI');
+verifyNotWritable(Math, 'PI');
+verifyNotConfigurable(Math, 'PI');
diff --git a/test/built-ins/Math/SQRT1_2/S15.8.1.7_A2.js b/test/built-ins/Math/SQRT1_2/S15.8.1.7_A2.js
deleted file mode 100644
index 6531ec7d4a8e9be6ea9c9ef1c5783571738fa420..0000000000000000000000000000000000000000
--- a/test/built-ins/Math/SQRT1_2/S15.8.1.7_A2.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property SQRT1_2 of the Math Object has the attribute DontEnum
-es5id: 15.8.1.7_A2
-description: Checking if Math.SQRT1_2 property has the attribute DontEnum
----*/
-
-// CHECK#1
-for(var x in Math) {
-  if(x === "SQRT1_2") {
-    $ERROR('#1: Value Property SQRT1_2 of the Math Object hasn\'t attribute DontEnum: \'for(x in Math) {x==="SQRT1_2"}\'');
-  }
-}
diff --git a/test/built-ins/Math/SQRT1_2/S15.8.1.7_A3.js b/test/built-ins/Math/SQRT1_2/S15.8.1.7_A3.js
deleted file mode 100644
index 1a95fb060b42f5be4dfc5046c330ad9f3492f20d..0000000000000000000000000000000000000000
--- a/test/built-ins/Math/SQRT1_2/S15.8.1.7_A3.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property SQRT1_2 of the Math Object has the attribute DontDelete
-es5id: 15.8.1.7_A3
-description: Checking if Math.SQRT1_2 property has the attribute DontDelete
-includes: [propertyHelper.js]
----*/
-
-verifyNotConfigurable(Math, "SQRT1_2");
-
-// CHECK#1
-try {
-  if (delete Math.SQRT1_2 === true) {
-    $ERROR("#1: Value Property SQRT1_2 of the Math Object hasn't attribute DontDelete: 'Math.SQRT1_2 === true'");
-  }
-} catch (e) {
-  if (e instanceof Test262Error) throw e;
-  assert(e instanceof TypeError);
-}
diff --git a/test/built-ins/Math/SQRT1_2/S15.8.1.7_A4.js b/test/built-ins/Math/SQRT1_2/S15.8.1.7_A4.js
deleted file mode 100644
index 3204f222464266f5dd0e78d7d92ae203ee039f55..0000000000000000000000000000000000000000
--- a/test/built-ins/Math/SQRT1_2/S15.8.1.7_A4.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property SQRT1_2 of the Math Object has the attribute ReadOnly
-es5id: 15.8.1.7_A4
-description: Checking if Math.SQRT1_2 property has the attribute ReadOnly
-includes: [propertyHelper.js]
----*/
-
-// CHECK#1
-var x = Math.SQRT1_2;
-verifyNotWritable(Math, "SQRT1_2", null, 1);
-if (Math.SQRT1_2 !== x) {
-  $ERROR('#1: Math.SQRT1_2 hasn\'t ReadOnly: \'x = Math.SQRT1_2;Math.SQRT1_2 = 1;Math.SQRT1_2 === x\'');
-}
diff --git a/test/built-ins/Math/SQRT1_2/prop-desc.js b/test/built-ins/Math/SQRT1_2/prop-desc.js
new file mode 100644
index 0000000000000000000000000000000000000000..854c6d775151765fcbb1c28c598f57934f9c61d2
--- /dev/null
+++ b/test/built-ins/Math/SQRT1_2/prop-desc.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.sqrt1_2
+description: >
+  "SQRT1_2" property of Math
+info: |
+  This property has the attributes { [[Writable]]: false, [[Enumerable]]:
+  false, [[Configurable]]: false }.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, 'SQRT1_2');
+verifyNotWritable(Math, 'SQRT1_2');
+verifyNotConfigurable(Math, 'SQRT1_2');
diff --git a/test/built-ins/Math/SQRT2/S15.8.1.8_A2.js b/test/built-ins/Math/SQRT2/S15.8.1.8_A2.js
deleted file mode 100644
index df2bee1e7e5aa8dbd8a48a5f2913894cddd894ea..0000000000000000000000000000000000000000
--- a/test/built-ins/Math/SQRT2/S15.8.1.8_A2.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property SQRT2 of the Math Object has the attribute DontEnum
-es5id: 15.8.1.8_A2
-description: Checking if Math.SQRT2 property has the attribute DontEnum
----*/
-
-// CHECK#1
-for(var x in Math) {
-  if(x === "SQRT2") {
-    $ERROR('#1: Value Property SQRT2 of the Math Object hasn\'t attribute DontEnum: \'for(x in Math) {x==="SQRT2"}\'');
-  }
-}
diff --git a/test/built-ins/Math/SQRT2/S15.8.1.8_A3.js b/test/built-ins/Math/SQRT2/S15.8.1.8_A3.js
deleted file mode 100644
index 0897581a36d98d9adafa2b85d4b918f0b14d46d1..0000000000000000000000000000000000000000
--- a/test/built-ins/Math/SQRT2/S15.8.1.8_A3.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property SQRT2 of the Math Object has the attribute DontDelete
-es5id: 15.8.1.8_A3
-description: Checking if Math.SQRT2 property has the attribute DontDelete
-includes: [propertyHelper.js]
----*/
-
-verifyNotConfigurable(Math, "SQRT2");
-
-// CHECK#1
-try {
-  if (delete Math.SQRT2 === true) {
-    $ERROR('#1: Value Property SQRT2 of the Math Object hasn\'t attribute DontDelete: \'Math.SQRT2 === true\'');
-  }
-} catch (e) {
-  if (e instanceof Test262Error) throw e;
-  assert(e instanceof TypeError);
-}
diff --git a/test/built-ins/Math/SQRT2/S15.8.1.8_A4.js b/test/built-ins/Math/SQRT2/S15.8.1.8_A4.js
deleted file mode 100644
index f318bbf1cb6cb1fa0a41d05f60614a992c867380..0000000000000000000000000000000000000000
--- a/test/built-ins/Math/SQRT2/S15.8.1.8_A4.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property SQRT2 of the Math Object has the attribute ReadOnly
-es5id: 15.8.1.8_A4
-description: Checking if Math.SQRT2 property has the attribute ReadOnly
-includes: [propertyHelper.js]
----*/
-
-// CHECK#1
-var x = Math.SQRT2;
-verifyNotWritable(Math, "SQRT2", null, 1);
-if (Math.SQRT2 !== x) {
-  $ERROR('#1: Math.SQRT2 hasn\'t ReadOnly: \'x = Math.SQRT2;Math.SQRT2 = 1;Math.SQRT2 === x\'');
-}
diff --git a/test/built-ins/Math/SQRT2/prop-desc.js b/test/built-ins/Math/SQRT2/prop-desc.js
new file mode 100644
index 0000000000000000000000000000000000000000..c2812dd2589e882c1702fb3c14c3860981022102
--- /dev/null
+++ b/test/built-ins/Math/SQRT2/prop-desc.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.sqrt2
+description: >
+  "SQRT2" property of Math
+info: |
+  This property has the attributes { [[Writable]]: false, [[Enumerable]]:
+  false, [[Configurable]]: false }.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, 'SQRT2');
+verifyNotWritable(Math, 'SQRT2');
+verifyNotConfigurable(Math, 'SQRT2');
diff --git a/test/built-ins/Math/abs/prop-desc.js b/test/built-ins/Math/abs/prop-desc.js
new file mode 100644
index 0000000000000000000000000000000000000000..475cf2046097c3393a965de9eaf6f135a74b1ce5
--- /dev/null
+++ b/test/built-ins/Math/abs/prop-desc.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-math.abs
+description: >
+  "abs" property of Math
+info: |
+  Section 17: Every other data property described in clauses 18 through 26
+  and in Annex B.2 has the attributes { [[Writable]]: true,
+  [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, "abs");
+verifyWritable(Math, "abs");
+verifyConfigurable(Math, "abs");
diff --git a/test/built-ins/Math/acos/prop-desc.js b/test/built-ins/Math/acos/prop-desc.js
new file mode 100644
index 0000000000000000000000000000000000000000..cc39102df538035a94c717c1f01734ec065202aa
--- /dev/null
+++ b/test/built-ins/Math/acos/prop-desc.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-math.acos
+description: >
+  "acos" property of Math
+info: |
+  Section 17: Every other data property described in clauses 18 through 26
+  and in Annex B.2 has the attributes { [[Writable]]: true,
+  [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, "acos");
+verifyWritable(Math, "acos");
+verifyConfigurable(Math, "acos");
diff --git a/test/built-ins/Math/acosh/acosh-descriptor.js b/test/built-ins/Math/acosh/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/acosh/acosh-descriptor.js
rename to test/built-ins/Math/acosh/prop-desc.js
index 4a09f81b3cc5b7efe8a8e04335a0a8cbe9e3b8d3..437001afe1dbb3c2f3f1816674772d57d63cbcbb 100644
--- a/test/built-ins/Math/acosh/acosh-descriptor.js
+++ b/test/built-ins/Math/acosh/prop-desc.js
@@ -1,12 +1,12 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing descriptor property of Math.acosh
-includes: [propertyHelper.js]
-es6id: 20.2.2.3
----*/
-
-verifyWritable(Math, "acosh");
-verifyNotEnumerable(Math, "acosh");
-verifyConfigurable(Math, "acosh");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Testing descriptor property of Math.acosh
+includes: [propertyHelper.js]
+es6id: 20.2.2.3
+---*/
+
+verifyNotEnumerable(Math, "acosh");
+verifyWritable(Math, "acosh");
+verifyConfigurable(Math, "acosh");
diff --git a/test/built-ins/Math/asin/prop-desc.js b/test/built-ins/Math/asin/prop-desc.js
new file mode 100644
index 0000000000000000000000000000000000000000..3e6e843f9212aa0aac10798d5a3c7f85a43f72b9
--- /dev/null
+++ b/test/built-ins/Math/asin/prop-desc.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-math.acos
+description: >
+  "asin" property of Math
+info: |
+  Section 17: Every other data property described in clauses 18 through 26
+  and in Annex B.2 has the attributes { [[Writable]]: true,
+  [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, "asin");
+verifyWritable(Math, "asin");
+verifyConfigurable(Math, "asin");
diff --git a/test/built-ins/Math/asinh/asinh-descriptor.js b/test/built-ins/Math/asinh/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/asinh/asinh-descriptor.js
rename to test/built-ins/Math/asinh/prop-desc.js
index 920bd6c56887df281bd55953001bc6e2973026eb..47a29f78d6dd6cd2d6d6d8857a6583bd8296f34c 100644
--- a/test/built-ins/Math/asinh/asinh-descriptor.js
+++ b/test/built-ins/Math/asinh/prop-desc.js
@@ -1,12 +1,12 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing descriptor property of Math.asinh
-includes: [propertyHelper.js]
-es6id: 20.2.2.5
----*/
-
-verifyWritable(Math, "asinh");
-verifyNotEnumerable(Math, "asinh");
-verifyConfigurable(Math, "asinh");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Testing descriptor property of Math.asinh
+includes: [propertyHelper.js]
+es6id: 20.2.2.5
+---*/
+
+verifyNotEnumerable(Math, "asinh");
+verifyWritable(Math, "asinh");
+verifyConfigurable(Math, "asinh");
diff --git a/test/built-ins/Math/atan/prop-desc.js b/test/built-ins/Math/atan/prop-desc.js
new file mode 100644
index 0000000000000000000000000000000000000000..d73e56a83afb77708c32ee394a7c979dab560de9
--- /dev/null
+++ b/test/built-ins/Math/atan/prop-desc.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-math.atan
+description: >
+  "atan" property of Math
+info: |
+  Section 17: Every other data property described in clauses 18 through 26
+  and in Annex B.2 has the attributes { [[Writable]]: true,
+  [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, "atan");
+verifyWritable(Math, "atan");
+verifyConfigurable(Math, "atan");
diff --git a/test/built-ins/Math/atan2/prop-desc.js b/test/built-ins/Math/atan2/prop-desc.js
new file mode 100644
index 0000000000000000000000000000000000000000..32fa7f1895bb0ee604f9fe7addd362e2f645cdcc
--- /dev/null
+++ b/test/built-ins/Math/atan2/prop-desc.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-math.atan2
+description: >
+  "atan2" property of Math
+info: |
+  Section 17: Every other data property described in clauses 18 through 26
+  and in Annex B.2 has the attributes { [[Writable]]: true,
+  [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, "atan2");
+verifyWritable(Math, "atan2");
+verifyConfigurable(Math, "atan2");
diff --git a/test/built-ins/Math/atanh/atanh-descriptor.js b/test/built-ins/Math/atanh/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/atanh/atanh-descriptor.js
rename to test/built-ins/Math/atanh/prop-desc.js
index eda00ca5f3a841cc68c94e7b97fa0c8b59d2d991..6956822fc1e2481d0f2d77f95d0a2d19a6db7b0a 100644
--- a/test/built-ins/Math/atanh/atanh-descriptor.js
+++ b/test/built-ins/Math/atanh/prop-desc.js
@@ -1,12 +1,12 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing descriptor property of Math.atanh
-includes: [propertyHelper.js]
-es6id: 20.2.2.7
----*/
-
-verifyWritable(Math, "atanh");
-verifyNotEnumerable(Math, "atanh");
-verifyConfigurable(Math, "atanh");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Testing descriptor property of Math.atanh
+includes: [propertyHelper.js]
+es6id: 20.2.2.7
+---*/
+
+verifyNotEnumerable(Math, "atanh");
+verifyWritable(Math, "atanh");
+verifyConfigurable(Math, "atanh");
diff --git a/test/built-ins/Math/cbrt/cbrt-descriptor.js b/test/built-ins/Math/cbrt/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/cbrt/cbrt-descriptor.js
rename to test/built-ins/Math/cbrt/prop-desc.js
index da6a3739b60531263326b5de9631be0f8f1568e9..0a5a2657cc17c7011b0ac74b48b5f63fcad410b7 100644
--- a/test/built-ins/Math/cbrt/cbrt-descriptor.js
+++ b/test/built-ins/Math/cbrt/prop-desc.js
@@ -7,6 +7,6 @@ includes: [propertyHelper.js]
 es6id: 20.2.2.9
 ---*/
 
-verifyWritable(Math, "cbrt");
 verifyNotEnumerable(Math, "cbrt");
+verifyWritable(Math, "cbrt");
 verifyConfigurable(Math, "cbrt");
diff --git a/test/built-ins/Math/ceil/prop-desc.js b/test/built-ins/Math/ceil/prop-desc.js
new file mode 100644
index 0000000000000000000000000000000000000000..e359fbbfc06272cd66ce7f85f0c37161a8b80526
--- /dev/null
+++ b/test/built-ins/Math/ceil/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.ceil
+description: >
+  "ceil" property of Math
+info: |
+  Section 17: Every other data property described in clauses 18 through 26
+  and in Annex B.2 has the attributes { [[Writable]]: true,
+  [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, "ceil");
+verifyWritable(Math, "ceil");
+verifyConfigurable(Math, "ceil");
diff --git a/test/built-ins/Math/clz32/prop-desc.js b/test/built-ins/Math/clz32/prop-desc.js
new file mode 100644
index 0000000000000000000000000000000000000000..000faefd228741925e30f70233ac25332e431ddc
--- /dev/null
+++ b/test/built-ins/Math/clz32/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.clz32
+description: >
+  "clz32" property of Math
+info: |
+  Section 17: Every other data property described in clauses 18 through 26
+  and in Annex B.2 has the attributes { [[Writable]]: true,
+  [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, "clz32");
+verifyWritable(Math, "clz32");
+verifyConfigurable(Math, "clz32");
diff --git a/test/built-ins/Math/cos/prop-desc.js b/test/built-ins/Math/cos/prop-desc.js
new file mode 100644
index 0000000000000000000000000000000000000000..dc82b5b5c365ee45a9fb8d1215b4441d8e9597de
--- /dev/null
+++ b/test/built-ins/Math/cos/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.cos
+description: >
+  "cos" property of Math
+info: |
+  Section 17: Every other data property described in clauses 18 through 26
+  and in Annex B.2 has the attributes { [[Writable]]: true,
+  [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, "cos");
+verifyWritable(Math, "cos");
+verifyConfigurable(Math, "cos");
diff --git a/test/built-ins/Math/cosh/cosh-descriptor.js b/test/built-ins/Math/cosh/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/cosh/cosh-descriptor.js
rename to test/built-ins/Math/cosh/prop-desc.js
index 0bfc96c3eeea498568ce297efaddcf898c695354..fe291a0e8d35ca9813ec4c0d4e7b861709277aed 100644
--- a/test/built-ins/Math/cosh/cosh-descriptor.js
+++ b/test/built-ins/Math/cosh/prop-desc.js
@@ -1,12 +1,12 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing descriptor property of Math.cosh
-includes: [propertyHelper.js]
-es6id: 20.2.2.13
----*/
-
-verifyWritable(Math, "cosh");
-verifyNotEnumerable(Math, "cosh");
-verifyConfigurable(Math, "cosh");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Testing descriptor property of Math.cosh
+includes: [propertyHelper.js]
+es6id: 20.2.2.13
+---*/
+
+verifyNotEnumerable(Math, "cosh");
+verifyWritable(Math, "cosh");
+verifyConfigurable(Math, "cosh");
diff --git a/test/built-ins/Math/exp/prop-desc.js b/test/built-ins/Math/exp/prop-desc.js
new file mode 100644
index 0000000000000000000000000000000000000000..7ae58d86a4a96610833464b26c619fec721d1756
--- /dev/null
+++ b/test/built-ins/Math/exp/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.exp
+description: >
+  "exp" property of Math
+info: |
+  Section 17: Every other data property described in clauses 18 through 26
+  and in Annex B.2 has the attributes { [[Writable]]: true,
+  [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, "exp");
+verifyWritable(Math, "exp");
+verifyConfigurable(Math, "exp");
diff --git a/test/built-ins/Math/expm1/expm1-descriptor.js b/test/built-ins/Math/expm1/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/expm1/expm1-descriptor.js
rename to test/built-ins/Math/expm1/prop-desc.js
index c5cadacfd4a81248b72dae3b8d56c2fcafff8217..c7e445eef433de3ab543eff3e1d860404c415a06 100644
--- a/test/built-ins/Math/expm1/expm1-descriptor.js
+++ b/test/built-ins/Math/expm1/prop-desc.js
@@ -1,12 +1,12 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing descriptor property of Math.expm1
-includes: [propertyHelper.js]
-es6id: 20.2.2.15
----*/
-
-verifyWritable(Math, "expm1");
-verifyNotEnumerable(Math, "expm1");
-verifyConfigurable(Math, "expm1");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Testing descriptor property of Math.expm1
+includes: [propertyHelper.js]
+es6id: 20.2.2.15
+---*/
+
+verifyNotEnumerable(Math, "expm1");
+verifyWritable(Math, "expm1");
+verifyConfigurable(Math, "expm1");
diff --git a/test/built-ins/Math/floor/prop-desc.js b/test/built-ins/Math/floor/prop-desc.js
new file mode 100644
index 0000000000000000000000000000000000000000..6e92a9ba902afb9319e17b30eb784c194b565a51
--- /dev/null
+++ b/test/built-ins/Math/floor/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.floor
+description: >
+  "floor" property of Math
+info: |
+  Section 17: Every other data property described in clauses 18 through 26
+  and in Annex B.2 has the attributes { [[Writable]]: true,
+  [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, "floor");
+verifyWritable(Math, "floor");
+verifyConfigurable(Math, "floor");
diff --git a/test/built-ins/Math/fround/prop-desc.js b/test/built-ins/Math/fround/prop-desc.js
new file mode 100644
index 0000000000000000000000000000000000000000..a1a76dbf33d966fd20d5e83f18612c3872a2ff47
--- /dev/null
+++ b/test/built-ins/Math/fround/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.fround
+description: >
+  "fround" property of Math
+info: |
+  Section 17: Every other data property described in clauses 18 through 26
+  and in Annex B.2 has the attributes { [[Writable]]: true,
+  [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, "fround");
+verifyWritable(Math, "fround");
+verifyConfigurable(Math, "fround");
diff --git a/test/built-ins/Math/hypot/hypot-descriptor.js b/test/built-ins/Math/hypot/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/hypot/hypot-descriptor.js
rename to test/built-ins/Math/hypot/prop-desc.js
index dcd74e6b7644a607e2c541c61e7354f11e9384f2..e0b94b201532a8e79b7f3124bc712bd735b9919f 100644
--- a/test/built-ins/Math/hypot/hypot-descriptor.js
+++ b/test/built-ins/Math/hypot/prop-desc.js
@@ -1,12 +1,12 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing descriptor property of Math.hypot
-includes: [propertyHelper.js]
-es6id: 20.2.2.18
----*/
-
-verifyWritable(Math, "hypot");
-verifyNotEnumerable(Math, "hypot");
-verifyConfigurable(Math, "hypot");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Testing descriptor property of Math.hypot
+includes: [propertyHelper.js]
+es6id: 20.2.2.18
+---*/
+
+verifyNotEnumerable(Math, "hypot");
+verifyWritable(Math, "hypot");
+verifyConfigurable(Math, "hypot");
diff --git a/test/built-ins/Math/imul/imul-descriptor.js b/test/built-ins/Math/imul/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/imul/imul-descriptor.js
rename to test/built-ins/Math/imul/prop-desc.js
index 1488414905b2c6d52361a43ca4fc6d75d9f4e1ba..6cc5ac48451ef7895e4e0854ef0ad53442635ba5 100644
--- a/test/built-ins/Math/imul/imul-descriptor.js
+++ b/test/built-ins/Math/imul/prop-desc.js
@@ -1,12 +1,12 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing descriptor property of Math.imul
-includes: [propertyHelper.js]
-es6id: 20.2.2.19
----*/
-
-verifyWritable(Math, "imul");
-verifyNotEnumerable(Math, "imul");
-verifyConfigurable(Math, "imul");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Testing descriptor property of Math.imul
+includes: [propertyHelper.js]
+es6id: 20.2.2.19
+---*/
+
+verifyNotEnumerable(Math, "imul");
+verifyWritable(Math, "imul");
+verifyConfigurable(Math, "imul");
diff --git a/test/built-ins/Math/log/prop-desc.js b/test/built-ins/Math/log/prop-desc.js
new file mode 100644
index 0000000000000000000000000000000000000000..528478098bf5d26f98b2911949908dafb66f6751
--- /dev/null
+++ b/test/built-ins/Math/log/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.log
+description: >
+  "log" property of Math
+info: |
+  Section 17: Every other data property described in clauses 18 through 26
+  and in Annex B.2 has the attributes { [[Writable]]: true,
+  [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, "log");
+verifyWritable(Math, "log");
+verifyConfigurable(Math, "log");
diff --git a/test/built-ins/Math/log10/Log10-descriptor.js b/test/built-ins/Math/log10/prop-desc.js
similarity index 82%
rename from test/built-ins/Math/log10/Log10-descriptor.js
rename to test/built-ins/Math/log10/prop-desc.js
index 109afc4e918282631d891d78d1e7a7b2da1110bc..5aa998110269edf6264921e8cbdd5f621a8089b3 100644
--- a/test/built-ins/Math/log10/Log10-descriptor.js
+++ b/test/built-ins/Math/log10/prop-desc.js
@@ -1,12 +1,13 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing length property of Math.log10
-includes: [propertyHelper.js]
-es6id: 20.2.2.20
----*/
-
-verifyWritable(Math, "log10");
-verifyNotEnumerable(Math, "log10");
-verifyConfigurable(Math, "log10");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: >
+  "log10" property of Math
+includes: [propertyHelper.js]
+es6id: 20.2.2.20
+---*/
+
+verifyNotEnumerable(Math, "log10");
+verifyWritable(Math, "log10");
+verifyConfigurable(Math, "log10");
diff --git a/test/built-ins/Math/log1p/Log1p-descriptor.js b/test/built-ins/Math/log1p/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/log1p/Log1p-descriptor.js
rename to test/built-ins/Math/log1p/prop-desc.js
index dec94611f9409cc98a6d919a90fdcb12d1e76845..6cbcb3ee0ec0fb296f6c22b67cb0c8152c1dd38f 100644
--- a/test/built-ins/Math/log1p/Log1p-descriptor.js
+++ b/test/built-ins/Math/log1p/prop-desc.js
@@ -1,12 +1,12 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing descriptor property of Math.log1p
-includes: [propertyHelper.js]
-es6id: 20.2.2.21
----*/
-
-verifyWritable(Math, "log1p");
-verifyNotEnumerable(Math, "log1p");
-verifyConfigurable(Math, "log1p");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Testing descriptor property of Math.log1p
+includes: [propertyHelper.js]
+es6id: 20.2.2.21
+---*/
+
+verifyNotEnumerable(Math, "log1p");
+verifyWritable(Math, "log1p");
+verifyConfigurable(Math, "log1p");
diff --git a/test/built-ins/Math/log2/log2-descriptor.js b/test/built-ins/Math/log2/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/log2/log2-descriptor.js
rename to test/built-ins/Math/log2/prop-desc.js
index 3f48a03590b9de9a250fb76f45b4ce273c639976..a932f33c34633868273a6443b7ba64ff6845f2a2 100644
--- a/test/built-ins/Math/log2/log2-descriptor.js
+++ b/test/built-ins/Math/log2/prop-desc.js
@@ -1,12 +1,12 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing descriptor property of Math.log2
-includes: [propertyHelper.js]
-es6id: 20.2.2.23
----*/
-
-verifyWritable(Math, "log2");
-verifyNotEnumerable(Math, "log2");
-verifyConfigurable(Math, "log2");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Testing descriptor property of Math.log2
+includes: [propertyHelper.js]
+es6id: 20.2.2.23
+---*/
+
+verifyNotEnumerable(Math, "log2");
+verifyWritable(Math, "log2");
+verifyConfigurable(Math, "log2");
diff --git a/test/built-ins/Math/max/prop-desc.js b/test/built-ins/Math/max/prop-desc.js
new file mode 100644
index 0000000000000000000000000000000000000000..91176953164028cac93968d2e17c23bd01369717
--- /dev/null
+++ b/test/built-ins/Math/max/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.max
+description: >
+  "max" property of Math
+info: |
+  Section 17: Every other data property described in clauses 18 through 26
+  and in Annex B.2 has the attributes { [[Writable]]: true,
+  [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, "max");
+verifyWritable(Math, "max");
+verifyConfigurable(Math, "max");
diff --git a/test/built-ins/Math/min/prop-desc.js b/test/built-ins/Math/min/prop-desc.js
new file mode 100644
index 0000000000000000000000000000000000000000..6f774acd6875a4cc3ecd29ee4ccd53a2e1b590c7
--- /dev/null
+++ b/test/built-ins/Math/min/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.min
+description: >
+  "min" property of Math
+info: |
+  Section 17: Every other data property described in clauses 18 through 26
+  and in Annex B.2 has the attributes { [[Writable]]: true,
+  [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, "min");
+verifyWritable(Math, "min");
+verifyConfigurable(Math, "min");
diff --git a/test/built-ins/Math/pow/math.pow.js b/test/built-ins/Math/pow/prop-desc.js
similarity index 98%
rename from test/built-ins/Math/pow/math.pow.js
rename to test/built-ins/Math/pow/prop-desc.js
index 60e0f045088f1b362277ed419b7ddb514426d3e7..5f65a0d7488e6d8e38718dcb16132ab983d874ed 100644
--- a/test/built-ins/Math/pow/math.pow.js
+++ b/test/built-ins/Math/pow/prop-desc.js
@@ -5,7 +5,7 @@
 esid: sec-math.pow
 description: >
   Math.pow ( base, exponent )
-
+info: |
   17 ECMAScript Standard Built-in Objects:
     Every other data property described in clauses 18 through 26 and in Annex B.2 has the attributes { [[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified.
 includes: [propertyHelper.js]
diff --git a/test/built-ins/Math/random/prop-desc.js b/test/built-ins/Math/random/prop-desc.js
new file mode 100644
index 0000000000000000000000000000000000000000..4684fbe2360eefeb7f5b60d3011adc9530e6698f
--- /dev/null
+++ b/test/built-ins/Math/random/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.random
+description: >
+  "random" property of Math
+info: |
+  Section 17: Every other data property described in clauses 18 through 26
+  and in Annex B.2 has the attributes { [[Writable]]: true,
+  [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, "random");
+verifyWritable(Math, "random");
+verifyConfigurable(Math, "random");
diff --git a/test/built-ins/Math/round/prop-desc.js b/test/built-ins/Math/round/prop-desc.js
new file mode 100644
index 0000000000000000000000000000000000000000..b0f69d6a86a2792bb8e11aaadb8b754306e2183a
--- /dev/null
+++ b/test/built-ins/Math/round/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.round
+description: >
+  "round" property of Math
+info: |
+  Section 17: Every other data property described in clauses 18 through 26
+  and in Annex B.2 has the attributes { [[Writable]]: true,
+  [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, "round");
+verifyWritable(Math, "round");
+verifyConfigurable(Math, "round");
diff --git a/test/built-ins/Math/sign/sign-descriptor.js b/test/built-ins/Math/sign/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/sign/sign-descriptor.js
rename to test/built-ins/Math/sign/prop-desc.js
index a4e3c91d326231a0bc1851cf0c7a092d49805777..18c389c4626baca4d62743c13df2518d2091d217 100644
--- a/test/built-ins/Math/sign/sign-descriptor.js
+++ b/test/built-ins/Math/sign/prop-desc.js
@@ -1,12 +1,12 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing descriptor property of Math.sign
-includes: [propertyHelper.js]
-es6id: 20.2.2.29
----*/
-
-verifyWritable(Math, "sign");
-verifyNotEnumerable(Math, "sign");
-verifyConfigurable(Math, "sign");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Testing descriptor property of Math.sign
+includes: [propertyHelper.js]
+es6id: 20.2.2.29
+---*/
+
+verifyNotEnumerable(Math, "sign");
+verifyWritable(Math, "sign");
+verifyConfigurable(Math, "sign");
diff --git a/test/built-ins/Math/sin/prop-desc.js b/test/built-ins/Math/sin/prop-desc.js
new file mode 100644
index 0000000000000000000000000000000000000000..d31c0a11743b100374454a405f2c0ecd22d55756
--- /dev/null
+++ b/test/built-ins/Math/sin/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.sin
+description: >
+  "sin" property of Math
+info: |
+  Section 17: Every other data property described in clauses 18 through 26
+  and in Annex B.2 has the attributes { [[Writable]]: true,
+  [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, "sin");
+verifyWritable(Math, "sin");
+verifyConfigurable(Math, "sin");
diff --git a/test/built-ins/Math/sinh/sinh-descriptor.js b/test/built-ins/Math/sinh/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/sinh/sinh-descriptor.js
rename to test/built-ins/Math/sinh/prop-desc.js
index 0d0bd3550e32b737e625da5a931803e69e01d1e4..c875549e8f5a92572599e807fa17c509746f1353 100644
--- a/test/built-ins/Math/sinh/sinh-descriptor.js
+++ b/test/built-ins/Math/sinh/prop-desc.js
@@ -1,12 +1,12 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing descriptor property of Math.sinh
-includes: [propertyHelper.js]
-es6id: 20.2.2.31
----*/
-
-verifyWritable(Math, "sinh");
-verifyNotEnumerable(Math, "sinh");
-verifyConfigurable(Math, "sinh");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Testing descriptor property of Math.sinh
+includes: [propertyHelper.js]
+es6id: 20.2.2.31
+---*/
+
+verifyNotEnumerable(Math, "sinh");
+verifyWritable(Math, "sinh");
+verifyConfigurable(Math, "sinh");
diff --git a/test/built-ins/Math/sqrt/prop-desc.js b/test/built-ins/Math/sqrt/prop-desc.js
new file mode 100644
index 0000000000000000000000000000000000000000..47279a6d260f98994035fcb8d3332fc1f29af72c
--- /dev/null
+++ b/test/built-ins/Math/sqrt/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.sqrt
+description: >
+  "sqrt" property of Math
+info: |
+  Section 17: Every other data property described in clauses 18 through 26
+  and in Annex B.2 has the attributes { [[Writable]]: true,
+  [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, "sqrt");
+verifyWritable(Math, "sqrt");
+verifyConfigurable(Math, "sqrt");
diff --git a/test/built-ins/Math/tan/prop-desc.js b/test/built-ins/Math/tan/prop-desc.js
new file mode 100644
index 0000000000000000000000000000000000000000..0974c7c4326fa918ceba5a80b31dba5aab16eb94
--- /dev/null
+++ b/test/built-ins/Math/tan/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.tan
+description: >
+  "tan" property of Math
+info: |
+  Section 17: Every other data property described in clauses 18 through 26
+  and in Annex B.2 has the attributes { [[Writable]]: true,
+  [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, "tan");
+verifyWritable(Math, "tan");
+verifyConfigurable(Math, "tan");
diff --git a/test/built-ins/Math/tanh/tanh-descriptor.js b/test/built-ins/Math/tanh/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/tanh/tanh-descriptor.js
rename to test/built-ins/Math/tanh/prop-desc.js
index bd6ab668cc3e9ed96e856983f39677fa737f5b82..98603830041e30c59916d499351030aaa9e67fb2 100644
--- a/test/built-ins/Math/tanh/tanh-descriptor.js
+++ b/test/built-ins/Math/tanh/prop-desc.js
@@ -1,12 +1,12 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing descriptor property of Math.tanh
-includes: [propertyHelper.js]
-es6id: 20.2.2.34
----*/
-
-verifyWritable(Math, "tanh");
-verifyNotEnumerable(Math, "tanh");
-verifyConfigurable(Math, "tanh");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Testing descriptor property of Math.tanh
+includes: [propertyHelper.js]
+es6id: 20.2.2.34
+---*/
+
+verifyNotEnumerable(Math, "tanh");
+verifyWritable(Math, "tanh");
+verifyConfigurable(Math, "tanh");
diff --git a/test/built-ins/Math/trunc/trunc-descriptor.js b/test/built-ins/Math/trunc/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/trunc/trunc-descriptor.js
rename to test/built-ins/Math/trunc/prop-desc.js
index 9088c3c9d2b82cd6a987d3297c2e5da05fb12f0f..15bf4c5ca15b162c318bfbcf3140f9f41c51f2cc 100644
--- a/test/built-ins/Math/trunc/trunc-descriptor.js
+++ b/test/built-ins/Math/trunc/prop-desc.js
@@ -1,12 +1,12 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing descriptor property of Math.trunc
-includes: [propertyHelper.js]
-es6id: 20.2.2.35
----*/
-
-verifyWritable(Math, "trunc");
-verifyNotEnumerable(Math, "trunc");
-verifyConfigurable(Math, "trunc");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Testing descriptor property of Math.trunc
+includes: [propertyHelper.js]
+es6id: 20.2.2.35
+---*/
+
+verifyNotEnumerable(Math, "trunc");
+verifyWritable(Math, "trunc");
+verifyConfigurable(Math, "trunc");