Casting fixture parameter to list at the beginning of parameter parsing.
This commit is contained in:
		
							parent
							
								
									bad4ffc3a7
								
							
						
					
					
						commit
						1f639e2c22
					
				
							
								
								
									
										1
									
								
								setup.py
								
								
								
								
							
							
						
						
									
										1
									
								
								setup.py
								
								
								
								
							|  | @ -28,6 +28,7 @@ def main(): | |||
|                 "mock", | ||||
|                 "nose", | ||||
|                 "requests", | ||||
|                 "numpy", | ||||
|                 "xmlschema", | ||||
|             ] | ||||
|         }, | ||||
|  |  | |||
|  | @ -1113,6 +1113,9 @@ def fixture( | |||
|                 ``fixture_<fixturename>`` and then use | ||||
|                 ``@pytest.fixture(name='<fixturename>')``. | ||||
|     """ | ||||
|     if params is not None and not isinstance(params, (list, tuple)): | ||||
|         params = list(params) | ||||
| 
 | ||||
|     fixture_function, arguments = _parse_fixture_args( | ||||
|         callable_or_scope, | ||||
|         *args, | ||||
|  | @ -1134,8 +1137,6 @@ def fixture( | |||
|             fixture_function | ||||
|         ) | ||||
| 
 | ||||
|     if params is not None and not isinstance(params, (list, tuple)): | ||||
|         params = list(params) | ||||
|     return FixtureFunctionMarker(scope, params, autouse, ids=ids, name=name) | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -4187,3 +4187,21 @@ def test_indirect_fixture_does_not_break_scope(testdir): | |||
|     ) | ||||
|     result = testdir.runpytest() | ||||
|     result.assert_outcomes(passed=7) | ||||
| 
 | ||||
| 
 | ||||
| def test_fixture_parametrization_nparray(testdir): | ||||
|     testdir.makepyfile( | ||||
|     """ | ||||
|         from numpy import linspace | ||||
|         from pytest import fixture | ||||
| 
 | ||||
|         @fixture(params=linspace(1, 10, 10)) | ||||
|         def value(request): | ||||
|             return request.param | ||||
| 
 | ||||
|         def test_bug(value): | ||||
|             assert value == value | ||||
|     """ | ||||
|     ) | ||||
|     result = testdir.runpytest() | ||||
|     result.assert_outcomes(passed=10) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue