mirror of
				https://github.com/django/daphne.git
				synced 2025-10-31 15:57:25 +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 | sudo: false | ||||||
|  | 
 | ||||||
| language: python | language: python | ||||||
|  | 
 | ||||||
| python: | python: | ||||||
|   - "2.7" |   - "2.7" | ||||||
|   - "3.4" |   - "3.4" | ||||||
|   - "3.5" |   - "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>`_ | 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. | 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 | 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, |     include_package_data=True, | ||||||
|     install_requires=[ |     install_requires=[ | ||||||
|         'Django>=1.8', |         'Django>=1.8', | ||||||
|         'asgiref>=0.13', |         'asgiref>=1.0.0', | ||||||
|         'daphne>=1.0.0', |         'daphne>=1.0.0', | ||||||
|     ], |     ], | ||||||
|  |     extras_require={ | ||||||
|  |         'tests': ['coverage', 'mock', 'tox', 'flake8>=2.0,<3.0', 'isort'] | ||||||
|  |     }, | ||||||
|     classifiers=[ |     classifiers=[ | ||||||
|         'Development Status :: 5 - Production/Stable', |         'Development Status :: 5 - Production/Stable', | ||||||
|         'Environment :: Web Environment', |         'Environment :: Web Environment', | ||||||
|  |  | ||||||
							
								
								
									
										23
									
								
								tox.ini
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								tox.ini
									
									
									
									
									
								
							|  | @ -1,33 +1,16 @@ | ||||||
| [tox] | [tox] | ||||||
| skipsdist = True |  | ||||||
| envlist = | envlist = | ||||||
|     {py27}-django-{18,19,110} |     {py27,34,35}-django-{18,19,110} | ||||||
|     {py34}-django-{18,19,110} |  | ||||||
|     {py35}-django-{18,19,110} |  | ||||||
|     {py27,py35}-flake8 |     {py27,py35}-flake8 | ||||||
|     isort |     isort | ||||||
| 
 | 
 | ||||||
| [tox:travis] |  | ||||||
| 2.7 = py27, isort |  | ||||||
| 
 |  | ||||||
| [testenv] | [testenv] | ||||||
| setenv = | extras = tests | ||||||
|     PYTHONPATH = {toxinidir}:{toxinidir} |  | ||||||
| deps = | 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-18: Django>=1.8,<1.9 | ||||||
|     django-19: Django>=1.9,<1.10 |     django-19: Django>=1.9,<1.10 | ||||||
|     django-110: Django>=1.10,<1.11 |     django-110: Django>=1.10,<1.11 | ||||||
| commands = | commands = | ||||||
|     flake8: flake8 |     flake8: flake8 | ||||||
|     isort: isort -c -rc channels |     isort: isort --check-only --recursive channels | ||||||
|     django: coverage run --parallel-mode {toxinidir}/runtests.py |     django: coverage run --parallel-mode {toxinidir}/runtests.py | ||||||
| 
 |  | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user