mirror of
https://github.com/kennethreitz/heroku-buildpack-python.git
synced 2026-06-05 23:10:16 +00:00
a97da6382f
To prevent external environment variables from leaking into the tests, which otherwise causes problems trying to write tests for #1011. Several tests which were relying on this leak had to be fixed, so that the env vars they were using are set using `ENV_DIR`, as happens in production. Fixes #1014. Fixes #1015.
84 lines
2.0 KiB
Bash
Executable File
84 lines
2.0 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"
|
|
}
|
|
|
|
testGEOS() {
|
|
local env_dir="$(mktmpdir)"
|
|
echo '1' > "${env_dir}/BUILD_WITH_GEO_LIBRARIES"
|
|
compile 'geos' '' "${env_dir}"
|
|
assertCaptured "geos"
|
|
assertCapturedSuccess
|
|
}
|
|
|
|
testGEOSDeprecation() {
|
|
local env_dir="$(mktmpdir)"
|
|
echo '1' > "${env_dir}/BUILD_WITH_GEO_LIBRARIES"
|
|
compile 'geos' '' "${env_dir}"
|
|
assertCaptured " ! The GDAL, GEOS and PROJ binaries and BUILD_WITH_GEO_LIBRARIES functonality are now deprecated.
|
|
! An alternative buildpack to enable GDAL, GEOS and PROJ use is available here - https://github.com/heroku/heroku-geo-buildpack"
|
|
assertCapturedSuccess
|
|
}
|
|
|
|
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"
|
|
assertCapturedSuccess
|
|
}
|
|
|
|
testPsycopg2() {
|
|
compile "psycopg2"
|
|
assertCaptured "psycopg2"
|
|
assertCapturedSuccess
|
|
}
|
|
|
|
testPysqlite() {
|
|
compile "pysqlite"
|
|
assertCaptured "pysqlite"
|
|
assertCapturedSuccess
|
|
}
|
|
|
|
testSqliteInstall() {
|
|
compile "pythonDefault"
|
|
assertNotCaptured "Sqlite3 failed to install."
|
|
assertCapturedSuccess
|
|
}
|
|
|
|
testCffi() {
|
|
compile "cffi"
|
|
assertCaptured "cffi"
|
|
assertCapturedSuccess
|
|
}
|
|
|
|
testPylibmc() {
|
|
compile "pylibmc"
|
|
assertCaptured "pylibmc"
|
|
assertCapturedSuccess
|
|
}
|
|
|
|
pushd $(dirname 0) >/dev/null
|
|
popd >/dev/null
|
|
|
|
source $(pwd)/test/utils
|
|
source $(pwd)/test/shunit2
|