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()
|