2016-08-10 16:47:20 -07:00
|
|
|
'use strict';
|
|
|
|
|
const common = require('../common');
|
2017-07-01 02:29:09 +03:00
|
|
|
if (!common.hasCrypto)
|
|
|
|
|
common.skip('missing crypto');
|
|
|
|
|
|
2016-08-10 16:47:20 -07:00
|
|
|
const assert = require('assert');
|
|
|
|
|
const spawn = require('child_process').spawn;
|
|
|
|
|
|
|
|
|
|
const child = spawn(process.execPath, ['debug']);
|
|
|
|
|
child.stderr.setEncoding('utf8');
|
|
|
|
|
|
2017-03-14 14:20:38 -07:00
|
|
|
const expectedLines = [
|
|
|
|
|
/^\(node:\d+\) \[DEP0068\] DeprecationWarning:/,
|
|
|
|
|
/^Usage: .*node.* debug script\.js$/,
|
|
|
|
|
/^ .*node.* debug <host>:<port>$/
|
|
|
|
|
];
|
|
|
|
|
|
2017-01-08 13:19:00 +00:00
|
|
|
let actualUsageMessage = '';
|
2016-08-10 16:47:20 -07:00
|
|
|
child.stderr.on('data', function(data) {
|
|
|
|
|
actualUsageMessage += data.toString();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
child.on('exit', common.mustCall(function(code) {
|
2017-03-14 14:20:38 -07:00
|
|
|
const outputLines = actualUsageMessage.split('\n');
|
2016-08-10 16:47:20 -07:00
|
|
|
assert.strictEqual(code, 1);
|
2017-03-14 14:20:38 -07:00
|
|
|
for (let i = 0; i < expectedLines.length; i++)
|
2019-12-12 09:28:09 -05:00
|
|
|
assert.ok(
|
|
|
|
|
expectedLines[i].test(outputLines[i]),
|
|
|
|
|
`${outputLines[i]} did not match ${expectedLines[i]}`
|
|
|
|
|
);
|
2016-08-10 16:47:20 -07:00
|
|
|
}));
|