35 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
"""provide temporary directories to test functions.
 | 
						|
 | 
						|
usage example::
 | 
						|
 | 
						|
    def test_plugin(tmpdir):
 | 
						|
        tmpdir.join("hello").write("hello")
 | 
						|
 | 
						|
.. _`py.path.local`: ../../path.html
 | 
						|
 | 
						|
"""
 | 
						|
import pytest
 | 
						|
 | 
						|
def pytest_configure(config):
 | 
						|
    def ensuretemp(string, dir=1):
 | 
						|
        """ (deprecated) return temporary directory path with
 | 
						|
            the given string as the trailing part.  It is usually
 | 
						|
            better to use the 'tmpdir' function argument which will
 | 
						|
            take care to provide empty unique directories for each
 | 
						|
            test call even if the test is called multiple times.
 | 
						|
        """
 | 
						|
        #py.log._apiwarn(">1.1", "use tmpdir function argument")
 | 
						|
        return config.ensuretemp(string, dir=dir)
 | 
						|
    pytest.ensuretemp = ensuretemp
 | 
						|
 | 
						|
def pytest_funcarg__tmpdir(request):
 | 
						|
    """return a temporary directory path object
 | 
						|
    unique to each test function invocation,
 | 
						|
    created as a sub directory of the base temporary
 | 
						|
    directory.  The returned object is a `py.path.local`_
 | 
						|
    path object.
 | 
						|
    """
 | 
						|
    name = request.function.__name__
 | 
						|
    x = request.config.mktemp(name, numbered=True)
 | 
						|
    return x.realpath()
 |