Skip to content

Commit

Permalink
tools: remove NODE_PATH from environment for tests
Browse files Browse the repository at this point in the history
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: #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
  • Loading branch information
Trott authored and MylesBorins committed Apr 19, 2017
1 parent 5d74c9e commit 3e6d992
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion tools/test.py
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down

0 comments on commit 3e6d992

Please sign in to comment.