var WebSocket = require('../lib/faye/websocket'), pace = require('pace'); var host = 'ws://localhost:9001', agent = 'Node ' + process.version, cases = 0, skip = []; var socket = new WebSocket.Client(host + '/getCaseCount'), progress; socket.onmessage = function(event) { console.log('Total cases to run: ' + event.data); cases = parseInt(event.data); progress = pace(cases); }; socket.onclose = function() { var runCase = function(n) { progress.op(); if (n > cases) { socket = new WebSocket.Client(host + '/updateReports?agent=' + encodeURIComponent(agent)); socket.onclose = process.exit; } else if (skip.indexOf(n) >= 0) { runCase(n + 1); } else { socket = new WebSocket.Client(host + '/runCase?case=' + n + '&agent=' + encodeURIComponent(agent)); socket.onmessage = function(event) { socket.send(event.data); }; socket.onclose = function() { runCase(n + 1); }; } }; runCase(1); };