@@ -10,45 +10,23 @@ python:
1010 - ' 3.7'
1111install :
1212 - python -m pip install --upgrade --pre tox
13- env :
14- matrix :
15- - TOXENV=py27 PYTEST_COVERAGE=1
16- # Specialized factors for py27.
17- - TOXENV=py27-nobyte-numpy-xdist PYTEST_COVERAGE=1
18- - TOXENV=py27-pluggymaster-xdist
19- # Specialized factors for py37.
20- - TOXENV=py37-pexpect,py37-trial
21- - TOXENV=py37-pluggymaster-xdist
22- - TOXENV=py37-freeze
23-
24- matrix :
25- allow_failures :
26- - python : ' 3.8-dev'
27- env : TOXENV=py38-xdist
2813
2914jobs :
3015 include :
31- # Coverage tracking is slow with pypy, skip it.
32- - env : TOXENV=pypy-xdist
33- python : ' pypy2.7-6.0'
34- - env : TOXENV=pypy3-xdist
35- python : ' pypy3.5-6.0'
36-
37- - env : TOXENV=py34-xdist
38- python : ' 3.4'
39- - env : TOXENV=py35-xdist
40- python : ' 3.5'
41- - env : TOXENV=py36-xdist
42- python : ' 3.6'
43- - env : TOXENV=py37
16+ # OSX tests - first (in test stage), since they are the slower ones.
4417 - &test-macos
18+ # NOTE: (tests with) pexpect appear to be buggy on Travis,
19+ # at least with coverage.
20+ # Log: https://travis-ci.org/pytest-dev/pytest/jobs/500358864
4521 os : osx
4622 osx_image : xcode10.1
4723 language : generic
24+ # Coverage for:
25+ # - py2 with symlink in test_cmdline_python_package_symlink.
26+ env : TOXENV=py27-xdist PYTEST_COVERAGE=1
4827 before_install :
4928 - python -V
5029 - test $(python -c 'import sys; print("%d%d" % sys.version_info[0:2])') = 27
51- env : TOXENV=py27-xdist
5230 - << : *test-macos
5331 env : TOXENV=py37-xdist
5432 before_install :
@@ -58,16 +36,56 @@ jobs:
5836 - python -V
5937 - test $(python -c 'import sys; print("%d%d" % sys.version_info[0:2])') = 37
6038
39+ # Full run of latest (major) supported versions, without xdist.
40+ - env : TOXENV=py27
41+ python : ' 2.7'
42+ - env : TOXENV=py37
43+ python : ' 3.7'
44+
45+ # Coverage tracking is slow with pypy, skip it.
46+ - env : TOXENV=pypy-xdist
47+ python : ' pypy2.7-6.0'
48+ - env : TOXENV=pypy3-xdist
49+ python : ' pypy3.5-6.0'
50+
51+ - env : TOXENV=py34-xdist
52+ python : ' 3.4'
53+ - env : TOXENV=py35-xdist
54+ python : ' 3.5'
55+
56+ # Coverage for:
57+ # - pytester's LsofFdLeakChecker
58+ # - TestArgComplete (linux only)
59+ # - numpy
60+ - env : TOXENV=py37-lsof-numpy-xdist PYTEST_COVERAGE=1
61+
62+ # Specialized factors for py27.
63+ - env : TOXENV=py27-nobyte-numpy-xdist
64+ python : ' 2.7'
65+ - env : TOXENV=py27-pluggymaster-xdist
66+ python : ' 2.7'
67+
68+ # Specialized factors for py37.
69+ # Coverage for:
70+ # - test_sys_breakpoint_interception (via pexpect).
71+ - env : TOXENV=py37-pexpect,py37-trial PYTEST_COVERAGE=1
72+ - env : TOXENV=py37-pluggymaster-xdist
73+ - env : TOXENV=py37-freeze
74+
6175 # Jobs only run via Travis cron jobs (currently daily).
6276 - env : TOXENV=py38-xdist
6377 python : ' 3.8-dev'
6478 if : type = cron
6579
6680 - stage : baseline
67- env : TOXENV=py27-pexpect,py27-trial
68- - env : TOXENV=py37-lsof-numpy-xdist PYTEST_COVERAGE=1
69- - env : TOXENV=linting,docs,doctesting
70- python : ' 3.7'
81+ # Coverage for:
82+ # - _pytest.unittest._handle_skip (via pexpect).
83+ env : TOXENV=py27-pexpect,py27-trial PYTEST_COVERAGE=1
84+ python : ' 2.7'
85+ # Use py36 here for faster baseline.
86+ - env : TOXENV=py36-xdist
87+ python : ' 3.6'
88+ - env : TOXENV=linting,docs,doctesting PYTEST_COVERAGE=1
7189
7290 - stage : deploy
7391 python : ' 3.6'
@@ -84,6 +102,11 @@ jobs:
84102 tags : true
85103 repo : pytest-dev/pytest
86104
105+ matrix :
106+ allow_failures :
107+ - python : ' 3.8-dev'
108+ env : TOXENV=py38-xdist
109+
87110before_script :
88111 - |
89112 # Do not (re-)upload coverage with cron runs.
@@ -109,7 +132,7 @@ after_success:
109132 coverage combine
110133 coverage xml
111134 coverage report -m
112- bash <(curl -s https://codecov.io/bash) -Z -X gcov -X coveragepy -X search -X xcode -X gcovout -X fix -f coverage.xml -n $TOXENV
135+ bash <(curl -s https://codecov.io/bash) -Z -X gcov -X coveragepy -X search -X xcode -X gcovout -X fix -f coverage.xml -n $TOXENV-$TRAVIS_OS_NAME
113136 fi
114137
115138notifications :
0 commit comments