Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update coverage to 4.3.4 #160

Closed
wants to merge 2 commits into from
Closed

Conversation

pyup-bot
Copy link
Collaborator

There's a new version of coverage available.
You are currently using 4.2. I have updated it to 4.3.4

These links might come in handy: PyPI | Changelog | Docs

Changelog

4.3.4


  • Fixing 2.6 in version 4.3.3 broke other things, because the too-tricky
    exception wasn't properly derived from Exception, described in issue 556_.
    A newb mistake; it hasn't been a good few days.

.. _issue 556: https://bitbucket.org/ned/coveragepy/issues/556/43-fails-if-there-are-html-files-in-the

.. _changes_433:

4.3.3


  • Python 2.6 support was broken due to a testing exception imported for the
    benefit of the coverage.py test suite. Properly conditionalizing it fixed
    issue 554_ so that Python 2.6 works again.

.. _issue 554: https://bitbucket.org/ned/coveragepy/issues/554/traceback-on-python-26-starting-with-432

.. _changes_432:

4.3.2


  • Using the --skip-covered option on an HTML report with 100% coverage
    would cause a "No data to report" error, as reported in issue 549_. This is
    now fixed; thanks, Loïc Dachary.
  • If-statements can be optimized away during compilation, for example, if 0:
    or if __debug__:. Coverage.py had problems properly understanding these
    statements which existed in the source, but not in the compiled bytecode.
    This problem, reported in issue 522_, is now fixed.
  • If you specified --source as a directory, then coverage.py would look for
    importable Python files in that directory, and could identify ones that had
    never been executed at all. But if you specified it as a package name, that
    detection wasn't performed. Now it is, closing issue 426_. Thanks to Loïc
    Dachary for the fix.
  • If you started and stopped coverage measurement thousands of times in your
    process, you could crash Python with a "Fatal Python error: deallocating
    None" error. This is now fixed. Thanks to Alex Groce for the bug report.
  • On PyPy, measuring coverage in subprocesses could produce a warning: "Trace
    function changed, measurement is likely wrong: None". This was spurious, and
    has been suppressed.
  • Previously, coverage.py couldn't start on Jython, due to that implementation
    missing the multiprocessing module (issue 551). This problem has now been
    fixed. Also, issue 322
    about not being able to invoke coverage
    conveniently, seems much better: jython -m coverage run myprog.py works
    properly.
  • Let's say you ran the HTML report over and over again in the same output
    directory, with --skip-covered. And imagine due to your heroic
    test-writing efforts, a file just acheived the goal of 100% coverage. With
    coverage.py 4.3, the old HTML file with the less-than-100% coverage would be
    left behind. This file is now properly deleted.

.. _issue 322: https://bitbucket.org/ned/coveragepy/issues/322/cannot-use-coverage-with-jython
.. issue 426: https://bitbucket.org/ned/coveragepy/issues/426/difference-between-coverage-results-with
.. issue 522: https://bitbucket.org/ned/coveragepy/issues/522/incorrect-branch-reporting-with-__debug

.. _issue 549: https://bitbucket.org/ned/coveragepy/issues/549/skip-covered-with-100-coverage-throws-a-no
.. _issue 551: https://bitbucket.org/ned/coveragepy/issues/551/coveragepy-cannot-be-imported-in-jython27

.. _changes_431:

4.3.1


  • Some environments couldn't install 4.3, as described in issue 540_. This is
    now fixed.
  • The check for conflicting --source and --include was too simple in a
    few different ways, breaking a few perfectly reasonable use cases, described
    in issue 541. The check has been reverted while we re-think the fix for
    issue 265
    .

.. _issue 540: https://bitbucket.org/ned/coveragepy/issues/540/cant-install-coverage-v43-into-under
.. _issue 541: https://bitbucket.org/ned/coveragepy/issues/541/coverage-43-breaks-nosetest-with-coverage

.. _changes_43:

4.3


