]> granicus.if.org Git - python/commitdiff
bpo-36684: Split out gcc and test coverage builds (GH-13146)
authorGordon P. Hemsley <me@gphemsley.org>
Sun, 12 May 2019 03:33:35 +0000 (23:33 -0400)
committerInada Naoki <songofacandy@gmail.com>
Sun, 12 May 2019 03:33:34 +0000 (12:33 +0900)
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.)

.travis.yml

index 6d57ebb1d2fb9613447e5619346342a82a9d85cc..207649730c21b5489ad788a68848a10303d04be1 100644 (file)
@@ -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)