In test-child-process-spawnsync, the assert.strictEqual() custom message was hiding information about why the test has failed. It just showed what value is expected and in case of failure we want to know which value has caused test to fail. PR-URL: https://github.com/nodejs/node/pull/16819 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Anatoli Papirovski <apapirovski@mac.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
41 lines
1.3 KiB
JavaScript
41 lines
1.3 KiB
JavaScript
'use strict';
|
|
const common = require('../common');
|
|
const assert = require('assert');
|
|
|
|
const spawnSync = require('child_process').spawnSync;
|
|
|
|
// Echo does different things on Windows and Unix, but in both cases, it does
|
|
// more-or-less nothing if there are no parameters
|
|
const ret = spawnSync('sleep', ['0']);
|
|
assert.strictEqual(ret.status, 0);
|
|
|
|
// Error test when command does not exist
|
|
const ret_err = spawnSync('command_does_not_exist', ['bar']).error;
|
|
|
|
assert.strictEqual(ret_err.code, 'ENOENT');
|
|
assert.strictEqual(ret_err.errno, 'ENOENT');
|
|
assert.strictEqual(ret_err.syscall, 'spawnSync command_does_not_exist');
|
|
assert.strictEqual(ret_err.path, 'command_does_not_exist');
|
|
assert.deepStrictEqual(ret_err.spawnargs, ['bar']);
|
|
|
|
{
|
|
// Test the cwd option
|
|
const cwd = common.rootDir;
|
|
const response = common.spawnSyncPwd({cwd});
|
|
|
|
assert.strictEqual(response.stdout.toString().trim(), cwd);
|
|
}
|
|
|
|
{
|
|
// Test the encoding option
|
|
const noEncoding = common.spawnSyncPwd();
|
|
const bufferEncoding = common.spawnSyncPwd({encoding: 'buffer'});
|
|
const utf8Encoding = common.spawnSyncPwd({encoding: 'utf8'});
|
|
|
|
assert.deepStrictEqual(noEncoding.output, bufferEncoding.output);
|
|
assert.deepStrictEqual([
|
|
null,
|
|
noEncoding.stdout.toString(),
|
|
noEncoding.stderr.toString()
|
|
], utf8Encoding.output);
|
|
}
|