|
|
|
@ -0,0 +1,67 @@ |
|
|
|
#!/usr/bin/env bats |
|
|
|
|
|
|
|
load test_helper |
|
|
|
|
|
|
|
create_executable() { |
|
|
|
local bin="${PYENV_ROOT}/versions/${PYENV_VERSION}/bin" |
|
|
|
mkdir -p "$bin" |
|
|
|
echo "#!/bin/sh" > "${bin}/$1" |
|
|
|
chmod +x "${bin}/$1" |
|
|
|
} |
|
|
|
|
|
|
|
copy_src_pyenvd() { |
|
|
|
mkdir -p "${PYENV_ROOT}" |
|
|
|
cp -r "${BATS_TEST_DIRNAME}/../pyenv.d" "${PYENV_ROOT}" |
|
|
|
} |
|
|
|
|
|
|
|
@test "pip-rehash triggered when using 'pip'" { |
|
|
|
export PYENV_VERSION="3.7.14" |
|
|
|
create_executable "example" |
|
|
|
create_executable "pip" |
|
|
|
copy_src_pyenvd |
|
|
|
run command -v example 2> /dev/null |
|
|
|
assert_failure |
|
|
|
run pyenv-exec pip install example |
|
|
|
assert_success |
|
|
|
run command -v example 2> /dev/null |
|
|
|
assert_success |
|
|
|
} |
|
|
|
|
|
|
|
@test "pip-rehash triggered when using 'pip3'" { |
|
|
|
export PYENV_VERSION="3.7.14" |
|
|
|
create_executable "example" |
|
|
|
create_executable "pip3" |
|
|
|
copy_src_pyenvd |
|
|
|
run command -v example 2> /dev/null |
|
|
|
assert_failure |
|
|
|
run pyenv-exec pip3 install example |
|
|
|
assert_success |
|
|
|
run command -v example 2> /dev/null |
|
|
|
assert_success |
|
|
|
} |
|
|
|
|
|
|
|
@test "pip-rehash triggered when using 'pip3.x'" { |
|
|
|
export PYENV_VERSION="3.7.14" |
|
|
|
create_executable "example" |
|
|
|
create_executable "pip3.7" |
|
|
|
copy_src_pyenvd |
|
|
|
run command -v example 2> /dev/null |
|
|
|
assert_failure |
|
|
|
run pyenv-exec pip3.7 install example |
|
|
|
assert_success |
|
|
|
run command -v example 2> /dev/null |
|
|
|
assert_success |
|
|
|
} |
|
|
|
|
|
|
|
@test "pip-rehash triggered when using 'python -m pip install'" { |
|
|
|
export PYENV_VERSION="3.7.14" |
|
|
|
create_executable "example" |
|
|
|
create_executable "python" |
|
|
|
copy_src_pyenvd |
|
|
|
run command -v example 2> /dev/null |
|
|
|
assert_failure |
|
|
|
run pyenv-exec python -m pip install example |
|
|
|
assert_success |
|
|
|
run command -v example 2> /dev/null |
|
|
|
assert_success |
|
|
|
} |