mirror of
https://github.com/pyenv/pyenv.git
synced 2025-11-10 04:23:47 -05:00
use BATS_FILE_TMPDIR in test/plugin test
use global setup with bats with possibility to add specific test file _setup use readlink in helper if realpath is not working as expected
This commit is contained in:
@@ -1,19 +1,18 @@
|
||||
export TMP="$BATS_TEST_DIRNAME/tmp"
|
||||
export PYTHON_BUILD_CURL_OPTS=
|
||||
export PYTHON_BUILD_HTTP_CLIENT="curl"
|
||||
setup() {
|
||||
export PYTHON_BUILD_CURL_OPTS=
|
||||
export PYTHON_BUILD_HTTP_CLIENT="curl"
|
||||
|
||||
if [ "$FIXTURE_ROOT" != "$BATS_TEST_DIRNAME/fixtures" ]; then
|
||||
export FIXTURE_ROOT="$BATS_TEST_DIRNAME/fixtures"
|
||||
export INSTALL_ROOT="$TMP/install"
|
||||
PATH="/usr/bin:/bin:/usr/sbin:/sbin"
|
||||
PATH="/usr/local/bin:$PATH"
|
||||
PATH="$BATS_TEST_DIRNAME/../bin:$PATH"
|
||||
PATH="$TMP/bin:$PATH"
|
||||
export FIXTURE_ROOT="${BATS_TEST_DIRNAME}/fixtures"
|
||||
export INSTALL_ROOT="${BATS_TEST_TMPDIR}/install"
|
||||
PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
|
||||
PATH="${BATS_TEST_DIRNAME}/../bin:$PATH"
|
||||
PATH="${BATS_TEST_TMPDIR}/bin:$PATH"
|
||||
export PATH
|
||||
fi
|
||||
|
||||
teardown() {
|
||||
rm -fr "${TMP:?}"/*
|
||||
# If test specific setup exist, run it
|
||||
if [[ $(type -t _setup) == function ]];then
|
||||
_setup
|
||||
fi
|
||||
}
|
||||
|
||||
stub() {
|
||||
@@ -21,22 +20,22 @@ stub() {
|
||||
local prefix="$(echo "$program" | tr a-z- A-Z_)"
|
||||
shift
|
||||
|
||||
export "${prefix}_STUB_PLAN"="${TMP}/${program}-stub-plan"
|
||||
export "${prefix}_STUB_RUN"="${TMP}/${program}-stub-run"
|
||||
export "${prefix}_STUB_LOG"="${TMP}/${program}-stub-log"
|
||||
export "${prefix}_STUB_PLAN"="${BATS_TEST_TMPDIR}/${program}-stub-plan"
|
||||
export "${prefix}_STUB_RUN"="${BATS_TEST_TMPDIR}/${program}-stub-run"
|
||||
export "${prefix}_STUB_LOG"="${BATS_TEST_TMPDIR}/${program}-stub-log"
|
||||
export "${prefix}_STUB_END"=
|
||||
|
||||
mkdir -p "${TMP}/bin"
|
||||
cp "${BATS_TEST_DIRNAME}/stubs/stub" "${TMP}/bin/${program}"
|
||||
mkdir -p "${BATS_TEST_TMPDIR}/bin"
|
||||
cp "${BATS_TEST_DIRNAME}/stubs/stub" "${BATS_TEST_TMPDIR}/bin/${program}"
|
||||
|
||||
touch "${TMP}/${program}-stub-plan"
|
||||
for arg in "$@"; do printf "%s\n" "$arg" >> "${TMP}/${program}-stub-plan"; done
|
||||
touch "${BATS_TEST_TMPDIR}/${program}-stub-plan"
|
||||
for arg in "$@"; do printf "%s\n" "$arg" >> "${BATS_TEST_TMPDIR}/${program}-stub-plan"; done
|
||||
}
|
||||
|
||||
unstub() {
|
||||
local program="$1"
|
||||
local prefix="$(echo "$program" | tr a-z- A-Z_)"
|
||||
local path="${TMP}/bin/${program}"
|
||||
local path="${BATS_TEST_TMPDIR}/bin/${program}"
|
||||
|
||||
export "${prefix}_STUB_END"=1
|
||||
|
||||
@@ -44,12 +43,12 @@ unstub() {
|
||||
"$path" || STATUS="$?"
|
||||
|
||||
rm -f "$path"
|
||||
rm -f "${TMP}/${program}-stub-plan" "${TMP}/${program}-stub-run"
|
||||
rm -f "${BATS_TEST_TMPDIR}/${program}-stub-plan" "${BATS_TEST_TMPDIR}/${program}-stub-run"
|
||||
return "$STATUS"
|
||||
}
|
||||
|
||||
run_inline_definition() {
|
||||
local definition="${TMP}/build-definition"
|
||||
local definition="${BATS_TEST_TMPDIR}/build-definition"
|
||||
cat > "$definition"
|
||||
run python-build "$definition" "${1:-$INSTALL_ROOT}"
|
||||
}
|
||||
@@ -85,7 +84,7 @@ flunk() {
|
||||
{ if [ "$#" -eq 0 ]; then cat -
|
||||
else echo "$@"
|
||||
fi
|
||||
} | sed "s:${TMP}:\${TMP}:g" >&2
|
||||
} | sed "s:${BATS_TEST_TMPDIR}:\${BATS_TEST_TMPDIR}:g" >&2
|
||||
return 1
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user