Fix test cases around create_symlinks

This commit is contained in:
Yamashita Yuu
2014-06-12 20:34:20 +09:00
parent fe5e69846e
commit e853f74b26
2 changed files with 89 additions and 80 deletions

View File

@@ -35,19 +35,14 @@ remove_executable() {
@test "use pyvenv if virtualenv is not available" { @test "use pyvenv if virtualenv is not available" {
stub_pyenv "3.4.0" stub_pyenv "3.4.0"
stub pyenv-which "virtualenv : false" \ stub pyenv-which "virtualenv : false"
"pyvenv : echo '${PYENV_ROOT}/versions/bin/pyvenv'" stub pyenv-which "pyvenv : echo '${PYENV_ROOT}/versions/bin/pyvenv'"
stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\"" \ stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
"bin=\"${PYENV_ROOT}/versions/venv/bin\";mkdir -p \"\$bin\";touch \"\$bin/pip3.4\";echo PYENV_VERSION=\${PYENV_VERSION} ensurepip" \ stub pyenv-exec "bin=\"${PYENV_ROOT}/versions/venv/bin\";mkdir -p \"\$bin\";touch \"\$bin/pip3.4\";echo PYENV_VERSION=\${PYENV_VERSION} ensurepip"
"echo pip3.4" stub pyenv-exec "echo 3.4"
stub pyenv-prefix "venv : echo '${PYENV_ROOT}/versions/venv'"
run pyenv-virtualenv venv run pyenv-virtualenv venv
unstub_pyenv
unstub pyenv-which
unstub pyenv-exec
assert_success assert_success
assert_output <<OUT assert_output <<OUT
PYENV_VERSION=3.4.0 pyvenv ${PYENV_ROOT}/versions/venv PYENV_VERSION=3.4.0 pyvenv ${PYENV_ROOT}/versions/venv
@@ -55,39 +50,41 @@ PYENV_VERSION=venv ensurepip
rehashed rehashed
OUT OUT
assert [ -e "${PYENV_ROOT}/versions/venv/bin/pip" ] assert [ -e "${PYENV_ROOT}/versions/venv/bin/pip" ]
}
@test "not use pyvenv if virtualenv is available" {
stub_pyenv "3.4.0"
stub pyenv-which "virtualenv : echo '${PYENV_ROOT}/versions/bin/virtualenv'" \
"pyvenv : echo '${PYENV_ROOT}/versions/bin/pyvenv"
stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
run pyenv-virtualenv venv
unstub_pyenv unstub_pyenv
unstub pyenv-which unstub pyenv-which
unstub pyenv-exec unstub pyenv-exec
}
@test "not use pyvenv if virtualenv is available" {
stub_pyenv "3.4.0"
stub pyenv-which "virtualenv : echo '${PYENV_ROOT}/versions/bin/virtualenv'"
stub pyenv-which "pyvenv : echo '${PYENV_ROOT}/versions/bin/pyvenv"
stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
stub pyenv-exec "echo 3.4"
run pyenv-virtualenv venv
assert_success assert_success
assert_output <<OUT assert_output <<OUT
PYENV_VERSION=3.4.0 virtualenv ${PYENV_ROOT}/versions/venv PYENV_VERSION=3.4.0 virtualenv ${PYENV_ROOT}/versions/venv
rehashed rehashed
OUT OUT
}
@test "install virtualenv if pyvenv is not avaialble" {
stub_pyenv "3.2.1"
stub pyenv-which "virtualenv : false" \
"pyvenv : false"
stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\"" \
"echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
run pyenv-virtualenv venv
unstub_pyenv unstub_pyenv
unstub pyenv-which unstub pyenv-which
unstub pyenv-exec unstub pyenv-exec
}
@test "install virtualenv if pyvenv is not avaialble" {
stub_pyenv "3.2.1"
stub pyenv-which "virtualenv : false"
stub pyenv-which "pyvenv : false"
stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
stub pyenv-exec "echo 3.2"
run pyenv-virtualenv venv
assert_success assert_success
assert_output <<OUT assert_output <<OUT
@@ -95,6 +92,10 @@ PYENV_VERSION=3.2.1 pip install virtualenv
PYENV_VERSION=3.2.1 virtualenv ${PYENV_ROOT}/versions/venv PYENV_VERSION=3.2.1 virtualenv ${PYENV_ROOT}/versions/venv
rehashed rehashed
OUT OUT
unstub_pyenv
unstub pyenv-which
unstub pyenv-exec
} }
@test "install virtualenv if -p has given" { @test "install virtualenv if -p has given" {
@@ -103,19 +104,20 @@ OUT
stub pyenv-which "pyvenv : echo '${PYENV_ROOT}/versions/bin/pyvenv'" stub pyenv-which "pyvenv : echo '${PYENV_ROOT}/versions/bin/pyvenv'"
stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\"" stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\"" stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
stub pyenv-exec "echo 3.4"
run pyenv-virtualenv -p python3 venv run pyenv-virtualenv -p python3 venv
unstub_pyenv
unstub pyenv-which
unstub pyenv-exec
assert_success assert_success
assert_output <<OUT assert_output <<OUT
PYENV_VERSION=3.4.0 pip install virtualenv PYENV_VERSION=3.4.0 pip install virtualenv
PYENV_VERSION=3.4.0 virtualenv --python=python3 ${PYENV_ROOT}/versions/venv PYENV_VERSION=3.4.0 virtualenv --python=python3 ${PYENV_ROOT}/versions/venv
rehashed rehashed
OUT OUT
unstub_pyenv
unstub pyenv-which
unstub pyenv-exec
} }
@test "install virtualenv if --python has given" { @test "install virtualenv if --python has given" {
@@ -124,33 +126,31 @@ OUT
stub pyenv-which "pyvenv : echo '${PYENV_ROOT}/versions/bin/pyvenv'" stub pyenv-which "pyvenv : echo '${PYENV_ROOT}/versions/bin/pyvenv'"
stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\"" stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\"" stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
stub pyenv-exec "echo 3.4"
run pyenv-virtualenv --python=python3 venv run pyenv-virtualenv --python=python3 venv
unstub_pyenv
unstub pyenv-which
unstub pyenv-exec
assert_success assert_success
assert_output <<OUT assert_output <<OUT
PYENV_VERSION=3.4.0 pip install virtualenv PYENV_VERSION=3.4.0 pip install virtualenv
PYENV_VERSION=3.4.0 virtualenv --python=python3 ${PYENV_ROOT}/versions/venv PYENV_VERSION=3.4.0 virtualenv --python=python3 ${PYENV_ROOT}/versions/venv
rehashed rehashed
OUT OUT
}
@test "install virtualenv with unsetting troublesome pip options" {
stub_pyenv "3.2.1"
stub pyenv-which "virtualenv : false" \
"pyvenv : false"
stub pyenv-exec "echo PIP_REQUIRE_VENV=\${PIP_REQUIRE_VENV} PYENV_VERSION=\${PYENV_VERSION} \"\$@\"" \
"echo PIP_REQUIRE_VENV=\${PIP_REQUIRE_VENV} PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
PIP_REQUIRE_VENV="true" run pyenv-virtualenv venv
unstub_pyenv unstub_pyenv
unstub pyenv-which unstub pyenv-which
unstub pyenv-exec unstub pyenv-exec
}
@test "install virtualenv with unsetting troublesome pip options" {
stub_pyenv "3.2.1"
stub pyenv-which "virtualenv : false"
stub pyenv-which "pyvenv : false"
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"
PIP_REQUIRE_VENV="true" run pyenv-virtualenv venv
assert_success assert_success
assert_output <<OUT assert_output <<OUT
@@ -158,26 +158,27 @@ PIP_REQUIRE_VENV= PYENV_VERSION=3.2.1 pip install virtualenv
PIP_REQUIRE_VENV= PYENV_VERSION=3.2.1 virtualenv ${PYENV_ROOT}/versions/venv PIP_REQUIRE_VENV= PYENV_VERSION=3.2.1 virtualenv ${PYENV_ROOT}/versions/venv
rehashed rehashed
OUT OUT
}
@test "install pip without using ensurepip" {
stub_pyenv "3.3.0"
stub pyenv-which "virtualenv : false" \
"pyvenv : echo '${PYENV_ROOT}/versions/bin/pyvenv'" \
"pip : echo no pip; false"
stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\"" \
"echo PYENV_VERSION=\${PYENV_VERSION} no ensurepip; false" \
"echo PYENV_VERSION=\${PYENV_VERSION} no setuptools; false" \
"echo PYENV_VERSION=\${PYENV_VERSION} setuptools" \
"bin=\"${PYENV_ROOT}/versions/venv/bin\";mkdir -p \"\$bin\";touch \"\$bin/pip\";echo PYENV_VERSION=\${PYENV_VERSION} pip"
stub curl "echo ez_setup.py" \
"echo get_pip.py"
run pyenv-virtualenv venv
unstub_pyenv unstub_pyenv
unstub pyenv-which unstub pyenv-which
unstub pyenv-exec unstub pyenv-exec
}
@test "install pip without using ensurepip" {
stub_pyenv "3.3.0"
stub pyenv-which "virtualenv : false"
stub pyenv-which "pyvenv : echo '${PYENV_ROOT}/versions/bin/pyvenv'"
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"
run pyenv-virtualenv venv
assert_success assert_success
assert_output <<OUT assert_output <<OUT
@@ -188,4 +189,8 @@ PYENV_VERSION=venv pip
rehashed rehashed
OUT OUT
assert [ -e "${PYENV_ROOT}/versions/venv/bin/pip" ] assert [ -e "${PYENV_ROOT}/versions/venv/bin/pip" ]
unstub_pyenv
unstub pyenv-which
unstub pyenv-exec
} }

View File

@@ -9,8 +9,8 @@ setup() {
stub_pyenv() { stub_pyenv() {
export PYENV_VERSION="$1" export PYENV_VERSION="$1"
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/\${PYENV_VERSION}'" stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/\${PYENV_VERSION}'"
stub pyenv-which "virtualenv : echo '${PYENV_ROOT}/versions/bin/virtualenv'" \ stub pyenv-which "virtualenv : echo '${PYENV_ROOT}/versions/bin/virtualenv'"
"pyvenv : false" stub pyenv-which "pyvenv : false"
stub pyenv-hooks "virtualenv : echo" stub pyenv-hooks "virtualenv : echo"
stub pyenv-rehash " : echo rehashed" stub pyenv-rehash " : echo rehashed"
} }
@@ -26,69 +26,73 @@ unstub_pyenv() {
@test "create virtualenv from given version" { @test "create virtualenv from given version" {
stub_pyenv "3.2.1" stub_pyenv "3.2.1"
stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\"" stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
stub pyenv-exec "echo 3.2"
run pyenv-virtualenv "3.2.1" "venv" run pyenv-virtualenv "3.2.1" "venv"
unstub_pyenv
unstub pyenv-exec
assert_success assert_success
assert_output <<OUT assert_output <<OUT
PYENV_VERSION=3.2.1 virtualenv ${PYENV_ROOT}/versions/venv PYENV_VERSION=3.2.1 virtualenv ${PYENV_ROOT}/versions/venv
rehashed rehashed
OUT OUT
unstub_pyenv
unstub pyenv-exec
} }
@test "create virtualenv from current version" { @test "create virtualenv from current version" {
stub_pyenv "3.2.1" stub_pyenv "3.2.1"
stub pyenv-version-name "echo \${PYENV_VERSION}" stub pyenv-version-name "echo \${PYENV_VERSION}"
stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\"" stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
stub pyenv-exec "echo 3.2"
run pyenv-virtualenv venv run pyenv-virtualenv venv
unstub_pyenv
unstub pyenv-version-name
unstub pyenv-exec
assert_success assert_success
assert_output <<OUT assert_output <<OUT
PYENV_VERSION=3.2.1 virtualenv ${PYENV_ROOT}/versions/venv PYENV_VERSION=3.2.1 virtualenv ${PYENV_ROOT}/versions/venv
rehashed rehashed
OUT OUT
unstub_pyenv
unstub pyenv-version-name
unstub pyenv-exec
} }
@test "create virtualenv with short options" { @test "create virtualenv with short options" {
stub_pyenv "3.2.1" stub_pyenv "3.2.1"
stub pyenv-version-name "echo \${PYENV_VERSION}" stub pyenv-version-name "echo \${PYENV_VERSION}"
stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\"" stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
stub pyenv-exec "echo 3.2"
run pyenv-virtualenv -v -p python venv run pyenv-virtualenv -v -p python venv
unstub_pyenv
unstub pyenv-version-name
unstub pyenv-exec
assert_success assert_success
assert_output <<OUT assert_output <<OUT
PYENV_VERSION=3.2.1 virtualenv --verbose --python=python ${PYENV_ROOT}/versions/venv PYENV_VERSION=3.2.1 virtualenv --verbose --python=python ${PYENV_ROOT}/versions/venv
rehashed rehashed
OUT OUT
unstub_pyenv
unstub pyenv-version-name
unstub pyenv-exec
} }
@test "create virtualenv with long options" { @test "create virtualenv with long options" {
stub_pyenv "3.2.1" stub_pyenv "3.2.1"
stub pyenv-version-name "echo \${PYENV_VERSION}" stub pyenv-version-name "echo \${PYENV_VERSION}"
stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\"" stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
stub pyenv-exec "echo 3.2"
run pyenv-virtualenv --verbose --python=python venv run pyenv-virtualenv --verbose --python=python venv
unstub_pyenv
unstub pyenv-version-name
unstub pyenv-exec
assert_success assert_success
assert_output <<OUT assert_output <<OUT
PYENV_VERSION=3.2.1 virtualenv --verbose --python=python ${PYENV_ROOT}/versions/venv PYENV_VERSION=3.2.1 virtualenv --verbose --python=python ${PYENV_ROOT}/versions/venv
rehashed rehashed
OUT OUT
unstub_pyenv
unstub pyenv-version-name
unstub pyenv-exec
} }