mirror of
https://github.com/pyenv/pyenv-virtualenv.git
synced 2025-11-16 23:43:44 -05:00
Use same _ensurepip_ logic as python-build
This commit is contained in:
@@ -7,7 +7,6 @@ setup() {
|
||||
}
|
||||
|
||||
stub_pyenv() {
|
||||
export PYENV_VERSION="$1"
|
||||
stub pyenv-version-name "echo \${PYENV_VERSION}"
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-hooks "virtualenv : echo"
|
||||
@@ -15,7 +14,6 @@ stub_pyenv() {
|
||||
}
|
||||
|
||||
unstub_pyenv() {
|
||||
unset PYENV_VERSION
|
||||
unstub pyenv-version-name
|
||||
unstub pyenv-prefix
|
||||
unstub pyenv-hooks
|
||||
@@ -23,12 +21,13 @@ unstub_pyenv() {
|
||||
}
|
||||
|
||||
@test "use pyvenv if virtualenv is not available" {
|
||||
stub_pyenv "3.4.1"
|
||||
export PYENV_VERSION="3.4.1"
|
||||
stub_pyenv "${PYENV_VERSION}"
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "bin=\"${PYENV_ROOT}/versions/venv/bin\";mkdir -p \"\$bin\";touch \"\$bin/pip3.4\";echo PYENV_VERSION=\${PYENV_VERSION} ensurepip"
|
||||
stub pyenv-exec "echo 3.4"
|
||||
stub pyenv-exec "pyvenv ${PYENV_ROOT}/versions/venv : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "python -m ensurepip : true"
|
||||
stub pyenv-exec "python -c * : echo ${PYENV_VERSION%.*}"
|
||||
|
||||
remove_executable "3.4.1" "virtualenv"
|
||||
create_executable "3.4.1" "pyvenv"
|
||||
@@ -38,21 +37,20 @@ unstub_pyenv() {
|
||||
assert_success
|
||||
assert_output <<OUT
|
||||
PYENV_VERSION=3.4.1 pyvenv ${PYENV_ROOT}/versions/venv
|
||||
PYENV_VERSION=venv ensurepip
|
||||
rehashed
|
||||
OUT
|
||||
assert [ -e "${PYENV_ROOT}/versions/venv/bin/pip" ]
|
||||
|
||||
unstub_pyenv
|
||||
unstub pyenv-exec
|
||||
}
|
||||
|
||||
@test "not use pyvenv if virtualenv is available" {
|
||||
stub_pyenv "3.4.1"
|
||||
export PYENV_VERSION="3.4.1"
|
||||
stub_pyenv "${PYENV_VERSION}"
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "echo 3.4"
|
||||
stub pyenv-exec "virtualenv ${PYENV_ROOT}/versions/venv : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "python -c * : echo ${PYENV_VERSION%.*}"
|
||||
|
||||
create_executable "3.4.1" "virtualenv"
|
||||
create_executable "3.4.1" "pyvenv"
|
||||
@@ -70,12 +68,13 @@ OUT
|
||||
}
|
||||
|
||||
@test "install virtualenv if pyvenv is not avaialble" {
|
||||
stub_pyenv "3.2.1"
|
||||
export PYENV_VERSION="3.2.1"
|
||||
stub_pyenv "${PYENV_VERSION}"
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "echo 3.2"
|
||||
stub pyenv-exec "pip install virtualenv : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "virtualenv ${PYENV_ROOT}/versions/venv : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "python -c * : echo ${PYENV_VERSION%.*}"
|
||||
|
||||
remove_executable "3.2.1" "virtualenv"
|
||||
remove_executable "3.2.1" "pyvenv"
|
||||
@@ -94,12 +93,13 @@ OUT
|
||||
}
|
||||
|
||||
@test "install virtualenv if -p has given" {
|
||||
stub_pyenv "3.4.1"
|
||||
export PYENV_VERSION="3.4.1"
|
||||
stub_pyenv "${PYENV_VERSION}"
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "echo 3.4"
|
||||
stub pyenv-exec "pip install virtualenv : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "virtualenv --python=python3 ${PYENV_ROOT}/versions/venv : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "python -c * : echo ${PYENV_VERSION%.*}"
|
||||
|
||||
remove_executable "3.4.1" "virtualenv"
|
||||
create_executable "3.4.1" "pyvenv"
|
||||
@@ -118,12 +118,13 @@ OUT
|
||||
}
|
||||
|
||||
@test "install virtualenv if --python has given" {
|
||||
stub_pyenv "3.4.1"
|
||||
export PYENV_VERSION="3.4.1"
|
||||
stub_pyenv "${PYENV_VERSION}"
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "echo 3.4"
|
||||
stub pyenv-exec "pip install virtualenv : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "virtualenv --python=python3 ${PYENV_ROOT}/versions/venv : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "python -c * : echo ${PYENV_VERSION%.*}"
|
||||
|
||||
remove_executable "3.4.1" "virtualenv"
|
||||
create_executable "3.4.1" "pyvenv"
|
||||
@@ -142,12 +143,13 @@ OUT
|
||||
}
|
||||
|
||||
@test "install virtualenv with unsetting troublesome pip options" {
|
||||
stub_pyenv "3.2.1"
|
||||
export PYENV_VERSION="3.2.1"
|
||||
stub_pyenv "${PYENV_VERSION}"
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-exec "echo PIP_REQUIRE_VENV=\${PIP_REQUIRE_VENV} PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "echo PIP_REQUIRE_VENV=\${PIP_REQUIRE_VENV} PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "echo 3.2"
|
||||
stub pyenv-exec "pip install virtualenv : echo PIP_REQUIRE_VENV=\${PIP_REQUIRE_VENV} PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "virtualenv ${PYENV_ROOT}/versions/venv : echo PIP_REQUIRE_VENV=\${PIP_REQUIRE_VENV} PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "python -c * : echo ${PYENV_VERSION%.*}"
|
||||
|
||||
remove_executable "3.2.1" "virtualenv"
|
||||
remove_executable "3.2.1" "pyvenv"
|
||||
@@ -164,37 +166,3 @@ OUT
|
||||
unstub_pyenv
|
||||
unstub pyenv-exec
|
||||
}
|
||||
|
||||
@test "install pip without using ensurepip" {
|
||||
stub_pyenv "3.3.5"
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-which "pip : echo no pip; false"
|
||||
stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} no ensurepip; false"
|
||||
stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} no setuptools; false"
|
||||
stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} setuptools"
|
||||
stub pyenv-exec "bin=\"${PYENV_ROOT}/versions/venv/bin\";mkdir -p \"\$bin\";touch \"\$bin/pip\";echo PYENV_VERSION=\${PYENV_VERSION} pip"
|
||||
stub pyenv-exec "echo 3.3"
|
||||
stub curl "echo ez_setup.py"
|
||||
stub curl "echo get_pip.py"
|
||||
|
||||
remove_executable "3.3.5" "virtualenv"
|
||||
create_executable "3.3.5" "pyvenv"
|
||||
|
||||
run pyenv-virtualenv venv
|
||||
|
||||
assert_success
|
||||
assert_output <<OUT
|
||||
PYENV_VERSION=3.3.5 pyvenv ${PYENV_ROOT}/versions/venv
|
||||
PYENV_VERSION=venv no ensurepip
|
||||
PYENV_VERSION=venv setuptools
|
||||
PYENV_VERSION=venv pip
|
||||
rehashed
|
||||
OUT
|
||||
assert [ -e "${PYENV_ROOT}/versions/venv/bin/pip" ]
|
||||
|
||||
unstub_pyenv
|
||||
unstub pyenv-which
|
||||
unstub pyenv-exec
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user