Skip to content
This repository has been archived by the owner on Aug 31, 2018. It is now read-only.

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.

PR-URL: nodejs/node#12490
Refs: nodejs/node#12480
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
  • Loading branch information
Fishrock123 authored and Olivia Hugger committed Aug 30, 2017
1 parent d79582b commit 3d2ef8d
Showing 1 changed file with 11 additions and 11 deletions.
22 changes: 11 additions & 11 deletions test/parallel/test-npm-install.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ if (!common.hasCrypto)
common.skip('missing crypto');

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 @@ -24,11 +24,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 @@ -45,17 +40,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 3d2ef8d

Please sign in to comment.