Merging upstream version 3.2.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
577069b57b
commit
bdf4a19272
23 changed files with 357 additions and 102 deletions
|
@ -36,10 +36,10 @@ def test_read_pyvenv_cfg_non_utf8(tmpdir):
|
|||
|
||||
def test_norm_version_expanduser():
|
||||
home = os.path.expanduser('~')
|
||||
if os.name == 'nt': # pragma: nt cover
|
||||
if sys.platform == 'win32': # pragma: win32 cover
|
||||
path = r'~\python343'
|
||||
expected_path = fr'{home}\python343'
|
||||
else: # pragma: nt no cover
|
||||
else: # pragma: win32 no cover
|
||||
path = '~/.pyenv/versions/3.4.3/bin/python'
|
||||
expected_path = f'{home}/.pyenv/versions/3.4.3/bin/python'
|
||||
result = python.norm_version(path)
|
||||
|
@ -233,3 +233,54 @@ setup(
|
|||
return_value=False,
|
||||
):
|
||||
assert run_language(tmp_path, python, 'myexe') == (0, b'ohai\n')
|
||||
|
||||
|
||||
def _make_hello_hello(tmp_path):
|
||||
setup_py = '''\
|
||||
from setuptools import setup
|
||||
|
||||
setup(
|
||||
name='socks',
|
||||
version='0.0.0',
|
||||
py_modules=['socks'],
|
||||
entry_points={'console_scripts': ['socks = socks:main']},
|
||||
)
|
||||
'''
|
||||
|
||||
main_py = '''\
|
||||
import sys
|
||||
|
||||
def main():
|
||||
print(repr(sys.argv[1:]))
|
||||
print('hello hello')
|
||||
return 0
|
||||
'''
|
||||
tmp_path.joinpath('setup.py').write_text(setup_py)
|
||||
tmp_path.joinpath('socks.py').write_text(main_py)
|
||||
|
||||
|
||||
def test_simple_python_hook(tmp_path):
|
||||
_make_hello_hello(tmp_path)
|
||||
|
||||
ret = run_language(tmp_path, python, 'socks', [os.devnull])
|
||||
assert ret == (0, f'[{os.devnull!r}]\nhello hello\n'.encode())
|
||||
|
||||
|
||||
def test_simple_python_hook_default_version(tmp_path):
|
||||
# make sure that this continues to work for platforms where default
|
||||
# language detection does not work
|
||||
with mock.patch.object(
|
||||
python,
|
||||
'get_default_version',
|
||||
return_value=C.DEFAULT,
|
||||
):
|
||||
test_simple_python_hook(tmp_path)
|
||||
|
||||
|
||||
def test_python_hook_weird_setup_cfg(tmp_path):
|
||||
_make_hello_hello(tmp_path)
|
||||
setup_cfg = '[install]\ninstall_scripts=/usr/sbin'
|
||||
tmp_path.joinpath('setup.cfg').write_text(setup_cfg)
|
||||
|
||||
ret = run_language(tmp_path, python, 'socks', [os.devnull])
|
||||
assert ret == (0, f'[{os.devnull!r}]\nhello hello\n'.encode())
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue