summaryrefslogtreecommitdiff
path: root/tests/unit/discovery
diff options
context:
space:
mode:
authorBernát Gábor <bgabor8@bloomberg.net>2020-03-10 10:33:50 +0000
committerGitHub <noreply@github.com>2020-03-10 10:33:50 +0000
commitb55072e2fdcf943192dc0d54b0a80bb4460e00fa (patch)
tree4d9a2fbe7b588cb8e2fdb4faf8a5020311f196e9 /tests/unit/discovery
parentd852194ce04914e385bab16d0e27a1efc64fe1b6 (diff)
downloadvirtualenv-b55072e2fdcf943192dc0d54b0a80bb4460e00fa.tar.gz
Fix py info might be misslead by distutils config (#1705)
Ignore configuration file parsing when getting distutils data. Resolves #1663. Signed-off-by: Bernat Gabor <bgabor8@bloomberg.net>
Diffstat (limited to 'tests/unit/discovery')
-rw-r--r--tests/unit/discovery/py_info/test_py_info.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/unit/discovery/py_info/test_py_info.py b/tests/unit/discovery/py_info/test_py_info.py
index 11b52c7..ad9d399 100644
--- a/tests/unit/discovery/py_info/test_py_info.py
+++ b/tests/unit/discovery/py_info/test_py_info.py
@@ -4,8 +4,10 @@ import copy
import itertools
import json
import logging
+import os
import sys
from collections import namedtuple
+from textwrap import dedent
import pytest
@@ -237,3 +239,26 @@ def test_system_executable_no_exact_match(target, discovered, position, tmp_path
warn_similar = caplog.records[-1]
assert warn_similar.levelno == logging.DEBUG
assert warn_similar.msg.startswith("no exact match found, chosen most similar")
+
+
+def test_py_info_ignores_distutils_config(monkeypatch, tmp_path):
+ (tmp_path / "setup.cfg").write_text(
+ dedent(
+ """
+ [install]
+ prefix={0}{1}prefix
+ install_purelib={0}{1}purelib
+ install_platlib={0}{1}platlib
+ install_headers={0}{1}headers
+ install_scripts={0}{1}scripts
+ install_data={0}{1}data
+ """.format(
+ tmp_path, os.sep
+ )
+ )
+ )
+ monkeypatch.chdir(tmp_path)
+ py_info = PythonInfo.from_exe(sys.executable)
+ distutils = py_info.distutils_install
+ for key, value in distutils.items():
+ assert not value.startswith(str(tmp_path)), "{}={}".format(key, value)