/usr/share/doc/python-castellan-doc/html/testing.html is in python-castellan-doc 0.4.0-1.
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 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | <!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>Testing — castellan documentation</title>
<link rel="stylesheet" href="_static/nature.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/tweaks.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '',
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="top" title="castellan documentation" href="index.html" />
<link rel="next" title="Contributing" href="contributing.html" />
<link rel="prev" title="Usage" href="usage.html" />
</head>
<body role="document">
<div id="header">
<h1 id="logo"><a href="http://www.openstack.org/">OpenStack</a></h1>
<ul id="navigation">
<li><a href="http://www.openstack.org/" title="Go to the Home page" class="link">Home</a></li>
<li><a href="http://www.openstack.org/projects/" title="Go to the OpenStack Projects page">Projects</a></li>
<li><a href="http://www.openstack.org/user-stories/" title="Go to the User Stories page" class="link">User Stories</a></li>
<li><a href="http://www.openstack.org/community/" title="Go to the Community page" class="link">Community</a></li>
<li><a href="http://www.openstack.org/blog/" title="Go to the OpenStack Blog">Blog</a></li>
<li><a href="http://wiki.openstack.org/" title="Go to the OpenStack Wiki">Wiki</a></li>
<li><a href="http://docs.openstack.org/" title="Go to OpenStack Documentation" class="current">Documentation</a></li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="testing">
<h1>Testing<a class="headerlink" href="#testing" title="Permalink to this headline">¶</a></h1>
<p>Every Castellan code submission is automatically tested against a number
of gating jobs to prevent regressions. Castellan developers should have a
habit of running tests locally to ensure the code works as intended before
submission.</p>
<p>For your convenience we provide the ability to run all tests through
the <code class="docutils literal"><span class="pre">tox</span></code> utility. If you are unfamiliar with tox please see
refer to the <a class="reference external" href="https://tox.readthedocs.org/en/latest/">tox documentation</a> for assistance.</p>
<div class="section" id="unit-tests">
<h2>Unit Tests<a class="headerlink" href="#unit-tests" title="Permalink to this headline">¶</a></h2>
<p>Currently, we provide tox environments for a variety of different Python
versions. By default all available test environments within the tox
configuration will execute when calling <code class="docutils literal"><span class="pre">tox</span></code>. If you want to run an
independent version, you can do so with the following command:</p>
<div class="highlight-bash"><div class="highlight"><pre><span class="c1"># Executes tests on Python 2.7</span>
tox -e py27
</pre></div>
</div>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p>Other available environments are py34, py26, and pypy.</p>
<p class="last">If you do not have the appropriate Python versions available, consider
setting up PyEnv to install multiple versions of Python. See the
documentation regarding <a class="reference external" href="http://docs.openstack.org/developer/barbican/setup/dev.html">Setting up a Barbican development environment</a>
for more information.</p>
</div>
</div>
<div class="section" id="functional-tests">
<h2>Functional Tests<a class="headerlink" href="#functional-tests" title="Permalink to this headline">¶</a></h2>
<p>Unlike running unit tests, the functional tests require Barbican and
Keystone services to be running in order to execute. For more
information on this please see <a class="reference external" href="http://docs.openstack.org/developer/barbican/setup/dev.html">Setting up a Barbican development environment</a>
and <a class="reference external" href="http://docs.openstack.org/developer/barbican/setup/keystone.html">Using Keystone Middleware with Barbican</a></p>
<p>Castellan uses <code class="docutils literal"><span class="pre">/etc/castellan/castellan-functional.conf</span></code> in order to
run functional tests. A sample file can be generated by running:</p>
<div class="highlight-bash"><div class="highlight"><pre><span class="c1"># Generate a sample configuration file</span>
tox -e genconfig
</pre></div>
</div>
<p><code class="docutils literal"><span class="pre">castellan/etc/castellan/castellan-functional.conf.sample</span></code> is generated.
It must be renamed to <code class="docutils literal"><span class="pre">castellan-functional.conf</span></code> and placed in
<code class="docutils literal"><span class="pre">/etc/castellan</span></code>.</p>
<p>The file should look something like the following:</p>
<div class="highlight-bash"><div class="highlight"><pre><span class="o">[</span>DEFAULT<span class="o">]</span>
<span class="o">[</span>identity<span class="o">]</span>
<span class="nv">username</span> <span class="o">=</span> <span class="s1">'admin'</span>
<span class="nv">password</span> <span class="o">=</span> <span class="s1">'openstack'</span>
<span class="nv">project_name</span> <span class="o">=</span> <span class="s1">'admin'</span>
<span class="nv">auth_url</span> <span class="o">=</span> <span class="s1">'http://localhost:5000/v3'</span>
</pre></div>
</div>
<p>Once you have the appropriate services running and configured you can execute
the functional tests through tox.</p>
<div class="highlight-bash"><div class="highlight"><pre><span class="c1"># Execute Barbican Functional Tests</span>
tox -e functional
</pre></div>
</div>
<p>By default, the functional tox job will use <code class="docutils literal"><span class="pre">testr</span></code> to execute the
functional tests.</p>
</div>
<div class="section" id="debugging">
<h2>Debugging<a class="headerlink" href="#debugging" title="Permalink to this headline">¶</a></h2>
<p>In order to be able to debug code in Castellan, you must use the Python
Debugger. This can be done by adding <code class="docutils literal"><span class="pre">import</span> <span class="pre">pdb;</span> <span class="pre">pdb.set_trace()</span></code>
to set the breakpoint. Then run the following command to hit the breakpoint:</p>
<div class="highlight-bash"><div class="highlight"><pre><span class="c1"># hit the pdb breakpoint</span>
tox -e debug
</pre></div>
</div>
<p>Once in the Python Debugger, you can use the commands as stated in the
<cite>Debugger Commands</cite> section here: <a class="reference external" href="https://docs.python.org/2/library/pdb.html">https://docs.python.org/2/library/pdb.html</a></p>
</div>
<div class="section" id="pep8-check">
<h2>Pep8 Check<a class="headerlink" href="#pep8-check" title="Permalink to this headline">¶</a></h2>
<p>Pep8 is a style guide for Python code. Castellan code should be have proper
style before submission. In order to ensure that pep8 tests can be run through
tox as follows:</p>
<div class="highlight-bash"><div class="highlight"><pre><span class="c1"># Checks python code style</span>
tox -e pep8
</pre></div>
</div>
<p>Any comments on bad coding style will output to the terminal.</p>
</div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar">
<div class="sphinxsidebarwrapper">
<h3><a href="index.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Testing</a><ul>
<li><a class="reference internal" href="#unit-tests">Unit Tests</a></li>
<li><a class="reference internal" href="#functional-tests">Functional Tests</a></li>
<li><a class="reference internal" href="#debugging">Debugging</a></li>
<li><a class="reference internal" href="#pep8-check">Pep8 Check</a></li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="usage.html"
title="previous chapter">Usage</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="contributing.html"
title="next chapter">Contributing</a></p>
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/testing.txt"
rel="nofollow">Show Source</a></li>
</ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
<input type="text" name="q" size="18" />
<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="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="contributing.html" title="Contributing"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="usage.html" title="Usage"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">castellan documentation</a> »</li>
</ul>
</div>
<div class="footer" role="contentinfo">
© Copyright 2013, OpenStack Foundation.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.6.
</div>
<script type="text/javascript">
try {
//Tracking docs.openstack.org/developer/<projectname> only
//The URL is built from the project variable in conf.py
var pageTracker = _gat._getTracker("UA-17511903-1");
pageTracker._setCookiePath("/developer/castellan");
pageTracker._trackPageview();
} catch(err) {}</script>
</body>
</html>
|