56 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
import pytest
 | 
						|
 | 
						|
 | 
						|
def test_yield_tests_deprecation(testdir):
 | 
						|
    testdir.makepyfile("""
 | 
						|
        def func1(arg, arg2):
 | 
						|
            assert arg == arg2
 | 
						|
        def test_gen():
 | 
						|
            yield "m1", func1, 15, 3*5
 | 
						|
            yield "m2", func1, 42, 6*7
 | 
						|
    """)
 | 
						|
    result = testdir.runpytest('-ra')
 | 
						|
    result.stdout.fnmatch_lines([
 | 
						|
        '*yield tests are deprecated, and scheduled to be removed in pytest 4.0*',
 | 
						|
        '*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([
 | 
						|
        ('WC1 None pytest_funcarg__value: '
 | 
						|
         'declaring fixtures using "pytest_funcarg__" prefix is deprecated '
 | 
						|
         'and scheduled to be removed in pytest 4.0.  '
 | 
						|
         'Please remove the prefix and use the @pytest.fixture decorator instead.'),
 | 
						|
        '*1 passed*',
 | 
						|
    ])
 | 
						|
 | 
						|
 | 
						|
def test_str_args_deprecated(tmpdir, testdir):
 | 
						|
    """Deprecate passing strings to pytest.main(). Scheduled for removal in pytest-4.0."""
 | 
						|
    from _pytest.main import EXIT_NOTESTSCOLLECTED
 | 
						|
    warnings = []
 | 
						|
 | 
						|
    class Collect:
 | 
						|
        def pytest_logwarning(self, message):
 | 
						|
            warnings.append(message)
 | 
						|
 | 
						|
    ret = pytest.main("%s -x" % tmpdir, plugins=[Collect()])
 | 
						|
    testdir.delete_loaded_modules()
 | 
						|
    msg = ('passing a string to pytest.main() is deprecated, '
 | 
						|
           'pass a list of arguments instead.')
 | 
						|
    assert msg in warnings
 | 
						|
    assert ret == EXIT_NOTESTSCOLLECTED
 | 
						|
 | 
						|
 | 
						|
def test_getfuncargvalue_is_deprecated(request):
 | 
						|
    pytest.deprecated_call(request.getfuncargvalue, 'tmpdir')
 |