Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package pyenv for openSUSE:Factory checked in at 2023-03-01 16:14:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pyenv (Old) and /work/SRC/openSUSE:Factory/.pyenv.new.31432 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pyenv" Wed Mar 1 16:14:12 2023 rev:22 rq:1068307 version:2.3.13 Changes: -------- --- /work/SRC/openSUSE:Factory/pyenv/pyenv.changes 2023-02-07 18:49:37.547306039 +0100 +++ /work/SRC/openSUSE:Factory/.pyenv.new.31432/pyenv.changes 2023-03-01 16:14:35.246765913 +0100 @@ -1,0 +2,14 @@ +Fri Feb 24 15:42:58 UTC 2023 - Thomas Schraitle <[email protected]> - 2.3.13 + +- Update to 2.3.13 + - Fix pyenv-latest to ignore virtualenvs by @native-api in #2608 + - Show symlink contents in non-bare `pyenv versions' by @native-api in #2609 + - Ignore virtualenvs in `pyenv latest' in a clean way by @native-api in #2610 + - Fix link resolving in pyenv-versions by @laggardkernel in #2612 + - Add CPython 3.11.2 by @edgarrmondragon in #2615 + - Add CPython 3.10.10 by @edgarrmondragon in #2616 + - Add CPython 3.12.0a5 by @Afront in #2614 + +Full Changelog: https://github.com/pyenv/pyenv/compare/v2.3.12...v2.3.13 + +------------------------------------------------------------------- Old: ---- pyenv-2.3.12.tar.gz New: ---- pyenv-2.3.13.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pyenv.spec ++++++ --- /var/tmp/diff_new_pack.fk2GzJ/_old 2023-03-01 16:14:35.758768560 +0100 +++ /var/tmp/diff_new_pack.fk2GzJ/_new 2023-03-01 16:14:35.766768602 +0100 @@ -19,7 +19,7 @@ %define pyenv_dir %{_libexecdir}/pyenv # Name: pyenv -Version: 2.3.12 +Version: 2.3.13 Release: 0 Summary: Python Version Management License: MIT ++++++ pyenv-2.3.12.tar.gz -> pyenv-2.3.13.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.12/.github/workflows/macos_build.yml new/pyenv-2.3.13/.github/workflows/macos_build.yml --- old/pyenv-2.3.12/.github/workflows/macos_build.yml 2023-01-30 06:19:43.000000000 +0100 +++ new/pyenv-2.3.13/.github/workflows/macos_build.yml 2023-02-15 06:15:35.000000000 +0100 @@ -17,7 +17,7 @@ - "3.11" runs-on: macos-11 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 # Normally, we would use the superbly maintained... # - uses: actions/setup-python@v2 # with: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.12/.github/workflows/modified_scripts_build.yml new/pyenv-2.3.13/.github/workflows/modified_scripts_build.yml --- old/pyenv-2.3.12/.github/workflows/modified_scripts_build.yml 2023-01-30 06:19:43.000000000 +0100 +++ new/pyenv-2.3.13/.github/workflows/modified_scripts_build.yml 2023-02-15 06:15:35.000000000 +0100 @@ -6,7 +6,7 @@ outputs: versions: ${{steps.modified-versions.outputs.versions}} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - run: git fetch origin "$GITHUB_BASE_REF" - shell: bash run: > @@ -30,7 +30,7 @@ os: ["macos-11", "macos-12"] runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - run: | #envvars export PYENV_ROOT="$GITHUB_WORKSPACE" @@ -90,7 +90,7 @@ os: ["ubuntu-20.04", "ubuntu-22.04"] runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - run: | #envvars export PYENV_ROOT="$GITHUB_WORKSPACE" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.12/.github/workflows/pyenv_tests.yml new/pyenv-2.3.13/.github/workflows/pyenv_tests.yml --- old/pyenv-2.3.12/.github/workflows/pyenv_tests.yml 2023-01-30 06:19:43.000000000 +0100 +++ new/pyenv-2.3.13/.github/workflows/pyenv_tests.yml 2023-02-15 06:15:35.000000000 +0100 @@ -16,7 +16,7 @@ - macos-11 runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 # Normally, we would use the superbly maintained... # - uses: actions/setup-python@v2 # with: @@ -42,3 +42,8 @@ echo "$PYENV_ROOT/shims:$PYENV_ROOT/bin" >> $GITHUB_PATH - run: | make test + - env: + PYENV_NATIVE_EXT: 1 + run: | + (cd src; ./configure; make) + bats/bin/bats test/{pyenv,hooks,versions}.bats \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.12/.github/workflows/ubuntu_build.yml new/pyenv-2.3.13/.github/workflows/ubuntu_build.yml --- old/pyenv-2.3.12/.github/workflows/ubuntu_build.yml 2023-01-30 06:19:43.000000000 +0100 +++ new/pyenv-2.3.13/.github/workflows/ubuntu_build.yml 2023-02-15 06:15:35.000000000 +0100 @@ -17,7 +17,7 @@ - "3.11" runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 # Normally, we would use the superbly maintained... # - uses: actions/setup-python@v2 # with: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.12/CHANGELOG.md new/pyenv-2.3.13/CHANGELOG.md --- old/pyenv-2.3.12/CHANGELOG.md 2023-01-30 06:19:43.000000000 +0100 +++ new/pyenv-2.3.13/CHANGELOG.md 2023-02-15 06:15:35.000000000 +0100 @@ -1,5 +1,15 @@ # Version History +## Release 2.3.13 + +* Fix pyenv-latest to ignore virtualenvs by @native-api in https://github.com/pyenv/pyenv/pull/2608 +* Show symlink contents in non-bare `pyenv versions' by @native-api in https://github.com/pyenv/pyenv/pull/2609 +* Ignore virtualenvs in `pyenv latest' in a clean way by @native-api in https://github.com/pyenv/pyenv/pull/2610 +* Fix link resolving in pyenv-versions by @laggardkernel in https://github.com/pyenv/pyenv/pull/2612 +* Add CPython 3.11.2 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2615 +* Add CPython 3.10.10 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2616 +* Add CPython 3.12.0a5 by @Afront in https://github.com/pyenv/pyenv/pull/2614 + ## Release 2.3.12 * Undefined name: do not forget self when accessing flavor by @cclauss in https://github.com/pyenv/pyenv/pull/2595 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.12/libexec/pyenv---version new/pyenv-2.3.13/libexec/pyenv---version --- old/pyenv-2.3.12/libexec/pyenv---version 2023-01-30 06:19:43.000000000 +0100 +++ new/pyenv-2.3.13/libexec/pyenv---version 2023-02-15 06:15:35.000000000 +0100 @@ -12,7 +12,7 @@ set -e [ -n "$PYENV_DEBUG" ] && set -x -version="2.3.12" +version="2.3.13" git_revision="" if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.12/libexec/pyenv-latest new/pyenv-2.3.13/libexec/pyenv-latest --- old/pyenv-2.3.12/libexec/pyenv-latest 2023-01-30 06:19:43.000000000 +0100 +++ new/pyenv-2.3.13/libexec/pyenv-latest 2023-02-15 06:15:35.000000000 +0100 @@ -31,7 +31,7 @@ IFS=$'\n' if [[ -z $FROM_KNOWN ]]; then - DEFINITION_CANDIDATES=( $(pyenv-versions --bare) ) + DEFINITION_CANDIDATES=( $(pyenv-versions --bare --skip-envs) ) else DEFINITION_CANDIDATES=( $(python-build --definitions ) ) fi @@ -50,7 +50,7 @@ DEFINITION_CANDIDATES=(\ $(printf '%s\n' "${DEFINITION_CANDIDATES[@]}" | \ - sed -E -e '/-dev$/d' -e '/-src$/d' -e '/-latest$/d' -e '/(b|rc)[0-9]+$/d')); + sed -E -e '/-dev$/d' -e '/-src$/d' -e '/-latest$/d' -e '/(a|b|rc)[0-9]+$/d')); # Compose a sorting key, followed by | and original value DEFINITION_CANDIDATES=(\ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.12/libexec/pyenv-versions new/pyenv-2.3.13/libexec/pyenv-versions --- old/pyenv-2.3.12/libexec/pyenv-versions 2023-01-30 06:19:43.000000000 +0100 +++ new/pyenv-2.3.13/libexec/pyenv-versions 2023-02-15 06:15:35.000000000 +0100 @@ -1,23 +1,24 @@ #!/usr/bin/env bash # Summary: List all Python versions available to pyenv -# Usage: pyenv versions [--bare] [--skip-aliases] +# Usage: pyenv versions [--bare] [--skip-aliases] [--skip-envs] # # Lists all Python versions found in `$PYENV_ROOT/versions/*'. set -e [ -n "$PYENV_DEBUG" ] && set -x -unset bare -unset skip_aliases +unset bare skip_aliases skip_envs # Provide pyenv completions for arg; do case "$arg" in --complete ) echo --bare echo --skip-aliases + echo --skip-envs exit ;; --bare ) bare=1 ;; --skip-aliases ) skip_aliases=1 ;; + --skip-envs ) skip_envs=1 ;; * ) pyenv-help --usage versions >&2 exit 1 @@ -70,8 +71,6 @@ current_versions=() fi if [ -n "$bare" ]; then - hit_prefix="" - miss_prefix="" include_system="" else hit_prefix="* " @@ -104,10 +103,23 @@ } print_version() { + local version="${1:?}" + if [[ -n $bare ]]; then + echo "$version" + return + fi + local path="${2:?}" + if [[ -L "$path" ]]; then + # Only resolve the link itself for printing, do not resolve further. + # Doing otherwise would misinform the user of what the link contains. + version_repr="$version --> $(readlink "$path")" + else + version_repr="$version" + fi if [[ ${BASH_VERSINFO[0]} -ge 4 && ${current_versions["$1"]} ]]; then - echo "${hit_prefix}$1 (set by $(pyenv-version-origin))" + echo "${hit_prefix}${version_repr} (set by $(pyenv-version-origin))" elif (( ${BASH_VERSINFO[0]} <= 3 )) && exists "$1" "${current_versions[@]}"; then - echo "${hit_prefix}$1 (set by $(pyenv-version-origin))" + echo "${hit_prefix}${version_repr} (set by $(pyenv-version-origin))" else echo "${miss_prefix}$1" fi @@ -119,7 +131,7 @@ (PYENV_VERSION=system pyenv-which python >/dev/null 2>&1 || \ PYENV_VERSION=system pyenv-which python3 >/dev/null 2>&1 || \ PYENV_VERSION=system pyenv-which python2 >/dev/null 2>&1) ; then - print_version system + print_version system "/" fi shopt -s dotglob nullglob @@ -139,17 +151,19 @@ if [ -d "$path" ]; then if [ -n "$skip_aliases" ] && [ -L "$path" ]; then target="$(realpath "$path")" - [ "${target%/*}" != "$versions_dir" ] || continue - [ "${target%/*/envs/*}" != "$versions_dir" ] || continue + [ "${target%/*}" == "$versions_dir" ] && continue + [ "${target%/*/envs/*}" == "$versions_dir" ] && continue fi - print_version "${path##*/}" - # virtual environments created by anaconda/miniconda + print_version "${path##*/}" "$path" + # virtual environments created by anaconda/miniconda/pyenv-virtualenv + if [[ -z $skip_envs ]]; then for env_path in "${path}/envs/"*; do if [ -d "${env_path}" ]; then - print_version "${env_path#${PYENV_ROOT}/versions/}" + print_version "${env_path#${PYENV_ROOT}/versions/}" "${env_path}" fi done fi + fi done shopt -u dotglob nullglob diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.12/plugins/python-build/share/python-build/3.10.10 new/pyenv-2.3.13/plugins/python-build/share/python-build/3.10.10 --- old/pyenv-2.3.12/plugins/python-build/share/python-build/3.10.10 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.13/plugins/python-build/share/python-build/3.10.10 2023-02-15 06:15:35.000000000 +0100 @@ -0,0 +1,9 @@ +prefer_openssl11 +export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 +install_package "openssl-1.1.1o" "https://www.openssl.org/source/openssl-1.1.1o.tar.gz#9384a2b0570dd80358841464677115df785edb941c71211f75076d72fe6b438f" mac_openssl --if has_broken_mac_openssl +install_package "readline-8.1" "https://ftpmirror.gnu.org/readline/readline-8.1.tar.gz#f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02" mac_readline --if has_broken_mac_readline +if has_tar_xz_support; then + install_package "Python-3.10.10" "https://www.python.org/ftp/python/3.10.10/Python-3.10.10.tar.xz#0419e9085bf51b7a672009b3f50dbf1859acdf18ba725d0ec19aa5c8503f0ea3" standard verify_py310 copy_python_gdb ensurepip +else + install_package "Python-3.10.10" "https://www.python.org/ftp/python/3.10.10/Python-3.10.10.tgz#fba64559dde21ebdc953e4565e731573bb61159de8e4d4cedee70fb1196f610d" standard verify_py310 copy_python_gdb ensurepip +fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.12/plugins/python-build/share/python-build/3.11.2 new/pyenv-2.3.13/plugins/python-build/share/python-build/3.11.2 --- old/pyenv-2.3.12/plugins/python-build/share/python-build/3.11.2 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.13/plugins/python-build/share/python-build/3.11.2 2023-02-15 06:15:35.000000000 +0100 @@ -0,0 +1,10 @@ +prefer_openssl11 +export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 +export PYTHON_BUILD_TCLTK_USE_PKGCONFIG=1 +install_package "openssl-1.1.1s" "https://www.openssl.org/source/openssl-1.1.1s.tar.gz#c5ac01e760ee6ff0dab61d6b2bbd30146724d063eb322180c6f18a6f74e4b6aa" mac_openssl --if has_broken_mac_openssl +install_package "readline-8.2" "https://ftpmirror.gnu.org/readline/readline-8.2.tar.gz#3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35" mac_readline --if has_broken_mac_readline +if has_tar_xz_support; then + install_package "Python-3.11.2" "https://www.python.org/ftp/python/3.11.2/Python-3.11.2.tar.xz#29e4b8f5f1658542a8c13e2dd277358c9c48f2b2f7318652ef1675e402b9d2af" standard verify_py311 copy_python_gdb ensurepip +else + install_package "Python-3.11.2" "https://www.python.org/ftp/python/3.11.2/Python-3.11.2.tgz#2411c74bda5bbcfcddaf4531f66d1adc73f247f529aee981b029513aefdbf849" standard verify_py311 copy_python_gdb ensurepip +fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.12/plugins/python-build/share/python-build/3.12.0a4 new/pyenv-2.3.13/plugins/python-build/share/python-build/3.12.0a4 --- old/pyenv-2.3.12/plugins/python-build/share/python-build/3.12.0a4 2023-01-30 06:19:43.000000000 +0100 +++ new/pyenv-2.3.13/plugins/python-build/share/python-build/3.12.0a4 1970-01-01 01:00:00.000000000 +0100 @@ -1,9 +0,0 @@ -prefer_openssl11 -export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 -install_package "openssl-1.1.1s" "https://www.openssl.org/source/openssl-1.1.1s.tar.gz#c5ac01e760ee6ff0dab61d6b2bbd30146724d063eb322180c6f18a6f74e4b6aa" mac_openssl --if has_broken_mac_openssl -install_package "readline-8.2" "https://ftpmirror.gnu.org/readline/readline-8.2.tar.gz#3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35" mac_readline --if has_broken_mac_readline -if has_tar_xz_support; then - install_package "Python-3.12.0a4" "https://www.python.org/ftp/python/3.12.0/Python-3.12.0a4.tar.xz#b9176c46b1cd21dbdcb31bbbab6169faa92da9acc5f35bd4a009879ac74cf6af" standard verify_py312 copy_python_gdb ensurepip -else - install_package "Python-3.12.0a4" "https://www.python.org/ftp/python/3.12.0/Python-3.12.0a4.tgz#d9d9cbebc745ecaf5cae6b4004a84692154183b729954d3a421fba3d2a541d59" standard verify_py312 copy_python_gdb ensurepip -fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.12/plugins/python-build/share/python-build/3.12.0a5 new/pyenv-2.3.13/plugins/python-build/share/python-build/3.12.0a5 --- old/pyenv-2.3.12/plugins/python-build/share/python-build/3.12.0a5 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.13/plugins/python-build/share/python-build/3.12.0a5 2023-02-15 06:15:35.000000000 +0100 @@ -0,0 +1,9 @@ +prefer_openssl11 +export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 +install_package "openssl-1.1.1s" "https://www.openssl.org/source/openssl-1.1.1s.tar.gz#c5ac01e760ee6ff0dab61d6b2bbd30146724d063eb322180c6f18a6f74e4b6aa" mac_openssl --if has_broken_mac_openssl +install_package "readline-8.2" "https://ftpmirror.gnu.org/readline/readline-8.2.tar.gz#3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35" mac_readline --if has_broken_mac_readline +if has_tar_xz_support; then + install_package "Python-3.12.0a5" "https://www.python.org/ftp/python/3.12.0/Python-3.12.0a5.tar.xz#d66ef7a342fe3a356f9cee3bb97adc1e5fb4840f6b6cff7de0ff7dd495f8323b" standard verify_py312 copy_python_gdb ensurepip +else + install_package "Python-3.12.0a5" "https://www.python.org/ftp/python/3.12.0/Python-3.12.0a5.tgz#53bea5094887bba2fc4f429fa8abb4976b5c7cfe70d41923cf6aff0b4854c666" standard verify_py312 copy_python_gdb ensurepip +fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.12/test/latest.bats new/pyenv-2.3.13/test/latest.bats --- old/pyenv-2.3.12/test/latest.bats 2023-01-30 06:19:43.000000000 +0100 +++ new/pyenv-2.3.13/test/latest.bats 2023-02-15 06:15:35.000000000 +0100 @@ -93,3 +93,22 @@ 3.10.8 ! } + +@test "ignores rolling releases, branch tips, alternative srcs, prereleases and virtualenvs" { + create_executable pyenv-versions <<! +#!$BASH +echo 3.8.5-dev +echo 3.8.5-src +echo 3.8.5-latest +echo 3.8.5a2 +echo 3.8.5b3 +echo 3.8.5rc2 +echo 3.8.1 +echo 3.8.1/envs/foo +! + run pyenv-latest 3.8 + assert_success + assert_output <<! +3.8.1 +! +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.12/test/versions.bats new/pyenv-2.3.13/test/versions.bats --- old/pyenv-2.3.12/test/versions.bats 2023-01-30 06:19:43.000000000 +0100 +++ new/pyenv-2.3.13/test/versions.bats 2023-02-15 06:15:35.000000000 +0100 @@ -6,6 +6,11 @@ mkdir -p "${PYENV_ROOT}/versions/$1" } +create_alias() { + mkdir -p "${PYENV_ROOT}/versions" + ln -s "$2" "${PYENV_ROOT}/versions/$1" +} + setup() { mkdir -p "$PYENV_TEST_DIR" cd "$PYENV_TEST_DIR" @@ -61,18 +66,38 @@ assert_success "3.3" } -@test "multiple versions" { +@test "multiple versions and envs" { stub_system_python create_version "2.7.6" - create_version "3.3.3" create_version "3.4.0" + create_version "3.4.0/envs/foo" + create_version "3.4.0/envs/bar" + create_version "3.5.2" run pyenv-versions assert_success assert_output <<OUT * system (set by ${PYENV_ROOT}/version) 2.7.6 + 3.4.0 + 3.4.0/envs/bar + 3.4.0/envs/foo + 3.5.2 +OUT +} + +@test "skips envs with --skip-envs" { + create_version "3.3.3" + create_version "3.4.0" + create_version "3.4.0/envs/foo" + create_version "3.4.0/envs/bar" + create_version "3.5.0" + + run pyenv-versions --skip-envs + assert_success <<OUT +* system (set by ${PYENV_ROOT}/version) 3.3.3 3.4.0 + 3.5.0 OUT } @@ -138,7 +163,7 @@ @test "lists symlinks under versions" { create_version "2.7.8" - ln -s "2.7.8" "${PYENV_ROOT}/versions/2.7" + create_alias "2.7" "2.7.8" run pyenv-versions --bare assert_success @@ -150,9 +175,9 @@ @test "doesn't list symlink aliases when --skip-aliases" { create_version "1.8.7" - ln -s "1.8.7" "${PYENV_ROOT}/versions/1.8" + create_alias "1.8" "1.8.7" mkdir moo - ln -s "${PWD}/moo" "${PYENV_ROOT}/versions/1.9" + create_alias "1.9" "${PWD}/moo" run pyenv-versions --bare --skip-aliases assert_success @@ -210,3 +235,14 @@ 1.9.0 OUT } + +@test "non-bare output shows symlink contents" { + create_version "1.9.0" + create_alias "link" "foo/bar" + + run pyenv-versions + assert_success <<OUT + 1.9.0 + link --> foo/bar +OUT +}
