test_site creates the $HOME/.local/lib/python3.7/site-packages/ directory, or parent directories if needed. That's wrong. An unit test must not modify its environment, especially the home directory!
The unit test must mock $HOME environment variable and mock the home directory.
Example of issue of writing into $HOME:
http://buildbot.python.org/all/builders/AMD64%20FreeBSD%20CURRENT%20Non-Debug%203.5/builds/75/steps/test/logs/stdio
[109/398] test_site
test_site skipped -- unable to create user site directory ('/.local/lib/python3.5/site-packages'): [Errno 13] Permission denied: '/.local'
On this buildbot, $HOME is set to /. The whole test_site test is skipped just because of that.
Recent change on test_site related to this issue: commit b85c136903c6d2368162f7c4a58f258c9c69ead0, bpo-30108. |