<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-coveragepy-git.git/tests/test_api.py, branch nedbat/bug989</title>
<subtitle>github.com: nedbat/coveragepy.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-coveragepy-git.git/'/>
<entry>
<title>fix: suffix=False will suppress the suffix even with multiprocessing. #989</title>
<updated>2021-11-18T11:16:55+00:00</updated>
<author>
<name>Ned Batchelder</name>
<email>ned@nedbatchelder.com</email>
</author>
<published>2021-11-18T11:16:55+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-coveragepy-git.git/commit/?id=1649d6bd32f557ca3c2cfb773b603ed5e6b2bbd5'/>
<id>1649d6bd32f557ca3c2cfb773b603ed5e6b2bbd5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: specialize exceptions</title>
<updated>2021-11-14T16:41:23+00:00</updated>
<author>
<name>Ned Batchelder</name>
<email>ned@nedbatchelder.com</email>
</author>
<published>2021-11-14T00:23:24+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-coveragepy-git.git/commit/?id=1c29ef3e4b871508bb2defd6b47b9a745547b626'/>
<id>1c29ef3e4b871508bb2defd6b47b9a745547b626</id>
<content type='text'>
CoverageException is fine as a base class, but not good to use for
raising (and catching sometimes).  Introduce specialized exceptions that
allow third-party tools to integrate better.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
CoverageException is fine as a base class, but not good to use for
raising (and catching sometimes).  Introduce specialized exceptions that
allow third-party tools to integrate better.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: add_lines only needs an iterable of ints</title>
<updated>2021-11-13T17:05:08+00:00</updated>
<author>
<name>Ned Batchelder</name>
<email>ned@nedbatchelder.com</email>
</author>
<published>2021-11-13T16:54:59+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-coveragepy-git.git/commit/?id=9a72bf4bc964bc8062627d6ecd6fb8c8d1e5dec6'/>
<id>9a72bf4bc964bc8062627d6ecd6fb8c8d1e5dec6</id>
<content type='text'>
The old code expected a dict with int keys, but iterables are simpler, so get
rid of a lot of dict.fromkeys() nonsense.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The old code expected a dict with int keys, but iterables are simpler, so get
rid of a lot of dict.fromkeys() nonsense.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: remapping paths during combining needs to follow relative_files=True. #1147</title>
<updated>2021-11-06T22:06:44+00:00</updated>
<author>
<name>Ned Batchelder</name>
<email>ned@nedbatchelder.com</email>
</author>
<published>2021-11-06T21:29:09+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-coveragepy-git.git/commit/?id=1a616da57258bb3a1d6a0fbd05adfcb76155c49c'/>
<id>1a616da57258bb3a1d6a0fbd05adfcb76155c49c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>style: remove implicit string concatenation</title>
<updated>2021-10-30T13:28:50+00:00</updated>
<author>
<name>Ned Batchelder</name>
<email>ned@nedbatchelder.com</email>
</author>
<published>2021-10-30T13:28:50+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-coveragepy-git.git/commit/?id=3d962a30a3f659978b96ef59811e8062867b358b'/>
<id>3d962a30a3f659978b96ef59811e8062867b358b</id>
<content type='text'>
.. and also add trailing commas where needed to remove ambiguity.

I used semgrep with this config:
```
rules:
  - id: implicit-string-concatenation
    pattern: |
      "$X" "$Y"
    languages:
      - python
    message: string cat BAD
    severity: INFO
```

Running it showed this:

