From ea7750bddd8051f39fa538905e05f9bf1d1afa5f Mon Sep 17 00:00:00 2001 From: Yosuke Furukawa Date: Sun, 18 Jan 2015 00:33:07 +0900 Subject: benchmark: add filter option for benchmark Before: # common.js executes all tests in net directory. $ ./iojs common.js net After: # common.js executes only "dgram" tests in net directory. $ ./iojs common.js net dgram PR-URL: https://github.com/iojs/io.js/pull/488 Reviewed-By: Ben Noordhuis --- benchmark/common.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'benchmark/common.js') diff --git a/benchmark/common.js b/benchmark/common.js index 825bfb43f0..a6a1d87af8 100644 --- a/benchmark/common.js +++ b/benchmark/common.js @@ -7,8 +7,9 @@ exports.PORT = process.env.PORT || 12346; // If this is the main module, then run the benchmarks if (module === require.main) { var type = process.argv[2]; + var testFilter = process.argv[3]; if (!type) { - console.error('usage:\n ./iojs benchmark/common.js '); + console.error('usage:\n ./iojs benchmark/common.js [testFilter]'); process.exit(1); } @@ -17,6 +18,19 @@ if (module === require.main) { var tests = fs.readdirSync(dir); var spawn = require('child_process').spawn; + if (testFilter) { + var filteredTests = tests.filter(function(item){ + if (item.lastIndexOf(testFilter) >= 0) { + return item; + } + }); + if (filteredTests.length === 0) { + console.error(`${testFilter} is not found in \n ${tests.join(' \n')}`); + return; + } + tests = filteredTests; + } + runBenchmarks(); } -- cgit v1.2.3