From c99ba2dd34d5de67a54157671ba5332ecd6b47fd Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Tue, 28 Feb 2017 07:46:52 -0800 Subject: [PATCH] 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.) Refs: https://twitter.com/trott/status/835729396900061184 --- tools/test.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/test.py b/tools/test.py index f46b13fa30a66a..4c04c07ac854d3 100755 --- a/tools/test.py +++ b/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