/usr/share/doc/pylint-doc/html/contribute.html is in pylint-doc 1.6.5-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 217 218 219 220 221 222 | <!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>Contribute — Pylint 1.6.5 documentation</title>
<link rel="stylesheet" href="_static/nature.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '1.6.5',
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="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="top" title="Pylint 1.6.5 documentation" href="index.html" />
<link rel="next" title="What’s New in Pylint" href="whatsnew/index.html" />
<link rel="prev" title="Introduction" href="intro.html" />
</head>
<body role="document">
<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="whatsnew/index.html" title="What’s New in Pylint"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="intro.html" title="Introduction"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">Pylint 1.6.5 documentation</a> »</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="contribute">
<h1>Contribute<a class="headerlink" href="#contribute" title="Permalink to this headline">¶</a></h1>
<div class="section" id="bug-reports-feedback">
<h2>Bug reports, feedback<a class="headerlink" href="#bug-reports-feedback" title="Permalink to this headline">¶</a></h2>
<p>You think you have found a bug in Pylint? Well, this may be the case
since Pylint is under heavy development.</p>
<p>Please take the time to check if it is already in the issue tracker at
<a class="reference external" href="https://github.com/PyCQA/pylint">https://github.com/PyCQA/pylint</a></p>
<p>If you can not find it in the tracker, create a new issue there or discuss your
problem on the <a class="reference external" href="mailto:code-quality%40python.org">code-quality<span>@</span>python<span>.</span>org</a> mailing list.</p>
<p>The code-quality mailing list is also a nice place to provide feedback about
Pylint, since it is shared with other tools that aim at improving the quality of
python code.</p>
<p>Note that if you don’t find something you have expected in Pylint’s
issue tracker, it may be because it is an issue with one of its dependencies, namely
astroid.</p>
<ul class="simple">
<li><a class="reference external" href="https://bitbucket.org/logilab/astroid">https://bitbucket.org/logilab/astroid</a></li>
</ul>
</div>
<div class="section" id="mailing-lists">
<h2>Mailing lists<a class="headerlink" href="#mailing-lists" title="Permalink to this headline">¶</a></h2>
<p>You can subscribe to this mailing list at
<a class="reference external" href="http://mail.python.org/mailman/listinfo/code-quality">http://mail.python.org/mailman/listinfo/code-quality</a></p>
<p>Archives are available at
<a class="reference external" href="http://mail.python.org/pipermail/code-quality/">http://mail.python.org/pipermail/code-quality/</a></p>
<p>Archives before April 2013 are available at
<a class="reference external" href="http://lists.logilab.org/pipermail/python-projects/">http://lists.logilab.org/pipermail/python-projects/</a></p>
</div>
<div class="section" id="repository">
<h2>Repository<a class="headerlink" href="#repository" title="Permalink to this headline">¶</a></h2>
<p>Pylint is developed using the <a class="reference external" href="https://git-scm.com/">git</a> distributed version control system.</p>
<p>You can clone Pylint and its dependencies from</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">hg</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">bitbucket</span><span class="o">.</span><span class="n">org</span><span class="o">/</span><span class="n">logilab</span><span class="o">/</span><span class="n">pylint</span>
<span class="n">hg</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">bitbucket</span><span class="o">.</span><span class="n">org</span><span class="o">/</span><span class="n">logilab</span><span class="o">/</span><span class="n">astroid</span>
<span class="n">hg</span> <span class="n">clone</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">hg</span><span class="o">.</span><span class="n">logilab</span><span class="o">.</span><span class="n">org</span><span class="o">/</span><span class="n">logilab</span><span class="o">/</span><span class="n">common</span>
</pre></div>
</div>
<p>Got a change for Pylint? Below are a few steps you should take to make sure
your patch gets accepted.</p>
<ul>
<li><p class="first">Test your code</p>
<blockquote>
<div><ul>
<li><p class="first">Pylint is very well tested, with a high good code coverage.
It has two types of tests, usual unittests and functional tests.</p>
<p>The usual unittests can be found under <cite>/test</cite> directory and they can
be used for testing almost anything Pylint related. But for the ease
of testing Pylint’s messages, we also have the concept of functional tests.</p>
</li>
<li><p class="first">You should also run all the tests to ensure that your change isn’t
breaking one. You can run the tests using the <a class="reference external" href="http://tox.readthedocs.io/en/latest/">tox</a> package, as in:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="o">-</span><span class="n">m</span> <span class="n">tox</span>
<span class="n">python</span> <span class="o">-</span><span class="n">m</span> <span class="n">tox</span> <span class="o">-</span><span class="n">epy27</span> <span class="c1"># for Python 2.7 suite only</span>
<span class="n">python</span> <span class="o">-</span><span class="n">m</span> <span class="n">tox</span> <span class="o">-</span><span class="n">epylint</span> <span class="c1"># for running Pylint over Pylint's codebase</span>
</pre></div>
</div>
</li>
</ul>
</div></blockquote>
</li>
<li><p class="first">Add a short entry to the ChangeLog describing the change, except for internal
implementation only changes</p>
</li>
<li><p class="first">Write a comprehensive commit message</p>
</li>
<li><p class="first">Relate your change to an issue in the tracker if such an issue exists (see
<a class="reference external" href="https://help.github.com/articles/closing-issues-via-commit-messages/">this page</a> of Bitbucket documentation for more information on this)</p>
</li>
<li><p class="first">Document your change, if it is a non-trivial one.</p>
</li>
<li><p class="first">Send a pull request from GitHub (more on this <a class="reference external" href="https://help.github.com/articles/using-pull-requests/">here</a>)</p>
</li>
</ul>
</div>
<div class="section" id="functional-tests">
<h2>Functional tests<a class="headerlink" href="#functional-tests" title="Permalink to this headline">¶</a></h2>
<p>These are residing under ‘/test/functional’ and they are formed of multiple
components. First, each Python file is considered to be a test case and it
should be accompanied by a .txt file, having the same name, with the messages
that are supposed to be emitted by the given test file.</p>
<p>In the Python file, each line for which Pylint is supposed to emit a message
has to be annotated with a comment in the form <code class="docutils literal"><span class="pre">#</span> <span class="pre">[message_symbol]</span></code>, as in:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span> <span class="o">=</span> <span class="mi">1</span> <span class="c1"># [unbalanced-tuple-unpacking]</span>
</pre></div>
</div>
<p>If multiple messages are expected on the same line, then this syntax can be used:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span> <span class="o">=</span> <span class="mf">1.</span><span class="n">test</span> <span class="c1"># [unbalanced-tuple-unpacking, no-member]</span>
</pre></div>
</div>
<p>The syntax of the .txt file has to be this:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">symbol</span><span class="p">:</span><span class="n">line_number</span><span class="p">:</span><span class="n">function_or_class</span><span class="p">:</span><span class="n">Expected</span> <span class="n">message</span>
</pre></div>
</div>
<p>For example, this is a valid message line:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>abstract-class-instantiated:79:main:Abstract class 'BadClass' with abstract methods instantiated
</pre></div>
</div>
<p>If the Python file is expected to not emit any errors, then the .txt file has to be empty.
If you need special control over Pylint’s flag, you can also create a .rc file, which
can have sections of Pylint’s configuration.</p>
</div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h3><a href="index.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Contribute</a><ul>
<li><a class="reference internal" href="#bug-reports-feedback">Bug reports, feedback</a></li>
<li><a class="reference internal" href="#mailing-lists">Mailing lists</a></li>
<li><a class="reference internal" href="#repository">Repository</a></li>
<li><a class="reference internal" href="#functional-tests">Functional tests</a></li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="intro.html"
title="previous chapter">Introduction</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="whatsnew/index.html"
title="next chapter">What’s New in Pylint</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/contribute.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
<div><input type="text" name="q" /></div>
<div><input type="submit" value="Go" /></div>
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</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"
>index</a></li>
<li class="right" >
<a href="whatsnew/index.html" title="What’s New in Pylint"
>next</a> |</li>
<li class="right" >
<a href="intro.html" title="Introduction"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">Pylint 1.6.5 documentation</a> »</li>
</ul>
</div>
<div class="footer" role="contentinfo">
© Copyright 2003-2017, Logilab.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.4.9.
</div>
</body>
</html>
|