Commit Graph

113 Commits

Author SHA1 Message Date
Casey Faist 0ffbf60882 split out tests to avoid timeouts 2019-09-10 11:53:33 -07:00
Casey Faist 5337dd592b remove test case for deprecated pythons on deprecated stack 2019-04-04 14:04:10 -07:00
Casey Faist 7654d13f8b fix test blindspot 2019-04-03 15:28:35 -07:00
Casey 76bb572a4d Release prep 151 (#813)
* new runtimes

* update default latest
2019-03-21 10:54:12 -07:00
Casey 21430070ad Python release prep (#809)
* new recipe for new runtime

* add new runtime formula

* add test updates for new runtime release

* wrangle tests into submission

* update tests to use default_pythons

* delete commented code
2019-03-13 12:25:03 -07:00
Casey bebc0cf439 Python 2.7.16 (#808)
* new recipe for new runtime

* add new runtime formula

* wrangle tests into submission
2019-03-11 13:22:29 -04:00
Casey Faist 797652a75d new runtimes and travis test updates 2019-01-31 14:46:42 -05:00
Casey Faist d7351513c7 changelog and test update 2018-12-12 17:26:28 -05:00
Casey Faist 88a5ba5d39 add test for 2.7 pipenv install 2018-11-15 09:09:51 -06:00
Casey Faist 3434972e32 update hatchet expected version 2018-11-15 08:57:57 -06:00
Casey Faist 1dfef44085 update default in pipenv test 2018-11-14 17:36:59 -06:00
Casey Faist 23999846ad update 3.7 tests typo 2018-11-14 16:41:38 -06:00
Casey Faist 8d1ebf7288 bump default 3.6 version 2018-11-14 16:24:46 -06:00
Casey Faist f2165aaac6 update test fixtures for new python runtimes 2018-11-13 16:11:14 -06:00
Casey Faist 0b554f660f update tests for missed stack issues 2018-11-12 17:27:07 -06:00
Casey Faist 7b9e82175e add warning detection and per-stack checks 2018-11-12 17:10:30 -06:00
Casey Faist f3ef152624 update tests to pass, add 3.4 2018-11-11 15:34:49 -06:00
Casey Faist 07241cd751 add tests for new runtimes 2018-11-08 13:54:44 -06:00
Casey Faist ae4713efd8 add new runtimes and test repos 2018-11-08 13:54:44 -06:00
Casey Faist eee8dd9a9e need to pass env var as export in test 2018-10-05 13:48:22 -05:00
Casey Faist 00e12b8ec2 add test/run case 2018-10-05 13:35:42 -05:00
Casey Faist b56b063dd5 add SLUGIFY_USES_TEXT_UNIDECODE support 2018-10-05 11:49:01 -05:00
Casey Faist 61591594a2 typo fix 2018-08-24 18:19:07 -04:00
Casey Faist 13bca29e13 update tests to expect success for all 2.7.15 builds 2018-08-24 18:12:28 -04:00
Ian Stapleton Cordasco 2d290e94e9 Add heroku-18 to our Travis CI config
- Add stage to Travis CI config and update tests.sh script to recognize
  it

- Update tests to assert there is no Python 2 on Heroku-18

- Update nltk fixture to use Python 3.6 so we can test it on all stacks

Closes gh-730
2018-07-09 11:51:03 -05:00
Ian Stapleton Cordasco abade31848 Update defaults for Python 3 apps on Heroku
Also update our documentation and CHANGELOG for this version of the
buildpack.
2018-06-28 10:57:13 -05:00
Ally Weir f1e1df2fa1 Bump pipenv version 2018-05-24 11:37:01 +01:00
kennethreitz a8fdd1e532 Python 3.6.5 (#695)
* 3.6.5

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

* fix tests

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>
2018-05-02 09:35:32 -04:00
kennethreitz 22174d6232 fix tests
Signed-off-by: Kenneth Reitz <me@kennethreitz.org>
2018-05-02 07:10:22 -04:00
kennethreitz 3d8f6de92e update latest version of python
Signed-off-by: Kenneth Reitz <me@kennethreitz.org>
2018-05-01 11:28:42 -04:00
Ian Stapleton Cordasco 3c64697472 Add Python 2.7.15 to the list of runtimes (#692)
* Add Python 2.7.15 to the list of runtimes

Closes #691

* Update the default Python 2 to 2.7.15 everywhere
2018-05-01 10:27:32 -04:00
kennethreitz 6bcbf19bb0 test git egg installation (#666)
Signed-off-by: Kenneth Reitz <me@kennethreitz.org>
2018-04-26 09:16:11 -04:00
kennethreitz 00947abe7a collectstatic metrics (#660) 2018-03-14 13:06:56 -04:00
kennethreitz de680016c9 latest python version (3.6.4) (#496)
Update buildpack to latest version of Python.
2018-01-08 12:20:55 -05:00
Robin Richtsfeld 88d6c93955 Fix some Bash issues (#491) 2017-12-15 09:19:03 -05:00
Josh Friend 17dd42113f Update default python to 3.6.3 (#480) 2017-11-21 19:11:45 -05:00
kennethreitz 25c5762cb9 pipenv --deploy (#476)
* fixed the bug for pypy-5.8.0

* changelog

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

* python 2.7.14

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

* pipfile > requirements.txt

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

* check for python_full_version too

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

* 2.7.14

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

* warn when using an older version of python

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

* requirements for anaconda buildpack

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

* remove hashes for conda buildpack

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

* improvements to pipenv python version detection

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

* oops

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

* oops

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

* oops

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

* echo not puts

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

* try this

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

* learn more

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

* there we go

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

* cleanups

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

* cleanups

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

* cleanups

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

* unsupported

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

* consistiency

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

* be more specific

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

* capitalize Pipfile.lock

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

* attempt to force color

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

* try this

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

* try this

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

* interactive

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

* interactive

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

* diagnose

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

* try without -l

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

* confirmed env working

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

* just -c

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

* use latest, to debug

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

* no more bash

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

* try …

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

* don't use the git version of pipenv

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

* oops

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

* next version

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

* 2.7.14

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

* comment out force color bits

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

* readme

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

* more tests

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

* more tests

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

* ellipsis

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

* pipenv --deploy

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

* full version lockfile

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>
2017-09-26 17:41:51 -04:00
kennethreitz ff223597f3 Upgrades 🔝 (#475)
* fixed the bug for pypy-5.8.0

* changelog

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

* python 2.7.14

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

* pipfile > requirements.txt

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

* check for python_full_version too

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

* 2.7.14

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

* warn when using an older version of python

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

* requirements for anaconda buildpack

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

* remove hashes for conda buildpack

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

* improvements to pipenv python version detection

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

* oops

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

* oops

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

* oops

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

* echo not puts

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

* try this

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

* learn more

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

* there we go

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

* cleanups

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

* cleanups

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

* cleanups

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

* unsupported

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

* consistiency

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

* be more specific

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

* capitalize Pipfile.lock

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

* attempt to force color

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

* try this

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

* try this

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

* interactive

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

* interactive

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

* diagnose

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

* try without -l

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

* confirmed env working

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

* just -c

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

* use latest, to debug

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

* no more bash

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

* try …

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

* don't use the git version of pipenv

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

* oops

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

* next version

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

* 2.7.14

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

* comment out force color bits

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

* readme

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

* more tests

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

* more tests

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

* ellipsis

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>
2017-09-26 11:42:14 -04:00
Ed Morley df7f8f3507 Skip vendoring libffi/libmemcached on Heroku-16 (#465)
* Add a test for the cryptography (cffi) compile step

Since it's currently untested.

* Skip vendoring libffi/libmemcached on Heroku-16

Unlike for Cedar-14, Heroku-16 comes with these packages pre-installed:
https://github.com/heroku/stack-images/blob/5a341970cfc1f201014262ad64c3b3e47514f663/heroku-16/installed-packages.txt#L111
https://github.com/heroku/stack-images/blob/5a341970cfc1f201014262ad64c3b3e47514f663/heroku-16/installed-packages.txt#L172

As such the build scripts had already been made a no-op on Heroku-16:
https://github.com/heroku/heroku-buildpack-python/blob/fedae5ceda5a42f594012f911c3808dd5dc6fd9e/builds/libraries/vendor/libffi#L6-L9
https://github.com/heroku/heroku-buildpack-python/blob/fedae5ceda5a42f594012f911c3808dd5dc6fd9e/builds/libraries/vendor/libmemcache#L6-L9

...meaning the Heroku-16 archives for them on S3 contain zero files.

However until now, the buildpack was still unnecessarily downloading
and extracting these empty archives - and not just on the first compile
(like on cedar-14), but every compile since the directory check will
never succeed.
2017-09-08 11:27:46 -04:00
Ed Morley fedae5ceda Tests: Make assertCaptured test failures easier to debug (#461)
Previously the contents of the file being searched was not output,
making it hard to know how to fix a test so that it would pass.

Before:
```
$ make test-heroku-16
...
testCffi
ASSERT:Expected </tmp/shunit.ayVGAO/tmp/output.6gMs/stdout> to contain <ZZZZZZZ>
testPylibmc
```

After:
```
$ make test-heroku-16
...
testCffi
ASSERT:Expected </tmp/shunit.FXWeuI/tmp/output.7Vfx/stdout> to contain <ZZZZZZZ>
 !     Warning: Your application is missing a Procfile. This file tells Heroku how to run your application.
 !     Learn more: https://devcenter.heroku.com/articles/procfile
-----> Installing python-3.6.2
-----> Installing pip
-----> Installing requirements with pip
       Collecting cffi (from -r /tmp/testBoLG0/requirements.txt (line 1))
         Downloading cffi-1.10.0-cp36-cp36m-manylinux1_x86_64.whl (406kB)
       Collecting pycparser (from cffi->-r /tmp/testBoLG0/requirements.txt (line 1))
         Downloading pycparser-2.18.tar.gz (245kB)
       Installing collected packages: pycparser, cffi
         Running setup.py install for pycparser: started
           Running setup.py install for pycparser: finished with status 'done'
       Successfully installed cffi-1.10.0 pycparser-2.18

testPylibmc
```
2017-09-05 09:43:17 -04:00
Ed Morley 4212e06309 NLTK support: Fix passing of multiple corpora identifiers (#460)
* NLTK support: Update test to use multiple corpora

So that the incorrect handling of multiple IDs seen in #444 would
have been caught.

Also switches to some of the smaller corpora, to reduce time spent
downloading during tests (see sizes on http://www.nltk.org/nltk_data/).

* NLTK support: Fix passing of multiple corpora identifiers

As part of fixing the shellcheck warnigns in #438, double quotes had
been placed around `$nltk_packages` passed to the `nltk.downloader`,
which causes multiple identifiers to be treated as though it were just
one identifier that contains spaces.

The docs for the shellcheck warning in question recommend using arrays
if the intended behaviour really is to split on spaces:
https://github.com/koalaman/shellcheck/wiki/SC2086#exceptions

As such, `readarray` has been used, which is present in bash >=4.
The `[*]` array form is used in the log message, to prevent shellcheck
warning SC2145, whereas `[@]` is used when passed to `nltk.downloader`
to ensure the array elements are unpacked as required.

Note: Both before and after this fix, using anything but unix line
endings in `nltk.txt` will also cause breakage.
2017-09-05 09:32:04 -04:00
Ed Morley c029e44dc8 Improve UX when clearing cache due to the stack changing (#442)
* Test that the cache is invalidated when the stack changes

* Improve UX when clearing cache due to the stack changing

Now outputs a message informing that the cache was cleared, and
clears the cache first to avoid a redundant message about removing
an old Python version.
2017-08-07 21:23:23 -04:00
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
kennethreitz 2512694df9 Geos tests (#437)
* fixed the bug for pypy-5.8.0

* cleanup makefile

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

* allow builds to happen when capitalization is used

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

* restore behavior

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

* make makefile default to heroku-16

* test geos libraries

Signed-off-by: Kenneth Reitz <me@kennethreitz.org>
2017-08-02 19:59:44 -04:00
kennethreitz a7c20eea42 Python 3 default for buildpack (#409)
* update default python to 3.6.1

* v110

* nltk python2
2017-06-20 09:14:01 -07:00
Ed Morley cbb718bb8b Fix pip uninstall by moving it prior to pip install (#413)
The pip-uninstall step stopped working when it was moved to after
the pip-install step in f27a84e.

This regression was temporarily fixed by part of #397, however that
PR was reverted in #404.

Adds a test to hopefully catch any future regressions :-)

Fixes #393.
2017-06-14 17:15:52 -04:00
kennethreitz db95cdd3f3 new pylibmc test (#408) 2017-06-05 13:47:48 -04:00
Ed Morley 7a579e4eb7 Make assertCapturedSuccess display stdout if stderr was empty (#390)
In cases where there is no stderr there was previously no output,
which made it hard to find the cause. The assertion messages have
also been adjusted to remove the repetition (shunit2 already outputs
expected vs actual itself).

Before:
```
testPipenv
ASSERT:Expected captured exit code to be 0; was <2> expected:<0> but was:<2>
testPipenvVersion
```

After:
```
testPipenv
ASSERT:Captured exit code - expected:<0> but was:<2>
 !     Warning: Your application is missing a Procfile. This file tells Heroku how to run your application.
 !     Learn more: https://devcenter.heroku.com/articles/procfile
-----> Installing python-2.7.13
-----> Installing pip
-----> Generating 'requirements.txt' with pipenv

testPipenvVersion
```

Fixes #389.
2017-05-25 11:46:09 -07:00
kennethreitz 65648fb7a8 fix tests 2017-03-16 12:44:36 -04:00
kennethreitz 45b0d18532 fix tests further 2017-03-16 12:29:07 -04:00