ci: revisit coverage reporting
This brings coverage back that got missing with 9dcd6f2
.
Continuation of #4839 / #4846.
This commit is contained in:
parent
bd2c9bedcf
commit
8481e438bd
101
.travis.yml
101
.travis.yml
|
@ -10,24 +10,38 @@ python:
|
||||||
- '3.7'
|
- '3.7'
|
||||||
install:
|
install:
|
||||||
- python -m pip install --upgrade --pre tox
|
- python -m pip install --upgrade --pre tox
|
||||||
env:
|
|
||||||
matrix:
|
|
||||||
- TOXENV=py27 PYTEST_COVERAGE=1
|
|
||||||
# Specialized factors for py27.
|
|
||||||
- TOXENV=py27-nobyte-numpy-xdist PYTEST_COVERAGE=1
|
|
||||||
- TOXENV=py27-pluggymaster-xdist
|
|
||||||
# Specialized factors for py37.
|
|
||||||
- TOXENV=py37-pexpect,py37-trial
|
|
||||||
- TOXENV=py37-pluggymaster-xdist
|
|
||||||
- TOXENV=py37-freeze
|
|
||||||
|
|
||||||
matrix:
|
|
||||||
allow_failures:
|
|
||||||
- python: '3.8-dev'
|
|
||||||
env: TOXENV=py38-xdist
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
include:
|
include:
|
||||||
|
# OSX tests - first (in test stage), since they are the slower ones.
|
||||||
|
- &test-macos
|
||||||
|
# NOTE: (tests with) pexpect appear to be buggy on Travis,
|
||||||
|
# at least with coverage.
|
||||||
|
# Log: https://travis-ci.org/pytest-dev/pytest/jobs/500358864
|
||||||
|
os: osx
|
||||||
|
osx_image: xcode10.1
|
||||||
|
language: generic
|
||||||
|
# Coverage for:
|
||||||
|
# - py2 with symlink in test_cmdline_python_package_symlink.
|
||||||
|
env: TOXENV=py27-xdist PYTEST_COVERAGE=1
|
||||||
|
before_install:
|
||||||
|
- python -V
|
||||||
|
- test $(python -c 'import sys; print("%d%d" % sys.version_info[0:2])') = 27
|
||||||
|
- <<: *test-macos
|
||||||
|
env: TOXENV=py37-xdist
|
||||||
|
before_install:
|
||||||
|
- which python3
|
||||||
|
- python3 -V
|
||||||
|
- ln -sfn "$(which python3)" /usr/local/bin/python
|
||||||
|
- python -V
|
||||||
|
- test $(python -c 'import sys; print("%d%d" % sys.version_info[0:2])') = 37
|
||||||
|
|
||||||
|
# Full run of latest (major) supported versions, without xdist.
|
||||||
|
- env: TOXENV=py27
|
||||||
|
python: '2.7'
|
||||||
|
- env: TOXENV=py37
|
||||||
|
python: '3.7'
|
||||||
|
|
||||||
# Coverage tracking is slow with pypy, skip it.
|
# Coverage tracking is slow with pypy, skip it.
|
||||||
- env: TOXENV=pypy-xdist
|
- env: TOXENV=pypy-xdist
|
||||||
python: 'pypy2.7-6.0'
|
python: 'pypy2.7-6.0'
|
||||||
|
@ -38,25 +52,25 @@ jobs:
|
||||||
python: '3.4'
|
python: '3.4'
|
||||||
- env: TOXENV=py35-xdist
|
- env: TOXENV=py35-xdist
|
||||||
python: '3.5'
|
python: '3.5'
|
||||||
- env: TOXENV=py36-xdist
|
|
||||||
python: '3.6'
|
# Coverage for:
|
||||||
- env: TOXENV=py37
|
# - pytester's LsofFdLeakChecker
|
||||||
- &test-macos
|
# - TestArgComplete (linux only)
|
||||||
os: osx
|
# - numpy
|
||||||
osx_image: xcode10.1
|
- env: TOXENV=py37-lsof-numpy-xdist PYTEST_COVERAGE=1
|
||||||
language: generic
|
|
||||||
before_install:
|
# Specialized factors for py27.
|
||||||
- python -V
|
- env: TOXENV=py27-nobyte-numpy-xdist
|
||||||
- test $(python -c 'import sys; print("%d%d" % sys.version_info[0:2])') = 27
|
python: '2.7'
|
||||||
env: TOXENV=py27-xdist
|
- env: TOXENV=py27-pluggymaster-xdist
|
||||||
- <<: *test-macos
|
python: '2.7'
|
||||||
env: TOXENV=py37-xdist
|
|
||||||
before_install:
|
# Specialized factors for py37.
|
||||||
- which python3
|
# Coverage for:
|
||||||
- python3 -V
|
# - test_sys_breakpoint_interception (via pexpect).
|
||||||
- ln -sfn "$(which python3)" /usr/local/bin/python
|
- env: TOXENV=py37-pexpect,py37-trial PYTEST_COVERAGE=1
|
||||||
- python -V
|
- env: TOXENV=py37-pluggymaster-xdist
|
||||||
- test $(python -c 'import sys; print("%d%d" % sys.version_info[0:2])') = 37
|
- env: TOXENV=py37-freeze
|
||||||
|
|
||||||
# Jobs only run via Travis cron jobs (currently daily).
|
# Jobs only run via Travis cron jobs (currently daily).
|
||||||
- env: TOXENV=py38-xdist
|
- env: TOXENV=py38-xdist
|
||||||
|
@ -64,10 +78,14 @@ jobs:
|
||||||
if: type = cron
|
if: type = cron
|
||||||
|
|
||||||
- stage: baseline
|
- stage: baseline
|
||||||
env: TOXENV=py27-pexpect,py27-trial
|
# Coverage for:
|
||||||
- env: TOXENV=py37-lsof-numpy-xdist PYTEST_COVERAGE=1
|
# - _pytest.unittest._handle_skip (via pexpect).
|
||||||
- env: TOXENV=linting,docs,doctesting
|
env: TOXENV=py27-pexpect,py27-trial PYTEST_COVERAGE=1
|
||||||
python: '3.7'
|
python: '2.7'
|
||||||
|
# Use py36 here for faster baseline.
|
||||||
|
- env: TOXENV=py36-xdist
|
||||||
|
python: '3.6'
|
||||||
|
- env: TOXENV=linting,docs,doctesting PYTEST_COVERAGE=1
|
||||||
|
|
||||||
- stage: deploy
|
- stage: deploy
|
||||||
python: '3.6'
|
python: '3.6'
|
||||||
|
@ -84,6 +102,11 @@ jobs:
|
||||||
tags: true
|
tags: true
|
||||||
repo: pytest-dev/pytest
|
repo: pytest-dev/pytest
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
allow_failures:
|
||||||
|
- python: '3.8-dev'
|
||||||
|
env: TOXENV=py38-xdist
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- |
|
- |
|
||||||
# Do not (re-)upload coverage with cron runs.
|
# Do not (re-)upload coverage with cron runs.
|
||||||
|
@ -109,7 +132,7 @@ after_success:
|
||||||
coverage combine
|
coverage combine
|
||||||
coverage xml
|
coverage xml
|
||||||
coverage report -m
|
coverage report -m
|
||||||
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
|
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
|
||||||
fi
|
fi
|
||||||
|
|
||||||
notifications:
|
notifications:
|
||||||
|
|
|
@ -20,19 +20,28 @@ jobs:
|
||||||
py27:
|
py27:
|
||||||
python.version: '2.7'
|
python.version: '2.7'
|
||||||
tox.env: 'py27'
|
tox.env: 'py27'
|
||||||
PYTEST_COVERAGE: '1'
|
py27-nobyte-lsof-numpy:
|
||||||
py27-nobyte-numpy-xdist:
|
|
||||||
python.version: '2.7'
|
python.version: '2.7'
|
||||||
tox.env: 'py27-nobyte-numpy-xdist'
|
tox.env: 'py27-lsof-nobyte-numpy'
|
||||||
|
# Coverage for:
|
||||||
|
# - test_supports_breakpoint_module_global
|
||||||
|
# - test_terminal_reporter_writer_attr (without xdist)
|
||||||
|
# - "if write" branch in _pytest.assertion.rewrite
|
||||||
|
# - numpy
|
||||||
|
# - pytester's LsofFdLeakChecker (being skipped)
|
||||||
PYTEST_COVERAGE: '1'
|
PYTEST_COVERAGE: '1'
|
||||||
py27-trial:
|
py27-trial:
|
||||||
python.version: '2.7'
|
python.version: '2.7'
|
||||||
tox.env: 'py27-trial'
|
tox.env: 'py27-trial'
|
||||||
python.needs_vc: True
|
python.needs_vc: True
|
||||||
PYTEST_COVERAGE: '1'
|
|
||||||
py27-pluggymaster-xdist:
|
py27-pluggymaster-xdist:
|
||||||
python.version: '2.7'
|
python.version: '2.7'
|
||||||
tox.env: 'py27-pluggymaster-xdist'
|
tox.env: 'py27-pluggymaster-xdist'
|
||||||
|
# Coverage for:
|
||||||
|
# - except-IOError in _attempt_to_close_capture_file for py2.
|
||||||
|
# Also seen with py27-nobyte (using xdist), and py27-xdist.
|
||||||
|
# But no exception with py27-pexpect,py27-trial,py27-numpy.
|
||||||
|
PYTEST_COVERAGE: '1'
|
||||||
pypy:
|
pypy:
|
||||||
python.version: 'pypy'
|
python.version: 'pypy'
|
||||||
tox.env: 'pypy'
|
tox.env: 'pypy'
|
||||||
|
@ -42,33 +51,34 @@ jobs:
|
||||||
# python.version: 'pypy3'
|
# python.version: 'pypy3'
|
||||||
# tox.env: 'pypy3'
|
# tox.env: 'pypy3'
|
||||||
# python.exe: 'pypy3'
|
# python.exe: 'pypy3'
|
||||||
py34:
|
py34-xdist:
|
||||||
python.version: '3.4'
|
python.version: '3.4'
|
||||||
tox.env: 'py34'
|
tox.env: 'py34-xdist'
|
||||||
|
# Coverage for:
|
||||||
|
# - _pytest.compat._bytes_to_ascii
|
||||||
PYTEST_COVERAGE: '1'
|
PYTEST_COVERAGE: '1'
|
||||||
py35:
|
py35-xdist:
|
||||||
python.version: '3.5'
|
python.version: '3.5'
|
||||||
tox.env: 'py35'
|
tox.env: 'py35-xdist'
|
||||||
|
# Coverage for:
|
||||||
|
# - test_supports_breakpoint_module_global
|
||||||
PYTEST_COVERAGE: '1'
|
PYTEST_COVERAGE: '1'
|
||||||
py36:
|
py36-xdist:
|
||||||
python.version: '3.6'
|
python.version: '3.6'
|
||||||
tox.env: 'py36'
|
tox.env: 'py36-xdist'
|
||||||
PYTEST_COVERAGE: '1'
|
|
||||||
py37:
|
py37:
|
||||||
python.version: '3.7'
|
python.version: '3.7'
|
||||||
tox.env: 'py37'
|
tox.env: 'py37'
|
||||||
|
# Coverage for:
|
||||||
|
# - _py36_windowsconsoleio_workaround (with py36+)
|
||||||
|
# - test_request_garbage (no xdist)
|
||||||
PYTEST_COVERAGE: '1'
|
PYTEST_COVERAGE: '1'
|
||||||
py37-linting/docs/doctesting:
|
py37-linting/docs/doctesting:
|
||||||
python.version: '3.7'
|
python.version: '3.7'
|
||||||
tox.env: 'linting,docs,doctesting'
|
tox.env: 'linting,docs,doctesting'
|
||||||
py37-xdist:
|
|
||||||
python.version: '3.7'
|
|
||||||
tox.env: 'py37-xdist'
|
|
||||||
PYTEST_COVERAGE: '1'
|
|
||||||
py37-trial/numpy:
|
py37-trial/numpy:
|
||||||
python.version: '3.7'
|
python.version: '3.7'
|
||||||
tox.env: 'py37-trial,py37-numpy'
|
tox.env: 'py37-trial,py37-numpy'
|
||||||
PYTEST_COVERAGE: '1'
|
|
||||||
py37-pluggymaster-xdist:
|
py37-pluggymaster-xdist:
|
||||||
python.version: '3.7'
|
python.version: '3.7'
|
||||||
tox.env: 'py37-pluggymaster-xdist'
|
tox.env: 'py37-pluggymaster-xdist'
|
||||||
|
|
|
@ -1313,8 +1313,7 @@ class TestEarlyRewriteBailout(object):
|
||||||
# always (previously triggered via xdist only).
|
# always (previously triggered via xdist only).
|
||||||
# Ref: https://github.com/pytest-dev/py/pull/207
|
# Ref: https://github.com/pytest-dev/py/pull/207
|
||||||
monkeypatch.setattr(sys, "path", [""] + sys.path)
|
monkeypatch.setattr(sys, "path", [""] + sys.path)
|
||||||
if "pathlib" in sys.modules:
|
monkeypatch.delitem(sys.modules, "pathlib", raising=False)
|
||||||
del sys.modules["pathlib"]
|
|
||||||
|
|
||||||
testdir.makepyfile(
|
testdir.makepyfile(
|
||||||
**{
|
**{
|
||||||
|
|
Loading…
Reference in New Issue