From d30a5836b6af2845e86d1bffd6183b920a45910f Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Sun, 3 Sep 2017 14:06:09 -0700 Subject: [PATCH] benchmark: provide default methods for assert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The benchmarks for `assert` all take a `method` configuration option, but the allowable values are different across the files. For each benchmark, provide an arbitrary default if `method` is set to an empty string. This allows all the `assert` benchmarks to be run with a single command but only on a single method. This is primarily useful for testing that the assert benchmark files don't contain egregious errors. (In other words, it's useful for testing.) PR-URL: https://github.com/nodejs/node/pull/15174 Reviewed-By: Ruben Bridgewater Reviewed-By: Michaƫl Zasso Reviewed-By: James M Snell --- benchmark/assert/deepequal-buffer.js | 2 ++ benchmark/assert/deepequal-map.js | 2 ++ benchmark/assert/deepequal-object.js | 2 ++ benchmark/assert/deepequal-prims-and-objs-big-array-set.js | 2 ++ benchmark/assert/deepequal-prims-and-objs-big-loop.js | 2 ++ benchmark/assert/deepequal-set.js | 2 ++ benchmark/assert/deepequal-typedarrays.js | 2 ++ benchmark/assert/throws.js | 2 ++ 8 files changed, 16 insertions(+) diff --git a/benchmark/assert/deepequal-buffer.js b/benchmark/assert/deepequal-buffer.js index 9e86aa231e69d2..d4495af69b48ef 100644 --- a/benchmark/assert/deepequal-buffer.js +++ b/benchmark/assert/deepequal-buffer.js @@ -27,6 +27,8 @@ function main(conf) { data.copy(expectedWrong); switch (conf.method) { + case '': + // Empty string falls through to next line as default, mostly for tests. case 'deepEqual': bench.start(); for (i = 0; i < n; ++i) { diff --git a/benchmark/assert/deepequal-map.js b/benchmark/assert/deepequal-map.js index eae4a20605ca70..4976f2619834bf 100644 --- a/benchmark/assert/deepequal-map.js +++ b/benchmark/assert/deepequal-map.js @@ -46,6 +46,8 @@ function main(conf) { var values, values2; switch (conf.method) { + case '': + // Empty string falls through to next line as default, mostly for tests. case 'deepEqual_primitiveOnly': values = array.map((_, i) => [`str_${i}`, 123]); benchmark(assert.deepEqual, n, values); diff --git a/benchmark/assert/deepequal-object.js b/benchmark/assert/deepequal-object.js index d1a6cb69944055..2efa9452af88e1 100644 --- a/benchmark/assert/deepequal-object.js +++ b/benchmark/assert/deepequal-object.js @@ -37,6 +37,8 @@ function main(conf) { const expectedWrong = createObj(source, '4'); switch (conf.method) { + case '': + // Empty string falls through to next line as default, mostly for tests. case 'deepEqual': bench.start(); for (i = 0; i < n; ++i) { diff --git a/benchmark/assert/deepequal-prims-and-objs-big-array-set.js b/benchmark/assert/deepequal-prims-and-objs-big-array-set.js index 1e356cea51efd6..19337d7828236d 100644 --- a/benchmark/assert/deepequal-prims-and-objs-big-array-set.js +++ b/benchmark/assert/deepequal-prims-and-objs-big-array-set.js @@ -53,6 +53,8 @@ function main(conf) { const expectedWrongSet = new Set(expectedWrong); switch (conf.method) { + case '': + // Empty string falls through to next line as default, mostly for tests. case 'deepEqual_Array': bench.start(); for (i = 0; i < n; ++i) { diff --git a/benchmark/assert/deepequal-prims-and-objs-big-loop.js b/benchmark/assert/deepequal-prims-and-objs-big-loop.js index 2800b51c491bcf..4a345f27c20f0e 100644 --- a/benchmark/assert/deepequal-prims-and-objs-big-loop.js +++ b/benchmark/assert/deepequal-prims-and-objs-big-loop.js @@ -34,6 +34,8 @@ function main(conf) { // Creates new array to avoid loop invariant code motion switch (conf.method) { + case '': + // Empty string falls through to next line as default, mostly for tests. case 'deepEqual': bench.start(); for (i = 0; i < n; ++i) { diff --git a/benchmark/assert/deepequal-set.js b/benchmark/assert/deepequal-set.js index ecf44c063dfecf..aa0ebc064886a2 100644 --- a/benchmark/assert/deepequal-set.js +++ b/benchmark/assert/deepequal-set.js @@ -47,6 +47,8 @@ function main(conf) { var values, values2; switch (conf.method) { + case '': + // Empty string falls through to next line as default, mostly for tests. case 'deepEqual_primitiveOnly': values = array.map((_, i) => `str_${i}`); benchmark(assert.deepEqual, n, values); diff --git a/benchmark/assert/deepequal-typedarrays.js b/benchmark/assert/deepequal-typedarrays.js index 5d51d53d13e70f..f748a6042fd1ad 100644 --- a/benchmark/assert/deepequal-typedarrays.js +++ b/benchmark/assert/deepequal-typedarrays.js @@ -37,6 +37,8 @@ function main(conf) { var i; switch (conf.method) { + case '': + // Empty string falls through to next line as default, mostly for tests. case 'deepEqual': bench.start(); for (i = 0; i < n; ++i) { diff --git a/benchmark/assert/throws.js b/benchmark/assert/throws.js index 9043799256e196..075e227f886acc 100644 --- a/benchmark/assert/throws.js +++ b/benchmark/assert/throws.js @@ -22,6 +22,8 @@ function main(conf) { var i; switch (conf.method) { + case '': + // Empty string falls through to next line as default, mostly for tests. case 'doesNotThrow': bench.start(); for (i = 0; i < n; ++i) {