Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(58)

Side by Side Diff: tools/telemetry/third_party/coverage/CHANGES.txt

Issue 1366913004: Add coverage Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 .. Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
2 .. For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt
3
4 ==============================
5 Change history for Coverage.py
6 ==============================
7
8
9 Version 4.0 --- 20 September 2015
10 ---------------------------------
11
12 No changes from 4.0b3
13
14
15 Version 4.0b3 --- 7 September 2015
16 ----------------------------------
17
18 - Reporting on an unmeasured file would fail with a traceback. This is now
19 fixed, closing `issue 403`_.
20
21 - The Jenkins ShiningPanda plugin looks for an obsolete file name to find the
22 HTML reports to publish, so it was failing under coverage.py 4.0. Now we
23 create that file if we are running under Jenkins, to keep things working
24 smoothly. `issue 404`_.
25
26 - Kits used to include tests and docs, but didn't install them anywhere, or
27 provide all of the supporting tools to make them useful. Kits no longer
28 include tests and docs. If you were using them from the older packages, get
29 in touch and help me understand how.
30
31 .. _issue 403: https://bitbucket.org/ned/coveragepy/issues/403/hasherupdate-fail s-with-typeerror-nonetype
32 .. _issue 404: https://bitbucket.org/ned/coveragepy/issues/404/shiningpanda-jenk ins-plugin-cant-find-html
33
34
35
36 Version 4.0b2 --- 22 August 2015
37 --------------------------------
38
39 - 4.0b1 broke --append creating new data files. This is now fixed, closing
40 `issue 392`_.
41
42 - ``py.test --cov`` can write empty data, then touch files due to ``--source``,
43 which made coverage.py mistakenly force the data file to record lines instead
44 of arcs. This would lead to a "Can't combine line data with arc data" error
45 message. This is now fixed, and changed some method names in the
46 CoverageData interface. Fixes `issue 399`_.
47
48 - `CoverageData.read_fileobj` and `CoverageData.write_fileobj` replace the
49 `.read` and `.write` methods, and are now properly inverses of each other.
50
51 - When using ``report --skip-covered``, a message will now be included in the
52 report output indicating how many files were skipped, and if all files are
53 skipped, coverage.py won't accidentally scold you for having no data to
54 report. Thanks, Krystian Kichewko.
55
56 - A new conversion utility has been added: ``python -m coverage.pickle2json``
57 will convert v3.x pickle data files to v4.x JSON data files. Thanks,
58 Alexander Todorov. Closes `issue 395`_.
59
60 - A new version identifier is available, `coverage.version_info`, a plain tuple
61 of values similar to `sys.version_info`_.
62
63 .. _issue 392: https://bitbucket.org/ned/coveragepy/issues/392/run-append-doesnt -create-coverage-file
64 .. _issue 395: https://bitbucket.org/ned/coveragepy/issues/395/rfe-read-pickled- files-as-well-for
65 .. _issue 399: https://bitbucket.org/ned/coveragepy/issues/399/coverageexception -cant-combine-line-data
66 .. _sys.version_info: https://docs.python.org/3/library/sys.html#sys.version_inf o
67
68
69 Version 4.0b1 --- 2 August 2015
70 -------------------------------
71
72 - Coverage.py is now licensed under the Apache 2.0 license. See NOTICE.txt for
73 details. Closes `issue 313`_.
74
75 - The data storage has been completely revamped. The data file is now
76 JSON-based instead of a pickle, closing `issue 236`_. The `CoverageData`
77 class is now a public supported documented API to the data file.
78
79 - A new configuration option, ``[run] note``, lets you set a note that will be
80 stored in the `runs` section of the data file. You can use this to annotate
81 the data file with any information you like.
82
83 - Unrecognized configuration options will now print an error message and stop
84 coverage.py. This should help prevent configuration mistakes from passing
85 silently. Finishes `issue 386`_.
86
87 - In parallel mode, ``coverage erase`` will now delete all of the data files,
88 fixing `issue 262`_.
89
90 - Coverage.py now accepts a directory name for ``coverage run`` and will run a
91 ``__main__.py`` found there, just like Python will. Fixes `issue 252`_.
92 Thanks, Dmitry Trofimov.
93
94 - The XML report now includes a ``missing-branches`` attribute. Thanks, Steve
95 Peak. This is not a part of the Cobertura DTD, so the XML report no longer
96 references the DTD.
97
98 - Missing branches in the HTML report now have a bit more information in the
99 right-hand annotations. Hopefully this will make their meaning clearer.
100
101 - All the reporting functions now behave the same if no data had been
102 collected, exiting with a status code of 1. Fixed ``fail_under`` to be
103 applied even when the report is empty. Thanks, Ionel Cristian Mărieș.
104
105 - Plugins are now initialized differently. Instead of looking for a class
106 called ``Plugin``, coverage.py looks for a function called ``coverage_init``.
107
108 - A file-tracing plugin can now ask to have built-in Python reporting by
109 returning `"python"` from its `file_reporter()` method.
110
111 - Code that was executed with `exec` would be mis-attributed to the file that
112 called it. This is now fixed, closing `issue 380`_.
113
114 - The ability to use item access on `Coverage.config` (introduced in 4.0a2) has
115 been changed to a more explicit `Coverage.get_option` and
116 `Coverage.set_option` API.
117
118 - The ``Coverage.use_cache`` method is no longer supported.
119
120 - The private method ``Coverage._harvest_data`` is now called
121 ``Coverage.get_data``, and returns the ``CoverageData`` containing the
122 collected data.
123
124 - The project is consistently referred to as "coverage.py" throughout the code
125 and the documentation, closing `issue 275`_.
126
127 - Combining data files with an explicit configuration file was broken in 4.0a6,
128 but now works again, closing `issue 385`_.
129
130 - ``coverage combine`` now accepts files as well as directories.
131
132 - The speed is back to 3.7.1 levels, after having slowed down due to plugin
133 support, finishing up `issue 387`_.
134
135 .. _issue 236: https://bitbucket.org/ned/coveragepy/issues/236/pickles-are-bad-a nd-you-should-feel-bad
136 .. _issue 252: https://bitbucket.org/ned/coveragepy/issues/252/coverage-wont-run -a-program-with
137 .. _issue 262: https://bitbucket.org/ned/coveragepy/issues/262/when-parallel-tru e-erase-should-erase-all
138 .. _issue 275: https://bitbucket.org/ned/coveragepy/issues/275/refer-consistentl y-to-project-as-coverage
139 .. _issue 313: https://bitbucket.org/ned/coveragepy/issues/313/add-license-file- containing-2-3-or-4
140 .. _issue 380: https://bitbucket.org/ned/coveragepy/issues/380/code-executed-by- exec-excluded-from
141 .. _issue 385: https://bitbucket.org/ned/coveragepy/issues/385/coverage-combine- doesnt-work-with-rcfile
142 .. _issue 386: https://bitbucket.org/ned/coveragepy/issues/386/error-on-unrecogn ised-configuration
143 .. _issue 387: https://bitbucket.org/ned/coveragepy/issues/387/performance-degra dation-from-371-to-40
144
145 .. 40 issues closed in 4.0 below here
146
147
148 Version 4.0a6 --- 21 June 2015
1 ------------------------------ 149 ------------------------------
2 Change history for Coverage.py 150
3 ------------------------------ 151 - Python 3.5b2 and PyPy 2.6.0 are supported.
4 152
5 3.7.1 -- 13 December 2013 153 - The original module-level function interface to coverage.py is no longer
6 ------------------------- 154 supported. You must now create a ``coverage.Coverage`` object, and use
155 methods on it.
156
157 - The ``coverage combine`` command now accepts any number of directories as
158 arguments, and will combine all the data files from those directories. This
159 means you don't have to copy the files to one directory before combining.
160 Thanks, Christine Lytwynec. Finishes `issue 354`_.
161
162 - Branch coverage couldn't properly handle certain extremely long files. This
163 is now fixed (`issue 359`_).
164
165 - Branch coverage didn't understand yield statements properly. Mickie Betz
166 persisted in pursuing this despite Ned's pessimism. Fixes `issue 308`_ and
167 `issue 324`_.
168
169 - The COVERAGE_DEBUG environment variable can be used to set the ``[run] debug``
170 configuration option to control what internal operations are logged.
171
172 - HTML reports were truncated at formfeed characters. This is now fixed
173 (`issue 360`_). It's always fun when the problem is due to a `bug in the
174 Python standard library <http://bugs.python.org/issue19035>`_.
175
176 - Files with incorrect encoding declaration comments are no longer ignored by
177 the reporting commands, fixing `issue 351`_.
178
179 - HTML reports now include a timestamp in the footer, closing `issue 299`_.
180 Thanks, Conrad Ho.
181
182 - HTML reports now begrudgingly use double-quotes rather than single quotes,
183 because there are "software engineers" out there writing tools that read HTML
184 and somehow have no idea that single quotes exist. Capitulates to the absurd
185 `issue 361`_. Thanks, Jon Chappell.
186
187 - The ``coverage annotate`` command now handles non-ASCII characters properly,
188 closing `issue 363`_. Thanks, Leonardo Pistone.
189
190 - Drive letters on Windows were not normalized correctly, now they are. Thanks,
191 Ionel Cristian Mărieș.
192
193 - Plugin support had some bugs fixed, closing `issue 374`_ and `issue 375`_.
194 Thanks, Stefan Behnel.
195
196 .. _issue 299: https://bitbucket.org/ned/coveragepy/issue/299/inserted-created-o n-yyyy-mm-dd-hh-mm-in
197 .. _issue 308: https://bitbucket.org/ned/coveragepy/issue/308/yield-lambda-branc h-coverage
198 .. _issue 324: https://bitbucket.org/ned/coveragepy/issue/324/yield-in-loop-conf uses-branch-coverage
199 .. _issue 351: https://bitbucket.org/ned/coveragepy/issue/351/files-with-incorre ct-encoding-are-ignored
200 .. _issue 354: https://bitbucket.org/ned/coveragepy/issue/354/coverage-combine-s hould-take-a-list-of
201 .. _issue 359: https://bitbucket.org/ned/coveragepy/issue/359/xml-report-chunk-e rror
202 .. _issue 360: https://bitbucket.org/ned/coveragepy/issue/360/html-reports-get-c onfused-by-l-in-the-code
203 .. _issue 361: https://bitbucket.org/ned/coveragepy/issue/361/use-double-quotes- in-html-output-to
204 .. _issue 363: https://bitbucket.org/ned/coveragepy/issue/363/annotate-command-h its-unicode-happy-fun
205 .. _issue 374: https://bitbucket.org/ned/coveragepy/issue/374/c-tracer-lookups-f ail-in
206 .. _issue 375: https://bitbucket.org/ned/coveragepy/issue/375/ctracer_handle_ret urn-reads-byte-code
207
208
209 Version 4.0a5 --- 16 February 2015
210 ----------------------------------
211
212 - Plugin support is now implemented in the C tracer instead of the Python
213 tracer. This greatly improves the speed of tracing projects using plugins.
214
215 - Coverage.py now always adds the current directory to sys.path, so that
216 plugins can import files in the current directory (`issue 358`_).
217
218 - If the `config_file` argument to the Coverage constructor is specified as
219 ".coveragerc", it is treated as if it were True. This means setup.cfg is
220 also examined, and a missing file is not considered an error (`issue 357`_).
221
222 - Wildly experimental: support for measuring processes started by the
223 multiprocessing module. To use, set ``--concurrency=multiprocessing``,
224 either on the command line or in the .coveragerc file (`issue 117`_). Thanks,
225 Eduardo Schettino. Currently, this does not work on Windows.
226
227 - A new warning is possible, if a desired file isn't measured because it was
228 imported before coverage.py was started (`issue 353`_).
229
230 - The `coverage.process_startup` function now will start coverage measurement
231 only once, no matter how many times it is called. This fixes problems due
232 to unusual virtualenv configurations (`issue 340`_).
233
234 - Added 3.5.0a1 to the list of supported CPython versions.
235
236 .. _issue 117: https://bitbucket.org/ned/coveragepy/issue/117/enable-coverage-me asurement-of-code-run-by
237 .. _issue 340: https://bitbucket.org/ned/coveragepy/issue/340/keyerror-subpy
238 .. _issue 353: https://bitbucket.org/ned/coveragepy/issue/353/40a3-introduces-an -unexpected-third-case
239 .. _issue 357: https://bitbucket.org/ned/coveragepy/issue/357/behavior-changed-w hen-coveragerc-is
240 .. _issue 358: https://bitbucket.org/ned/coveragepy/issue/358/all-coverage-comma nds-should-adjust
241
242
243 Version 4.0a4 --- 25 January 2015
244 ---------------------------------
245
246 - Plugins can now provide sys_info for debugging output.
247
248 - Started plugins documentation.
249
250 - Prepared to move the docs to readthedocs.org.
251
252
253 Version 4.0a3 --- 20 January 2015
254 ---------------------------------
255
256 - Reports now use file names with extensions. Previously, a report would
257 describe a/b/c.py as "a/b/c". Now it is shown as "a/b/c.py". This allows
258 for better support of non-Python files, and also fixed `issue 69`_.
259
260 - The XML report now reports each directory as a package again. This was a bad
261 regression, I apologize. This was reported in `issue 235`_, which is now
262 fixed.
263
264 - A new configuration option for the XML report: ``[xml] package_depth``
265 controls which directories are identified as packages in the report.
266 Directories deeper than this depth are not reported as packages.
267 The default is that all directories are reported as packages.
268 Thanks, Lex Berezhny.
269
270 - When looking for the source for a frame, check if the file exists. On
271 Windows, .pyw files are no longer recorded as .py files. Along the way, this
272 fixed `issue 290`_.
273
274 - Empty files are now reported as 100% covered in the XML report, not 0%
275 covered (`issue 345`_).
276
277 - Regexes in the configuration file are now compiled as soon as they are read,
278 to provide error messages earlier (`issue 349`_).
279
280 .. _issue 69: https://bitbucket.org/ned/coveragepy/issue/69/coverage-html-overwr ite-files-that-doesnt
281 .. _issue 235: https://bitbucket.org/ned/coveragepy/issue/235/package-name-is-mi ssing-in-xml-report
282 .. _issue 290: https://bitbucket.org/ned/coveragepy/issue/290/running-programmat ically-with-pyw-files
283 .. _issue 345: https://bitbucket.org/ned/coveragepy/issue/345/xml-reports-line-r ate-0-for-empty-files
284 .. _issue 349: https://bitbucket.org/ned/coveragepy/issue/349/bad-regex-in-confi g-should-get-an-earlier
285
286
287 Version 4.0a2 --- 14 January 2015
288 ---------------------------------
289
290 - Officially support PyPy 2.4, and PyPy3 2.4. Drop support for
291 CPython 3.2 and older versions of PyPy. The code won't work on CPython 3.2.
292 It will probably still work on older versions of PyPy, but I'm not testing
293 against them.
294
295 - Plugins!
296
297 - The original command line switches (`-x` to run a program, etc) are no
298 longer supported.
299
300 - A new option: `coverage report --skip-covered` will reduce the number of
301 files reported by skipping files with 100% coverage. Thanks, Krystian
302 Kichewko. This means that empty `__init__.py` files will be skipped, since
303 they are 100% covered, closing `issue 315`_.
304
305 - You can now specify the ``--fail-under`` option in the ``.coveragerc`` file
306 as the ``[report] fail_under`` option. This closes `issue 314`_.
307
308 - The ``COVERAGE_OPTIONS`` environment variable is no longer supported. It was
309 a hack for ``--timid`` before configuration files were available.
310
311 - The HTML report now has filtering. Type text into the Filter box on the
312 index page, and only modules with that text in the name will be shown.
313 Thanks, Danny Allen.
314
315 - The textual report and the HTML report used to report partial branches
316 differently for no good reason. Now the text report's "missing branches"
317 column is a "partial branches" column so that both reports show the same
318 numbers. This closes `issue 342`_.
319
320 - If you specify a ``--rcfile`` that cannot be read, you will get an error
321 message. Fixes `issue 343`_.
322
323 - The ``--debug`` switch can now be used on any command.
324
325 - You can now programmatically adjust the configuration of coverage.py by
326 setting items on `Coverage.config` after construction.
327
328 - A module run with ``-m`` can be used as the argument to ``--source``, fixing
329 `issue 328`_. Thanks, Buck Evan.
330
331 - The regex for matching exclusion pragmas has been fixed to allow more kinds
332 of whitespace, fixing `issue 334`_.
333
334 - Made some PyPy-specific tweaks to improve speed under PyPy. Thanks, Alex
335 Gaynor.
336
337 - In some cases, with a source file missing a final newline, coverage.py would
338 count statements incorrectly. This is now fixed, closing `issue 293`_.
339
340 - The status.dat file that HTML reports use to avoid re-creating files that
341 haven't changed is now a JSON file instead of a pickle file. This obviates
342 `issue 287`_ and `issue 237`_.
343
344 .. _issue 237: https://bitbucket.org/ned/coveragepy/issue/237/htmlcov-with-corru pt-statusdat
345 .. _issue 287: https://bitbucket.org/ned/coveragepy/issue/287/htmlpy-doesnt-spec ify-pickle-protocol
346 .. _issue 293: https://bitbucket.org/ned/coveragepy/issue/293/number-of-statemen t-detection-wrong-if-no
347 .. _issue 314: https://bitbucket.org/ned/coveragepy/issue/314/fail_under-param-n ot-working-in-coveragerc
348 .. _issue 315: https://bitbucket.org/ned/coveragepy/issue/315/option-to-omit-emp ty-files-eg-__init__py
349 .. _issue 328: https://bitbucket.org/ned/coveragepy/issue/328/misbehavior-in-run -source
350 .. _issue 334: https://bitbucket.org/ned/coveragepy/issue/334/pragma-not-recogni zed-if-tab-character
351 .. _issue 342: https://bitbucket.org/ned/coveragepy/issue/342/console-and-html-c overage-reports-differ
352 .. _issue 343: https://bitbucket.org/ned/coveragepy/issue/343/an-explicitly-name d-non-existent-config
353
354
355 Version 4.0a1 --- 27 September 2014
356 -----------------------------------
357
358 - Python versions supported are now CPython 2.6, 2.7, 3.2, 3.3, and 3.4, and
359 PyPy 2.2.
360
361 - Gevent, eventlet, and greenlet are now supported, closing `issue 149`_.
362 The ``concurrency`` setting specifies the concurrency library in use. Huge
363 thanks to Peter Portante for initial implementation, and to Joe Jevnik for
364 the final insight that completed the work.
365
366 - Options are now also read from a setup.cfg file, if any. Sections are
367 prefixed with "coverage:", so the ``[run]`` options will be read from the
368 ``[coverage:run]`` section of setup.cfg. Finishes `issue 304`_.
369
370 - The ``report -m`` command can now show missing branches when reporting on
371 branch coverage. Thanks, Steve Leonard. Closes `issue 230`_.
372
373 - The XML report now contains a <source> element, fixing `issue 94`_. Thanks
374 Stan Hu.
375
376 - The class defined in the coverage module is now called ``Coverage`` instead
377 of ``coverage``, though the old name still works, for backward compatibility.
378
379 - The ``fail-under`` value is now rounded the same as reported results,
380 preventing paradoxical results, fixing `issue 284`_.
381
382 - The XML report will now create the output directory if need be, fixing
383 `issue 285`_. Thanks, Chris Rose.
384
385 - HTML reports no longer raise UnicodeDecodeError if a Python file has
386 undecodable characters, fixing `issue 303`_ and `issue 331`_.
387
388 - The annotate command will now annotate all files, not just ones relative to
389 the current directory, fixing `issue 57`_.
390
391 - The coverage module no longer causes deprecation warnings on Python 3.4 by
392 importing the imp module, fixing `issue 305`_.
393
394 - Encoding declarations in source files are only considered if they are truly
395 comments. Thanks, Anthony Sottile.
396
397 .. _issue 57: https://bitbucket.org/ned/coveragepy/issue/57/annotate-command-fai ls-to-annotate-many
398 .. _issue 94: https://bitbucket.org/ned/coveragepy/issue/94/coverage-xml-doesnt- produce-sources
399 .. _issue 149: https://bitbucket.org/ned/coveragepy/issue/149/coverage-gevent-lo oks-broken
400 .. _issue 230: https://bitbucket.org/ned/coveragepy/issue/230/show-line-no-for-m issing-branches-in
401 .. _issue 284: https://bitbucket.org/ned/coveragepy/issue/284/fail-under-should- show-more-precision
402 .. _issue 285: https://bitbucket.org/ned/coveragepy/issue/285/xml-report-fails-i f-output-file-directory
403 .. _issue 303: https://bitbucket.org/ned/coveragepy/issue/303/unicodedecodeerror
404 .. _issue 304: https://bitbucket.org/ned/coveragepy/issue/304/attempt-to-get-con figuration-from-setupcfg
405 .. _issue 305: https://bitbucket.org/ned/coveragepy/issue/305/pendingdeprecation warning-the-imp-module
406 .. _issue 331: https://bitbucket.org/ned/coveragepy/issue/331/failure-of-encodin g-detection-on-python2
407
408
409 Version 3.7.1 --- 13 December 2013
410 ----------------------------------
7 411
8 - Improved the speed of HTML report generation by about 20%. 412 - Improved the speed of HTML report generation by about 20%.
9 413
10 - Fixed the mechanism for finding OS-installed static files for the HTML report 414 - Fixed the mechanism for finding OS-installed static files for the HTML report
11 so that it will actually find OS-installed static files. 415 so that it will actually find OS-installed static files.
12 416
13 417
14 3.7 --- 6 October 2013 418 Version 3.7 --- 6 October 2013
15 ---------------------- 419 ------------------------------
16 420
17 - Added the ``--debug`` switch to ``coverage run``. It accepts a list of 421 - Added the ``--debug`` switch to ``coverage run``. It accepts a list of
18 options indicating the type of internal activity to log to stderr. 422 options indicating the type of internal activity to log to stderr.
19 423
20 - Improved the branch coverage facility, fixing `issue 92`_ and `issue 175`_. 424 - Improved the branch coverage facility, fixing `issue 92`_ and `issue 175`_.
21 425
22 - Running code with ``coverage run -m`` now behaves more like Python does, 426 - Running code with ``coverage run -m`` now behaves more like Python does,
23 setting sys.path properly, which fixes `issue 207`_ and `issue 242`_. 427 setting sys.path properly, which fixes `issue 207`_ and `issue 242`_.
24 428
25 - Coverage can now run .pyc files directly, closing `issue 264`_. 429 - Coverage.py can now run .pyc files directly, closing `issue 264`_.
26 430
27 - Coverage properly supports .pyw files, fixing `issue 261`_. 431 - Coverage.py properly supports .pyw files, fixing `issue 261`_.
28 432
29 - Omitting files within a tree specified with the ``source`` option would 433 - Omitting files within a tree specified with the ``source`` option would
30 cause them to be incorrectly marked as unexecuted, as described in 434 cause them to be incorrectly marked as unexecuted, as described in
31 `issue 218`_. This is now fixed. 435 `issue 218`_. This is now fixed.
32 436
33 - When specifying paths to alias together during data combining, you can now 437 - When specifying paths to alias together during data combining, you can now
34 specify relative paths, fixing `issue 267`_. 438 specify relative paths, fixing `issue 267`_.
35 439
36 - Most file paths can now be specified with username expansion (``~/src``, or 440 - Most file paths can now be specified with username expansion (``~/src``, or
37 ``~build/src``, for example), and with environment variable expansion 441 ``~build/src``, for example), and with environment variable expansion
38 (``build/$BUILDNUM/src``). 442 (``build/$BUILDNUM/src``).
39 443
40 - Trying to create an XML report with no files to report on, would cause a 444 - Trying to create an XML report with no files to report on, would cause a
41 ZeroDivideError, but no longer does, fixing `issue 250`_. 445 ZeroDivideError, but no longer does, fixing `issue 250`_.
42 446
43 - When running a threaded program under the Python tracer, coverage no longer 447 - When running a threaded program under the Python tracer, coverage.py no
44 issues a spurious warning about the trace function changing: "Trace function 448 longer issues a spurious warning about the trace function changing: "Trace
45 changed, measurement is likely wrong: None." This fixes `issue 164`_. 449 function changed, measurement is likely wrong: None." This fixes `issue
450 164`_.
46 451
47 - Static files necessary for HTML reports are found in system-installed places, 452 - Static files necessary for HTML reports are found in system-installed places,
48 to ease OS-level packaging of coverage.py. Closes `issue 259`_. 453 to ease OS-level packaging of coverage.py. Closes `issue 259`_.
49 454
50 - Source files with encoding declarations, but a blank first line, were not 455 - Source files with encoding declarations, but a blank first line, were not
51 decoded properly. Now they are. Thanks, Roger Hu. 456 decoded properly. Now they are. Thanks, Roger Hu.
52 457
53 - The source kit now includes the ``__main__.py`` file in the root coverage 458 - The source kit now includes the ``__main__.py`` file in the root coverage
54 directory, fixing `issue 255`_. 459 directory, fixing `issue 255`_.
55 460
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 497
93 - The C extension is optionally compiled using a different more widely-used 498 - The C extension is optionally compiled using a different more widely-used
94 technique, taking another stab at fixing `issue 80`_ once and for all. 499 technique, taking another stab at fixing `issue 80`_ once and for all.
95 500
96 - Combining data files would create entries for phantom files if used with 501 - Combining data files would create entries for phantom files if used with
97 ``source`` and path aliases. It no longer does. 502 ``source`` and path aliases. It no longer does.
98 503
99 - ``debug sys`` now shows the configuration file path that was read. 504 - ``debug sys`` now shows the configuration file path that was read.
100 505
101 - If an oddly-behaved package claims that code came from an empty-string 506 - If an oddly-behaved package claims that code came from an empty-string
102 filename, coverage.py no longer associates it with the directory name, 507 file name, coverage.py no longer associates it with the directory name,
103 fixing `issue 221`_. 508 fixing `issue 221`_.
104 509
105 .. _issue 80: https://bitbucket.org/ned/coveragepy/issue/80/is-there-a-duck-typi ng-way-to-know-we-cant 510 .. _issue 80: https://bitbucket.org/ned/coveragepy/issue/80/is-there-a-duck-typi ng-way-to-know-we-cant
106 .. _issue 221: https://bitbucket.org/ned/coveragepy/issue/221/coveragepy-incompa tible-with-pyratemp 511 .. _issue 221: https://bitbucket.org/ned/coveragepy/issue/221/coveragepy-incompa tible-with-pyratemp
107 512
108 513
109 Version 3.6b1 --- 28 November 2012 514 Version 3.6b1 --- 28 November 2012
110 ---------------------------------- 515 ----------------------------------
111 516
112 - Wildcards in ``include=`` and ``omit=`` arguments were not handled properly 517 - Wildcards in ``include=`` and ``omit=`` arguments were not handled properly
(...skipping 11 matching lines...) Expand all
124 - The reporting functions coverage.report(), coverage.html_report(), and 529 - The reporting functions coverage.report(), coverage.html_report(), and
125 coverage.xml_report() now all return a float, the total percentage covered 530 coverage.xml_report() now all return a float, the total percentage covered
126 measurement. 531 measurement.
127 532
128 - The HTML report's title can now be set in the configuration file, with the 533 - The HTML report's title can now be set in the configuration file, with the
129 ``--title`` switch on the command line, or via the API. 534 ``--title`` switch on the command line, or via the API.
130 535
131 - Configuration files now support substitution of environment variables, using 536 - Configuration files now support substitution of environment variables, using
132 syntax like ``${WORD}``. Closes `issue 97`_. 537 syntax like ``${WORD}``. Closes `issue 97`_.
133 538
134 - Embarrassingly, the `[xml] output=` setting in the .coveragerc file simply 539 - Embarrassingly, the ``[xml] output=`` setting in the .coveragerc file simply
135 didn't work. Now it does. 540 didn't work. Now it does.
136 541
137 - The XML report now consistently uses filenames for the filename attribute, 542 - The XML report now consistently uses file names for the file name attribute,
138 rather than sometimes using module names. Fixes `issue 67`_. 543 rather than sometimes using module names. Fixes `issue 67`_.
139 Thanks, Marcus Cobden. 544 Thanks, Marcus Cobden.
140 545
141 - Coverage percentage metrics are now computed slightly differently under 546 - Coverage percentage metrics are now computed slightly differently under
142 branch coverage. This means that completely unexecuted files will now 547 branch coverage. This means that completely unexecuted files will now
143 correctly have 0% coverage, fixing `issue 156`_. This also means that your 548 correctly have 0% coverage, fixing `issue 156`_. This also means that your
144 total coverage numbers will generally now be lower if you are measuring 549 total coverage numbers will generally now be lower if you are measuring
145 branch coverage. 550 branch coverage.
146 551
147 - When installing, now in addition to creating a "coverage" command, two new 552 - When installing, now in addition to creating a "coverage" command, two new
(...skipping 20 matching lines...) Expand all
168 is now fixed. 573 is now fixed.
169 574
170 - Fixed yet another error trying to parse non-Python files as Python, this 575 - Fixed yet another error trying to parse non-Python files as Python, this
171 time an IndentationError, closing `issue 82`_ for the fourth time... 576 time an IndentationError, closing `issue 82`_ for the fourth time...
172 577
173 - If `coverage xml` fails because there is no data to report, it used to 578 - If `coverage xml` fails because there is no data to report, it used to
174 create a zero-length XML file. Now it doesn't, fixing `issue 210`_. 579 create a zero-length XML file. Now it doesn't, fixing `issue 210`_.
175 580
176 - Jython files now work with the ``--source`` option, fixing `issue 100`_. 581 - Jython files now work with the ``--source`` option, fixing `issue 100`_.
177 582
178 - Running coverage under a debugger is unlikely to work, but it shouldn't fail 583 - Running coverage.py under a debugger is unlikely to work, but it shouldn't
179 with "TypeError: 'NoneType' object is not iterable". Fixes `issue 201`_. 584 fail with "TypeError: 'NoneType' object is not iterable". Fixes `issue
585 201`_.
180 586
181 - On some Linux distributions, when installed with the OS package manager, 587 - On some Linux distributions, when installed with the OS package manager,
182 coverage.py would report its own code as part of the results. Now it won't, 588 coverage.py would report its own code as part of the results. Now it won't,
183 fixing `issue 214`_, though this will take some time to be repackaged by the 589 fixing `issue 214`_, though this will take some time to be repackaged by the
184 operating systems. 590 operating systems.
185 591
186 - Docstrings for the legacy singleton methods are more helpful. Thanks Marius 592 - Docstrings for the legacy singleton methods are more helpful. Thanks Marius
187 Gedminas. Closes `issue 205`_. 593 Gedminas. Closes `issue 205`_.
188 594
189 - The pydoc tool can now show docmentation for the class `coverage.coverage`. 595 - The pydoc tool can now show documentation for the class `coverage.coverage`.
190 Closes `issue 206`_. 596 Closes `issue 206`_.
191 597
192 - Added a page to the docs about contributing to coverage.py, closing 598 - Added a page to the docs about contributing to coverage.py, closing
193 `issue 171`_. 599 `issue 171`_.
194 600
195 - When coverage.py ended unsuccessfully, it may have reported odd errors like 601 - When coverage.py ended unsuccessfully, it may have reported odd errors like
196 ``'NoneType' object has no attribute 'isabs'``. It no longer does, 602 ``'NoneType' object has no attribute 'isabs'``. It no longer does,
197 so kiss `issue 153`_ goodbye. 603 so kiss `issue 153`_ goodbye.
198 604
199 .. _issue 60: https://bitbucket.org/ned/coveragepy/issue/60/incorrect-path-to-or phaned-pyc-files 605 .. _issue 60: https://bitbucket.org/ned/coveragepy/issue/60/incorrect-path-to-or phaned-pyc-files
200 .. _issue 67: https://bitbucket.org/ned/coveragepy/issue/67/xml-report-filenames -may-be-generated 606 .. _issue 67: https://bitbucket.org/ned/coveragepy/issue/67/xml-report-filenames -may-be-generated
201 .. _issue 82: https://bitbucket.org/ned/coveragepy/issue/82/tokenerror-when-gene rating-html-report
202 .. _issue 89: https://bitbucket.org/ned/coveragepy/issue/89/on-windows-all-packa ges-are-reported-in 607 .. _issue 89: https://bitbucket.org/ned/coveragepy/issue/89/on-windows-all-packa ges-are-reported-in
203 .. _issue 97: https://bitbucket.org/ned/coveragepy/issue/97/allow-environment-va riables-to-be 608 .. _issue 97: https://bitbucket.org/ned/coveragepy/issue/97/allow-environment-va riables-to-be
204 .. _issue 100: https://bitbucket.org/ned/coveragepy/issue/100/source-directive-d oesnt-work-for-packages 609 .. _issue 100: https://bitbucket.org/ned/coveragepy/issue/100/source-directive-d oesnt-work-for-packages
205 .. _issue 111: https://bitbucket.org/ned/coveragepy/issue/111/when-installing-co verage-with-pip-not 610 .. _issue 111: https://bitbucket.org/ned/coveragepy/issue/111/when-installing-co verage-with-pip-not
206 .. _issue 137: https://bitbucket.org/ned/coveragepy/issue/137/provide-docs-with- source-distribution 611 .. _issue 137: https://bitbucket.org/ned/coveragepy/issue/137/provide-docs-with- source-distribution
207 .. _issue 139: https://bitbucket.org/ned/coveragepy/issue/139/easy-check-for-a-c ertain-coverage-in-tests 612 .. _issue 139: https://bitbucket.org/ned/coveragepy/issue/139/easy-check-for-a-c ertain-coverage-in-tests
208 .. _issue 143: https://bitbucket.org/ned/coveragepy/issue/143/omit-doesnt-seem-t o-work-in-coverage 613 .. _issue 143: https://bitbucket.org/ned/coveragepy/issue/143/omit-doesnt-seem-t o-work-in-coverage
209 .. _issue 153: https://bitbucket.org/ned/coveragepy/issue/153/non-existent-filen ame-triggers 614 .. _issue 153: https://bitbucket.org/ned/coveragepy/issue/153/non-existent-filen ame-triggers
210 .. _issue 156: https://bitbucket.org/ned/coveragepy/issue/156/a-completely-unexe cuted-file-shows-14 615 .. _issue 156: https://bitbucket.org/ned/coveragepy/issue/156/a-completely-unexe cuted-file-shows-14
211 .. _issue 163: https://bitbucket.org/ned/coveragepy/issue/163/problem-with-inclu de-and-omit-filename 616 .. _issue 163: https://bitbucket.org/ned/coveragepy/issue/163/problem-with-inclu de-and-omit-filename
212 .. _issue 171: https://bitbucket.org/ned/coveragepy/issue/171/how-to-contribute- and-run-tests 617 .. _issue 171: https://bitbucket.org/ned/coveragepy/issue/171/how-to-contribute- and-run-tests
213 .. _issue 193: https://bitbucket.org/ned/coveragepy/issue/193/unicodedecodeerror -on-htmlpy 618 .. _issue 193: https://bitbucket.org/ned/coveragepy/issue/193/unicodedecodeerror -on-htmlpy
214 .. _issue 201: https://bitbucket.org/ned/coveragepy/issue/201/coverage-using-dja ngo-14-with-pydb-on 619 .. _issue 201: https://bitbucket.org/ned/coveragepy/issue/201/coverage-using-dja ngo-14-with-pydb-on
215 .. _issue 202: https://bitbucket.org/ned/coveragepy/issue/202/get-rid-of-ez_setu ppy-and 620 .. _issue 202: https://bitbucket.org/ned/coveragepy/issue/202/get-rid-of-ez_setu ppy-and
216 .. _issue 203: https://bitbucket.org/ned/coveragepy/issue/203/duplicate-filename s-reported-when-filename 621 .. _issue 203: https://bitbucket.org/ned/coveragepy/issue/203/duplicate-filename s-reported-when-filename
217 .. _issue 205: https://bitbucket.org/ned/coveragepy/issue/205/make-pydoc-coverag e-more-friendly 622 .. _issue 205: https://bitbucket.org/ned/coveragepy/issue/205/make-pydoc-coverag e-more-friendly
218 .. _issue 206: https://bitbucket.org/ned/coveragepy/issue/206/pydoc-coveragecove rage-fails-with-an-error 623 .. _issue 206: https://bitbucket.org/ned/coveragepy/issue/206/pydoc-coveragecove rage-fails-with-an-error
219 .. _issue 210: https://bitbucket.org/ned/coveragepy/issue/210/if-theres-no-cover age-data-coverage-xml 624 .. _issue 210: https://bitbucket.org/ned/coveragepy/issue/210/if-theres-no-cover age-data-coverage-xml
220 .. _issue 214: https://bitbucket.org/ned/coveragepy/issue/214/coveragepy-measure s-itself-on-precise 625 .. _issue 214: https://bitbucket.org/ned/coveragepy/issue/214/coveragepy-measure s-itself-on-precise
221 626
222 627
223 Version 3.5.3 --- 29 September 2012 628 Version 3.5.3 --- 29 September 2012
224 ----------------------------------- 629 -----------------------------------
225 630
226 - Line numbers in the HTML report line up better with the source lines, fixing 631 - Line numbers in the HTML report line up better with the source lines, fixing
227 `issue 197`_, thanks Marius Gedminas. 632 `issue 197`_, thanks Marius Gedminas.
228 633
229 - When specifying a directory as the source= option, the directory itself no 634 - When specifying a directory as the source= option, the directory itself no
230 longer needs to have a ``__init__.py`` file, though its subdirectories do, to 635 longer needs to have a ``__init__.py`` file, though its sub-directories do,
231 be considered as source files. 636 to be considered as source files.
232 637
233 - Files encoded as UTF-8 with a BOM are now properly handled, fixing 638 - Files encoded as UTF-8 with a BOM are now properly handled, fixing
234 `issue 179`_. Thanks, Pablo Carballo. 639 `issue 179`_. Thanks, Pablo Carballo.
235 640
236 - Fixed more cases of non-Python files being reported as Python source, and 641 - Fixed more cases of non-Python files being reported as Python source, and
237 then not being able to parse them as Python. Closes `issue 82`_ (again). 642 then not being able to parse them as Python. Closes `issue 82`_ (again).
238 Thanks, Julian Berman. 643 Thanks, Julian Berman.
239 644
240 - Fixed memory leaks under Python 3, thanks, Brett Cannon. Closes `issue 147`_. 645 - Fixed memory leaks under Python 3, thanks, Brett Cannon. Closes `issue 147`_.
241 646
242 - Optimized .pyo files may not have been handled correctly, `issue 195`_. 647 - Optimized .pyo files may not have been handled correctly, `issue 195`_.
243 Thanks, Marius Gedminas. 648 Thanks, Marius Gedminas.
244 649
245 - Certain unusually named file paths could have been mangled during reporting, 650 - Certain unusually named file paths could have been mangled during reporting,
246 `issue 194`_. Thanks, Marius Gedminas. 651 `issue 194`_. Thanks, Marius Gedminas.
247 652
248 - Try to do a better job of the impossible task of detecting when we can't 653 - Try to do a better job of the impossible task of detecting when we can't
249 build the C extension, fixing `issue 183`_. 654 build the C extension, fixing `issue 183`_.
250 655
251 - Testing is now done with `tox`_, thanks, Marc Abramowitz. 656 - Testing is now done with `tox`_, thanks, Marc Abramowitz.
252 657
253 .. _issue 82: https://bitbucket.org/ned/coveragepy/issue/82/tokenerror-when-gene rating-html-report
254 .. _issue 147: https://bitbucket.org/ned/coveragepy/issue/147/massive-memory-usa ge-by-ctracer 658 .. _issue 147: https://bitbucket.org/ned/coveragepy/issue/147/massive-memory-usa ge-by-ctracer
255 .. _issue 179: https://bitbucket.org/ned/coveragepy/issue/179/htmlreporter-fails -when-source-file-is 659 .. _issue 179: https://bitbucket.org/ned/coveragepy/issue/179/htmlreporter-fails -when-source-file-is
256 .. _issue 183: https://bitbucket.org/ned/coveragepy/issue/183/install-fails-for- python-23 660 .. _issue 183: https://bitbucket.org/ned/coveragepy/issue/183/install-fails-for- python-23
257 .. _issue 194: https://bitbucket.org/ned/coveragepy/issue/194/filelocatorrelativ e_filename-could-mangle 661 .. _issue 194: https://bitbucket.org/ned/coveragepy/issue/194/filelocatorrelativ e_filename-could-mangle
258 .. _issue 195: https://bitbucket.org/ned/coveragepy/issue/195/pyo-file-handling- in-codeunit 662 .. _issue 195: https://bitbucket.org/ned/coveragepy/issue/195/pyo-file-handling- in-codeunit
259 .. _issue 197: https://bitbucket.org/ned/coveragepy/issue/197/line-numbers-in-ht ml-report-do-not-align 663 .. _issue 197: https://bitbucket.org/ned/coveragepy/issue/197/line-numbers-in-ht ml-report-do-not-align
260 .. _tox: http://tox.readthedocs.org/ 664 .. _tox: http://tox.readthedocs.org/
261 665
262 666
263
264 Version 3.5.2 --- 4 May 2012 667 Version 3.5.2 --- 4 May 2012
265 ---------------------------- 668 ----------------------------
266 669
267 No changes since 3.5.2.b1 670 No changes since 3.5.2.b1
268 671
269 672
270 Version 3.5.2b1 --- 29 April 2012 673 Version 3.5.2b1 --- 29 April 2012
271 --------------------------------- 674 ---------------------------------
272 675
273 - The HTML report has slightly tweaked controls: the buttons at the top of 676 - The HTML report has slightly tweaked controls: the buttons at the top of
274 the page are color-coded to the source lines they affect. 677 the page are color-coded to the source lines they affect.
275 678
276 - Custom CSS can be applied to the HTML report by specifying a CSS file as 679 - Custom CSS can be applied to the HTML report by specifying a CSS file as
277 the extra_css configuration value in the [html] section. 680 the ``extra_css`` configuration value in the ``[html]`` section.
278 681
279 - Source files with custom encodings declared in a comment at the top are now 682 - Source files with custom encodings declared in a comment at the top are now
280 properly handled during reporting on Python 2. Python 3 always handled them 683 properly handled during reporting on Python 2. Python 3 always handled them
281 properly. This fixes `issue 157`_. 684 properly. This fixes `issue 157`_.
282 685
283 - Backup files left behind by editors are no longer collected by the source= 686 - Backup files left behind by editors are no longer collected by the source=
284 option, fixing `issue 168`_. 687 option, fixing `issue 168`_.
285 688
286 - If a file doesn't parse properly as Python, we don't report it as an error 689 - If a file doesn't parse properly as Python, we don't report it as an error
287 if the filename seems like maybe it wasn't meant to be Python. This is a 690 if the file name seems like maybe it wasn't meant to be Python. This is a
288 pragmatic fix for `issue 82`_. 691 pragmatic fix for `issue 82`_.
289 692
290 - The ``-m`` switch on ``coverage report``, which includes missing line numbers 693 - The ``-m`` switch on ``coverage report``, which includes missing line numbers
291 in the summary report, can now be specifed as ``show_missing`` in the 694 in the summary report, can now be specified as ``show_missing`` in the
292 config file. Closes `issue 173`_. 695 config file. Closes `issue 173`_.
293 696
294 - When running a module with ``coverage run -m <modulename>``, certain details 697 - When running a module with ``coverage run -m <modulename>``, certain details
295 of the execution environment weren't the same as for 698 of the execution environment weren't the same as for
296 ``python -m <modulename>``. This had the unfortunate side-effect of making 699 ``python -m <modulename>``. This had the unfortunate side-effect of making
297 ``coverage run -m unittest discover`` not work if you had tests in a 700 ``coverage run -m unittest discover`` not work if you had tests in a
298 directory named "test". This fixes `issue 155`_ and `issue 142`_. 701 directory named "test". This fixes `issue 155`_ and `issue 142`_.
299 702
300 - Now the exit status of your product code is properly used as the process 703 - Now the exit status of your product code is properly used as the process
301 status when running ``python -m coverage run ...``. Thanks, JT Olds. 704 status when running ``python -m coverage run ...``. Thanks, JT Olds.
302 705
303 - When installing into pypy, we no longer attempt (and fail) to compile 706 - When installing into pypy, we no longer attempt (and fail) to compile
304 the C tracer function, closing `issue 166`_. 707 the C tracer function, closing `issue 166`_.
305 708
306 .. _issue 82: https://bitbucket.org/ned/coveragepy/issue/82/tokenerror-when-gene rating-html-report
307 .. _issue 142: https://bitbucket.org/ned/coveragepy/issue/142/executing-python-f ile-syspath-is-replaced 709 .. _issue 142: https://bitbucket.org/ned/coveragepy/issue/142/executing-python-f ile-syspath-is-replaced
308 .. _issue 155: https://bitbucket.org/ned/coveragepy/issue/155/cant-use-coverage- run-m-unittest-discover 710 .. _issue 155: https://bitbucket.org/ned/coveragepy/issue/155/cant-use-coverage- run-m-unittest-discover
309 .. _issue 157: https://bitbucket.org/ned/coveragepy/issue/157/chokes-on-source-f iles-with-non-utf-8 711 .. _issue 157: https://bitbucket.org/ned/coveragepy/issue/157/chokes-on-source-f iles-with-non-utf-8
310 .. _issue 166: https://bitbucket.org/ned/coveragepy/issue/166/dont-try-to-compil e-c-extension-on-pypy 712 .. _issue 166: https://bitbucket.org/ned/coveragepy/issue/166/dont-try-to-compil e-c-extension-on-pypy
311 .. _issue 168: https://bitbucket.org/ned/coveragepy/issue/168/dont-be-alarmed-by -emacs-droppings 713 .. _issue 168: https://bitbucket.org/ned/coveragepy/issue/168/dont-be-alarmed-by -emacs-droppings
312 .. _issue 173: https://bitbucket.org/ned/coveragepy/issue/173/theres-no-way-to-s pecify-show-missing-in 714 .. _issue 173: https://bitbucket.org/ned/coveragepy/issue/173/theres-no-way-to-s pecify-show-missing-in
313 715
314 716
315 Version 3.5.1 --- 23 September 2011 717 Version 3.5.1 --- 23 September 2011
316 ----------------------------------- 718 -----------------------------------
317 719
318 - The ``[paths]`` feature unfortunately didn't work in real world situations 720 - The ``[paths]`` feature unfortunately didn't work in real world situations
319 where you wanted to, you know, report on the combined data. Now all paths 721 where you wanted to, you know, report on the combined data. Now all paths
320 stored in the combined file are canonicalized properly. 722 stored in the combined file are canonicalized properly.
321 723
322 724
323 Version 3.5.1b1 --- 28 August 2011 725 Version 3.5.1b1 --- 28 August 2011
324 ---------------------------------- 726 ----------------------------------
325 727
326 - When combining data files from parallel runs, you can now instruct coverage 728 - When combining data files from parallel runs, you can now instruct
327 about which directories are equivalent on different machines. A ``[paths]`` 729 coverage.py about which directories are equivalent on different machines. A
328 section in the configuration file lists paths that are to be considered 730 ``[paths]`` section in the configuration file lists paths that are to be
329 equivalent. Finishes `issue 17`_. 731 considered equivalent. Finishes `issue 17`_.
330 732
331 - for-else constructs are understood better, and don't cause erroneous partial 733 - for-else constructs are understood better, and don't cause erroneous partial
332 branch warnings. Fixes `issue 122`_. 734 branch warnings. Fixes `issue 122`_.
333 735
334 - Branch coverage for ``with`` statements is improved, fixing `issue 128`_. 736 - Branch coverage for ``with`` statements is improved, fixing `issue 128`_.
335 737
336 - The number of partial branches reported on the HTML summary page was 738 - The number of partial branches reported on the HTML summary page was
337 different than the number reported on the individual file pages. This is 739 different than the number reported on the individual file pages. This is
338 now fixed. 740 now fixed.
339 741
340 - An explicit include directive to measure files in the Python installation 742 - An explicit include directive to measure files in the Python installation
341 wouldn't work because of the standard library exclusion. Now the include 743 wouldn't work because of the standard library exclusion. Now the include
342 directive takes precendence, and the files will be measured. Fixes 744 directive takes precedence, and the files will be measured. Fixes
343 `issue 138`_. 745 `issue 138`_.
344 746
345 - The HTML report now handles Unicode characters in Python source files 747 - The HTML report now handles Unicode characters in Python source files
346 properly. This fixes `issue 124`_ and `issue 144`_. Thanks, Devin 748 properly. This fixes `issue 124`_ and `issue 144`_. Thanks, Devin
347 Jeanpierre. 749 Jeanpierre.
348 750
349 - In order to help the core developers measure the test coverage of the 751 - In order to help the core developers measure the test coverage of the
350 standard library, Brandon Rhodes devised an aggressive hack to trick Python 752 standard library, Brandon Rhodes devised an aggressive hack to trick Python
351 into running some coverage code before anything else in the process. 753 into running some coverage.py code before anything else in the process.
352 See the coverage/fullcoverage directory if you are interested. 754 See the coverage/fullcoverage directory if you are interested.
353 755
354 .. _issue 17: http://bitbucket.org/ned/coveragepy/issue/17/support-combining-cov erage-data-from 756 .. _issue 17: http://bitbucket.org/ned/coveragepy/issue/17/support-combining-cov erage-data-from
355 .. _issue 122: http://bitbucket.org/ned/coveragepy/issue/122/for-else-always-rep orts-missing-branch 757 .. _issue 122: http://bitbucket.org/ned/coveragepy/issue/122/for-else-always-rep orts-missing-branch
356 .. _issue 124: http://bitbucket.org/ned/coveragepy/issue/124/no-arbitrary-unicod e-in-html-reports-in 758 .. _issue 124: http://bitbucket.org/ned/coveragepy/issue/124/no-arbitrary-unicod e-in-html-reports-in
357 .. _issue 128: http://bitbucket.org/ned/coveragepy/issue/128/branch-coverage-of- with-statement-in-27 759 .. _issue 128: http://bitbucket.org/ned/coveragepy/issue/128/branch-coverage-of- with-statement-in-27
358 .. _issue 138: http://bitbucket.org/ned/coveragepy/issue/138/include-should-take -precedence-over-is 760 .. _issue 138: http://bitbucket.org/ned/coveragepy/issue/138/include-should-take -precedence-over-is
359 .. _issue 144: http://bitbucket.org/ned/coveragepy/issue/144/failure-generating- html-output-for 761 .. _issue 144: http://bitbucket.org/ned/coveragepy/issue/144/failure-generating- html-output-for
360 762
361 763
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
488 .. _issue 85: http://bitbucket.org/ned/coveragepy/issue/85/threadrun-isnt-measur ed 890 .. _issue 85: http://bitbucket.org/ned/coveragepy/issue/85/threadrun-isnt-measur ed
489 891
490 892
491 Version 3.4b1 --- 21 August 2010 893 Version 3.4b1 --- 21 August 2010
492 -------------------------------- 894 --------------------------------
493 895
494 - BACKWARD INCOMPATIBILITY: the ``--omit`` and ``--include`` switches now take 896 - BACKWARD INCOMPATIBILITY: the ``--omit`` and ``--include`` switches now take
495 file patterns rather than file prefixes, closing `issue 34`_ and `issue 36`_. 897 file patterns rather than file prefixes, closing `issue 34`_ and `issue 36`_.
496 898
497 - BACKWARD INCOMPATIBILITY: the `omit_prefixes` argument is gone throughout 899 - BACKWARD INCOMPATIBILITY: the `omit_prefixes` argument is gone throughout
498 coverage.py, replaced with `omit`, a list of filename patterns suitable for 900 coverage.py, replaced with `omit`, a list of file name patterns suitable for
499 `fnmatch`. A parallel argument `include` controls what files are included. 901 `fnmatch`. A parallel argument `include` controls what files are included.
500 902
501 - The run command now has a ``--source`` switch, a list of directories or 903 - The run command now has a ``--source`` switch, a list of directories or
502 module names. If provided, coverage.py will only measure execution in those 904 module names. If provided, coverage.py will only measure execution in those
503 source files. 905 source files.
504 906
505 - Various warnings are printed to stderr for problems encountered during data 907 - Various warnings are printed to stderr for problems encountered during data
506 measurement: if a ``--source`` module has no Python source to measure, or is 908 measurement: if a ``--source`` module has no Python source to measure, or is
507 never encountered at all, or if no data is collected. 909 never encountered at all, or if no data is collected.
508 910
(...skipping 20 matching lines...) Expand all
529 suggested, this seemed blindingly obvious. 931 suggested, this seemed blindingly obvious.
530 932
531 - Line numbers in HTML source pages are clickable, linking directly to that 933 - Line numbers in HTML source pages are clickable, linking directly to that
532 line, which is highlighted on arrival. Added a link back to the index page 934 line, which is highlighted on arrival. Added a link back to the index page
533 at the bottom of each HTML page. 935 at the bottom of each HTML page.
534 936
535 - Programs that call ``os.fork`` will properly collect data from both the child 937 - Programs that call ``os.fork`` will properly collect data from both the child
536 and parent processes. Use ``coverage run -p`` to get two data files that can 938 and parent processes. Use ``coverage run -p`` to get two data files that can
537 be combined with ``coverage combine``. Fixes `issue 56`_. 939 be combined with ``coverage combine``. Fixes `issue 56`_.
538 940
539 - Coverage is now runnable as a module: ``python -m coverage``. Thanks, 941 - Coverage.py is now runnable as a module: ``python -m coverage``. Thanks,
540 Brett Cannon. 942 Brett Cannon.
541 943
542 - When measuring code running in a virtualenv, most of the system library was 944 - When measuring code running in a virtualenv, most of the system library was
543 being measured when it shouldn't have been. This is now fixed. 945 being measured when it shouldn't have been. This is now fixed.
544 946
545 - Doctest text files are no longer recorded in the coverage data, since they 947 - Doctest text files are no longer recorded in the coverage data, since they
546 can't be reported anyway. Fixes `issue 52`_ and `issue 61`_. 948 can't be reported anyway. Fixes `issue 52`_ and `issue 61`_.
547 949
548 - Jinja HTML templates compile into Python code using the HTML filename, 950 - Jinja HTML templates compile into Python code using the HTML file name,
549 which confused coverage.py. Now these files are no longer traced, fixing 951 which confused coverage.py. Now these files are no longer traced, fixing
550 `issue 82`_. 952 `issue 82`_.
551 953
552 - Source files can have more than one dot in them (foo.test.py), and will be 954 - Source files can have more than one dot in them (foo.test.py), and will be
553 treated properly while reporting. Fixes `issue 46`_. 955 treated properly while reporting. Fixes `issue 46`_.
554 956
555 - Source files with DOS line endings are now properly tokenized for syntax 957 - Source files with DOS line endings are now properly tokenized for syntax
556 coloring on non-DOS machines. Fixes `issue 53`_. 958 coloring on non-DOS machines. Fixes `issue 53`_.
557 959
558 - Unusual code structure that confused exits from methods with exits from 960 - Unusual code structure that confused exits from methods with exits from
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
750 - Removed the recursion limit in the tracer function. Previously, code that 1152 - Removed the recursion limit in the tracer function. Previously, code that
751 ran more than 500 frames deep would crash. Fixed `issue 9`_. 1153 ran more than 500 frames deep would crash. Fixed `issue 9`_.
752 1154
753 - Fixed a bizarre problem involving pyexpat, whereby lines following XML parser 1155 - Fixed a bizarre problem involving pyexpat, whereby lines following XML parser
754 invocations could be overlooked. Fixed `issue 10`_. 1156 invocations could be overlooked. Fixed `issue 10`_.
755 1157
756 - On Python 2.3, coverage.py could mis-measure code with exceptions being 1158 - On Python 2.3, coverage.py could mis-measure code with exceptions being
757 raised. This is now fixed. 1159 raised. This is now fixed.
758 1160
759 - The coverage.py code itself will now not be measured by coverage.py, and no 1161 - The coverage.py code itself will now not be measured by coverage.py, and no
760 coverage modules will be mentioned in the nose --with-cover plug-in. Fixed 1162 coverage.py modules will be mentioned in the nose --with-cover plug-in.
761 `issue 8`_. 1163 Fixed `issue 8`_.
762 1164
763 - When running source files, coverage.py now opens them in universal newline 1165 - When running source files, coverage.py now opens them in universal newline
764 mode just like Python does. This lets it run Windows files on Mac, for 1166 mode just like Python does. This lets it run Windows files on Mac, for
765 example. 1167 example.
766 1168
767 .. _issue 9: http://bitbucket.org/ned/coveragepy/issue/9 1169 .. _issue 9: http://bitbucket.org/ned/coveragepy/issue/9
768 .. _issue 10: http://bitbucket.org/ned/coveragepy/issue/10 1170 .. _issue 10: http://bitbucket.org/ned/coveragepy/issue/10
769 .. _issue 8: http://bitbucket.org/ned/coveragepy/issue/8 1171 .. _issue 8: http://bitbucket.org/ned/coveragepy/issue/8
770 1172
771 1173
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
830 extensibility. 1232 extensibility.
831 1233
832 - Removed the undocumented cache_file argument to coverage.usecache(). 1234 - Removed the undocumented cache_file argument to coverage.usecache().
833 1235
834 1236
835 Version 3.0b1 --- 7 March 2009 1237 Version 3.0b1 --- 7 March 2009
836 ------------------------------ 1238 ------------------------------
837 1239
838 Major overhaul. 1240 Major overhaul.
839 1241
840 - Coverage is now a package rather than a module. Functionality has been split 1242 - Coverage.py is now a package rather than a module. Functionality has been
841 into classes. 1243 split into classes.
842 1244
843 - The trace function is implemented in C for speed. Coverage runs are now 1245 - The trace function is implemented in C for speed. Coverage.py runs are now
844 much faster. Thanks to David Christian for productive micro-sprints and 1246 much faster. Thanks to David Christian for productive micro-sprints and
845 other encouragement. 1247 other encouragement.
846 1248
847 - Executable lines are identified by reading the line number tables in the 1249 - Executable lines are identified by reading the line number tables in the
848 compiled code, removing a great deal of complicated analysis code. 1250 compiled code, removing a great deal of complicated analysis code.
849 1251
850 - Precisely which lines are considered executable has changed in some cases. 1252 - Precisely which lines are considered executable has changed in some cases.
851 Therefore, your coverage stats may also change slightly. 1253 Therefore, your coverage stats may also change slightly.
852 1254
853 - The singleton coverage object is only created if the module-level functions 1255 - The singleton coverage object is only created if the module-level functions
854 are used. This maintains the old interface while allowing better 1256 are used. This maintains the old interface while allowing better
855 programmatic use of Coverage. 1257 programmatic use of Coverage.py.
856 1258
857 - The minimum supported Python version is 2.3. 1259 - The minimum supported Python version is 2.3.
858 1260
859 1261
860 Version 2.85 --- 14 September 2008 1262 Version 2.85 --- 14 September 2008
861 ---------------------------------- 1263 ----------------------------------
862 1264
863 - Add support for finding source files in eggs. Don't check for 1265 - Add support for finding source files in eggs. Don't check for
864 morf's being instances of ModuleType, instead use duck typing so that 1266 morf's being instances of ModuleType, instead use duck typing so that
865 pseudo-modules can participate. Thanks, Imri Goldberg. 1267 pseudo-modules can participate. Thanks, Imri Goldberg.
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
943 1345
944 Version 2.5 --- 4 December 2005 1346 Version 2.5 --- 4 December 2005
945 ------------------------------- 1347 -------------------------------
946 1348
947 - Call threading.settrace so that all threads are measured. Thanks Martin 1349 - Call threading.settrace so that all threads are measured. Thanks Martin
948 Fuzzey. 1350 Fuzzey.
949 1351
950 - Add a file argument to report so that reports can be captured to a different 1352 - Add a file argument to report so that reports can be captured to a different
951 destination. 1353 destination.
952 1354
953 - coverage.py can now measure itself. 1355 - Coverage.py can now measure itself.
954 1356
955 - Adapted Greg Rogers' patch for using relative file names, and sorting and 1357 - Adapted Greg Rogers' patch for using relative file names, and sorting and
956 omitting files to report on. 1358 omitting files to report on.
957 1359
958 1360
959 Version 2.2 --- 31 December 2004 1361 Version 2.2 --- 31 December 2004
960 -------------------------------- 1362 --------------------------------
961 1363
962 - Allow for keyword arguments in the module global functions. Thanks, Allen. 1364 - Allow for keyword arguments in the module global functions. Thanks, Allen.
963 1365
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
1000 2001-12-12 GDR Added command-line help. Cache analysis so that it only needs to 1402 2001-12-12 GDR Added command-line help. Cache analysis so that it only needs to
1001 be done once when you specify -a and -r. 1403 be done once when you specify -a and -r.
1002 1404
1003 2001-12-13 GDR Improved speed while recording. Portable between Python 1.5.2 1405 2001-12-13 GDR Improved speed while recording. Portable between Python 1.5.2
1004 and 2.1.1. 1406 and 2.1.1.
1005 1407
1006 2002-01-03 GDR Module-level functions work correctly. 1408 2002-01-03 GDR Module-level functions work correctly.
1007 1409
1008 2002-01-07 GDR Update sys.path when running a file with the -x option, so that 1410 2002-01-07 GDR Update sys.path when running a file with the -x option, so that
1009 it matches the value the program would get if it were run on its own. 1411 it matches the value the program would get if it were run on its own.
OLDNEW
« no previous file with comments | « tools/telemetry/third_party/coverage/AUTHORS.txt ('k') | tools/telemetry/third_party/coverage/LICENSE.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698