]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.7] Enable GUI testing on Travis Linux builds via Xvfb (GH-7887)
authorZachary Ware <zachary.ware@gmail.com>
Fri, 20 Jul 2018 02:50:52 +0000 (21:50 -0500)
committerGitHub <noreply@github.com>
Fri, 20 Jul 2018 02:50:52 +0000 (21:50 -0500)
(cherry picked from commit b12112b5ba608cdd7a0962a6b18cad4fe58b46e6)

.travis.yml

index 3a5d203f8cb88c38d272ffc6a28f343c5c5d2005..8b1219636677a5baa230e3581396de2f2db30275 100644 (file)
@@ -40,6 +40,10 @@ matrix:
       # compiler here and the other to run the coverage build. Clang is preferred
       # in this instance for its better error messages.
       env: TESTING=cpython
+      addons:
+        apt:
+          packages:
+            - xvfb
     - os: linux
       language: python
       # Build the docs against a stable version of Python so code bugs don't hold up doc-related PRs.
@@ -56,6 +60,10 @@ matrix:
       language: c
       compiler: gcc
       env: OPTIONAL=true
+      addons:
+        apt:
+          packages:
+            - xvfb
       before_script:
         - ./configure
         - make -s -j4
@@ -65,7 +73,7 @@ matrix:
         - ./venv/bin/python -m test.pythoninfo
       script:
         # Skip tests that re-run the entire test suite.
-        - ./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 --pylib -m test --fail-env-changed -uall,-cpu -x test_multiprocessing_fork -x test_multiprocessing_forkserver -x test_multiprocessing_spawn -x test_concurrent_futures
       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
@@ -135,7 +143,7 @@ script:
   # Check that all symbols exported by libpython start with "Py" or "_Py"
   - make smelly
   # `-r -w` implicitly provided through `make buildbottest`.
-  - make buildbottest TESTOPTS="-j4 -uall,-cpu"
+  - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then XVFB_RUN=xvfb-run; fi; $XVFB_RUN make buildbottest TESTOPTS="-j4 -uall,-cpu"
 
 notifications:
   email: false