@@ -32,7 +32,8 @@ matrix:
3232 allow_failures :
3333 - env : OPTIONAL=true
3434 include :
35- - os : linux
35+ - name : " CPython tests"
36+ os : linux
3637 language : c
3738 compiler : clang
3839 # gcc also works, but to keep the # of concurrent builds down, we use one C
@@ -43,7 +44,8 @@ matrix:
4344 apt :
4445 packages :
4546 - xvfb
46- - os : linux
47+ - name : " Documentation build"
48+ os : linux
4749 language : python
4850 # Build the docs against a stable version of Python so code bugs don't hold up doc-related PRs.
4951 python : 3.6
@@ -56,7 +58,8 @@ matrix:
5658 - python -m pip install sphinx==1.8.2 blurb python-docs-theme
5759 script :
5860 - make check suspicious html SPHINXOPTS="-q -W -j4"
59- - os : linux
61+ - name : " Documentation tests"
62+ os : linux
6063 language : c
6164 compiler : clang
6265 env : TESTING=doctest
@@ -70,7 +73,8 @@ matrix:
7073 - make -C Doc/ PYTHON=../python venv
7174 script :
7275 xvfb-run make -C Doc/ PYTHON=../python SPHINXOPTS="-q -W -j4" doctest
73- - os : osx
76+ - name : " Mac OS X tests"
77+ os : osx
7478 language : c
7579 compiler : clang
7680 # Testing under macOS is optional until testing stability has been demonstrated.
@@ -79,29 +83,45 @@ matrix:
7983 # Python 3 is needed for Argument Clinic and multissl
8084 - HOMEBREW_NO_AUTO_UPDATE=1 brew install xz python3
8185 - export PATH=$(brew --prefix)/bin:$(brew --prefix)/sbin:$PATH
82- - os : linux
86+ - name : " Test code coverage (Python)"
87+ os : linux
8388 language : c
8489 compiler : gcc
8590 env : OPTIONAL=true
8691 addons :
8792 apt :
8893 packages :
89- - lcov
9094 - xvfb
9195 before_script :
9296 - ./configure
93- - make coverage -s -j4
97+ - make -j4
9498 # Need a venv that can parse covered code.
9599 - ./python -m venv venv
96100 - ./venv/bin/python -m pip install -U coverage
97101 - ./venv/bin/python -m test.pythoninfo
98102 script :
99103 # Skip tests that re-run the entire test suite.
100- - xvfb-run ./venv/bin/python -m coverage run --pylib -m test --fail-env-changed -uall,-cpu -x test_multiprocessing_fork -x test_multiprocessing_forkserver -x test_multiprocessing_spawn -x test_concurrent_futures
104+ - xvfb-run ./venv/bin/python -m coverage run --branch -- pylib -m test --fail-env-changed -uall,-cpu -x test_multiprocessing_fork -x test_multiprocessing_forkserver -x test_multiprocessing_spawn -x test_concurrent_futures || true
101105 after_script : # Probably should be after_success once test suite updated to run under coverage.py.
102106 # Make the `coverage` command available to Codecov w/ a version of Python that can parse all source files.
103107 - source ./venv/bin/activate
104- - make coverage-lcov
108+ - bash <(curl -s https://codecov.io/bash)
109+ - name : " Test code coverage (C)"
110+ os : linux
111+ language : c
112+ compiler : gcc
113+ env : OPTIONAL=true
114+ addons :
115+ apt :
116+ packages :
117+ - lcov
118+ - xvfb
119+ before_script :
120+ - ./configure
121+ script :
122+ - xvfb-run make -j4 coverage-report
123+ after_script : # Probably should be after_success once test suite updated to run under coverage.py.
124+ - make pythoninfo
105125 - bash <(curl -s https://codecov.io/bash)
106126
107127
0 commit comments