/usr/share/doc/python-pytest-doc/html/tmpdir.html is in python-pytest-doc 2.6.3-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Temporary directories and files</title>
<link rel="stylesheet" href="_static/flasky.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '2.6.2',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<link rel="shortcut icon" href="_static/pytest1favi.ico"/>
<link rel="top" title="None" href="index.html" />
<link rel="up" title="pytest reference documentation" href="apiref.html" />
<link rel="next" title="Marking test functions with attributes" href="mark.html" />
<link rel="prev" title="xdist: pytest distributed testing plugin" href="xdist.html" />
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9">
</head>
<body>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="mark.html" title="Marking test functions with attributes"
accesskey="N">next</a></li>
<li class="right" >
<a href="xdist.html" title="xdist: pytest distributed testing plugin"
accesskey="P">previous</a> |</li>
<li><a href="contents.html">pytest-2.6.2</a> »</li>
<li><a href="apiref.html" accesskey="U">pytest reference documentation</a> »</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body">
<div class="section" id="temporary-directories-and-files">
<span id="tmpdir"></span><span id="tmpdir-handling"></span><h1>Temporary directories and files<a class="headerlink" href="#temporary-directories-and-files" title="Permalink to this headline">¶</a></h1>
<div class="section" id="the-tmpdir-test-function-argument">
<h2>The ‘tmpdir’ test function argument<a class="headerlink" href="#the-tmpdir-test-function-argument" title="Permalink to this headline">¶</a></h2>
<p>You can use the <tt class="docutils literal"><span class="pre">tmpdir</span></tt> function argument which will
provide a temporary directory unique to the test invocation,
created in the <a class="reference internal" href="#base-temporary-directory">base temporary directory</a>.</p>
<p><tt class="docutils literal"><span class="pre">tmpdir</span></tt> is a <a class="reference external" href="http://py.rtfd.org/en/latest/path.html">py.path.local</a> object which offers <tt class="docutils literal"><span class="pre">os.path</span></tt> methods
and more. Here is an example test usage:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="c"># content of test_tmpdir.py</span>
<span class="kn">import</span> <span class="nn">os</span>
<span class="k">def</span> <span class="nf">test_create_file</span><span class="p">(</span><span class="n">tmpdir</span><span class="p">):</span>
<span class="n">p</span> <span class="o">=</span> <span class="n">tmpdir</span><span class="o">.</span><span class="n">mkdir</span><span class="p">(</span><span class="s">"sub"</span><span class="p">)</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="s">"hello.txt"</span><span class="p">)</span>
<span class="n">p</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">"content"</span><span class="p">)</span>
<span class="k">assert</span> <span class="n">p</span><span class="o">.</span><span class="n">read</span><span class="p">()</span> <span class="o">==</span> <span class="s">"content"</span>
<span class="k">assert</span> <span class="nb">len</span><span class="p">(</span><span class="n">tmpdir</span><span class="o">.</span><span class="n">listdir</span><span class="p">())</span> <span class="o">==</span> <span class="mi">1</span>
<span class="k">assert</span> <span class="mi">0</span>
</pre></div>
</div>
<p>Running this would result in a passed test except for the last
<tt class="docutils literal"><span class="pre">assert</span> <span class="pre">0</span></tt> line which we use to look at values:</p>
<div class="highlight-python"><div class="highlight"><pre>$ py.test test_tmpdir.py
=========================== test session starts ============================
platform linux -- Python 3.4.0 -- py-1.4.25 -- pytest-2.6.3
collected 1 items
test_tmpdir.py F
================================= FAILURES =================================
_____________________________ test_create_file _____________________________
tmpdir = local('/tmp/pytest-19/test_create_file0')
def test_create_file(tmpdir):
p = tmpdir.mkdir("sub").join("hello.txt")
p.write("content")
assert p.read() == "content"
assert len(tmpdir.listdir()) == 1
> assert 0
E assert 0
test_tmpdir.py:7: AssertionError
========================= 1 failed in 0.01 seconds =========================
</pre></div>
</div>
</div>
<div class="section" id="the-default-base-temporary-directory">
<span id="base-temporary-directory"></span><h2>The default base temporary directory<a class="headerlink" href="#the-default-base-temporary-directory" title="Permalink to this headline">¶</a></h2>
<p>Temporary directories are by default created as sub-directories of
the system temporary directory. The base name will be <tt class="docutils literal"><span class="pre">pytest-NUM</span></tt> where
<tt class="docutils literal"><span class="pre">NUM</span></tt> will be incremented with each test run. Moreover, entries older
than 3 temporary directories will be removed.</p>
<p>You can override the default temporary directory setting like this:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="n">py</span><span class="o">.</span><span class="n">test</span> <span class="o">--</span><span class="n">basetemp</span><span class="o">=</span><span class="n">mydir</span>
</pre></div>
</div>
<p>When distributing tests on the local machine, <tt class="docutils literal"><span class="pre">pytest</span></tt> takes care to
configure a basetemp directory for the sub processes such that all temporary
data lands below a single per-test run basetemp directory.</p>
</div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="contents.html">
<img class="logo" src="_static/pytest1.png" alt="Logo"/>
</a></p><h3><a href="contents.html">Table Of Contents</a></h3>
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="contents.html">Contents</a></li>
<li><a href="getting-started.html">Install</a></li>
<li><a href="example/index.html">Examples</a></li>
<li><a href="customize.html">Customize</a></li>
<li><a href="contact.html">Contact</a></li>
<li><a href="talks.html">Talks/Posts</a></li>
<li><a href="changelog.html">Changelog</a></li>
</ul>
<hr>
<ul>
<li><a class="reference internal" href="#">Temporary directories and files</a><ul>
<li><a class="reference internal" href="#the-tmpdir-test-function-argument">The ‘tmpdir’ test function argument</a></li>
<li><a class="reference internal" href="#the-default-base-temporary-directory">The default base temporary directory</a></li>
</ul>
</li>
</ul>
<h3>Related Topics</h3>
<ul>
<li><a href="contents.html">Documentation overview</a><ul>
<li><a href="apiref.html">pytest reference documentation</a><ul>
<li>Previous: <a href="xdist.html" title="previous chapter">xdist: pytest distributed testing plugin</a></li>
<li>Next: <a href="mark.html" title="next chapter">Marking test functions with attributes</a></li>
</ul></li>
</ul></li>
</ul><h3>Useful Links</h3>
<ul>
<li><a href="index.html">The pytest Website</a></li>
<li><a href="contributing.html">Contribution Guide</a></li>
<li><a href="https://pypi.python.org/pypi/pytest">pytest @ PyPI</a></li>
<li><a href="https://bitbucket.org/hpk42/pytest/">pytest @ Bitbucket</a></li>
<li><a href="http://pytest.org/latest/plugins_index/index.html">3rd party plugins</a></li>
<li><a href="https://bitbucket.org/hpk42/pytest/issues?status=new&status=open">Issue Tracker</a></li>
<li><a href="http://pytest.org/latest/pytest.pdf">PDF Documentation</a>
</ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
<input type="text" name="q" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
<p class="searchtip" style="font-size: 90%">
Enter search terms or a module, class or function name.
</p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="footer">
© Copyright 2014, holger krekel.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a>.
</div>
</body>
</html>
|