This file is indexed.

/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 &#8212; 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> &#187;</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&#37;&#52;&#48;python&#46;org">code-quality<span>&#64;</span>python<span>&#46;</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&#8217;t find something you have expected in Pylint&#8217;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&#8217;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&#8217;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&#39;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 &#8216;/test/functional&#8217; 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 &#39;BadClass&#39; 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&#8217;s flag, you can also create a .rc file, which
can have sections of Pylint&#8217;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&#8217;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> &#187;</li> 
      </ul>
    </div>
    <div class="footer" role="contentinfo">
        &#169; Copyright 2003-2017, Logilab.
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.4.9.
    </div>
  </body>
</html>