Files
heroku-buildpack-python/test/run
T
kennethreitz f74d4db8c5 Shellcheck Compliance (#438)
* fixed the bug for pypy-5.8.0

* enable shellcheck in makefile

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* make compile script shellcheck compatible

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* let's see what this says

* fix pip installation

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* shellcheck detect script

* shellcheck release

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* shellcheck test-compile

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* shellcheck warnings/utils

* updated makefile

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* shellcheck collectstatic

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* shellcheck cryptography

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* shellcheck eggpath fixes

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* shellcheck gdal

* shellcheck goes-libs

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* shellcheck mercurial

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* nltk shellcheck

* shellcheck pip-install

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* shellcheck pip-uninstall

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* shellcheck pipenv

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* shellcheck pylibmc

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* shellcheck python

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* update makefile

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* final update to makefile

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* fix tests

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* actually fix the tests

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* update pipenv-python-version

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* requested fixes

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* update spellcheck sources

* attempted fix for shell globbing

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* further attempted fix

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* switch nltk styling

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* no more need for temp app for installing pip

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* attempt at staged build for shellcheck

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* attempted fix of travis file

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* reorder travis file

* add shellcheck to install

* make things clearer in travis file

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* better travis file

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* attempt at better travis file

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>

* better travis file

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>
2017-08-03 17:36:23 -04:00

138 lines
2.4 KiB
Bash
Executable File

#!/usr/bin/env bash
testPipenv() {
compile "pipenv"
assertCapturedSuccess
}
testPipenvVersion() {
compile "pipenv-version"
assertCaptured "3.6.2"
assertCapturedSuccess
}
testNoRequirements() {
compile "no-requirements"
assertCapturedError
}
testGEOS() {
BUILD_WITH_GEO_LIBRARIES=1 compile "geos"
assertCaptured "geos"
assertCapturedSuccess
}
testNLTK() {
compile "nltk"
assertCaptured "wordnet"
assertCapturedSuccess
}
testSetupPy() {
compile "setup-py"
assertCaptured "maya"
assertCapturedSuccess
}
testStandardRequirements() {
compile "requirements-standard"
assertCaptured "requests"
assertCapturedSuccess
}
testPsycopg2() {
compile "psycopg2"
assertCaptured "psycopg2"
assertCapturedSuccess
}
testPylibmc() {
compile "pylibmc"
assertCaptured "pylibmc"
assertCapturedSuccess
}
testPython2() {
compile "python2"
assertCaptured "python-2.7.13"
assertCapturedSuccess
}
testPython3() {
compile "python3"
assertCaptured "python-3.6.2"
assertCapturedSuccess
}
testSmartRequirements() {
local cache_dir="$(mktmpdir)"
compile "requirements-standard" "$cache_dir"
assertFile "requests" ".heroku/python/requirements-declared.txt"
assertCapturedSuccess
compile "psycopg2" "$cache_dir"
assertCaptured "Uninstalling requests"
assertFile "psycopg2" ".heroku/python/requirements-declared.txt"
assertCapturedSuccess
}
pushd $(dirname 0) >/dev/null
popd >/dev/null
source $(pwd)/test/utils
mktmpdir() {
dir=$(mktemp -t testXXXXX)
rm -rf $dir
mkdir $dir
echo $dir
}
detect() {
capture $(pwd)/bin/detect $(pwd)/test/fixtures/$1
}
compile_dir=""
default_process_types_cleanup() {
file="/tmp/default_process_types"
if [ -f "$file" ]; then
rm "$file"
fi
}
compile() {
default_process_types_cleanup
bp_dir=$(mktmpdir)
compile_dir=$(mktmpdir)
cp -a $(pwd)/* ${bp_dir}
cp -a ${bp_dir}/test/fixtures/$1/. ${compile_dir}
capture ${bp_dir}/bin/compile ${compile_dir} ${2:-$(mktmpdir)} $3
}
compileDir() {
default_process_types_cleanup
local bp_dir=$(mktmpdir)
local compile_dir=${1:-$(mktmpdir)}
local cache_dir=${2:-$(mktmpdir)}
local env_dir=$3
cp -a $(pwd)/* ${bp_dir}
capture ${bp_dir}/bin/compile ${compile_dir} ${cache_dir} ${env_dir}
}
release() {
bp_dir=$(mktmpdir)
cp -a $(pwd)/* ${bp_dir}
capture ${bp_dir}/bin/release ${bp_dir}/test/fixtures/$1
}
assertFile() {
assertEquals "$1" "$(cat ${compile_dir}/$2)"
}
source $(pwd)/test/shunit2