mirror of
https://github.com/nodejs/node.git
synced 2025-05-06 21:35:34 +00:00

The assert.fail function signature has the message as the third argument but, understandably, it is often assumed that it is the first argument (or at least the first argument if no other arguments are passed). This corrects the assert.fail() invocations in the Node.js tests. Before: assert.fail('message'); // result: AssertionError: 'message' undefined undefined After: assert.fail(null, null, 'message'); // result: AssertionError: message PR-URL: https://github.com/nodejs/node/pull/3378 Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
59 lines
1.5 KiB
JavaScript
59 lines
1.5 KiB
JavaScript
'use strict';
|
|
const common = require('../common');
|
|
const assert = require('assert');
|
|
|
|
// This test is intended for Windows only
|
|
if (!common.isWindows) {
|
|
console.log('1..0 # Skipped: this test is Windows-specific.');
|
|
return;
|
|
}
|
|
|
|
if (!process.argv[2]) {
|
|
// parent
|
|
const net = require('net');
|
|
const spawn = require('child_process').spawn;
|
|
const path = require('path');
|
|
|
|
const pipeNamePrefix = path.basename(__filename) + '.' + process.pid;
|
|
const stdinPipeName = '\\\\.\\pipe\\' + pipeNamePrefix + '.stdin';
|
|
const stdoutPipeName = '\\\\.\\pipe\\' + pipeNamePrefix + '.stdout';
|
|
|
|
const stdinPipeServer = net.createServer(function(c) {
|
|
c.on('end', common.mustCall(function() {
|
|
}));
|
|
c.end('hello');
|
|
});
|
|
stdinPipeServer.listen(stdinPipeName);
|
|
|
|
const output = [];
|
|
|
|
const stdoutPipeServer = net.createServer(function(c) {
|
|
c.on('data', function(x) {
|
|
output.push(x);
|
|
});
|
|
c.on('end', common.mustCall(function() {
|
|
assert.strictEqual(output.join(''), 'hello');
|
|
}));
|
|
});
|
|
stdoutPipeServer.listen(stdoutPipeName);
|
|
|
|
const comspec = process.env['comspec'];
|
|
if (!comspec || comspec.length === 0) {
|
|
assert.fail(null, null, 'Failed to get COMSPEC');
|
|
}
|
|
|
|
const args = ['/c', process.execPath, __filename, 'child',
|
|
'<', stdinPipeName, '>', stdoutPipeName];
|
|
|
|
const child = spawn(comspec, args);
|
|
|
|
child.on('exit', common.mustCall(function(exitCode) {
|
|
stdinPipeServer.close();
|
|
stdoutPipeServer.close();
|
|
assert.strictEqual(exitCode, 0);
|
|
}));
|
|
} else {
|
|
// child
|
|
process.stdin.pipe(process.stdout);
|
|
}
|