diff --git a/Makefile b/Makefile index 8bfd4e674a452b..24944d819e3519 100644 --- a/Makefile +++ b/Makefile @@ -274,13 +274,13 @@ test-valgrind: all test-check-deopts: all $(PYTHON) tools/test.py $(PARALLEL_ARGS) --mode=$(BUILDTYPE_LOWER) --check-deopts parallel sequential -benchmark/misc/function_call/build/Release/binding.node: all \ - benchmark/misc/function_call/napi_binding.c \ - benchmark/misc/function_call/binding.cc \ - benchmark/misc/function_call/binding.gyp +benchmark/napi/function_call/build/Release/binding.node: all \ + benchmark/napi/function_call/napi_binding.c \ + benchmark/napi/function_call/binding.cc \ + benchmark/napi/function_call/binding.gyp $(NODE) deps/npm/node_modules/node-gyp/bin/node-gyp rebuild \ --python="$(PYTHON)" \ - --directory="$(shell pwd)/benchmark/misc/function_call" \ + --directory="$(shell pwd)/benchmark/napi/function_call" \ --nodedir="$(shell pwd)" # Implicitly depends on $(NODE_EXE). We don't depend on it explicitly because @@ -1115,7 +1115,7 @@ LINT_CPP_EXCLUDE += $(wildcard test/addons-napi/??_*/*.cc test/addons-napi/??_*/ LINT_CPP_EXCLUDE += src/tracing/trace_event.h src/tracing/trace_event_common.h LINT_CPP_FILES = $(filter-out $(LINT_CPP_EXCLUDE), $(wildcard \ - benchmark/misc/function_call/binding.cc \ + benchmark/napi/function_call/binding.cc \ src/*.c \ src/*.cc \ src/*.h \ diff --git a/benchmark/misc/util-extend-vs-object-assign.js b/benchmark/misc/util-extend-vs-object-assign.js index 149619f6e1dea3..3880711b660fe1 100644 --- a/benchmark/misc/util-extend-vs-object-assign.js +++ b/benchmark/misc/util-extend-vs-object-assign.js @@ -9,6 +9,10 @@ const bench = common.createBenchmark(main, { }); function main({ n, type }) { + // Default value for tests. + if (type === '') + type = 'extend'; + let fn; if (type === 'extend') { fn = util._extend; diff --git a/benchmark/misc/function_call/.gitignore b/benchmark/napi/function_call/.gitignore similarity index 100% rename from benchmark/misc/function_call/.gitignore rename to benchmark/napi/function_call/.gitignore diff --git a/benchmark/misc/function_call/binding.cc b/benchmark/napi/function_call/binding.cc similarity index 100% rename from benchmark/misc/function_call/binding.cc rename to benchmark/napi/function_call/binding.cc diff --git a/benchmark/misc/function_call/binding.gyp b/benchmark/napi/function_call/binding.gyp similarity index 100% rename from benchmark/misc/function_call/binding.gyp rename to benchmark/napi/function_call/binding.gyp diff --git a/benchmark/misc/function_call/index.js b/benchmark/napi/function_call/index.js similarity index 100% rename from benchmark/misc/function_call/index.js rename to benchmark/napi/function_call/index.js diff --git a/benchmark/misc/function_call/napi_binding.c b/benchmark/napi/function_call/napi_binding.c similarity index 100% rename from benchmark/misc/function_call/napi_binding.c rename to benchmark/napi/function_call/napi_binding.c diff --git a/test/common/benchmark.js b/test/common/benchmark.js index 1fd4476ba55a35..f8952a8b9ad647 100644 --- a/test/common/benchmark.js +++ b/test/common/benchmark.js @@ -20,10 +20,27 @@ function runBenchmark(name, args, env) { const mergedEnv = Object.assign({}, process.env, env); - const child = fork(runjs, argv, { env: mergedEnv }); + const child = fork(runjs, argv, { env: mergedEnv, stdio: 'pipe' }); + child.stdout.setEncoding('utf8'); + + let stdout = ''; + child.stdout.on('data', (line) => { + stdout += line; + }); + child.on('exit', (code, signal) => { assert.strictEqual(code, 0); assert.strictEqual(signal, null); + // This bit makes sure that each benchmark file is being sent settings such + // that the benchmark file runs just one set of options. This helps keep the + // benchmark tests from taking a long time to run. Therefore, each benchmark + // file should result in three lines of output: a blank line, a line with + // the name of the benchmark file, and a line with the only results that we + // get from testing the benchmark file. + assert.ok( + /^(?:\n.+?\n.+?\n)+$/.test(stdout), + `benchmark file not running exactly one configuration in test: ${stdout}` + ); }); } diff --git a/test/parallel/test-benchmark-misc.js b/test/parallel/test-benchmark-misc.js index 96b3fe1fa2ed5a..fc7e340a80d0bb 100644 --- a/test/parallel/test-benchmark-misc.js +++ b/test/parallel/test-benchmark-misc.js @@ -9,6 +9,6 @@ runBenchmark('misc', [ 'dur=0.1', 'method=', 'n=1', - 'type=extend', - 'val=magyarország.icom.museum' + 'type=', + 'val=magyarország.icom.museum', ], { NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });