Skip to content
This repository has been archived by the owner on Aug 4, 2022. It is now read-only.

Commit

Permalink
.travis.yml: specify custom build matrix
Browse files Browse the repository at this point in the history
This build matrix explicitly tests dash, bash, and zsh (on Python 3.5),
allows nightly, pypy, and pypy3 to fail, and adds Python 2.4 and 2.5
builds.

PyPy sometimes fails in random spots due to a bug in its subprocess
library (where Popen.communicate() can raise IOError/EPIPE when closing
stdin). Therefore, these builds are allowed to fail (and they also don't
block the overall build from being marked as finished).

The Python 2.4/2.5 builds do not measure test coverage or run dist.t,
pep8.t, or pyflakes.t. Those require installing things using pip which
is annoying and maybe impossible on Travis.
  • Loading branch information
aiiie committed Jan 25, 2016
1 parent 0fd6947 commit 31e731a
Showing 1 changed file with 61 additions and 17 deletions.
78 changes: 61 additions & 17 deletions .travis.yml
@@ -1,23 +1,67 @@
language: python

python:
- "2.6"
- "2.7"
- "3.2"
- "3.3"
- "3.4"
- "3.5"
- nightly
- pypy
- pypy3
matrix:
allow_failures:
- python: nightly
env: TESTOPTS=--shell=dash
- python: pypy
env: TESTOPTS=--shell=dash
- python: pypy3
env: TESTOPTS=--shell=dash
include:
- python: "3.5"
env: TESTOPTS=--shell=dash
- python: "3.5"
env: TESTOPTS=--shell=bash
- python: "3.5"
env: TESTOPTS=--shell=zsh
addons:
apt:
packages:
- zsh
- python: "3.4"
env: TESTOPTS=--shell=dash
- python: "3.3"
env: TESTOPTS=--shell=dash
- python: "3.2"
env: TESTOPTS=--shell=dash
- python: "2.7"
env: TESTOPTS=--shell=dash
- python: "2.6"
env: TESTOPTS=--shell=dash
- env: PYTHON=2.5 TESTOPTS=--shell=dash
addons:
apt:
sources:
- deadsnakes
packages:
- python2.5
- env: PYTHON=2.4 TESTOPTS=--shell=dash
addons:
apt:
sources:
- deadsnakes
packages:
- python2.4
- python: nightly
env: TESTOPTS=--shell=dash
- python: pypy
env: TESTOPTS=--shell=dash
- python: pypy3
env: TESTOPTS=--shell=dash
fast_finish: true

install: |
if [ "$TRAVIS_PYTHON_VERSION" = "3.2" ]
then
pip install coverage==3.7.1
else
pip install coverage
fi
if [ -z "$PYTHON" ]
then
[ "$TRAVIS_PYTHON_VERSION" = "3.2" ] && pip install coverage==3.7.1
pip install -r requirements.txt
fi
script: make test
script: |
if [ -z "$PYTHON" ]
then
make test TESTOPTS="$TESTOPTS"
else
make quicktest PYTHON="python$PYTHON"
fi

0 comments on commit 31e731a

Please sign in to comment.