Special thanks to Loïc Dachary, who took an extraordinary interest in
coverage.py and contributed a number of improvements in this release.

  • Subprocesses that are measured with automatic subprocess measurement_ used
    to read in any pre-existing data file. This meant data would be incorrectly
    carried forward from run to run. Now those files are not read, so each
    subprocess only writes its own data. Fixes issue 510_.
  • The coverage combine command will now fail if there are no data files to
    combine. The combine changes in 4.2 meant that multiple combines could lose
    data, leaving you with an empty .coverage data file. Fixes
    issue 525, issue 412, issue 516, and probably issue 511.
  • Coverage.py wouldn't execute sys.excepthook_ when an exception happened in
    your program. Now it does, thanks to Andrew Hoos. Closes issue 535_.
  • Branch coverage fixes:
  • Branch coverage could misunderstand a finally clause on a try block that
    never continued on to the following statement, as described in issue 493_. This is now fixed. Thanks to Joe Doherty for the report and Loïc
    Dachary for the fix.
  • A while loop with a constant condition (while True) and a continue
    statement would be mis-analyzed, as described in issue 496_. This is now
    fixed, thanks to a bug report by Eli Skeggs and a fix by Loïc Dachary.
  • While loops with constant conditions that were never executed could result
    in a non-zero coverage report. Artem Dayneko reported this in issue 502_, and Loïc Dachary provided the fix.
  • The HTML report now supports a --skip-covered option like the other
    reporting commands. Thanks, Loïc Dachary for the implementation, closing
    issue 433_.
  • Options can now be read from a tox.ini file, if any. Like setup.cfg, sections
    are prefixed with "coverage:", so [run] options will be read from the
    [coverage:run] section of tox.ini. Implements part of issue 519_.
    Thanks, Stephen Finucane.
  • Specifying both --source and --include no longer silently ignores the
    include setting, instead it fails with a message. Thanks, Nathan Land and
    Loïc Dachary. Closes issue 265_.
  • The Coverage.combine method has a new parameter, strict=False, to
    support failing if there are no data files to combine.
  • When forking subprocesses, the coverage data files would have the same random
    number appended to the file name. This didn't cause problems, because the
    file names had the process id also, making collisions (nearly) impossible.
    But it was disconcerting. This is now fixed.
  • The text report now properly sizes headers when skipping some files, fixing
    issue 524_. Thanks, Anthony Sottile and Loïc Dachary.
  • Coverage.py can now search .pex files for source, just as it can .zip and
    .egg. Thanks, Peter Ebden.
  • Data files are now about 15% smaller.
  • Improvements in the [run] debug setting:
  • The "dataio" debug setting now also logs when data files are deleted during
    combining or erasing.
  • A new debug option, "multiproc", for logging the behavior of
    concurrency=multiprocessing.
  • If you used the debug options "config" and "callers" together, you'd get a
    call stack printed for every line in the multi-line config output. This is
    now fixed.
  • Fixed an unusual bug involving multiple coding declarations affecting code
    containing code in multi-line strings: issue 529_.
  • Coverage.py will no longer be misled into thinking that a plain file is a
    package when interpreting --source options. Thanks, Cosimo Lupo.
  • If you try to run a non-Python file with coverage.py, you will now get a more
    useful error message. Issue 514_.
  • The default pragma regex changed slightly, but this will only matter to you
    if you are deranged and use mixed-case pragmas.
  • Deal properly with non-ASCII file names in an ASCII-only world, issue 533_.
  • Programs that set Unicode configuration values could cause UnicodeErrors when
    generating HTML reports. Pytest-cov is one example. This is now fixed.
  • Prevented deprecation warnings from configparser that happened in some
    circumstances, closing issue 530_.
  • Corrected the name of the jquery.ba-throttle-debounce.js library. Thanks,
    Ben Finney. Closes issue 505_.
  • Testing against PyPy 5.6 and PyPy3 5.5.
  • Switched to pytest from nose for running the coverage.py tests.
  • Renamed AUTHORS.txt to CONTRIBUTORS.txt, since there are other ways to
    contribute than by writing code. Also put the count of contributors into the
    author string in setup.py, though this might be too cute.

.. _sys.excepthook: https://docs.python.org/3/library/sys.htmlsys.excepthook
.. _issue 265: https://bitbucket.org/ned/coveragepy/issues/265/when-using-source-include-is-silently
.. _issue 412: https://bitbucket.org/ned/coveragepy/issues/412/coverage-combine-should-error-if-no
.. _issue 433: https://bitbucket.org/ned/coveragepy/issues/433/coverage-html-does-not-suport-skip-covered
.. _issue 493: https://bitbucket.org/ned/coveragepy/issues/493/confusing-branching-failure
.. _issue 496: https://bitbucket.org/ned/coveragepy/issues/496/incorrect-coverage-with-branching-and
.. _issue 502: https://bitbucket.org/ned/coveragepy/issues/502/incorrect-coverage-report-with-cover
.. _issue 505: https://bitbucket.org/ned/coveragepy/issues/505/use-canonical-filename-for-debounce
.. _issue 514: https://bitbucket.org/ned/coveragepy/issues/514/path-to-problem-file-not-reported-when
.. _issue 510: https://bitbucket.org/ned/coveragepy/issues/510/erase-still-needed-in-42
.. _issue 511: https://bitbucket.org/ned/coveragepy/issues/511/version-42-coverage-combine-empties
.. _issue 516: https://bitbucket.org/ned/coveragepy/issues/516/running-coverage-combine-twice-deletes-all
.. _issue 519: https://bitbucket.org/ned/coveragepy/issues/519/coverage-run-sections-in-toxini-or-as
.. _issue 524: https://bitbucket.org/ned/coveragepy/issues/524/coverage-report-with-skip-covered-column
.. _issue 525: https://bitbucket.org/ned/coveragepy/issues/525/coverage-combine-when-not-in-parallel-mode
.. _issue 529: https://bitbucket.org/ned/coveragepy/issues/529/encoding-marker-may-only-appear-on-the
.. _issue 530: https://bitbucket.org/ned/coveragepy/issues/530/deprecationwarning-you-passed-a-bytestring
.. _issue 533: https://bitbucket.org/ned/coveragepy/issues/533/exception-on-unencodable-file-name
.. _issue 535: https://bitbucket.org/ned/coveragepy/issues/535/sysexcepthook-is-not-called

.. _changes_42:

Got merge conflicts? Close this PR and delete the branch. I'll create a new PR for you.

Happy merging! 🤖

@pyup-bot
Copy link
Collaborator Author

pyup-bot commented May 8, 2017

Closing this in favor of #240

@pyup-bot pyup-bot closed this May 8, 2017
@jayfk jayfk deleted the pyup-update-coverage-4.2-to-4.3.4 branch May 8, 2017 03:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant