@@ -10,45 +10,23 @@ python:
10
10
- ' 3.7'
11
11
install :
12
12
- 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
28
13
29
14
jobs :
30
15
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.
44
17
- &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
45
21
os : osx
46
22
osx_image : xcode10.1
47
23
language : generic
24
+ # Coverage for:
25
+ # - py2 with symlink in test_cmdline_python_package_symlink.
26
+ env : TOXENV=py27-xdist PYTEST_COVERAGE=1
48
27
before_install :
49
28
- python -V
50
29
- test $(python -c 'import sys; print("%d%d" % sys.version_info[0:2])') = 27
51
- env : TOXENV=py27-xdist
52
30
- << : *test-macos
53
31
env : TOXENV=py37-xdist
54
32
before_install :
@@ -58,16 +36,56 @@ jobs:
58
36
- python -V
59
37
- test $(python -c 'import sys; print("%d%d" % sys.version_info[0:2])') = 37
60
38
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
+
61
75
# Jobs only run via Travis cron jobs (currently daily).
62
76
- env : TOXENV=py38-xdist
63
77
python : ' 3.8-dev'
64
78
if : type = cron
65
79
66
80
- 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
71
89
72
90
- stage : deploy
73
91
python : ' 3.6'
@@ -84,6 +102,11 @@ jobs:
84
102
tags : true
85
103
repo : pytest-dev/pytest
86
104
105
+ matrix :
106
+ allow_failures :
107
+ - python : ' 3.8-dev'
108
+ env : TOXENV=py38-xdist
109
+
87
110
before_script :
88
111
- |
89
112
# Do not (re-)upload coverage with cron runs.
@@ -109,7 +132,7 @@ after_success:
109
132
coverage combine
110
133
coverage xml
111
134
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
113
136
fi
114
137
115
138
notifications :
0 commit comments