From 00dab3495da1951d1c167984ea9622a2dd41eb90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Wed, 23 Oct 2019 10:27:23 +0200 Subject: [PATCH] test: verify npm compatibility with releases This adds a test that makes sure than running `npm` from a release does not print warnings to the console. PR-URL: https://github.com/nodejs/node/pull/30082 Reviewed-By: Jiawen Geng Reviewed-By: Gireesh Punathil Reviewed-By: Colin Ihrig Reviewed-By: Beth Griggs Reviewed-By: Yongsheng Zhang Reviewed-By: Trivikram Kamat Reviewed-By: Richard Lau Reviewed-By: Luigi Pinca --- test/parallel/test-release-npm.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 test/parallel/test-release-npm.js diff --git a/test/parallel/test-release-npm.js b/test/parallel/test-release-npm.js new file mode 100644 index 00000000000000..23d9cb39cea182 --- /dev/null +++ b/test/parallel/test-release-npm.js @@ -0,0 +1,24 @@ +'use strict'; + +const common = require('../common'); +const assert = require('assert'); +const child_process = require('child_process'); +const path = require('path'); + +const releaseReg = /^v\d+\.\d+\.\d+$/; + +if (!releaseReg.test(process.version)) { + common.skip('This test is only for release builds'); +} + +{ + // Verify that npm does not print out a warning when executed + + const npmCli = path.join(__dirname, '../../deps/npm/bin/npm-cli.js'); + const npmExec = child_process.spawnSync(process.execPath, [npmCli]); + assert.strictEqual(npmExec.status, 1); + + const stderr = npmExec.stderr.toString(); + assert.strictEqual(stderr.length, 0, 'npm is not ready for this release ' + + 'and is going to print warnings to users:\n' + stderr); +}