summaryrefslogtreecommitdiff
path: root/node_modules/ws/test/autobahn.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/ws/test/autobahn.js')
-rw-r--r--node_modules/ws/test/autobahn.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/node_modules/ws/test/autobahn.js b/node_modules/ws/test/autobahn.js
new file mode 100644
index 0000000..048cc90
--- /dev/null
+++ b/node_modules/ws/test/autobahn.js
@@ -0,0 +1,52 @@
+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();
+ }
+}); \ No newline at end of file