test: use npm sandbox in test-npm-install
Checklist
-
make -j8 test
(UNIX), orvcbuild test nosign
(Windows) passes -
commit message follows commit guidelines
Affected core subsystem(s)
test
Description of change
npm should run in a sandbox to avoid unwanted interactions. Without this change, npm would read the userconfig file $HOME/.npmrc
which may contain configs that break this test.
Not completely sure if we should set the HOME
variable as I decided to do here, or track down all the variables that it influences with npm config ls -l
and set them all individually. This seems more future-proof, and since it's just to run npm it should be ok.
Taken inspiration from https://github.com/gibfahn/node/blob/a3c1505cd9fd5e26aebdbb2269515f9d3deb11db/tools/test-npm.sh#L44-L48 (ongoing PR https://github.com/nodejs/node/pull/7867) with the HOME
var change that may be a good idea there as well, cc @gibfahn .
Fixes: https://github.com/nodejs/node/issues/9074 - test run: https://ci.nodejs.org/job/node-test-commit-freebsd/4799/
cc @nodejs/testing @TheAlphaNerd @trott