From ac3deb14812c170d6a7b53c4ed566862386bc23e 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.) PR-URL: https://github.com/nodejs/node/pull/11612 Reviewed-By: James M Snell Reviewed-By: Bryan English Reviewed-By: Santiago Gimeno 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..d6715937b60da3 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