Browse Source

Separate pinned and unpinned testenvs

Alec Nikolas Reiter 6 years ago
parent
commit
df6bb0f6f1
5 changed files with 72 additions and 66 deletions
  1. 8 3
      .travis.yml
  2. 3 4
      requirements-test.txt
  3. 57 57
      requirements.txt
  4. 1 1
      setup.py
  5. 3 1
      tox.ini

+ 8 - 3
.travis.yml

@@ -1,15 +1,20 @@
 language: python
 language: python
+python:
+  - 2.7
+  - 3.4
+  - 3.5
+  - 3.6
 env:
 env:
 matrix:
 matrix:
   fast_finish: true
   fast_finish: true
   include:
   include:
     - python: 2.7
     - python: 2.7
-    - python: 3.4
-    - python: 3.5
-    - python: 3.6
+      env: TOXENV=py27-unpinned
     - python: 3.6
     - python: 3.6
       env: TOXENV=flake8
       env: TOXENV=flake8
     - python: 3.6
     - python: 3.6
+      env: TOXENV=py36-unpinned
+    - python: 3.6
       env: TOXENV=black
       env: TOXENV=black
     # see the following issue on why 3.7 is weirdo
     # see the following issue on why 3.7 is weirdo
     # https://github.com/travis-ci/travis-ci/issues/9815
     # https://github.com/travis-ci/travis-ci/issues/9815

+ 3 - 4
requirements-test.txt

@@ -1,5 +1,4 @@
--rrequirements.txt
 -rrequirements-cov.txt
 -rrequirements-cov.txt
-pytest>=3.6.4
-pytest-mock>=1.10.0
-freezegun>=0.3.10
+pytest==3.6.4
+pytest-mock==1.10.0
+freezegun==0.3.10

+ 57 - 57
requirements.txt

@@ -1,58 +1,58 @@
-alembic>=0.9.9
-amqp>=2.3.2
-attrs>=18.1.0
-Babel>=2.6.0
-billiard>=3.5.0.3
-blinker>=1.4
-celery>=4.2.0
-certifi>=2018.4.16
-chardet>=3.0.4
-click>=6.7
-click-log>=0.3.2
-enum34>=1.1.6
-Flask>=1.0.2
-Flask-Alembic>=2.0.1
-flask-allows>=0.6.0
-Flask-BabelPlus>=2.1.1
-Flask-Caching>=1.4.0
-Flask-DebugToolbar>=0.10.1
-flask-debugtoolbar-warnings>=0.1.0
-Flask-Limiter>=1.0.1
-Flask-Login>=0.4.1
-Flask-Mail>=0.9.1
-Flask-Redis>=0.3.0
-Flask-SQLAlchemy>=2.3.2
-Flask-Themes2>=0.1.4
-flask-whooshee>=0.6.0
-Flask-WTF>=0.14.2
-flaskbb-plugin-conversations>=1.0.3
-flaskbb-plugin-portal>=1.1.1
-idna>=2.7
-itsdangerous>=0.24
-Jinja2>=2.10
-kombu>=4.2.1
-limits>=1.3
-Mako>=1.0.7
-MarkupSafe>=1.0
-mistune>=0.8.3
-olefile>=0.45.1
-Pillow>=5.1.0
-pluggy>=0.6.0
-Pygments>=2.2.0
-python-dateutil>=2.7.3
-python-editor>=1.0.3
-pytz>=2018.4
-redis>=2.10.6
-requests>=2.19.1
-simplejson>=3.15.0
-six>=1.11.0
-speaklater>=1.3
-SQLAlchemy>=1.2.8
-SQLAlchemy-Utils>=0.33.3
-Unidecode>=1.0.22
-urllib3>=1.23
-vine>=1.1.4
-Werkzeug>=0.14.1
-Whoosh>=2.7.4
-WTForms>=2.2.1
+alembic==0.9.9
+amqp==2.3.2
+attrs==18.1.0
+Babel==2.6.0
+billiard==3.5.0.3
+blinker==1.4
+celery==4.2.0
+certifi==2018.4.16
+chardet==3.0.4
+click==6.7
+click-log==0.3.2
+enum34==1.1.6 ; python_version<'3.4'
+Flask==1.0.2
+Flask-Alembic==2.0.1
+flask-allows==0.6.0
+Flask-BabelPlus==2.1.1
+Flask-Caching==1.4.0
+Flask-DebugToolbar==0.10.1
+flask-debugtoolbar-warnings==0.1.0
+Flask-Limiter==1.0.1
+Flask-Login==0.4.1
+Flask-Mail==0.9.1
+Flask-Redis==0.3.0
+Flask-SQLAlchemy==2.3.2
+Flask-Themes2==0.1.4
+flask-whooshee==0.6.0
+Flask-WTF==0.14.2
+flaskbb-plugin-conversations==1.0.3
+flaskbb-plugin-portal==1.1.1
+idna==2.7
+itsdangerous==0.24
+Jinja2==2.10
+kombu==4.2.1
+limits==1.3
+Mako==1.0.7
+MarkupSafe==1.0
+mistune==0.8.3
+olefile==0.45.1
+Pillow==5.1.0
+pluggy==0.6.0
+Pygments==2.2.0
+python-dateutil==2.7.3
+python-editor==1.0.3
+pytz==2018.4
+redis==2.10.6
+requests==2.19.1
+simplejson==3.15.0
+six==1.11.0
+speaklater==1.3
+SQLAlchemy==1.2.8
+SQLAlchemy-Utils==0.33.3
+Unidecode==1.0.22
+urllib3==1.23
+vine==1.1.4
+Werkzeug==0.14.1
+Whoosh==2.7.4
+WTForms==2.2.1
 -e .
 -e .

+ 1 - 1
setup.py

@@ -46,7 +46,7 @@ install_requires = [
     "chardet>=3.0.4",
     "chardet>=3.0.4",
     "click>=6.7",
     "click>=6.7",
     "click-log>=0.3.2",
     "click-log>=0.3.2",
-    "enum34>=1.1.6",
+    "enum34>=1.1.6 ; python_version<'3.4'",
     "Flask>=1.0.2",
     "Flask>=1.0.2",
     "Flask-Alembic>=2.0.1",
     "Flask-Alembic>=2.0.1",
     "flask-allows>=0.6.0",
     "flask-allows>=0.6.0",

+ 3 - 1
tox.ini

@@ -1,11 +1,13 @@
 [tox]
 [tox]
-envlist = flake8,py27,py34,py35,py36,py37,cov-report,cov-store
+envlist = flake8,py{27,34,35,36,37},cov-report,cov-store
 
 
 [testenv]
 [testenv]
 use_develop = true
 use_develop = true
 deps =
 deps =
     py27: mock>=2.0.0
     py27: mock>=2.0.0
     -r{toxinidir}/requirements-test.txt
     -r{toxinidir}/requirements-test.txt
+    # setup.py has unpinned dependencies by default
+    !unpinned: -r{toxinidir}/requirements.txt
 setenv =
 setenv =
     COVERAGE_FILE = tests/.coverage.{envname}
     COVERAGE_FILE = tests/.coverage.{envname}
     PYTHONDONTWRITEBYTECODE=1
     PYTHONDONTWRITEBYTECODE=1