```
$ semgrep --config=../lab/string-cat.yml coverage tests doc ci igor.py setup.py __main__.py
Running 1 rules...
setup.py
severity:info rule:lab.implicit-string-concatenation: string cat BAD
128:            'https://tidelift.com/subscription/pkg/pypi-coverage'
129:            '?utm_source=pypi-coverage&amp;utm_medium=referral&amp;utm_campaign=pypi'

tests/test_api.py
severity:info rule:lab.implicit-string-concatenation: string cat BAD
319:            "!coverage.py: This is a private format, don't read it directly!"
320:            '{"lines":{"/private/tmp/foo.py":[1,5,2,3]}}'

tests/test_html.py
severity:info rule:lab.implicit-string-concatenation: string cat BAD
614:            ('&lt;span class="key"&gt;if&lt;/span&gt; &lt;span class="num"&gt;1&lt;/span&gt; '
615:             '&lt;span class="op"&gt;&amp;lt;&lt;/span&gt; &lt;span class="num"&gt;2&lt;/span&gt;'),
--------------------------------------------------------------------------------
616:            ('    &lt;span class="nam"&gt;a&lt;/span&gt; '
617:             '&lt;span class="op"&gt;=&lt;/span&gt; &lt;span class="num"&gt;3&lt;/span&gt;'),
--------------------------------------------------------------------------------
665:            ('&lt;span class="key"&gt;if&lt;/span&gt; &lt;span class="nam"&gt;x&lt;/span&gt; '
666:             '&lt;span class="op"&gt;&amp;lt;&lt;/span&gt; &lt;span class="num"&gt;2&lt;/span&gt;'),
--------------------------------------------------------------------------------
667:            ('    &lt;span class="nam"&gt;a&lt;/span&gt; &lt;span class="op"&gt;=&lt;/span&gt; '
668:             '&lt;span class="num"&gt;3&lt;/span&gt;'),
--------------------------------------------------------------------------------
949:            ('&lt;span class="key"&gt;if&lt;/span&gt; &lt;span class="num"&gt;1&lt;/span&gt; '
950:             '&lt;span class="op"&gt;&amp;lt;&lt;/span&gt; &lt;span class="num"&gt;2&lt;/span&gt;'),
--------------------------------------------------------------------------------
951:            ('    &lt;span class="nam"&gt;a&lt;/span&gt; &lt;span class="op"&gt;=&lt;/span&gt; '
952:             '&lt;span class="num"&gt;3&lt;/span&gt;'),
ran 1 rules on 134 files: 8 findings
```

This wasn't all of the instances, so I wrote a bug report: https://github.com/returntocorp/semgrep/issues/4184
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
.. and also add trailing commas where needed to remove ambiguity.

I used semgrep with this config:
```
rules:
  - id: implicit-string-concatenation
    pattern: |
      "$X" "$Y"
    languages:
      - python
    message: string cat BAD
    severity: INFO
```

Running it showed this:

```
$ semgrep --config=../lab/string-cat.yml coverage tests doc ci igor.py setup.py __main__.py
Running 1 rules...
setup.py
severity:info rule:lab.implicit-string-concatenation: string cat BAD
128:            'https://tidelift.com/subscription/pkg/pypi-coverage'
129:            '?utm_source=pypi-coverage&amp;utm_medium=referral&amp;utm_campaign=pypi'

tests/test_api.py
severity:info rule:lab.implicit-string-concatenation: string cat BAD
319:            "!coverage.py: This is a private format, don't read it directly!"
320:            '{"lines":{"/private/tmp/foo.py":[1,5,2,3]}}'

tests/test_html.py
severity:info rule:lab.implicit-string-concatenation: string cat BAD
614:            ('&lt;span class="key"&gt;if&lt;/span&gt; &lt;span class="num"&gt;1&lt;/span&gt; '
615:             '&lt;span class="op"&gt;&amp;lt;&lt;/span&gt; &lt;span class="num"&gt;2&lt;/span&gt;'),
--------------------------------------------------------------------------------
616:            ('    &lt;span class="nam"&gt;a&lt;/span&gt; '
617:             '&lt;span class="op"&gt;=&lt;/span&gt; &lt;span class="num"&gt;3&lt;/span&gt;'),
--------------------------------------------------------------------------------
665:            ('&lt;span class="key"&gt;if&lt;/span&gt; &lt;span class="nam"&gt;x&lt;/span&gt; '
666:             '&lt;span class="op"&gt;&amp;lt;&lt;/span&gt; &lt;span class="num"&gt;2&lt;/span&gt;'),
--------------------------------------------------------------------------------
667:            ('    &lt;span class="nam"&gt;a&lt;/span&gt; &lt;span class="op"&gt;=&lt;/span&gt; '
668:             '&lt;span class="num"&gt;3&lt;/span&gt;'),
--------------------------------------------------------------------------------
949:            ('&lt;span class="key"&gt;if&lt;/span&gt; &lt;span class="num"&gt;1&lt;/span&gt; '
950:             '&lt;span class="op"&gt;&amp;lt;&lt;/span&gt; &lt;span class="num"&gt;2&lt;/span&gt;'),
--------------------------------------------------------------------------------
951:            ('    &lt;span class="nam"&gt;a&lt;/span&gt; &lt;span class="op"&gt;=&lt;/span&gt; '
952:             '&lt;span class="num"&gt;3&lt;/span&gt;'),
ran 1 rules on 134 files: 8 findings
```

