mirror of
				https://github.com/django/daphne.git
				synced 2025-11-01 00:07:26 +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