summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2015-02-16 20:42:36 -0500
committerNed Batchelder <ned@nedbatchelder.com>2015-02-16 20:42:36 -0500
commite0ad5837194a4a8cd1a2ddf392c5b0db6a80e705 (patch)
treef4cf58fa5f9a9de708cadbb2cd513c8e1f4dd08a
parent8011c04d5585e4d3963da0107f8d3bf2a457a458 (diff)
downloadpython-coveragepy-git-e0ad5837194a4a8cd1a2ddf392c5b0db6a80e705.tar.gz
Ship 4.0a5coverage-4.0a5
-rw-r--r--CHANGES.txt10
-rw-r--r--doc/changes.rst34
-rw-r--r--doc/conf.py2
-rw-r--r--doc/index.rst7
-rw-r--r--doc/install.rst38
-rw-r--r--howto.txt1
-rw-r--r--tests/test_plugins.py2
7 files changed, 75 insertions, 19 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index 95a70c2d..f96db6e5 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -3,13 +3,14 @@ Change history for Coverage.py
------------------------------
-Latest
-------
+Version 4.0a5 --- 16 February 2015
+----------------------------------
- Plugin support is now implemented in the C tracer instead of the Python
tracer. This greatly improves the speed of tracing projects using plugins.
-- Added 3.5.0a1 to the list of supported CPython versions.
+- Coverage.py now always adds the current directory to sys.path, so that
+ plugins can import files in the current directory (`issue 358`_).
- If the `config_file` argument to the Coverage constructor is specified as
".coveragerc", it is treated as if it were True. This means setup.cfg is
@@ -27,8 +28,7 @@ Latest
only once, no matter how many times it is called. This fixes problems due
to unusual virtualenv configurations (`issue 340`_).
-- Coverage.py now always adds the current directory to sys.path, so that
- plugins can import files in the current directory (`issue 358`_).
+- Added 3.5.0a1 to the list of supported CPython versions.
.. _issue 117: https://bitbucket.org/ned/coveragepy/issue/117/enable-coverage-measurement-of-code-run-by
.. _issue 340: https://bitbucket.org/ned/coveragepy/issue/340/keyerror-subpy
diff --git a/doc/changes.rst b/doc/changes.rst
index 611f30d5..c19d42f3 100644
--- a/doc/changes.rst
+++ b/doc/changes.rst
@@ -37,12 +37,12 @@ history, see the `CHANGES.txt`_ file in the source tree.
.. _changes_40:
-Version 4.0a4 pre-release --- 25 January 2015
----------------------------------------------
+Version 4.0a5 pre-release --- 16 February 2015
+----------------------------------------------
Backward incompatibilities:
-- CPython versions supported are now Python 2.6, 2.7, 3.3, and 3.4.
+- CPython versions supported are now Python 2.6, 2.7, 3.3, 3.4 and 3.5a1.
PyPy2 2.4 and PyPy3 2.4 are also supported.
- The original command line switches (`-x` to run a program, etc) are no
@@ -62,6 +62,15 @@ Major new features:
index page, and only modules with that text in the name will be shown.
Thanks, Danny Allen.
+- 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.
+
+- 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
@@ -87,6 +96,9 @@ New features:
Improvements:
+- Coverage.py now always adds the current directory to sys.path, so that
+ plugins can import files in the current directory (`issue 358`_).
+
- The ``--debug`` switch can now be used on any command.
- The XML report now contains a <source> element, fixing `issue 94`_. Thanks
@@ -100,6 +112,13 @@ Improvements:
regression, I apologize. This was reported in `issue 235`_, which is now
fixed.
+- A new warning is possible, if a desired file isn't measured because it was
+ imported before coverage was started (`issue 353`_).
+
+- The `coverage.process_startup` function now will start coverage measurement
+ only once, no matter how many times it is called. This fixes problems due
+ to unusual virtualenv configurations (`issue 340`_).
+
API changes:
- The class defined in the coverage module is now called ``Coverage`` instead
@@ -108,6 +127,10 @@ API changes:
- You can now programmatically adjust the configuration of coverage by setting
items on `Coverage.config` after construction.
+- If the `config_file` argument to the Coverage constructor is specified as
+ ".coveragerc", it is treated as if it were True. This means setup.cfg is
+ also examined, and a missing file is not considered an error (`issue 357`_).
+
Bug fixes:
- The textual report and the HTML report used to report partial branches
@@ -133,6 +156,7 @@ Bug fixes:
.. _issue 57: https://bitbucket.org/ned/coveragepy/issue/57/annotate-command-fails-to-annotate-many
.. _issue 69: https://bitbucket.org/ned/coveragepy/issue/69/coverage-html-overwrite-files-that-doesnt
.. _issue 94: https://bitbucket.org/ned/coveragepy/issue/94/coverage-xml-doesnt-produce-sources
+.. _issue 117: https://bitbucket.org/ned/coveragepy/issue/117/enable-coverage-measurement-of-code-run-by
.. _issue 149: https://bitbucket.org/ned/coveragepy/issue/149/coverage-gevent-looks-broken
.. _issue 230: https://bitbucket.org/ned/coveragepy/issue/230/show-line-no-for-missing-branches-in
.. _issue 235: https://bitbucket.org/ned/coveragepy/issue/235/package-name-is-missing-in-xml-report
@@ -143,8 +167,12 @@ Bug fixes:
.. _issue 314: https://bitbucket.org/ned/coveragepy/issue/314/fail_under-param-not-working-in-coveragerc
.. _issue 315: https://bitbucket.org/ned/coveragepy/issue/315/option-to-omit-empty-files-eg-__init__py
.. _issue 331: https://bitbucket.org/ned/coveragepy/issue/331/failure-of-encoding-detection-on-python2
+.. _issue 340: https://bitbucket.org/ned/coveragepy/issue/340/keyerror-subpy
.. _issue 342: https://bitbucket.org/ned/coveragepy/issue/342/console-and-html-coverage-reports-differ
.. _issue 345: https://bitbucket.org/ned/coveragepy/issue/345/xml-reports-line-rate-0-for-empty-files
+.. _issue 353: https://bitbucket.org/ned/coveragepy/issue/353/40a3-introduces-an-unexpected-third-case
+.. _issue 357: https://bitbucket.org/ned/coveragepy/issue/357/behavior-changed-when-coveragerc-is
+.. _issue 358: https://bitbucket.org/ned/coveragepy/issue/358/all-coverage-commands-should-adjust
.. _changes_371:
diff --git a/doc/conf.py b/doc/conf.py
index d31f2d25..49bcf393 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -56,7 +56,7 @@ copyright = u'2009\N{EN DASH}2015, Ned Batchelder'
# The short X.Y version.
version = '4.0'
# The full version, including alpha/beta/rc tags.
-release = '4.0a4'
+release = '4.0a5'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
diff --git a/doc/index.rst b/doc/index.rst
index 637077c6..5603a8ac 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -33,6 +33,7 @@ coverage.py
.. :history: 20131212T213300, Updated for 3.7.1
.. :history: 20140924T073000, Updated for 4.0a1
.. :history: 20150124T023900, Updated for 4.0a4
+.. :history: 20150216T201000, Updated for 4.0a5
Coverage.py is a tool for measuring code coverage of Python programs. It
@@ -50,9 +51,9 @@ not.
.. ifconfig:: prerelease
- The latest version is coverage.py 4.0a4, released 25 January 2015.
- It is supported on Python versions 2.6 through 3.4, PyPy 2.2 through 2.4,
- and PyPy3 2.3 and 2.4.
+ The latest version is coverage.py 4.0a5, released 16 February 2015.
+ It is supported on Python versions 2.6, 2.7, 3.3, 3.4, and 3.5a1, as well
+ as PyPy 2.4, and PyPy3 2.4.
**This is a pre-release build. The usual warnings about possible bugs apply.**
The latest stable version is coverage.py 3.7.1, `described here`_.
diff --git a/doc/install.rst b/doc/install.rst
index be71cb00..c3b13298 100644
--- a/doc/install.rst
+++ b/doc/install.rst
@@ -79,12 +79,38 @@ Checking the installation
-------------------------
If all went well, you should be able to open a command prompt, and see coverage
-installed properly::
+installed properly:
- $ coverage --version
- Coverage.py, version 4.0a4. http://nedbatchelder.com/code/coverage
+.. ifconfig:: not prerelease
-You can also invoke coverage as a module::
+ .. parsed-literal::
- $ python -m coverage --version
- Coverage.py, version 4.0a4. http://nedbatchelder.com/code/coverage
+ $ coverage --version
+ Coverage.py, version |release|.
+ Documentation at https://coverage.readthedocs.org
+
+.. ifconfig:: prerelease
+
+ .. parsed-literal::
+
+ $ coverage --version
+ Coverage.py, version |release|.
+ Documentation at https://coverage.readthedocs.org/en/coverage-|release|
+
+You can also invoke coverage as a module:
+
+.. ifconfig:: not prerelease
+
+ .. parsed-literal::
+
+ $ python -m coverage --version
+ Coverage.py, version |release|.
+ Documentation at https://coverage.readthedocs.org
+
+.. ifconfig:: prerelease
+
+ .. parsed-literal::
+
+ $ python -m coverage --version
+ Coverage.py, version |release|.
+ Documentation at https://coverage.readthedocs.org/en/coverage-|release|
diff --git a/howto.txt b/howto.txt
index 308d234f..e37a949b 100644
--- a/howto.txt
+++ b/howto.txt
@@ -14,7 +14,6 @@
- Version, date, and changes in doc/changes.rst
- Version and date in doc/index.rst
- Version and copyright date in doc/conf.py
- - Version --version output in doc/install.rst
- Don't forget the man page: doc/python-coverage.1.txt
- Generate new sample_html to get the latest, incl footer version number:
pip install -e .
diff --git a/tests/test_plugins.py b/tests/test_plugins.py
index 95c5e3d3..74f78cf4 100644
--- a/tests/test_plugins.py
+++ b/tests/test_plugins.py
@@ -431,6 +431,8 @@ class BadPluginTest(FileTracerTest):
""")
self.run_bad_plugin("bad_plugin", our_error=False)
+ # This test currently crashes the C tracer function. I'm working on
+ # figuring out why....
def xxx_dynamic_source_filename_fails(self):
self.make_file("bad_plugin.py", """\
import coverage.plugin