1
0
mirror of https://github.com/pyenv/pyenv.git synced 2025-11-16 07:13:53 -05:00

Improve performance of rbenv-which when RBENV_VERSION=system

This implements removing of the shims path element via bash
substitution, instead of jumping around in all the `$PATH` elements.
This commit is contained in:
Daniel Hahler
2014-03-13 19:45:11 +01:00
committed by Mislav Marohnić
parent 6bb7f07d2d
commit e4cbf04592
2 changed files with 37 additions and 34 deletions

View File

@@ -31,6 +31,31 @@ create_executable() {
assert_success "${RBENV_TEST_DIR}/bin/kill-all-humans"
}
@test "searches PATH for system version (shims prepended)" {
create_executable "${RBENV_TEST_DIR}/bin" "kill-all-humans"
create_executable "${RBENV_ROOT}/shims" "kill-all-humans"
PATH="${RBENV_ROOT}/shims:$PATH" RBENV_VERSION=system run rbenv-which kill-all-humans
assert_success "${RBENV_TEST_DIR}/bin/kill-all-humans"
}
@test "searches PATH for system version (shims appended)" {
create_executable "${RBENV_TEST_DIR}/bin" "kill-all-humans"
create_executable "${RBENV_ROOT}/shims" "kill-all-humans"
PATH="$PATH:${RBENV_ROOT}/shims" RBENV_VERSION=system run rbenv-which kill-all-humans
assert_success "${RBENV_TEST_DIR}/bin/kill-all-humans"
}
@test "searches PATH for system version (shims spread)" {
create_executable "${RBENV_TEST_DIR}/bin" "kill-all-humans"
create_executable "${RBENV_ROOT}/shims" "kill-all-humans"
PATH="${RBENV_ROOT}/shims:${RBENV_ROOT}/shims:/tmp/non-existent:$PATH:${RBENV_ROOT}/shims" \
RBENV_VERSION=system run rbenv-which kill-all-humans
assert_success "${RBENV_TEST_DIR}/bin/kill-all-humans"
}
@test "version not installed" {
create_executable "2.0" "rspec"
RBENV_VERSION=1.9 run rbenv-which rspec