mirror of
https://github.com/pyenv/pyenv.git
synced 2024-12-22 21:52:34 +00:00
commit
51bd975820
2 changed files with 36 additions and 0 deletions
|
@ -19,12 +19,15 @@ else
|
|||
include_system="1"
|
||||
fi
|
||||
|
||||
num_versions=0
|
||||
|
||||
print_version() {
|
||||
if [ "$1" == "$current_version" ]; then
|
||||
echo "${hit_prefix}$(rbenv-version 2>/dev/null)"
|
||||
else
|
||||
echo "${miss_prefix}$1"
|
||||
fi
|
||||
num_versions=$((num_versions + 1))
|
||||
}
|
||||
|
||||
# Include "system" in the non-bare output, if it exists
|
||||
|
@ -32,8 +35,15 @@ if [ -n "$include_system" ] && RBENV_VERSION=system rbenv-which ruby >/dev/null
|
|||
print_version system
|
||||
fi
|
||||
|
||||
shopt -s nullglob
|
||||
for path in "${RBENV_ROOT}/versions/"*; do
|
||||
if [ -d "$path" ]; then
|
||||
print_version "${path##*/}"
|
||||
fi
|
||||
done
|
||||
shopt -u nullglob
|
||||
|
||||
if [ "$num_versions" -eq 0 ] && [ -n "$include_system" ]; then
|
||||
echo "Warning: no Ruby detected on the system" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
|
|
@ -24,6 +24,12 @@ stub_system_ruby() {
|
|||
assert_success "* system (set by ${RBENV_ROOT}/version)"
|
||||
}
|
||||
|
||||
@test "not even system ruby available" {
|
||||
PATH="$(path_without ruby)" run rbenv-versions
|
||||
assert_failure
|
||||
assert_output "Warning: no Ruby detected on the system"
|
||||
}
|
||||
|
||||
@test "bare output no versions installed" {
|
||||
assert [ ! -d "${RBENV_ROOT}/versions" ]
|
||||
run rbenv-versions --bare
|
||||
|
@ -113,3 +119,23 @@ OUT
|
|||
2.0.0
|
||||
OUT
|
||||
}
|
||||
|
||||
@test "ignores non-directories under versions" {
|
||||
create_version "1.9"
|
||||
touch "${RBENV_ROOT}/versions/hello"
|
||||
|
||||
run rbenv-versions --bare
|
||||
assert_success "1.9"
|
||||
}
|
||||
|
||||
@test "lists symlinks under versions" {
|
||||
create_version "1.8.7"
|
||||
ln -s "1.8.7" "${RBENV_ROOT}/versions/1.8"
|
||||
|
||||
run rbenv-versions --bare
|
||||
assert_success
|
||||
assert_output <<OUT
|
||||
1.8
|
||||
1.8.7
|
||||
OUT
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue