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

Auto-resolve prefixes to the latest version (#2487)

This commit is contained in:
native-api
2022-10-30 03:38:40 +03:00
committed by GitHub
parent 0b5e16add3
commit a12f947cc3
13 changed files with 258 additions and 13 deletions

80
test/latest.bats Normal file
View File

@@ -0,0 +1,80 @@
#!/usr/bin/env bats
load test_helper
setup() {
export PATH="${PYENV_TEST_DIR}/bin:$PATH"
}
create_executable() {
local name="$1"
local bin="${PYENV_TEST_DIR}/bin"
mkdir -p "$bin"
sed -Ee '1s/^ +//' > "${bin}/$name"
chmod +x "${bin}/$name"
}
@test "read from installed" {
create_executable pyenv-versions <<!
#!$BASH
echo 4.5.6
!
run pyenv-latest 4
assert_success
assert_output <<!
4.5.6
!
}
@test "read from known" {
create_executable python-build <<!
#!$BASH
echo 4.5.6
!
run pyenv-latest -k 4
assert_success
assert_output <<!
4.5.6
!
}
@test "installed version not found" {
create_executable pyenv-versions <<!
#!$BASH
echo 3.5.6
echo 3.10.8
!
run pyenv-latest 3.8
assert_failure
assert_output <<!
pyenv: no installed versions match the prefix \`3.8'
!
}
@test "known version not found" {
create_executable python-build <<!
#!$BASH
echo 3.5.6
echo 3.10.8
!
run pyenv-latest -k 3.8
assert_failure
assert_output <<!
pyenv: no known versions match the prefix \`3.8'
!
}
@test "sort CPython" {
create_executable pyenv-versions <<!
#!$BASH
echo 2.7.18
echo 3.5.6
echo 3.10.8
echo 3.10.6
!
run pyenv-latest 3
assert_success
assert_output <<!
3.10.8
!
}

View File

@@ -113,3 +113,10 @@ OUT
assert_success
assert_output "2.7.11"
}
@test "falls back to pyenv-latest" {
create_version "2.7.11"
PYENV_VERSION="2.7" run pyenv-version-name
assert_success
assert_output "2.7.11"
}