提交 cf040109 编写于 作者: S Sercan

na

上级 b931eb68
#!/usr/bin/env node
var path = require('path'),
extend = require('util')._extend,
exec = require('child_process').exec;
extend = require('util')._extend,
exec = require('child_process').exec;
var baseDir = path.resolve(__dirname, '..'),
srcDir = path.resolve(baseDir, 'src'),
karmaBin = path.resolve(baseDir, 'node_modules/.bin/karma'),
velocityBin = path.resolve(baseDir, 'node_modules/.bin/velocity'),
chimpScript = path.resolve(__dirname, 'start.js');
srcDir = path.resolve(baseDir, 'src'),
karmaBin = path.resolve(baseDir, 'node_modules/.bin/karma'),
velocityBin = path.resolve(baseDir, 'node_modules/.bin/velocity'),
chimpScript = path.resolve(__dirname, 'start.js');
runTests();
function runTests() {
runKarma(function () {
runVelocity(function () {
runChimp(function () {
runChimp(function () {
console.log('Yay!');
});
});
});
}
function runKarma(callback) {
startProcess({
name: 'Karma',
options: {},
command: karmaBin + ' start karma.conf.js --single-run'
}, callback);
startProcess({
name: 'Karma',
options: {},
command: karmaBin + ' start karma.conf.js --single-run'
}, callback);
}
function runVelocity(callback) {
startProcess({
name: 'Velocity',
options: {
cwd: srcDir
},
command: velocityBin + ' test-app --ci'
}, callback);
startProcess({
name: 'Velocity',
options: {
cwd: srcDir
},
command: velocityBin + ' test-app --ci'
}, callback);
}
function runChimp(callback) {
startProcess({
name: 'Chimp',
options: {
env: extend({CI: 1}, process.env)
},
command: chimpScript
}, callback);
startProcess({
name: 'Chimp',
options: {
env: extend({CI: 1}, process.env)
},
command: chimpScript
}, callback);
}
function startProcess(opts, callback) {
var proc = exec(
opts.command,
opts.options
);
proc.stdout.pipe(process.stdout);
proc.stderr.pipe(process.stderr);
proc.on('close', function (code) {
if (code > 0) {
console.log(opts.name, 'exited with code ' + code);
process.exit(code);
} else {
callback();
}
});
var proc = exec(
opts.command,
opts.options
);
proc.stdout.pipe(process.stdout);
proc.stderr.pipe(process.stderr);
proc.on('close', function (code) {
if (code > 0) {
console.log(opts.name, 'exited with code ' + code);
process.exit(code);
} else {
callback();
}
});
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册