sh-rehash: Fix erroneously executing rather than printing a command (#3369)

This commit is contained in:
native-api 2025-12-05 20:42:25 +03:00 committed by GitHub
parent 59204a6c89
commit 0f7b8fa8ee
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 17 additions and 3 deletions

View File

@ -11,7 +11,7 @@ shell="$(basename "${PYENV_SHELL:-$SHELL}")"
# When pyenv shell integration is enabled, delegate to pyenv-rehash,
# then tell the shell to empty its command lookup cache.
pyenv-rehash
echo "pyenv-rehash"
case "$shell" in
fish )

View File

@ -110,13 +110,27 @@ SH
@test "sh-rehash in bash" {
create_executable "3.4" "python"
PYENV_SHELL=bash run pyenv-sh-rehash
assert_success "hash -r 2>/dev/null || true"
assert_success "pyenv-rehash
hash -r 2>/dev/null || true"
}
@test "sh-rehash in bash (integration)" {
create_executable "3.4" "python"
run eval "$(pyenv-sh-rehash)"
assert_success
assert [ -x "${PYENV_ROOT}/shims/python" ]
}
@test "sh-rehash in fish" {
create_executable "3.4" "python"
PYENV_SHELL=fish run pyenv-sh-rehash
assert_success ""
assert_success "pyenv-rehash"
}
@test "sh-rehash in fish (integration)" {
command -v fish >/dev/null || skip "-- fish not installed"
create_executable "3.4" "python"
run fish -Nc "eval (pyenv-sh-rehash)"
assert_success
assert [ -x "${PYENV_ROOT}/shims/python" ]
}