[openstack-dev] [all] Need volunteers to test coverage 4.0 alpha release
Doug Hellmann
doug at doughellmann.com
Mon Aug 3 11:32:51 UTC 2015
Do we have anyone willing to spend some time looking at the
incompatibilities Ned mentions below to ensure that we have a smooth
transition when 4.0 moves out of alpha?
Doug
--- Begin forwarded message from Ned Batchelder ---
From: Ned Batchelder <ned at nedbatchelder.com>
To: testing-in-python <testing-in-python at lists.idyll.org>
Date: Mon, 03 Aug 2015 07:22:30 -0400
Subject: [TIP] Coverage.py 4.0 beta 1
Hi all,
After more than 18 months of development, the first beta of Coverage.py
4.0 is available: https://pypi.python.org/pypi/coverage/4.0b1
There are a number of very significant changes since v3.7.1, including
backward-incompatibilities. I'd really appreciate getting some testing
from people using third-party coverage integrations, or using unusual
configurations.
Bug reports heartily welcomed: https://bitbucket.org/ned/coveragepy
A quick list of the biggest changes are below, more at
http://coverage.readthedocs.org/en/coverage-4.0b1/changes.html
Thanks,
--Ned.
Backward incompatibilities:
- CPython versions supported are now Python 2.6, 2.7, 3.3, 3.4 and 3.5b4.
PyPy2 2.4, 2.6, and PyPy3 2.4 are also supported.
- The original command line switches (`-x` to run a program, etc) are no
longer supported.
- The ``COVERAGE_OPTIONS`` environment variable is no longer supported.
It was
a hack for ``--timid`` before configuration files were available.
- The original module-level function interface to coverage.py is no longer
supported. You must now create a ``coverage.Coverage`` object, and use
methods on it.
- The ``Coverage.use_cache`` method is no longer supported.
- The private method ``Coverage._harvest_data`` is now called
``Coverage.get_data``, and returns the ``CoverageData`` containing the
collected data.
- Coverage.py is now licensed under the Apache 2.0 license. See
NOTICE.txt for
details.
Major new features:
- Plugins: third parties can write plugins to add file support for
non-Python
files, such as web application templating engines, or languages that
compile
down to Python. A plugin for measuring Django template coverage is
available: `django_coverage_plugin`_
- The data storage has been re-written, using JSON instead of pickle. The
:class:`CoverageData` class is a new supported API to the contents of the
data file.
- Gevent, eventlet, and greenlet are now supported, closing `issue
149`_. The
``concurrency`` setting, or the ``--concurrency`` command line switch,
specifies the concurrency library in use. Huge thanks to Peter
Portante for
initial implementation, and to Joe Jevnik for the final insight that
completed the work.
- Wildly experimental: support for measuring processes started by the
multiprocessing module. To use, set ``--concurrency=multiprocessing``,
either on the command line or in the .coveragerc file (`issue 117`_).
Thanks,
Eduardo Schettino. Currently, this does not work on Windows.
New features:
- Options are now also read from a setup.cfg file, if any. Sections are
prefixed with "coverage:", so the ``[run]`` options will be read from the
``[coverage:run]`` section of setup.cfg. Finishes `issue 304`_.
- A new option: `coverage report --skip-covered` (or ``[report]
skip_covered``)
will reduce the number of files reported by skipping files with 100%
coverage. Thanks, Krystian Kichewko. This means that empty
`__init__.py`
files will be skipped, since they are 100% covered, closing `issue 315`_.
- You can now specify the ``--fail-under`` option in the ``.coveragerc``
file
as the ``[report] fail_under`` options. This closes `issue 314`_.
- The ``report`` command can now show missing branches when reporting on
branch
coverage. Thanks, Steve Leonard. Closes `issue 230`_.
- The ``coverage combine`` command now accepts any number of directories or
files as arguments, and will combine all the data from them. This
means you
don't have to copy the files to one directory before combining. Thanks,
Christine Lytwynec. Finishes `issue 354`_.
- A new configuration option for the XML report: ``[xml] package_depth``
controls which directories are identified as packages in the report.
Directories deeper than this depth are not reported as packages.
The default is that all directories are reported as packages.
Thanks, Lex Berezhny.
- A new configuration option, ``[run] note``, lets you set a note that
will be
stored in the `runs` section of the data file. You can use this to
annotate
the data file with any information you like.
- The COVERAGE_DEBUG environment variable can be used to set the ``[run]
debug``
configuration option to control what internal operations are logged.
--- End forwarded message ---
More information about the OpenStack-dev
mailing list