52 lines
1.1 KiB
JavaScript
Executable File
52 lines
1.1 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
|
|
/**
|
|
* This tiny wrapper file checks for known node flags and appends them
|
|
* when found, before invoking the "real" _mocha(1) executable.
|
|
*/
|
|
|
|
var spawn = require('child_process').spawn
|
|
, args = [ __dirname + '/_mocha' ];
|
|
|
|
process.argv.slice(2).forEach(function(arg){
|
|
var flag = arg.split('=')[0];
|
|
|
|
switch (flag) {
|
|
case '-d':
|
|
args.unshift('--debug');
|
|
break;
|
|
case 'debug':
|
|
case '--debug':
|
|
case '--debug-brk':
|
|
args.unshift(arg);
|
|
break;
|
|
case '-gc':
|
|
case '--expose-gc':
|
|
args.unshift('--expose-gc');
|
|
break;
|
|
case '--gc-global':
|
|
case '--harmony':
|
|
case '--harmony-proxies':
|
|
case '--harmony-collections':
|
|
case '--harmony-generators':
|
|
case '--prof':
|
|
args.unshift(arg);
|
|
break;
|
|
default:
|
|
if (0 == arg.indexOf('--trace')) args.unshift(arg);
|
|
else args.push(arg);
|
|
break;
|
|
}
|
|
});
|
|
|
|
var proc = spawn(process.argv[0], args, { customFds: [0,1,2] });
|
|
proc.on('exit', function (code, signal) {
|
|
process.on('exit', function(){
|
|
if (signal) {
|
|
process.kill(process.pid, signal);
|
|
} else {
|
|
process.exit(code);
|
|
}
|
|
});
|
|
});
|