parent
							
								
									5506dc700c
								
							
						
					
					
						commit
						ad4125dc0d
					
				|  | @ -188,7 +188,9 @@ | ||||||
| * ``yield``-based tests are considered deprecated and will be removed in pytest-4.0. | * ``yield``-based tests are considered deprecated and will be removed in pytest-4.0. | ||||||
|   Thanks `@nicoddemus`_ for the PR. |   Thanks `@nicoddemus`_ for the PR. | ||||||
| 
 | 
 | ||||||
| * | * Using ``pytest_funcarg__`` prefix to declare fixtures is considered deprecated and will be | ||||||
|  |   removed in pytest-4.0 (`#1684`_). | ||||||
|  |   Thanks `@nicoddemus`_ for the PR. | ||||||
| 
 | 
 | ||||||
| * | * | ||||||
| 
 | 
 | ||||||
|  | @ -262,6 +264,7 @@ | ||||||
| .. _#1632: https://github.com/pytest-dev/pytest/issues/1632 | .. _#1632: https://github.com/pytest-dev/pytest/issues/1632 | ||||||
| .. _#1633: https://github.com/pytest-dev/pytest/pull/1633 | .. _#1633: https://github.com/pytest-dev/pytest/pull/1633 | ||||||
| .. _#1664: https://github.com/pytest-dev/pytest/pull/1664 | .. _#1664: https://github.com/pytest-dev/pytest/pull/1664 | ||||||
|  | .. _#1684: https://github.com/pytest-dev/pytest/pull/1684 | ||||||
| 
 | 
 | ||||||
| .. _@DRMacIver: https://github.com/DRMacIver | .. _@DRMacIver: https://github.com/DRMacIver | ||||||
| .. _@RedBeardCode: https://github.com/RedBeardCode | .. _@RedBeardCode: https://github.com/RedBeardCode | ||||||
|  |  | ||||||
|  | @ -865,6 +865,10 @@ def yield_fixture(scope="function", params=None, autouse=False, ids=None, name=N | ||||||
|         return FixtureFunctionMarker(scope, params, autouse, ids=ids, name=name) |         return FixtureFunctionMarker(scope, params, autouse, ids=ids, name=name) | ||||||
| 
 | 
 | ||||||
| defaultfuncargprefixmarker = fixture() | defaultfuncargprefixmarker = fixture() | ||||||
|  | funcarg_prefix_warning = 'declaring fixtures using "pytest_funcarg__" prefix is deprecated ' \ | ||||||
|  |                          'and scheduled to be removed in pytest 4.0.\n' \ | ||||||
|  |                          'remove the prefix and use the @pytest.fixture decorator instead' | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @fixture(scope="session") | @fixture(scope="session") | ||||||
|  | @ -1043,6 +1047,7 @@ class FixtureManager: | ||||||
|                     continue |                     continue | ||||||
|                 marker = defaultfuncargprefixmarker |                 marker = defaultfuncargprefixmarker | ||||||
|                 name = name[len(self._argprefix):] |                 name = name[len(self._argprefix):] | ||||||
|  |                 self.config.warn('C1', funcarg_prefix_warning) | ||||||
|             elif not isinstance(marker, FixtureFunctionMarker): |             elif not isinstance(marker, FixtureFunctionMarker): | ||||||
|                 # magic globals  with __getattr__ might have got us a wrong |                 # magic globals  with __getattr__ might have got us a wrong | ||||||
|                 # fixture attribute |                 # fixture attribute | ||||||
|  |  | ||||||
|  | @ -777,3 +777,19 @@ def test_yield_tests_deprecation(testdir): | ||||||
|         '*yield tests are deprecated, and scheduled to be removed in pytest 4.0*', |         '*yield tests are deprecated, and scheduled to be removed in pytest 4.0*', | ||||||
|         '*2 passed*', |         '*2 passed*', | ||||||
|     ]) |     ]) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def test_funcarg_prefix_deprecation(testdir): | ||||||
|  |     testdir.makepyfile(""" | ||||||
|  |         def pytest_funcarg__value(): | ||||||
|  |             return 10 | ||||||
|  | 
 | ||||||
|  |         def test_funcarg_prefix(value): | ||||||
|  |             assert value == 10 | ||||||
|  |     """) | ||||||
|  |     result = testdir.runpytest('-ra') | ||||||
|  |     result.stdout.fnmatch_lines([ | ||||||
|  |         '*declaring fixtures using "pytest_funcarg__" prefix is deprecated and scheduled to be removed in pytest 4.0*', | ||||||
|  |         '*remove the prefix and use the @pytest.fixture decorator instead*', | ||||||
|  |         '*1 passed*', | ||||||
|  |     ]) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue