Browse Source

tools: remove NODE_PATH from environment for tests

Unset NODE_PATH environment variable when running tests.

On Ubuntu 16.04, some users experience test failures due to internal
libraries being installed in /usr/lib/nodejs/internal and NODE_PATH
including /usr/lib/nodejs. Tests that expect internal libraries to be
off limits without the --expose-internals flag will fail in this
situation. Currently, those tests are test/parallel/test-repl.js and
test/parallel/test-internal-modules.js.

This situation seems to (probably) be caused by some
not-entirely-uncommon package that gets installed.

Regardless, tests should ignore the user's NODE_PATH. (NODE_PATH is
tested in test/parallel/test-module-globalpaths-nodepath.js and
test/parallel/test-require-dot.js.)

PR-URL: https://github.com/nodejs/node/pull/11612
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Bryan English <bryan@bryanenglish.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Refs: https://twitter.com/trott/status/835729396900061184
v7.x
Rich Trott 8 years ago
committed by Anna Henningsen
parent
commit
ac3deb1481
No known key found for this signature in database GPG Key ID: D8B9F5AEAE84E4CF
  1. 7
      tools/test.py

7
tools/test.py

@ -702,8 +702,13 @@ def Execute(args, context, timeout=None, env={}, faketty=False):
fd_in = 0
pty_out = None
# Extend environment
env_copy = os.environ.copy()
# Remove NODE_PATH
if "NODE_PATH" in env_copy:
del env_copy["NODE_PATH"]
# Extend environment
for key, value in env.iteritems():
env_copy[key] = value

Loading…
Cancel
Save