mirror of
https://github.com/pyenv/pyenv.git
synced 2025-11-10 04:23:47 -05:00
Import recent changess from ruby-build v20140408
This commit is contained in:
@@ -56,7 +56,7 @@ assert_build_log() {
|
||||
}
|
||||
|
||||
@test "yaml is installed for python" {
|
||||
cached_tarball "yaml-0.1.5"
|
||||
cached_tarball "yaml-0.1.6"
|
||||
cached_tarball "Python-3.2.1"
|
||||
|
||||
stub brew false
|
||||
@@ -69,7 +69,7 @@ assert_build_log() {
|
||||
unstub make
|
||||
|
||||
assert_build_log <<OUT
|
||||
yaml-0.1.5: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
||||
yaml-0.1.6: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
||||
make -j 2
|
||||
make install
|
||||
Python-3.2.1: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
||||
@@ -79,7 +79,7 @@ OUT
|
||||
}
|
||||
|
||||
@test "apply python patch before building" {
|
||||
cached_tarball "yaml-0.1.5"
|
||||
cached_tarball "yaml-0.1.6"
|
||||
cached_tarball "Python-3.2.1"
|
||||
|
||||
stub brew false
|
||||
@@ -94,7 +94,7 @@ OUT
|
||||
unstub patch
|
||||
|
||||
assert_build_log <<OUT
|
||||
yaml-0.1.5: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
||||
yaml-0.1.6: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
||||
make -j 2
|
||||
make install
|
||||
patch -p0 -i -
|
||||
@@ -153,6 +153,7 @@ OUT
|
||||
@test "readline is not linked from Homebrew when explicitly defined" {
|
||||
cached_tarball "Python-3.2.1"
|
||||
|
||||
# python-build
|
||||
readline_libdir="$TMP/custom"
|
||||
mkdir -p "$readline_libdir/include/readline"
|
||||
touch "$readline_libdir/include/readline/rlconf.h"
|
||||
|
||||
@@ -11,7 +11,7 @@ setup() {
|
||||
|
||||
@test "packages are saved to download cache" {
|
||||
stub md5 true
|
||||
stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
|
||||
stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
|
||||
|
||||
install_fixture definitions/without-checksum
|
||||
[ "$status" -eq 0 ]
|
||||
@@ -59,7 +59,7 @@ setup() {
|
||||
|
||||
stub md5 true "echo invalid" "echo $checksum"
|
||||
stub curl "-*I* : true" \
|
||||
"-C - -o * -*S* http://?*/$checksum : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$4"
|
||||
"-q -o * -*S* http://?*/$checksum : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$3"
|
||||
|
||||
touch "${PYTHON_BUILD_CACHE_PATH}/package-1.0.0.tar.gz"
|
||||
|
||||
@@ -76,7 +76,7 @@ setup() {
|
||||
|
||||
@test "nonexistent cache directory is ignored" {
|
||||
stub md5 true
|
||||
stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
|
||||
stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
|
||||
|
||||
export PYTHON_BUILD_CACHE_PATH="${TMP}/nonexistent"
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ export PYTHON_BUILD_CACHE_PATH=
|
||||
|
||||
@test "package URL without checksum" {
|
||||
stub md5 true
|
||||
stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
|
||||
stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
|
||||
|
||||
install_fixture definitions/without-checksum
|
||||
[ "$status" -eq 0 ]
|
||||
@@ -20,7 +20,7 @@ export PYTHON_BUILD_CACHE_PATH=
|
||||
|
||||
@test "package URL with valid checksum" {
|
||||
stub md5 true "echo 83e6d7725e20166024a1eb74cde80677"
|
||||
stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
|
||||
stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
|
||||
|
||||
install_fixture definitions/with-checksum
|
||||
[ "$status" -eq 0 ]
|
||||
@@ -33,7 +33,7 @@ export PYTHON_BUILD_CACHE_PATH=
|
||||
|
||||
@test "package URL with invalid checksum" {
|
||||
stub md5 true "echo 83e6d7725e20166024a1eb74cde80677"
|
||||
stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
|
||||
stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
|
||||
|
||||
install_fixture definitions/with-invalid-checksum
|
||||
[ "$status" -eq 1 ]
|
||||
@@ -46,7 +46,7 @@ export PYTHON_BUILD_CACHE_PATH=
|
||||
|
||||
@test "package URL with checksum but no MD5 support" {
|
||||
stub md5 false
|
||||
stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
|
||||
stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
|
||||
|
||||
install_fixture definitions/with-checksum
|
||||
[ "$status" -eq 0 ]
|
||||
@@ -59,7 +59,7 @@ export PYTHON_BUILD_CACHE_PATH=
|
||||
|
||||
@test "package with invalid checksum" {
|
||||
stub md5 true "echo invalid"
|
||||
stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
|
||||
stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
|
||||
|
||||
install_fixture definitions/with-checksum
|
||||
[ "$status" -eq 1 ]
|
||||
@@ -68,3 +68,46 @@ export PYTHON_BUILD_CACHE_PATH=
|
||||
unstub curl
|
||||
unstub md5
|
||||
}
|
||||
|
||||
@test "existing tarball in build location is reused" {
|
||||
stub md5 true "echo 83e6d7725e20166024a1eb74cde80677"
|
||||
stub curl false
|
||||
stub wget false
|
||||
|
||||
export -n PYTHON_BUILD_CACHE_PATH
|
||||
export PYTHON_BUILD_BUILD_PATH="${TMP}/build"
|
||||
|
||||
mkdir -p "$PYTHON_BUILD_BUILD_PATH"
|
||||
ln -s "${FIXTURE_ROOT}/package-1.0.0.tar.gz" "$PYTHON_BUILD_BUILD_PATH"
|
||||
|
||||
run_inline_definition <<DEF
|
||||
install_package "package-1.0.0" "http://example.com/packages/package-1.0.0.tar.gz#83e6d7725e20166024a1eb74cde80677" copy
|
||||
DEF
|
||||
|
||||
assert_success
|
||||
[ -x "${INSTALL_ROOT}/bin/package" ]
|
||||
|
||||
unstub md5
|
||||
}
|
||||
|
||||
@test "existing tarball in build location is discarded if not matching checksum" {
|
||||
stub md5 true \
|
||||
"echo invalid" \
|
||||
"echo 83e6d7725e20166024a1eb74cde80677"
|
||||
stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
|
||||
|
||||
export -n PYTHON_BUILD_CACHE_PATH
|
||||
export PYTHON_BUILD_BUILD_PATH="${TMP}/build"
|
||||
|
||||
mkdir -p "$PYTHON_BUILD_BUILD_PATH"
|
||||
touch "${PYTHON_BUILD_BUILD_PATH}/package-1.0.0.tar.gz"
|
||||
|
||||
run_inline_definition <<DEF
|
||||
install_package "package-1.0.0" "http://example.com/packages/package-1.0.0.tar.gz#83e6d7725e20166024a1eb74cde80677" copy
|
||||
DEF
|
||||
|
||||
assert_success
|
||||
[ -x "${INSTALL_ROOT}/bin/package" ]
|
||||
|
||||
unstub md5
|
||||
}
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz" --if needs_yaml
|
||||
install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz" --if needs_yaml
|
||||
install_package "Python-3.2.1" "http://python.org/ftp/python/3.2.1/Python-3.2.1.tar.gz"
|
||||
|
||||
@@ -8,7 +8,7 @@ export PYTHON_BUILD_MIRROR_URL=http://mirror.example.com
|
||||
|
||||
@test "package URL without checksum bypasses mirror" {
|
||||
stub md5 true
|
||||
stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
|
||||
stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
|
||||
|
||||
install_fixture definitions/without-checksum
|
||||
echo "$output" >&2
|
||||
@@ -22,7 +22,7 @@ export PYTHON_BUILD_MIRROR_URL=http://mirror.example.com
|
||||
|
||||
@test "package URL with checksum but no MD5 support bypasses mirror" {
|
||||
stub md5 false
|
||||
stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
|
||||
stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
|
||||
|
||||
install_fixture definitions/with-checksum
|
||||
[ "$status" -eq 0 ]
|
||||
@@ -39,7 +39,7 @@ export PYTHON_BUILD_MIRROR_URL=http://mirror.example.com
|
||||
|
||||
stub md5 true "echo $checksum"
|
||||
stub curl "-*I* $mirror_url : true" \
|
||||
"-C - -o * -*S* $mirror_url : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$4"
|
||||
"-q -o * -*S* $mirror_url : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$3"
|
||||
|
||||
install_fixture definitions/with-checksum
|
||||
[ "$status" -eq 0 ]
|
||||
@@ -56,7 +56,7 @@ export PYTHON_BUILD_MIRROR_URL=http://mirror.example.com
|
||||
|
||||
stub md5 true "echo $checksum"
|
||||
stub curl "-*I* $mirror_url : false" \
|
||||
"-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
|
||||
"-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
|
||||
|
||||
install_fixture definitions/with-checksum
|
||||
[ "$status" -eq 0 ]
|
||||
@@ -73,8 +73,8 @@ export PYTHON_BUILD_MIRROR_URL=http://mirror.example.com
|
||||
|
||||
stub md5 true "echo invalid" "echo $checksum"
|
||||
stub curl "-*I* $mirror_url : true" \
|
||||
"-C - -o * -*S* $mirror_url : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$4" \
|
||||
"-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
|
||||
"-q -o * -*S* $mirror_url : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$3" \
|
||||
"-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
|
||||
|
||||
install_fixture definitions/with-checksum
|
||||
echo "$output" >&2
|
||||
@@ -92,7 +92,7 @@ export PYTHON_BUILD_MIRROR_URL=http://mirror.example.com
|
||||
|
||||
stub md5 true "echo $checksum"
|
||||
stub curl "-*I* : true" \
|
||||
"-C - -o * -*S* http://?*/$checksum : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$4" \
|
||||
"-q -o * -*S* http://?*/$checksum : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$3" \
|
||||
|
||||
install_fixture definitions/with-checksum
|
||||
[ "$status" -eq 0 ]
|
||||
|
||||
Reference in New Issue
Block a user