Merge pull request #1669 from pre-commit/not_a_shim_when_home_is_slash

allow default language_version of system when homedir is /
This commit is contained in:
Anthony Sottile
2020-10-28 23:03:34 -07:00
committed by GitHub
2 changed files with 14 additions and 2 deletions

View File

@@ -37,8 +37,14 @@ def exe_exists(exe: str) -> bool:
common = None
return (
not SHIMS_RE.search(found) and # it is not in a /shims/ directory
common != homedir # it is not in the home directory
# it is not in a /shims/ directory
not SHIMS_RE.search(found) and
(
# the homedir is / (docker, service user, etc.)
os.path.dirname(homedir) == homedir or
# the exe is not contained in the home directory
common != homedir
)
)

View File

@@ -55,6 +55,12 @@ def test_exe_exists_commonpath_raises_ValueError(find_exe_mck, homedir_mck):
assert helpers.exe_exists('ruby') is True
def test_exe_exists_true_when_homedir_is_slash(find_exe_mck):
find_exe_mck.return_value = os.path.normpath('/usr/bin/ruby')
with mock.patch.object(os.path, 'expanduser', return_value=os.sep):
assert helpers.exe_exists('ruby') is True
def test_basic_get_default_version():
assert helpers.basic_get_default_version() == C.DEFAULT