mirror of
https://github.com/pyenv/pyenv.git
synced 2025-11-15 06:43:53 -05:00
Import changes from recent rbenv
This commit is contained in:
@@ -8,7 +8,7 @@ if [ "$PYENV_ROOT" != "${PYENV_TEST_DIR}/root" ]; then
|
||||
export PYENV_ROOT="${PYENV_TEST_DIR}/root"
|
||||
export HOME="${PYENV_TEST_DIR}/home"
|
||||
|
||||
PATH=/usr/bin:/bin:/usr/sbin:/sbin
|
||||
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
|
||||
PATH="${PYENV_TEST_DIR}/bin:$PATH"
|
||||
PATH="${BATS_TEST_DIRNAME}/../libexec:$PATH"
|
||||
PATH="${BATS_TEST_DIRNAME}/libexec:$PATH"
|
||||
@@ -93,3 +93,25 @@ assert() {
|
||||
flunk "failed: $@"
|
||||
fi
|
||||
}
|
||||
|
||||
# Output a modified PATH that ensures that the given executable is not present,
|
||||
# but in which system utils necessary for pyenv operation are still available.
|
||||
path_without() {
|
||||
local exe="$1"
|
||||
local path="${PATH}:"
|
||||
local found alt util
|
||||
for found in $(which -a "$exe"); do
|
||||
found="${found%/*}"
|
||||
if [ "$found" != "${PYENV_ROOT}/shims" ]; then
|
||||
alt="${PYENV_TEST_DIR}/$(echo "${found#/}" | tr '/' '-')"
|
||||
mkdir -p "$alt"
|
||||
for util in bash head cut readlink greadlink; do
|
||||
if [ -x "${found}/$util" ]; then
|
||||
ln -s "${found}/$util" "${alt}/$util"
|
||||
fi
|
||||
done
|
||||
path="${path/${found}:/${alt}:}"
|
||||
fi
|
||||
done
|
||||
echo "${path%:}"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user