<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-coveragepy-git.git/coverage, branch nedbat/python-dev</title>
<subtitle>github.com: nedbat/coveragepy.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-coveragepy-git.git/'/>
<entry>
<title>fix: proper tracing of call/return for Python 3.11.0a4</title>
<updated>2022-01-15T19:18:00+00:00</updated>
<author>
<name>Ned Batchelder</name>
<email>ned@nedbatchelder.com</email>
</author>
<published>2022-01-15T18:58:53+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-coveragepy-git.git/commit/?id=37ef7c7d8625ee7f364774110e3c467e82444d9b'/>
<id>37ef7c7d8625ee7f364774110e3c467e82444d9b</id>
<content type='text'>
Version 3.11.0a4 introduced RESUME, so returns and calls are different now.
This change also fixes some mishandling of yield-from in previous releases.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Version 3.11.0a4 introduced RESUME, so returns and calls are different now.
This change also fixes some mishandling of yield-from in previous releases.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: update pytracer.py for Python 3.11</title>
<updated>2022-01-15T19:01:33+00:00</updated>
<author>
<name>Ned Batchelder</name>
<email>ned@nedbatchelder.com</email>
</author>
<published>2022-01-15T16:17:30+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-coveragepy-git.git/commit/?id=e3be855a07685b383f020e2f0f2924326cb48268'/>
<id>e3be855a07685b383f020e2f0f2924326cb48268</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>debug: reprs make debugging easier</title>
<updated>2022-01-15T19:01:33+00:00</updated>
<author>
<name>Ned Batchelder</name>
<email>ned@nedbatchelder.com</email>
</author>
<published>2022-01-15T15:16:54+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-coveragepy-git.git/commit/?id=57544e6d60eaabdbd4c9265dbe29055e2585a9f0'/>
<id>57544e6d60eaabdbd4c9265dbe29055e2585a9f0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: 3.11 now traces decorator lines as the decorators execute</title>
<updated>2022-01-15T12:58:57+00:00</updated>
<author>
<name>Ned Batchelder</name>
<email>ned@nedbatchelder.com</email>
</author>
<published>2022-01-09T16:37:29+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-coveragepy-git.git/commit/?id=d723b46460dc7ffb4abf54806087ffd614b81331'/>
<id>d723b46460dc7ffb4abf54806087ffd614b81331</id>
<content type='text'>
See: https://bugs.python.org/issue46234
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
See: https://bugs.python.org/issue46234
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: don't write a .gitignore unless the directory is empty</title>
<updated>2022-01-12T00:20:58+00:00</updated>
<author>
<name>Ned Batchelder</name>
<email>ned@nedbatchelder.com</email>
</author>
<published>2022-01-11T23:57:52+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-coveragepy-git.git/commit/?id=6cbbc90dcd89d8499191a75133a6e2b29f52270a'/>
<id>6cbbc90dcd89d8499191a75133a6e2b29f52270a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>style: minor cleanups realized while reviewing a pull request</title>
<updated>2022-01-06T00:53:22+00:00</updated>
<author>
<name>Ned Batchelder</name>
<email>ned@nedbatchelder.com</email>
</author>
<published>2022-01-06T00:53:22+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-coveragepy-git.git/commit/?id=f28be718d6214b18df559e39ef223418782436d7'/>
<id>f28be718d6214b18df559e39ef223418782436d7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: no need to special-case spec.origin == "namespace"</title>
<updated>2022-01-03T18:02:49+00:00</updated>
<author>
<name>Ned Batchelder</name>
<email>ned@nedbatchelder.com</email>
</author>
<published>2022-01-03T18:02:49+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-coveragepy-git.git/commit/?id=69af2a71929c60f31f629b36b180a86df5ca0564'/>
<id>69af2a71929c60f31f629b36b180a86df5ca0564</id>
<content type='text'>
Namespace packages used to have this value, but that was changed in 3.7:
https://bugs.python.org/issue32305
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Namespace packages used to have this value, but that was changed in 3.7:
https://bugs.python.org/issue32305
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: we no longer need to protect against UnicodeError, it was only on 3.6</title>
<updated>2022-01-03T16:36:26+00:00</updated>
<author>
<name>Ned Batchelder</name>
<email>ned@nedbatchelder.com</email>
</author>
<published>2022-01-03T16:36:26+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-coveragepy-git.git/commit/?id=16fd431b079a024750e1b2a4b693a5b80dcf1900'/>
<id>16fd431b079a024750e1b2a4b693a5b80dcf1900</id>
<content type='text'>
This was the failure it was protecting against on Python 3.6:

