language: python
sudo: false
+cache: pip
+
+python:
+ - 2.7
+ - 3.4
+ - 3.5
+ - 3.6
+ - 3.6-dev
+ - pypy3.5
+
env:
- global: TEST_RUNNER=unittest PYTHONHASHSEED=random
+ - PYTHONHASHSEED=random
+ TEST_REQUIRE="gevent greenlet geventhttpclient fastimport"
+
matrix:
include:
- - python: "2.7"
- env: TEST_REQUIRE="gevent greenlet geventhttpclient fastimport mock"
- - python: "pypy"
- env: TEST_REQUIRE="fastimport mock"
- - python: "3.4"
- env: TEST_REQUIRE="gevent greenlet geventhttpclient fastimport"
- - python: "3.5"
- env: TEST_REQUIRE="gevent greenlet geventhttpclient fastimport"
-cache:
- directories:
- - $HOME/.cache/pip
-script:
- - pip install pip --upgrade
- - pip install $TEST_REQUIRE
+ - python: pypy
+ env: TEST_REQUIRE=fastimport
+ - python: 3.7
+ env: TEST_REQUIRE=fastimport
+ dist: xenial
+ sudo: true
+ # flakes checker fails on python 3.8-dev:
+ #- python: 3.8-dev
+ # env: TEST_REQUIRE=fastimport
+ # dist: xenial
+ # sudo: true
+install:
+ - travis_retry pip install -U pip coverage codecov flake8 $TEST_REQUIRE
+
+script:
# Test without c extensions
- - python -m $TEST_RUNNER dulwich.tests.test_suite
+ - python -m coverage run -p -m unittest dulwich.tests.test_suite
# Test with c extensions
- python setup.py build_ext -i
- - python -m $TEST_RUNNER dulwich.tests.test_suite
+ - python -m coverage run -p -m unittest dulwich.tests.test_suite
+
+ # Style
+ - make style
+after_success:
+ - python -m coverage combine
+ - codecov