mirror of
https://github.com/nodejs/node.git
synced 2024-11-30 15:30:56 +01:00
f99471b2ae
This removes the need for parsing stdout from the benchmarks. If the process wasn't executed by fork, it will just print like it used to. This also fixes the parsing of CLI arguments, by inferring the type from the options object instead of the value content. Only two benchmarks had to be changed: * http/http_server_for_chunky_client.js this previously used a spawn now it uses a fork and relays the messages using common.sendResult. * misc/v8-bench.js this utilized that v8/benchmark/run.js called global.print and reformatted the input. It now interfaces directly with the benchmark runner global.BenchmarkSuite. PR-URL: https://github.com/nodejs/node/pull/7094 Reviewed-By: Trevor Norris <trev.norris@gmail.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: Brian White <mscdex@mscdex.net> Reviewed-By: Anna Henningsen <anna@addaleax.net>
40 lines
889 B
JavaScript
40 lines
889 B
JavaScript
'use strict';
|
|
|
|
var path = require('path');
|
|
var http = require('http');
|
|
var fs = require('fs');
|
|
var fork = require('child_process').fork;
|
|
var common = require('../common.js');
|
|
var test = require('../../test/common.js');
|
|
var pep = path.dirname(process.argv[1]) + '/_chunky_http_client.js';
|
|
var PIPE = test.PIPE;
|
|
|
|
try {
|
|
fs.accessSync(test.tmpDir, fs.F_OK);
|
|
} catch (e) {
|
|
fs.mkdirSync(test.tmpDir);
|
|
}
|
|
|
|
var server;
|
|
try {
|
|
fs.unlinkSync(PIPE);
|
|
} catch (e) { /* ignore */ }
|
|
|
|
server = http.createServer(function(req, res) {
|
|
res.writeHead(200, { 'content-type': 'text/plain',
|
|
'content-length': '2' });
|
|
res.end('ok');
|
|
});
|
|
|
|
server.on('error', function(err) {
|
|
throw new Error('server error: ' + err);
|
|
});
|
|
|
|
server.listen(PIPE);
|
|
|
|
var child = fork(pep, process.argv.slice(2));
|
|
child.on('message', common.sendResult);
|
|
child.on('close', function() {
|
|
server.close();
|
|
});
|