This wasn't all of the instances, so I wrote a bug report: https://github.com/returntocorp/semgrep/issues/4184
</pre>
</div>
</content>
</entry>
<entry>
<title>test: exclude one last line in test_api.py</title>
<updated>2021-08-09T12:29:07+00:00</updated>
<author>
<name>Ned Batchelder</name>
<email>ned@nedbatchelder.com</email>
</author>
<published>2021-08-09T12:29:07+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-coveragepy-git.git/commit/?id=5a4f125853b5056f98d80162687b6d1eace38ea1'/>
<id>5a4f125853b5056f98d80162687b6d1eace38ea1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: `coverage combine` now prints messages naming the files being combined.  #1105 (#1208)</title>
<updated>2021-08-05T19:03:45+00:00</updated>
<author>
<name>Ned Batchelder</name>
<email>ned@nedbatchelder.com</email>
</author>
<published>2021-08-05T19:03:45+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-coveragepy-git.git/commit/?id=1f51202aec24679be776ea759efb66070100c3c3'/>
<id>1f51202aec24679be776ea759efb66070100c3c3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: warnings are now real warnings</title>
<updated>2021-05-30T22:03:05+00:00</updated>
<author>
<name>Ned Batchelder</name>
<email>ned@nedbatchelder.com</email>
</author>
<published>2021-05-30T21:39:20+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-coveragepy-git.git/commit/?id=30c023b5b74f9c798645cbb3f35362ae046a4c25'/>
<id>30c023b5b74f9c798645cbb3f35362ae046a4c25</id>
<content type='text'>
This makes coverage warnings visible when running test suites under
pytest.  But it also means some uninteresting warnings would show up in
our own test suite, so we had to catch or suppress those.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This makes coverage warnings visible when running test suites under
pytest.  But it also means some uninteresting warnings would show up in
our own test suite, so we had to catch or suppress those.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: move exceptions to their own module</title>
<updated>2021-05-02T11:38:20+00:00</updated>
<author>
<name>Ned Batchelder</name>
<email>ned@nedbatchelder.com</email>
</author>
<published>2021-05-02T02:38:55+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-coveragepy-git.git/commit/?id=6a3d3aaaf2aebb816c7287263c8097844280b233'/>
<id>6a3d3aaaf2aebb816c7287263c8097844280b233</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: pyupgrade --py36-plus tests/**.py</title>
<updated>2021-05-02T11:38:19+00:00</updated>
<author>
<name>Ned Batchelder</name>
<email>ned@nedbatchelder.com</email>
</author>
<published>2021-05-01T22:25:06+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-coveragepy-git.git/commit/?id=ddf5ba8cfcfe7d133ddbf888cc6e3af79863c712'/>
<id>ddf5ba8cfcfe7d133ddbf888cc6e3af79863c712</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
