summaryrefslogtreecommitdiffstats
path: root/.travis.yml
diff options
context:
space:
mode:
authorGordon P. Hemsley <me@gphemsley.org>2019-05-12 03:33:35 (GMT)
committerInada Naoki <songofacandy@gmail.com>2019-05-12 03:33:34 (GMT)
commit87068ed00927bdeaa2ae556e4241c16cf8a845eb (patch)
tree0f181f9ef9991c7499fd20a3a4d968cba0378085 /.travis.yml
parent26f55c29f2316648939ad12a9d3730a2118da2ea (diff)
downloadcpython-87068ed00927bdeaa2ae556e4241c16cf8a845eb.zip
cpython-87068ed00927bdeaa2ae556e4241c16cf8a845eb.tar.gz
cpython-87068ed00927bdeaa2ae556e4241c16cf8a845eb.tar.bz2
bpo-36684: Split out gcc and test coverage builds (GH-13146)
The combined Python and C coverage test runs now exceed Travis's 50-minute time limit. Splitting them into separate runs gives more leeway. Also, adding branch coverage to Python testing and ensure that coverage is reported even if tests fail. (The primary builds are for tracking test failures.)
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml22
1 files changed, 18 insertions, 4 deletions
diff --git a/.travis.yml b/.travis.yml
index 6d57ebb..2076497 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -86,22 +86,36 @@ matrix:
addons:
apt:
packages:
- - lcov
- xvfb
before_script:
- ./configure
- - make coverage -s -j4
+ - make -j4
# Need a venv that can parse covered code.
- ./python -m venv venv
- ./venv/bin/python -m pip install -U coverage
- ./venv/bin/python -m test.pythoninfo
script:
# Skip tests that re-run the entire test suite.
- - 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
+ - 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
after_script: # Probably should be after_success once test suite updated to run under coverage.py.
# Make the `coverage` command available to Codecov w/ a version of Python that can parse all source files.
- source ./venv/bin/activate
- - make coverage-lcov
+ - bash <(curl -s https://codecov.io/bash)
+ - os: linux
+ language: c
+ compiler: gcc
+ env: OPTIONAL=true
+ addons:
+ apt:
+ packages:
+ - lcov
+ - xvfb
+ before_script:
+ - ./configure
+ script:
+ - xvfb-run make -j4 coverage-report
+ after_script: # Probably should be after_success once test suite updated to run under coverage.py.
+ - make pythoninfo
- bash <(curl -s https://codecov.io/bash)