mirror of
https://github.com/Hopiu/postal.js.git
synced 2026-03-17 14:40:24 +00:00
55 lines
1.2 KiB
JavaScript
55 lines
1.2 KiB
JavaScript
/**
|
|
* Benchmark runner dependencies
|
|
*/
|
|
|
|
var colors = require( 'colors' )
|
|
, path = require( 'path' );
|
|
|
|
/**
|
|
* Find all the benchmarks
|
|
*/
|
|
|
|
var benchmarks_files = process.env.BENCHMARKS.split( ' ' )
|
|
, all = [].concat( benchmarks_files )
|
|
, first = all.shift()
|
|
, benchmarks = {};
|
|
|
|
// find the benchmarks and load them all in our obj
|
|
benchmarks_files.forEach( function ( file ) {
|
|
benchmarks[file] = require( path.join( __dirname, '..', file ) );
|
|
} );
|
|
|
|
// setup the complete listeners
|
|
benchmarks_files.forEach( function ( file ) {
|
|
var benchmark = benchmarks[file]
|
|
, next_file = all.shift()
|
|
, next = benchmarks[next_file];
|
|
|
|
/**
|
|
* Generate a oncomplete function for the tests, either we are done or we
|
|
* have more benchmarks to process.
|
|
*/
|
|
|
|
function complete() {
|
|
if ( !next ) {
|
|
console.log(
|
|
'\n\nBenchmark completed in'.grey
|
|
, (Date.now() - start).toString().green + ' ms'.grey
|
|
);
|
|
} else {
|
|
console.log( '\nStarting benchmark '.grey + next_file.yellow );
|
|
next.run();
|
|
}
|
|
}
|
|
|
|
// attach the listener
|
|
benchmark.on( 'complete', complete );
|
|
} );
|
|
|
|
/**
|
|
* Start the benchmark
|
|
*/
|
|
|
|
var start = Date.now();
|
|
console.log( 'Starting benchmark '.grey + first.yellow );
|
|
benchmarks[first].run();
|