test: move sequential/test-debug-signal-cluster
authorBen Noordhuis <info@bnoordhuis.nl>
Mon, 12 Jan 2015 13:12:50 +0000 (14:12 +0100)
committerBen Noordhuis <info@bnoordhuis.nl>
Mon, 12 Jan 2015 17:31:31 +0000 (18:31 +0100)
Move sequential/test-debug-signal-cluster to test/parallel.  Per the
previous commit, it can now run in parallel with other debugger tests.

PR-URL: https://github.com/iojs/io.js/pull/306
Reviewed-By: Miroslav Bajtoš <miroslav@strongloop.com>
test/parallel/test-debug-signal-cluster.js [new file with mode: 0644]
test/sequential/test-debug-signal-cluster.js [deleted file]

diff --git a/test/parallel/test-debug-signal-cluster.js b/test/parallel/test-debug-signal-cluster.js
new file mode 100644 (file)
index 0000000..df96395
--- /dev/null
@@ -0,0 +1,104 @@
+// Copyright Joyent, Inc. and other Node contributors.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to permit
+// persons to whom the Software is furnished to do so, subject to the
+// following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+// USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+var common = require('../common');
+var assert = require('assert');
+var spawn = require('child_process').spawn;
+
+var port = common.PORT + 42;
+var args = ['--debug-port=' + port,
+            common.fixturesDir + '/clustered-server/app.js'];
+var options = { stdio: ['inherit', 'inherit', 'pipe', 'ipc'] };
+var child = spawn(process.execPath, args, options);
+
+var outputLines = [];
+var outputTimerId;
+var waitingForDebuggers = false;
+
+var pids = null;
+
+child.stderr.on('data', function(data) {
+  var lines = data.toString().replace(/\r/g, '').trim().split('\n');
+  var line = lines[0];
+
+  lines.forEach(function(ln) { console.log('> ' + ln) } );
+
+  if (outputTimerId !== undefined)
+    clearTimeout(outputTimerId);
+
+  if (waitingForDebuggers) {
+    outputLines = outputLines.concat(lines);
+    outputTimerId = setTimeout(onNoMoreLines, 800);
+  } else if (line === 'all workers are running') {
+    child.on('message', function(msg) {
+      if (msg.type !== 'pids')
+        return;
+
+      pids = msg.pids;
+      console.error('got pids %j', pids);
+
+      waitingForDebuggers = true;
+      process._debugProcess(child.pid);
+    });
+
+    child.send({
+      type: 'getpids'
+    });
+  }
+});
+
+function onNoMoreLines() {
+  assertOutputLines();
+  process.exit();
+}
+
+setTimeout(function testTimedOut() {
+  assert(false, 'test timed out.');
+}, 6000);
+
+process.on('exit', function onExit() {
+  // Kill processes in reverse order to avoid timing problems on Windows where
+  // the parent process is killed before the children.
+  pids.reverse().forEach(function(pid) {
+    process.kill(pid);
+  });
+});
+
+function assertOutputLines() {
+  var expectedLines = [
+    'Starting debugger agent.',
+    'Debugger listening on port ' + (port + 0),
+    'Starting debugger agent.',
+    'Debugger listening on port ' + (port + 1),
+    'Starting debugger agent.',
+    'Debugger listening on port ' + (port + 2),
+  ];
+
+  // Do not assume any particular order of output messages,
+  // since workers can take different amout of time to
+  // start up
+  outputLines.sort();
+  expectedLines.sort();
+
+  assert.equal(outputLines.length, expectedLines.length);
+  for (var i = 0; i < expectedLines.length; i++)
+    assert.equal(outputLines[i], expectedLines[i]);
+}
diff --git a/test/sequential/test-debug-signal-cluster.js b/test/sequential/test-debug-signal-cluster.js
deleted file mode 100644 (file)
index df96395..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to permit
-// persons to whom the Software is furnished to do so, subject to the
-// following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-var common = require('../common');
-var assert = require('assert');
-var spawn = require('child_process').spawn;
-
-var port = common.PORT + 42;
-var args = ['--debug-port=' + port,
-            common.fixturesDir + '/clustered-server/app.js'];
-var options = { stdio: ['inherit', 'inherit', 'pipe', 'ipc'] };
-var child = spawn(process.execPath, args, options);
-
-var outputLines = [];
-var outputTimerId;
-var waitingForDebuggers = false;
-
-var pids = null;
-
-child.stderr.on('data', function(data) {
-  var lines = data.toString().replace(/\r/g, '').trim().split('\n');
-  var line = lines[0];
-
-  lines.forEach(function(ln) { console.log('> ' + ln) } );
-
-  if (outputTimerId !== undefined)
-    clearTimeout(outputTimerId);
-
-  if (waitingForDebuggers) {
-    outputLines = outputLines.concat(lines);
-    outputTimerId = setTimeout(onNoMoreLines, 800);
-  } else if (line === 'all workers are running') {
-    child.on('message', function(msg) {
-      if (msg.type !== 'pids')
-        return;
-
-      pids = msg.pids;
-      console.error('got pids %j', pids);
-
-      waitingForDebuggers = true;
-      process._debugProcess(child.pid);
-    });
-
-    child.send({
-      type: 'getpids'
-    });
-  }
-});
-
-function onNoMoreLines() {
-  assertOutputLines();
-  process.exit();
-}
-
-setTimeout(function testTimedOut() {
-  assert(false, 'test timed out.');
-}, 6000);
-
-process.on('exit', function onExit() {
-  // Kill processes in reverse order to avoid timing problems on Windows where
-  // the parent process is killed before the children.
-  pids.reverse().forEach(function(pid) {
-    process.kill(pid);
-  });
-});
-
-function assertOutputLines() {
-  var expectedLines = [
-    'Starting debugger agent.',
-    'Debugger listening on port ' + (port + 0),
-    'Starting debugger agent.',
-    'Debugger listening on port ' + (port + 1),
-    'Starting debugger agent.',
-    'Debugger listening on port ' + (port + 2),
-  ];
-
-  // Do not assume any particular order of output messages,
-  // since workers can take different amout of time to
-  // start up
-  outputLines.sort();
-  expectedLines.sort();
-
-  assert.equal(outputLines.length, expectedLines.length);
-  for (var i = 0; i < expectedLines.length; i++)
-    assert.equal(outputLines[i], expectedLines[i]);
-}