test: pipe some error output if npm fails · nodejs/node@8b04574
@@ -2,7 +2,7 @@
22const common = require('../common');
3344const path = require('path');
5-const spawn = require('child_process').spawn;
5+const exec = require('child_process').exec;
66const assert = require('assert');
77const fs = require('fs');
88@@ -22,11 +22,6 @@ const npmPath = path.join(
2222'npm-cli.js'
2323);
242425-const args = [
26-npmPath,
27-'install'
28-];
29-3025const pkgContent = JSON.stringify({
3126dependencies: {
3227'package-name': `${common.fixturesDir}/packages/main`
@@ -43,17 +38,22 @@ env['NPM_CONFIG_PREFIX'] = path.join(npmSandbox, 'npm-prefix');
4338env['NPM_CONFIG_TMP'] = path.join(npmSandbox, 'npm-tmp');
4439env['HOME'] = path.join(npmSandbox, 'home');
454046-const proc = spawn(process.execPath, args, {
41+exec(`${process.execPath} ${npmPath} install`, {
4742cwd: installDir,
4843env: env
49-});
44+}, common.mustCall(handleExit));
45+46+function handleExit(error, stdout, stderr) {
47+const code = error ? error.code : 0;
48+const signalCode = error ? error.signal : null;
49+50+if (code !== 0) {
51+process.stderr.write(stderr);
52+}
505351-function handleExit(code, signalCode) {
5254assert.strictEqual(code, 0, `npm install got error code ${code}`);
5355assert.strictEqual(signalCode, null, `unexpected signal: ${signalCode}`);
5456assert.doesNotThrow(function() {
5557fs.accessSync(`${installDir}/node_modules/package-name`);
5658});
5759}
58-59-proc.on('exit', common.mustCall(handleExit));