```
  ___________________________ ProcessTest.test_lang_c ____________________________
  [gw0] linux -- Python 3.6.15 /home/runner/work/coveragepy/coveragepy/.tox/py36/bin/python

  self = &lt;tests.test_process.ProcessTest object at 0x7fe57e63b198&gt;

      @pytest.mark.skipif(env.PYPY, reason="PyPy is unreliable with this test")
      # Jython as of 2.7.1rc3 won't compile a filename that isn't utf-8.
      @pytest.mark.skipif(env.JYTHON, reason="Jython can't handle this test")
      def test_lang_c(self):
          # LANG=C forces getfilesystemencoding on Linux to 'ascii', which causes
          # failures with non-ascii file names. We don't want to make a real file
          # with strange characters, though, because that gets the test runners
          # tangled up.  This will isolate the concerns to the coverage.py code.
          # https://github.com/nedbat/coveragepy/issues/533
          self.make_file("weird_file.py", r"""
              globs = {}
              code = "a = 1\nb = 2\n"
              exec(compile(code, "wut\xe9\xea\xeb\xec\x01\x02.py", 'exec'), globs)
              print(globs['a'])
              print(globs['b'])
              """)
          self.set_environ("LANG", "C")
          out = self.run_command("coverage run weird_file.py")
  &gt;       assert out == "1\n2\n"
  E       assert 'Traceback (m...ion by zero\n' == '1\n2\n'
  E         - 1
  E         - 2
  E         + Traceback (most recent call last):
  E         +   File "/home/runner/work/coveragepy/coveragepy/coverage/files.py", line 149, in abs_file
  E         +     path = os.path.realpath(path)
  E         +   File "/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/posixpath.py", line 395, in realpath
  E         +     path, ok = _joinrealpath(filename[:0], filename, {})
  E         +   File "/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/posixpath.py", line 429, in _joinrealpath
  E         +     if not islink(newpath):
  E         +   File "/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/posixpath.py", line 171, in islink
  E         +     st = os.lstat(path)
  E         + UnicodeEncodeError: 'ascii' codec can't encode characters in position 3-6: ordinal not in range(128)
```
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This was the failure it was protecting against on Python 3.6:

```
  ___________________________ ProcessTest.test_lang_c ____________________________
  [gw0] linux -- Python 3.6.15 /home/runner/work/coveragepy/coveragepy/.tox/py36/bin/python

  self = &lt;tests.test_process.ProcessTest object at 0x7fe57e63b198&gt;

      @pytest.mark.skipif(env.PYPY, reason="PyPy is unreliable with this test")
      # Jython as of 2.7.1rc3 won't compile a filename that isn't utf-8.
      @pytest.mark.skipif(env.JYTHON, reason="Jython can't handle this test")
      def test_lang_c(self):
          # LANG=C forces getfilesystemencoding on Linux to 'ascii', which causes
          # failures with non-ascii file names. We don't want to make a real file
          # with strange characters, though, because that gets the test runners
          # tangled up.  This will isolate the concerns to the coverage.py code.
          # https://github.com/nedbat/coveragepy/issues/533
          self.make_file("weird_file.py", r"""
              globs = {}
              code = "a = 1\nb = 2\n"
              exec(compile(code, "wut\xe9\xea\xeb\xec\x01\x02.py", 'exec'), globs)
              print(globs['a'])
              print(globs['b'])
              """)
          self.set_environ("LANG", "C")
          out = self.run_command("coverage run weird_file.py")
  &gt;       assert out == "1\n2\n"
  E       assert 'Traceback (m...ion by zero\n' == '1\n2\n'
  E         - 1
  E         - 2
  E         + Traceback (most recent call last):
  E         +   File "/home/runner/work/coveragepy/coveragepy/coverage/files.py", line 149, in abs_file
  E         +     path = os.path.realpath(path)
  E         +   File "/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/posixpath.py", line 395, in realpath
  E         +     path, ok = _joinrealpath(filename[:0], filename, {})
  E         +   File "/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/posixpath.py", line 429, in _joinrealpath
  E         +     if not islink(newpath):
  E         +   File "/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/posixpath.py", line 171, in islink
  E         +     st = os.lstat(path)
  E         + UnicodeEncodeError: 'ascii' codec can't encode characters in position 3-6: ordinal not in range(128)
```
</pre>
</div>
</content>
</entry>
<entry>
<title>build(test): PyContracts doesn't work on 3.11</title>
<updated>2022-01-02T12:03:14+00:00</updated>
<author>
<name>Ned Batchelder</name>
<email>ned@nedbatchelder.com</email>
</author>
<published>2022-01-02T12:03:14+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-coveragepy-git.git/commit/?id=a11bcb70c2faa6e24738c668030a97d8ce9b3ffc'/>
<id>a11bcb70c2faa6e24738c668030a97d8ce9b3ffc</id>
<content type='text'>
and I don't think it ever will.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
and I don't think it ever will.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: remove code that was only needed for Python 3.6</title>
<updated>2021-12-31T18:07:02+00:00</updated>
<author>
<name>Ned Batchelder</name>
<email>ned@nedbatchelder.com</email>
</author>
<published>2021-12-31T17:57:11+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-coveragepy-git.git/commit/?id=3d8526412e90f645ecc4b3ae9b567cb2c73fe3aa'/>
<id>3d8526412e90f645ecc4b3ae9b567cb2c73fe3aa</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
