mirror of
https://github.com/pyenv/pyenv-virtualenv.git
synced 2025-11-08 11:33:55 -05:00
Fix pyenv-virtualenv using a different Python version in a conda environment (#492)
Allow output checking with wildcards
This commit is contained in:
@@ -605,7 +605,13 @@ STATUS=0
|
|||||||
mkdir -p "${PYENV_VIRTUALENV_CACHE_PATH}"
|
mkdir -p "${PYENV_VIRTUALENV_CACHE_PATH}"
|
||||||
cd "${PYENV_VIRTUALENV_CACHE_PATH}"
|
cd "${PYENV_VIRTUALENV_CACHE_PATH}"
|
||||||
if [ -n "${USE_CONDA}" ]; then
|
if [ -n "${USE_CONDA}" ]; then
|
||||||
pyenv-exec conda create $QUIET $VERBOSE --name "${VIRTUALENV_PATH##*/}" --yes "${VIRTUALENV_OPTIONS[@]}" python || STATUS="$?"
|
if [ -z "$VIRTUALENV_PYTHON" ]; then
|
||||||
|
#process substitution doesn't seem to work unless it's directly inserted to the command line
|
||||||
|
#if we add it to VIRTUALENV_OPTIONS instead, "broken pipe" happens
|
||||||
|
pyenv-exec conda create $QUIET $VERBOSE --name "${VIRTUALENV_PATH##*/}" --yes "${VIRTUALENV_OPTIONS[@]}" --file <(pyenv-exec conda list python --full-name --export) || STATUS="$?"
|
||||||
|
else
|
||||||
|
pyenv-exec conda create $QUIET $VERBOSE --name "${VIRTUALENV_PATH##*/}" --yes "${VIRTUALENV_OPTIONS[@]}" || STATUS="$?"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
if [ -n "${USE_M_VENV}" ]; then
|
if [ -n "${USE_M_VENV}" ]; then
|
||||||
pyenv-exec "${M_VENV_PYTHON_BIN:-python}" -m venv $QUIET $VERBOSE "${VIRTUALENV_OPTIONS[@]}" "${VIRTUALENV_PATH}" || STATUS="$?"
|
pyenv-exec "${M_VENV_PYTHON_BIN:-python}" -m venv $QUIET $VERBOSE "${VIRTUALENV_OPTIONS[@]}" "${VIRTUALENV_PATH}" || STATUS="$?"
|
||||||
|
|||||||
@@ -32,8 +32,8 @@ unstub_pyenv() {
|
|||||||
run pyenv-virtualenv venv
|
run pyenv-virtualenv venv
|
||||||
|
|
||||||
assert_success
|
assert_success
|
||||||
assert_output <<OUT
|
assert_output_wildcards <<OUT
|
||||||
PYENV_VERSION=miniconda3-3.16.0 conda create --name venv --yes python
|
PYENV_VERSION=miniconda3-3.16.0 conda create --name venv --yes --file /dev/fd/*
|
||||||
rehashed
|
rehashed
|
||||||
OUT
|
OUT
|
||||||
|
|
||||||
@@ -56,7 +56,7 @@ OUT
|
|||||||
|
|
||||||
assert_success
|
assert_success
|
||||||
assert_output <<OUT
|
assert_output <<OUT
|
||||||
PYENV_VERSION=miniconda3-3.16.0 conda create --name venv --yes python=3.5 python
|
PYENV_VERSION=miniconda3-3.16.0 conda create --name venv --yes python=3.5
|
||||||
rehashed
|
rehashed
|
||||||
OUT
|
OUT
|
||||||
|
|
||||||
@@ -79,7 +79,7 @@ OUT
|
|||||||
|
|
||||||
assert_success
|
assert_success
|
||||||
assert_output <<OUT
|
assert_output <<OUT
|
||||||
PYENV_VERSION=miniconda3-3.16.0 conda create --name venv --yes python=3.5 python
|
PYENV_VERSION=miniconda3-3.16.0 conda create --name venv --yes python=3.5
|
||||||
rehashed
|
rehashed
|
||||||
OUT
|
OUT
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env bats
|
#!/usr/bin/env bats
|
||||||
|
|
||||||
load test_helper
|
load test_helper
|
||||||
|
|
||||||
|
|||||||
@@ -83,6 +83,16 @@ assert_equal() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
assert_equal_wildcards() {
|
||||||
|
if [[ $1 != $2 ]]; then
|
||||||
|
{ echo "expected:"
|
||||||
|
echo "$2"
|
||||||
|
echo "actual:"
|
||||||
|
echo "$1"
|
||||||
|
} | flunk
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
assert_output() {
|
assert_output() {
|
||||||
local expected
|
local expected
|
||||||
if [ $# -eq 0 ]; then expected="$(cat -)"
|
if [ $# -eq 0 ]; then expected="$(cat -)"
|
||||||
@@ -91,6 +101,14 @@ assert_output() {
|
|||||||
assert_equal "$expected" "$output"
|
assert_equal "$expected" "$output"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
assert_output_wildcards() {
|
||||||
|
local expected
|
||||||
|
if [ $# -eq 0 ]; then expected="$(cat -)"
|
||||||
|
else expected="$1"
|
||||||
|
fi
|
||||||
|
assert_equal_wildcards "$output" "$expected"
|
||||||
|
}
|
||||||
|
|
||||||
assert_output_contains() {
|
assert_output_contains() {
|
||||||
local expected="$1"
|
local expected="$1"
|
||||||
echo "$output" | grep -F "$expected" >/dev/null || {
|
echo "$output" | grep -F "$expected" >/dev/null || {
|
||||||
|
|||||||
Reference in New Issue
Block a user