Use sys.executable if it matches the requested version

This commit is contained in:
Anthony Sottile
2019-01-10 06:48:49 -08:00
parent 1cf4b54cba
commit 32d65236bf
2 changed files with 34 additions and 0 deletions

View File

@@ -2,6 +2,10 @@ from __future__ import absolute_import
from __future__ import unicode_literals
import os.path
import sys
import mock
import pytest
from pre_commit.languages import python
@@ -16,3 +20,15 @@ def test_norm_version_expanduser():
expected_path = home + '/.pyenv/versions/3.4.3/bin/python'
result = python.norm_version(path)
assert result == expected_path
@pytest.mark.parametrize('v', ('python3.6', 'python3', 'python'))
def test_sys_executable_matches(v):
with mock.patch.object(sys, 'version_info', (3, 6, 7)):
assert python._sys_executable_matches(v)
@pytest.mark.parametrize('v', ('notpython', 'python3.x'))
def test_sys_executable_matches_does_not_match(v):
with mock.patch.object(sys, 'version_info', (3, 6, 7)):
assert not python._sys_executable_matches(v)