2012-06-06 08:51:56 +04:00
|
|
|
language: python
|
|
|
|
|
2014-04-02 14:53:34 +04:00
|
|
|
notifications:
|
|
|
|
irc: "chat.freenode.net#pil"
|
2014-03-26 23:04:54 +04:00
|
|
|
|
2014-07-01 22:52:52 +04:00
|
|
|
env: MAX_CONCURRENCY=4
|
2014-06-25 03:01:05 +04:00
|
|
|
|
2012-06-06 08:51:56 +04:00
|
|
|
python:
|
2014-05-14 09:47:13 +04:00
|
|
|
- "pypy"
|
2014-08-18 00:34:12 +04:00
|
|
|
- "pypy3"
|
2014-03-26 23:04:54 +04:00
|
|
|
- 2.6
|
2012-06-06 08:51:56 +04:00
|
|
|
- 2.7
|
2014-07-21 13:15:23 +04:00
|
|
|
- "2.7_with_system_site_packages" # For PyQt4
|
2014-03-26 23:04:54 +04:00
|
|
|
- 3.2
|
|
|
|
- 3.3
|
2014-04-30 12:07:43 +04:00
|
|
|
- 3.4
|
2012-06-06 08:51:56 +04:00
|
|
|
|
2014-04-02 12:00:43 +04:00
|
|
|
install:
|
2014-09-10 11:25:17 +04:00
|
|
|
- "travis_retry sudo apt-get -qq install libfreetype6-dev liblcms2-dev python-qt4 ghostscript libffi-dev libjpeg-turbo-progs cmake imagemagick"
|
|
|
|
- "travis_retry pip install cffi"
|
|
|
|
- "travis_retry pip install coverage nose"
|
2014-08-16 19:12:31 +04:00
|
|
|
|
|
|
|
# Pyroma installation is slow on Py3, so just do it for Py2.
|
|
|
|
- if [ ${TRAVIS_PYTHON_VERSION:0:1} == "2" ]; then travis_retry pip install pyroma; fi
|
|
|
|
|
2014-09-10 11:25:17 +04:00
|
|
|
- if [ "$TRAVIS_PYTHON_VERSION" == "2.6" ]; then travis_retry pip install unittest2; fi
|
2013-03-19 21:18:25 +04:00
|
|
|
|
2014-04-02 12:00:43 +04:00
|
|
|
# webp
|
2014-03-27 01:11:41 +04:00
|
|
|
- pushd depends && ./install_webp.sh && popd
|
2014-03-26 20:29:47 +04:00
|
|
|
|
2014-03-26 23:04:54 +04:00
|
|
|
# openjpeg
|
2014-03-27 00:22:37 +04:00
|
|
|
- pushd depends && ./install_openjpeg.sh && popd
|
2013-03-19 21:18:25 +04:00
|
|
|
|
2012-06-06 08:51:56 +04:00
|
|
|
script:
|
2014-04-02 12:00:43 +04:00
|
|
|
- coverage erase
|
2012-06-06 08:51:56 +04:00
|
|
|
- python setup.py clean
|
2014-07-31 23:18:09 +04:00
|
|
|
- CFLAGS="-coverage" python setup.py build_ext --inplace
|
2014-05-14 09:17:49 +04:00
|
|
|
|
2014-08-16 19:45:36 +04:00
|
|
|
- coverage run --append --include=PIL/* selftest.py
|
2014-09-22 11:38:50 +04:00
|
|
|
# Temporarily remove fail-fast
|
|
|
|
# - coverage run --append --include=PIL/* -m nose -vx Tests/test_*.py
|
|
|
|
- coverage run --append --include=PIL/* -m nose -v Tests/test_*.py
|
2014-04-02 12:00:43 +04:00
|
|
|
|
|
|
|
after_success:
|
2014-07-31 23:18:09 +04:00
|
|
|
# gather the coverage data
|
2014-09-10 11:25:17 +04:00
|
|
|
- travis_retry sudo apt-get -qq install lcov
|
2014-07-31 23:18:09 +04:00
|
|
|
- lcov --capture --directory . -b . --output-file coverage.info
|
|
|
|
# filter to remove system headers
|
2014-08-29 17:03:58 +04:00
|
|
|
- lcov --remove coverage.info '/usr/*' -o coverage.filtered.info
|
2014-07-31 23:18:09 +04:00
|
|
|
# convert to json
|
2014-09-10 11:25:17 +04:00
|
|
|
- travis_retry gem install coveralls-lcov
|
2014-07-31 23:18:09 +04:00
|
|
|
- coveralls-lcov -v -n coverage.filtered.info > coverage.c.json
|
|
|
|
|
2014-04-02 12:40:40 +04:00
|
|
|
- coverage report
|
2014-09-10 11:25:17 +04:00
|
|
|
- travis_retry pip install coveralls-merge
|
2014-07-31 23:18:09 +04:00
|
|
|
- coveralls-merge coverage.c.json
|
|
|
|
|
2014-06-28 12:02:09 +04:00
|
|
|
|
2014-09-10 11:25:17 +04:00
|
|
|
- travis_retry pip install pep8 pyflakes
|
2014-06-02 16:57:50 +04:00
|
|
|
- pep8 --statistics --count PIL/*.py
|
2014-06-10 13:26:50 +04:00
|
|
|
- pep8 --statistics --count Tests/*.py
|
2014-06-02 16:57:50 +04:00
|
|
|
- pyflakes PIL/*.py | tee >(wc -l)
|
|
|
|
- pyflakes Tests/*.py | tee >(wc -l)
|
2014-06-28 12:18:33 +04:00
|
|
|
|
2014-07-01 00:57:16 +04:00
|
|
|
|
|
|
|
# Coverage and quality reports on just the latest diff.
|
|
|
|
# (Installation is very slow on Py3, so just do it for Py2.)
|
2014-07-01 03:16:34 +04:00
|
|
|
- if [ ${TRAVIS_PYTHON_VERSION:0:1} == "2" ]; then Scripts/diffcover-install.sh; fi
|
2014-07-01 17:25:24 +04:00
|
|
|
- if [ ${TRAVIS_PYTHON_VERSION:0:1} == "2" ]; then Scripts/diffcover-run.sh; fi
|
2014-09-10 11:25:17 +04:00
|
|
|
matrix:
|
|
|
|
fast_finish: true
|