|
|
|
@ -17,6 +17,14 @@ stub_system_python() { |
|
|
|
touch "$stub" && chmod +x "$stub" |
|
|
|
} |
|
|
|
|
|
|
|
create_executable() { |
|
|
|
local name="$1" |
|
|
|
local bin="${PYENV_TEST_DIR}/bin" |
|
|
|
mkdir -p "$bin" |
|
|
|
sed -Ee '1s/^ +//' > "${bin}/$name" |
|
|
|
chmod +x "${bin}/$name" |
|
|
|
} |
|
|
|
|
|
|
|
@test "no versions installed" { |
|
|
|
stub_system_python |
|
|
|
assert [ ! -d "${PYENV_ROOT}/versions" ] |
|
|
|
@ -161,3 +169,44 @@ OUT |
|
|
|
run pyenv-versions --bare |
|
|
|
assert_success ".venv" |
|
|
|
} |
|
|
|
|
|
|
|
@test "sort supports version sorting" { |
|
|
|
create_version "1.9.0" |
|
|
|
create_version "1.53.0" |
|
|
|
create_version "1.218.0" |
|
|
|
create_executable sort <<SH |
|
|
|
#!$BASH |
|
|
|
if [ "\$1" == "--version-sort" ]; then |
|
|
|
echo "${PYENV_ROOT}/versions/1.9.0" |
|
|
|
echo "${PYENV_ROOT}/versions/1.53.0" |
|
|
|
echo "${PYENV_ROOT}/versions/1.218.0" |
|
|
|
else exit 1 |
|
|
|
fi |
|
|
|
SH |
|
|
|
|
|
|
|
run pyenv-versions --bare |
|
|
|
assert_success |
|
|
|
assert_output <<OUT |
|
|
|
1.9.0 |
|
|
|
1.53.0 |
|
|
|
1.218.0 |
|
|
|
OUT |
|
|
|
} |
|
|
|
|
|
|
|
@test "sort doesn't support version sorting" { |
|
|
|
create_version "1.9.0" |
|
|
|
create_version "1.53.0" |
|
|
|
create_version "1.218.0" |
|
|
|
create_executable sort <<SH |
|
|
|
#!$BASH |
|
|
|
exit 1 |
|
|
|
SH |
|
|
|
|
|
|
|
run pyenv-versions --bare |
|
|
|
assert_success |
|
|
|
assert_output <<OUT |
|
|
|
1.218.0 |
|
|
|
1.53.0 |
|
|
|
1.9.0 |
|
|
|
OUT |
|
|
|
} |