|  | @@ -0,0 +1,36 @@
 | 
	
		
			
				|  |  | +from __future__ import absolute_import, unicode_literals
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import os
 | 
	
		
			
				|  |  | +import pprint
 | 
	
		
			
				|  |  | +import pytest
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +def _get_extras_reqs_from(name):
 | 
	
		
			
				|  |  | +    try:
 | 
	
		
			
				|  |  | +        with open(os.path.join('requirements', name)) as fh:
 | 
	
		
			
				|  |  | +            lines = fh.readlines()
 | 
	
		
			
				|  |  | +    except OSError:
 | 
	
		
			
				|  |  | +        pytest.skip('requirements dir missing, not running from dist?')
 | 
	
		
			
				|  |  | +    else:
 | 
	
		
			
				|  |  | +        return {
 | 
	
		
			
				|  |  | +            line.split()[1] for line in lines
 | 
	
		
			
				|  |  | +            if line.startswith('-r extras/')
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +def _get_all_extras():
 | 
	
		
			
				|  |  | +    return set(
 | 
	
		
			
				|  |  | +        os.path.join('extras', f)
 | 
	
		
			
				|  |  | +        for f in os.listdir('requirements/extras/')
 | 
	
		
			
				|  |  | +    )
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +def test_all_reqs_enabled_in_tests():
 | 
	
		
			
				|  |  | +    ci_default = _get_extras_reqs_from('test-ci-default.txt')
 | 
	
		
			
				|  |  | +    ci_base = _get_extras_reqs_from('test-ci-base.txt')
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    defined = ci_default | ci_base
 | 
	
		
			
				|  |  | +    all_extras = _get_all_extras()
 | 
	
		
			
				|  |  | +    diff = all_extras - defined
 | 
	
		
			
				|  |  | +    print('MISSING FROM CI REQS:\n%s' % (pprint.pformat(diff),))
 | 
	
		
			
				|  |  | +    assert not diff
 |