var WebSocket = require('../');
|
|
var currentTest = 1;
|
|
var lastTest = -1;
|
|
var testCount = null;
|
|
|
|
process.on('uncaughtException', function(err) {
|
|
console.log('Caught exception: ', err, err.stack);
|
|
});
|
|
|
|
process.on('SIGINT', function () {
|
|
try {
|
|
console.log('Updating reports and shutting down');
|
|
var ws = new WebSocket('ws://localhost:9001/updateReports?agent=ws');
|
|
ws.on('close', function() {
|
|
process.exit();
|
|
});
|
|
}
|
|
catch(e) {
|
|
process.exit();
|
|
}
|
|
});
|
|
|
|
function nextTest() {
|
|
if (currentTest > testCount || (lastTest != -1 && currentTest > lastTest)) {
|
|
console.log('Updating reports and shutting down');
|
|
var ws = new WebSocket('ws://localhost:9001/updateReports?agent=ws');
|
|
ws.on('close', function() {
|
|
process.exit();
|
|
});
|
|
return;
|
|
};
|
|
console.log('Running test case ' + currentTest + '/' + testCount);
|
|
var ws = new WebSocket('ws://localhost:9001/runCase?case=' + currentTest + '&agent=ws');
|
|
ws.on('message', function(data, flags) {
|
|
ws.send(flags.buffer, {binary: flags.binary === true, mask: true});
|
|
});
|
|
ws.on('close', function(data) {
|
|
currentTest += 1;
|
|
process.nextTick(nextTest);
|
|
});
|
|
ws.on('error', function(e) {});
|
|
}
|
|
|
|
var ws = new WebSocket('ws://localhost:9001/getCaseCount');
|
|
ws.on('message', function(data, flags) {
|
|
testCount = parseInt(data);
|
|
});
|
|
ws.on('close', function() {
|
|
if (testCount > 0) {
|
|
nextTest();
|
|
}
|
|
});
|