From: Yosuke Furukawa Date: Sat, 17 Jan 2015 15:33:07 +0000 (+0900) Subject: benchmark: add filter option for benchmark X-Git-Tag: v1.0.3~26 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ea7750bddd8051f39fa538905e05f9bf1d1afa5f;p=platform%2Fupstream%2Fnodejs.git 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 --- diff --git a/benchmark/common.js b/benchmark/common.js index 825bfb4..a6a1d87 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(); }