mirror of
https://github.com/django/daphne.git
synced 2025-06-02 20:23:18 +03:00
Simplify testing infrastructure (#515)
* Mark runtests helper executable * Bump required version of asgiref We're probably making our life easier when we keep the Channels dependencies roughly in sync. As a 1.0 release was made, I suggest to require it. * Simplify tox and Travis configuration I hopefully simplified the tox configuration by following what I did in the other four Channels projects. I then had a good look at tox-travis and decided to remove it. It does add a layer of indirection with, IMHO, not enough gain. To understand what Travis is doing, one would need to consider two files (and understand tox-travis) instead of just one file. It also introduces another point of failure. What pushed me over was that there's a bug with env matching (https://github.com/ryanhiebert/tox-travis/issues/55) and tox or tox-travis seem to mask an Exception (https://travis-ci.org/django/channels/jobs/195950971#L195) that would be hard to debug. The draw back is that we duplicate the Django dependency matrix, and the commands that are executed in Travis and tox. We could add a "--with-qa" flag to runtests.py to have it execute flake8 and isort to rectify the latter. I extracted test dependencies as I did for asgi_redis. * Document supported versions
This commit is contained in:
parent
558d66a6b2
commit
6d71106c3c
18
.travis.yml
18
.travis.yml
|
@ -1,8 +1,22 @@
|
|||
sudo: false
|
||||
|
||||
language: python
|
||||
|
||||
python:
|
||||
- "2.7"
|
||||
- "3.4"
|
||||
- "3.5"
|
||||
install: pip install tox-travis
|
||||
script: tox
|
||||
|
||||
env:
|
||||
- DJANGO="Django>=1.8,<1.9"
|
||||
- DJANGO="Django>=1.9,<1.10"
|
||||
- DJANGO="Django>=1.10,<1.11"
|
||||
|
||||
install:
|
||||
- pip install $DJANGO -e .[tests]
|
||||
- pip freeze
|
||||
|
||||
script:
|
||||
- python runtests.py
|
||||
- flake8
|
||||
- isort --check-only --recursive channels
|
||||
|
|
|
@ -33,6 +33,12 @@ You'll likely also want to ``asgi_redis`` to provide the Redis channel layer.
|
|||
See our `installation <https://channels.readthedocs.io/en/latest/installation.html>`_
|
||||
and `getting started <https://channels.readthedocs.io/en/latest/getting-started.html>`_ docs for more.
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
|
||||
All Channels projects currently support Python 2.7, 3.4 and 3.5. `channels` supports all released
|
||||
Django versions, namely 1.8-1.10.
|
||||
|
||||
|
||||
Contributing
|
||||
------------
|
||||
|
|
0
runtests.py
Normal file → Executable file
0
runtests.py
Normal file → Executable file
5
setup.py
5
setup.py
|
@ -13,9 +13,12 @@ setup(
|
|||
include_package_data=True,
|
||||
install_requires=[
|
||||
'Django>=1.8',
|
||||
'asgiref>=0.13',
|
||||
'asgiref>=1.0.0',
|
||||
'daphne>=1.0.0',
|
||||
],
|
||||
extras_require={
|
||||
'tests': ['coverage', 'mock', 'tox', 'flake8>=2.0,<3.0', 'isort']
|
||||
},
|
||||
classifiers=[
|
||||
'Development Status :: 5 - Production/Stable',
|
||||
'Environment :: Web Environment',
|
||||
|
|
23
tox.ini
23
tox.ini
|
@ -1,33 +1,16 @@
|
|||
[tox]
|
||||
skipsdist = True
|
||||
envlist =
|
||||
{py27}-django-{18,19,110}
|
||||
{py34}-django-{18,19,110}
|
||||
{py35}-django-{18,19,110}
|
||||
{py27,34,35}-django-{18,19,110}
|
||||
{py27,py35}-flake8
|
||||
isort
|
||||
|
||||
[tox:travis]
|
||||
2.7 = py27, isort
|
||||
|
||||
[testenv]
|
||||
setenv =
|
||||
PYTHONPATH = {toxinidir}:{toxinidir}
|
||||
extras = tests
|
||||
deps =
|
||||
autobahn
|
||||
coverage
|
||||
daphne
|
||||
asgiref>=0.9
|
||||
six
|
||||
redis==2.10.5
|
||||
py27: mock
|
||||
flake8: flake8>=2.0,<3.0
|
||||
isort: isort
|
||||
django-18: Django>=1.8,<1.9
|
||||
django-19: Django>=1.9,<1.10
|
||||
django-110: Django>=1.10,<1.11
|
||||
commands =
|
||||
flake8: flake8
|
||||
isort: isort -c -rc channels
|
||||
isort: isort --check-only --recursive channels
|
||||
django: coverage run --parallel-mode {toxinidir}/runtests.py
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user