Răsfoiți Sursa

Rework travis so that it uses containers & caches pip downloads.

Gary van der Merwe 10 ani în urmă
părinte
comite
c5425156c8
2 a modificat fișierele cu 28 adăugiri și 16 ștergeri
  1. 26 14
      .travis.yml
  2. 2 2
      setup.py

+ 26 - 14
.travis.yml

@@ -1,16 +1,28 @@
 language: python
-# Workaround to make 2.7 use system site packages, and 2.6 and 3.4 not use system
-# site packages.
-# https://github.com/travis-ci/travis-ci/issues/2219#issuecomment-41804942
-python:
-- "2.6"
-- "2.7_with_system_site_packages"
-- "3.4"
-- "pypy"
+sudo: false
+env:
+  global: TEST_RUNNER=unittest PYTHONHASHSEED=random
+matrix:
+  include:
+    - python: "2.6"
+      env: TEST_RUNNER=unittest2.__main__ TEST_REQUIRE="gevent geventhttpclient fastimport unittest2"
+    - python: "2.7"
+      env: TEST_REQUIRE="gevent geventhttpclient fastimport"
+    - python: "pypy"
+      env: TEST_REQUIRE="fastimport"
+    - python: "3.4"
+      env: TEST_REQUIRE=
+cache:
+  directories:
+    - $HOME/.cache/pip
 script:
-  - PYTHONHASHSEED=random python setup.py test
-  - make check-noextensions
-install:
-  - sudo apt-get update
-  - sudo apt-get install -qq git python-setuptools python-gevent python-fastimport python-mock
-  - if [[ $TRAVIS_PYTHON_VERSION == 2* ]]; then pip install unittest2; fi
+  - pip install pip --upgrade
+  - pip install $TEST_REQUIRE
+
+  # Test without c extensions
+  - python -m $TEST_RUNNER dulwich.tests.test_suite
+
+  # Test with c extensions
+  - python setup.py build_ext -i
+  - python -m $TEST_RUNNER dulwich.tests.test_suite
+

+ 2 - 2
setup.py

@@ -50,12 +50,12 @@ if sys.version_info[0] == 2:
     tests_require = ['fastimport', 'mock']
     if not '__pypy__' in sys.modules and not sys.platform == 'win32':
         tests_require.extend(['gevent', 'geventhttpclient'])
+    if sys.version_info < (2, 7):
+        tests_require.append('unittest2')
 else:
     # fastimport, gevent, geventhttpclient are not available for PY3
     # mock only used for test_swift, which requires gevent/geventhttpclient
     tests_require = []
-if sys.version_info < (2, 7):
-    tests_require.append('unittest2')
 
 if sys.version_info[0] > 2 and sys.platform == 'win32':
     # C Modules don't build for python3 windows, and prevent tests from running