diff options
| author | Bernát Gábor <bgabor8@bloomberg.net> | 2020-03-10 10:33:50 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-03-10 10:33:50 +0000 |
| commit | b55072e2fdcf943192dc0d54b0a80bb4460e00fa (patch) | |
| tree | 4d9a2fbe7b588cb8e2fdb4faf8a5020311f196e9 /tests/unit/discovery | |
| parent | d852194ce04914e385bab16d0e27a1efc64fe1b6 (diff) | |
| download | virtualenv-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.py | 25 |
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) |
