Files
T
Ed Morley 54115fc89b Update the BUILD_WITH_GEO_LIBRARIES error message (#1121)
So that it links to the changelog post now that it exists:
https://devcenter.heroku.com/changelog-items/1947

And to adjust the emphasis towards the migration guide
over the Geo buildpack repository link.

Closes @W-8391415@.
2020-11-13 13:10:52 +00:00

88 lines
2.2 KiB
Bash
Executable File

#!/usr/bin/env bash
# Default Python Versions
# shellcheck source=bin/default_pythons
source "bin/default_pythons"
testAirflow() {
local env_dir="$(mktmpdir)"
echo 'yes' > "${env_dir}/SLUGIFY_USES_TEXT_UNIDECODE"
compile 'airflow' '' "${env_dir}"
assertCaptured "apache-airflow==1.10.2"
assertCapturedSuccess
}
testCollectstatic() {
compile "collectstatic"
assertCaptured "collectstatic"
}
testBuildWithGeoLibrariesWarning() {
local env_dir="$(mktmpdir)"
echo '1' > "${env_dir}/BUILD_WITH_GEO_LIBRARIES"
compile 'gdal' '' "${env_dir}"
assertCaptured " ! The Python buildpack's legacy BUILD_WITH_GEO_LIBRARIES functonality"
assertCapturedError
}
testGDALWarning() {
compile 'gdal'
assertCaptured " ! Hello! Package installation failed since the GDAL library was not found."
assertCapturedError
}
testNLTK() {
local env_dir="$(mktmpdir)"
# NOTE: This is a RuntimeWarning emitted by Python 3's runpy.py script
# which is what is used when you call `python -m <module>`. This is due to
# how nltk imports things. It's not actually an error, but it would probably
# be bad to silence in Production.
echo 'ignore::RuntimeWarning' > "${env_dir}/PYTHONWARNINGS"
compile 'nltk' '' "${env_dir}"
assertCaptured "[nltk_data] Downloading package city_database" "STD_ERR"
# Can't use `assertCapturedSuccess` since the NLTK downloader outputs all
# progress/status messages to stderr (W-8146040).
assertCapturedSuccessWithStdErr
}
testPsycopg2() {
compile "psycopg2"
assertCaptured "psycopg2"
assertCapturedSuccess
}
testPysqlite() {
# pysqlite does not support Python 3 (since the sqlite3 stdlib can be used there),
# so we have to test with Python 2, which we've not made available for Heroku-20.
if [[ $STACK == "heroku-20" ]]; then
return
fi
compile "pysqlite"
assertCaptured "pysqlite"
assertCapturedSuccess
}
testCffi() {
compile "cffi"
assertCaptured "cffi"
assertCapturedSuccess
}
testPylibmc() {
compile "pylibmc"
assertCaptured "pylibmc"
assertCapturedSuccess
}
testMercurial() {
compile "requirements-mercurial"
assertCaptured "Cloning hg"
assertCapturedSuccess
}
pushd $(dirname 0) >/dev/null
popd >/dev/null
source $(pwd)/test/utils
source $(pwd)/test/shunit2