Skip to content

Commit

Permalink
test: pipe some error output if npm fails
Browse files Browse the repository at this point in the history
This test now prints out some child error output if the npm child proc
fails, allowing us to debug easier.

Refs: nodejs#12480
  • Loading branch information
Fishrock123 committed Apr 18, 2017
1 parent 3bf358d commit 7b77b1e
Showing 1 changed file with 11 additions and 11 deletions.
22 changes: 11 additions & 11 deletions test/parallel/test-npm-install.js
Expand Up @@ -6,7 +6,7 @@ if (!common.hasCrypto) {
}

const path = require('path');
const spawn = require('child_process').spawn;
const exec = require('child_process').exec;
const assert = require('assert');
const fs = require('fs');

Expand All @@ -26,11 +26,6 @@ const npmPath = path.join(
'npm-cli.js'
);

const args = [
npmPath,
'install'
];

const pkgContent = JSON.stringify({
dependencies: {
'package-name': common.fixturesDir + '/packages/main'
Expand All @@ -47,17 +42,22 @@ env['NPM_CONFIG_PREFIX'] = path.join(npmSandbox, 'npm-prefix');
env['NPM_CONFIG_TMP'] = path.join(npmSandbox, 'npm-tmp');
env['HOME'] = path.join(npmSandbox, 'home');

const proc = spawn(process.execPath, args, {
exec(`${process.execPath} ${npmPath} install`, {
cwd: installDir,
env: env
});
}, common.mustCall(handleExit));

function handleExit(error, stdout, stderr) {
const code = error ? error.code : 0;
const signalCode = error ? error.signal : null;

if (code !== 0) {
process.stderr.write(stderr);
}

function handleExit(code, signalCode) {
assert.strictEqual(code, 0, `npm install got error code ${code}`);
assert.strictEqual(signalCode, null, `unexpected signal: ${signalCode}`);
assert.doesNotThrow(function() {
fs.accessSync(installDir + '/node_modules/package-name');
});
}

proc.on('exit', common.mustCall(handleExit));

0 comments on commit 7b77b1e

Please sign in to comment.