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

Side by Side Diff: third_party/pycoverage/CHANGES.txt

Issue 727003004: Add python coverage module to third_party (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month 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
« no previous file with comments | « third_party/pycoverage/AUTHORS.txt ('k') | third_party/pycoverage/LICENSE » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 ------------------------------
2 Change history for Coverage.py
3 ------------------------------
4
5 3.7.1 -- 13 December 2013
6 -------------------------
7
8 - Improved the speed of HTML report generation by about 20%.
9
10 - Fixed the mechanism for finding OS-installed static files for the HTML report
11 so that it will actually find OS-installed static files.
12
13
14 3.7 --- 6 October 2013
15 ----------------------
16
17 - Added the ``--debug`` switch to ``coverage run``. It accepts a list of
18 options indicating the type of internal activity to log to stderr.
19
20 - Improved the branch coverage facility, fixing `issue 92`_ and `issue 175`_.
21
22 - Running code with ``coverage run -m`` now behaves more like Python does,
23 setting sys.path properly, which fixes `issue 207`_ and `issue 242`_.
24
25 - Coverage can now run .pyc files directly, closing `issue 264`_.
26
27 - Coverage properly supports .pyw files, fixing `issue 261`_.
28
29 - Omitting files within a tree specified with the ``source`` option would
30 cause them to be incorrectly marked as unexecuted, as described in
31 `issue 218`_. This is now fixed.
32
33 - When specifying paths to alias together during data combining, you can now
34 specify relative paths, fixing `issue 267`_.
35
36 - Most file paths can now be specified with username expansion (``~/src``, or
37 ``~build/src``, for example), and with environment variable expansion
38 (``build/$BUILDNUM/src``).
39
40 - Trying to create an XML report with no files to report on, would cause a
41 ZeroDivideError, but no longer does, fixing `issue 250`_.
42
43 - When running a threaded program under the Python tracer, coverage no longer
44 issues a spurious warning about the trace function changing: "Trace function
45 changed, measurement is likely wrong: None." This fixes `issue 164`_.
46
47 - Static files necessary for HTML reports are found in system-installed places,
48 to ease OS-level packaging of coverage.py. Closes `issue 259`_.
49
50 - Source files with encoding declarations, but a blank first line, were not
51 decoded properly. Now they are. Thanks, Roger Hu.
52
53 - The source kit now includes the ``__main__.py`` file in the root coverage
54 directory, fixing `issue 255`_.
55
56 .. _issue 92: https://bitbucket.org/ned/coveragepy/issue/92/finally-clauses-aren t-treated-properly-in
57 .. _issue 164: https://bitbucket.org/ned/coveragepy/issue/164/trace-function-cha nged-warning-when-using
58 .. _issue 175: https://bitbucket.org/ned/coveragepy/issue/175/branch-coverage-ge ts-confused-in-certain
59 .. _issue 207: https://bitbucket.org/ned/coveragepy/issue/207/run-m-cannot-find- module-or-package-in
60 .. _issue 242: https://bitbucket.org/ned/coveragepy/issue/242/running-a-two-leve l-package-doesnt-work
61 .. _issue 218: https://bitbucket.org/ned/coveragepy/issue/218/run-command-does-n ot-respect-the-omit-flag
62 .. _issue 250: https://bitbucket.org/ned/coveragepy/issue/250/uncaught-zerodivis ionerror-when-generating
63 .. _issue 255: https://bitbucket.org/ned/coveragepy/issue/255/directory-level-__ main__py-not-included-in
64 .. _issue 259: https://bitbucket.org/ned/coveragepy/issue/259/allow-use-of-syste m-installed-third-party
65 .. _issue 261: https://bitbucket.org/ned/coveragepy/issue/261/pyw-files-arent-re ported-properly
66 .. _issue 264: https://bitbucket.org/ned/coveragepy/issue/264/coverage-wont-run- pyc-files
67 .. _issue 267: https://bitbucket.org/ned/coveragepy/issue/267/relative-path-alia ses-dont-work
68
69
70 Version 3.6 --- 5 January 2013
71 ------------------------------
72
73 - Added a page to the docs about troublesome situations, closing `issue 226`_,
74 and added some info to the TODO file, closing `issue 227`_.
75
76 .. _issue 226: https://bitbucket.org/ned/coveragepy/issue/226/make-readme-sectio n-to-describe-when
77 .. _issue 227: https://bitbucket.org/ned/coveragepy/issue/227/update-todo
78
79
80 Version 3.6b3 --- 29 December 2012
81 ----------------------------------
82
83 - Beta 2 broke the nose plugin. It's fixed again, closing `issue 224`_.
84
85 .. _issue 224: https://bitbucket.org/ned/coveragepy/issue/224/36b2-breaks-nosexc over
86
87
88 Version 3.6b2 --- 23 December 2012
89 ----------------------------------
90
91 - Coverage.py runs on Python 2.3 and 2.4 again. It was broken in 3.6b1.
92
93 - 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.
95
96 - Combining data files would create entries for phantom files if used with
97 ``source`` and path aliases. It no longer does.
98
99 - ``debug sys`` now shows the configuration file path that was read.
100
101 - 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,
103 fixing `issue 221`_.
104
105 .. _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
107
108
109 Version 3.6b1 --- 28 November 2012
110 ----------------------------------
111
112 - Wildcards in ``include=`` and ``omit=`` arguments were not handled properly
113 in reporting functions, though they were when running. Now they are handled
114 uniformly, closing `issue 143`_ and `issue 163`_. **NOTE**: it is possible
115 that your configurations may now be incorrect. If you use ``include`` or
116 ``omit`` during reporting, whether on the command line, through the API, or
117 in a configuration file, please check carefully that you were not relying on
118 the old broken behavior.
119
120 - The **report**, **html**, and **xml** commands now accept a ``--fail-under``
121 switch that indicates in the exit status whether the coverage percentage was
122 less than a particular value. Closes `issue 139`_.
123
124 - The reporting functions coverage.report(), coverage.html_report(), and
125 coverage.xml_report() now all return a float, the total percentage covered
126 measurement.
127
128 - 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.
130
131 - Configuration files now support substitution of environment variables, using
132 syntax like ``${WORD}``. Closes `issue 97`_.
133
134 - Embarrassingly, the `[xml] output=` setting in the .coveragerc file simply
135 didn't work. Now it does.
136
137 - The XML report now consistently uses filenames for the filename attribute,
138 rather than sometimes using module names. Fixes `issue 67`_.
139 Thanks, Marcus Cobden.
140
141 - Coverage percentage metrics are now computed slightly differently under
142 branch coverage. This means that completely unexecuted files will now
143 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
145 branch coverage.
146
147 - When installing, now in addition to creating a "coverage" command, two new
148 aliases are also installed. A "coverage2" or "coverage3" command will be
149 created, depending on whether you are installing in Python 2.x or 3.x.
150 A "coverage-X.Y" command will also be created corresponding to your specific
151 version of Python. Closes `issue 111`_.
152
153 - The coverage.py installer no longer tries to bootstrap setuptools or
154 Distribute. You must have one of them installed first, as `issue 202`_
155 recommended.
156
157 - The coverage.py kit now includes docs (closing `issue 137`_) and tests.
158
159 - On Windows, files are now reported in their correct case, fixing `issue 89`_
160 and `issue 203`_.
161
162 - If a file is missing during reporting, the path shown in the error message
163 is now correct, rather than an incorrect path in the current directory.
164 Fixes `issue 60`_.
165
166 - Running an HTML report in Python 3 in the same directory as an old Python 2
167 HTML report would fail with a UnicodeDecodeError. This issue (`issue 193`_)
168 is now fixed.
169
170 - Fixed yet another error trying to parse non-Python files as Python, this
171 time an IndentationError, closing `issue 82`_ for the fourth time...
172
173 - 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`_.
175
176 - Jython files now work with the ``--source`` option, fixing `issue 100`_.
177
178 - Running coverage under a debugger is unlikely to work, but it shouldn't fail
179 with "TypeError: 'NoneType' object is not iterable". Fixes `issue 201`_.
180
181 - 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,
183 fixing `issue 214`_, though this will take some time to be repackaged by the
184 operating systems.
185
186 - Docstrings for the legacy singleton methods are more helpful. Thanks Marius
187 Gedminas. Closes `issue 205`_.
188
189 - The pydoc tool can now show docmentation for the class `coverage.coverage`.
190 Closes `issue 206`_.
191
192 - Added a page to the docs about contributing to coverage.py, closing
193 `issue 171`_.
194
195 - When coverage.py ended unsuccessfully, it may have reported odd errors like
196 ``'NoneType' object has no attribute 'isabs'``. It no longer does,
197 so kiss `issue 153`_ goodbye.
198
199 .. _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
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
203 .. _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
205 .. _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
207 .. _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
209 .. _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
211 .. _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
213 .. _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
215 .. _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
217 .. _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
219 .. _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
221
222
223 Version 3.5.3 --- 29 September 2012
224 -----------------------------------
225
226 - Line numbers in the HTML report line up better with the source lines, fixing
227 `issue 197`_, thanks Marius Gedminas.
228
229 - 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
231 be considered as source files.
232
233 - Files encoded as UTF-8 with a BOM are now properly handled, fixing
234 `issue 179`_. Thanks, Pablo Carballo.
235
236 - 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).
238 Thanks, Julian Berman.
239
240 - Fixed memory leaks under Python 3, thanks, Brett Cannon. Closes `issue 147`_.
241
242 - Optimized .pyo files may not have been handled correctly, `issue 195`_.
243 Thanks, Marius Gedminas.
244
245 - Certain unusually named file paths could have been mangled during reporting,
246 `issue 194`_. Thanks, Marius Gedminas.
247
248 - Try to do a better job of the impossible task of detecting when we can't
249 build the C extension, fixing `issue 183`_.
250
251 - Testing is now done with `tox`_, thanks, Marc Abramowitz.
252
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
255 .. _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
257 .. _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
259 .. _issue 197: https://bitbucket.org/ned/coveragepy/issue/197/line-numbers-in-ht ml-report-do-not-align
260 .. _tox: http://tox.readthedocs.org/
261
262
263
264 Version 3.5.2 --- 4 May 2012
265 ----------------------------
266
267 No changes since 3.5.2.b1
268
269
270 Version 3.5.2b1 --- 29 April 2012
271 ---------------------------------
272
273 - 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.
275
276 - 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.
278
279 - 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
281 properly. This fixes `issue 157`_.
282
283 - Backup files left behind by editors are no longer collected by the source=
284 option, fixing `issue 168`_.
285
286 - 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
288 pragmatic fix for `issue 82`_.
289
290 - 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
292 config file. Closes `issue 173`_.
293
294 - When running a module with ``coverage run -m <modulename>``, certain details
295 of the execution environment weren't the same as for
296 ``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
298 directory named "test". This fixes `issue 155`_ and `issue 142`_.
299
300 - 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.
302
303 - When installing into pypy, we no longer attempt (and fail) to compile
304 the C tracer function, closing `issue 166`_.
305
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
308 .. _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
310 .. _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
312 .. _issue 173: https://bitbucket.org/ned/coveragepy/issue/173/theres-no-way-to-s pecify-show-missing-in
313
314
315 Version 3.5.1 --- 23 September 2011
316 -----------------------------------
317
318 - 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
320 stored in the combined file are canonicalized properly.
321
322
323 Version 3.5.1b1 --- 28 August 2011
324 ----------------------------------
325
326 - When combining data files from parallel runs, you can now instruct coverage
327 about which directories are equivalent on different machines. A ``[paths]``
328 section in the configuration file lists paths that are to be considered
329 equivalent. Finishes `issue 17`_.
330
331 - for-else constructs are understood better, and don't cause erroneous partial
332 branch warnings. Fixes `issue 122`_.
333
334 - Branch coverage for ``with`` statements is improved, fixing `issue 128`_.
335
336 - 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
338 now fixed.
339
340 - An explicit include directive to measure files in the Python installation
341 wouldn't work because of the standard library exclusion. Now the include
342 directive takes precendence, and the files will be measured. Fixes
343 `issue 138`_.
344
345 - The HTML report now handles Unicode characters in Python source files
346 properly. This fixes `issue 124`_ and `issue 144`_. Thanks, Devin
347 Jeanpierre.
348
349 - 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
351 into running some coverage code before anything else in the process.
352 See the coverage/fullcoverage directory if you are interested.
353
354 .. _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
356 .. _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
358 .. _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
360
361
362 Version 3.5 --- 29 June 2011
363 ----------------------------
364
365 - The HTML report hotkeys now behave slightly differently when the current
366 chunk isn't visible at all: a chunk on the screen will be selected,
367 instead of the old behavior of jumping to the literal next chunk.
368 The hotkeys now work in Google Chrome. Thanks, Guido van Rossum.
369
370
371 Version 3.5b1 --- 5 June 2011
372 -----------------------------
373
374 - The HTML report now has hotkeys. Try ``n``, ``s``, ``m``, ``x``, ``b``,
375 ``p``, and ``c`` on the overview page to change the column sorting.
376 On a file page, ``r``, ``m``, ``x``, and ``p`` toggle the run, missing,
377 excluded, and partial line markings. You can navigate the highlighted
378 sections of code by using the ``j`` and ``k`` keys for next and previous.
379 The ``1`` (one) key jumps to the first highlighted section in the file,
380 and ``0`` (zero) scrolls to the top of the file.
381
382 - The ``--omit`` and ``--include`` switches now interpret their values more
383 usefully. If the value starts with a wildcard character, it is used as-is.
384 If it does not, it is interpreted relative to the current directory.
385 Closes `issue 121`_.
386
387 - Partial branch warnings can now be pragma'd away. The configuration option
388 ``partial_branches`` is a list of regular expressions. Lines matching any of
389 those expressions will never be marked as a partial branch. In addition,
390 there's a built-in list of regular expressions marking statements which should
391 never be marked as partial. This list includes ``while True:``, ``while 1:``,
392 ``if 1:``, and ``if 0:``.
393
394 - The ``coverage()`` constructor accepts single strings for the ``omit=`` and
395 ``include=`` arguments, adapting to a common error in programmatic use.
396
397 - Modules can now be run directly using ``coverage run -m modulename``, to
398 mirror Python's ``-m`` flag. Closes `issue 95`_, thanks, Brandon Rhodes.
399
400 - ``coverage run`` didn't emulate Python accurately in one small detail: the
401 current directory inserted into ``sys.path`` was relative rather than
402 absolute. This is now fixed.
403
404 - HTML reporting is now incremental: a record is kept of the data that
405 produced the HTML reports, and only files whose data has changed will
406 be generated. This should make most HTML reporting faster.
407
408 - Pathological code execution could disable the trace function behind our
409 backs, leading to incorrect code measurement. Now if this happens,
410 coverage.py will issue a warning, at least alerting you to the problem.
411 Closes `issue 93`_. Thanks to Marius Gedminas for the idea.
412
413 - The C-based trace function now behaves properly when saved and restored
414 with ``sys.gettrace()`` and ``sys.settrace()``. This fixes `issue 125`_
415 and `issue 123`_. Thanks, Devin Jeanpierre.
416
417 - Source files are now opened with Python 3.2's ``tokenize.open()`` where
418 possible, to get the best handling of Python source files with encodings.
419 Closes `issue 107`_, thanks, Brett Cannon.
420
421 - Syntax errors in supposed Python files can now be ignored during reporting
422 with the ``-i`` switch just like other source errors. Closes `issue 115`_.
423
424 - Installation from source now succeeds on machines without a C compiler,
425 closing `issue 80`_.
426
427 - Coverage.py can now be run directly from a working tree by specifying
428 the directory name to python: ``python coverage_py_working_dir run ...``.
429 Thanks, Brett Cannon.
430
431 - A little bit of Jython support: `coverage run` can now measure Jython
432 execution by adapting when $py.class files are traced. Thanks, Adi Roiban.
433 Jython still doesn't provide the Python libraries needed to make
434 coverage reporting work, unfortunately.
435
436 - Internally, files are now closed explicitly, fixing `issue 104`_. Thanks,
437 Brett Cannon.
438
439 .. _issue 80: https://bitbucket.org/ned/coveragepy/issue/80/is-there-a-duck-typi ng-way-to-know-we-cant
440 .. _issue 93: http://bitbucket.org/ned/coveragepy/issue/93/copying-a-mock-object -breaks-coverage
441 .. _issue 95: https://bitbucket.org/ned/coveragepy/issue/95/run-subcommand-shoul d-take-a-module-name
442 .. _issue 104: https://bitbucket.org/ned/coveragepy/issue/104/explicitly-close-f iles
443 .. _issue 107: https://bitbucket.org/ned/coveragepy/issue/107/codeparser-not-ope ning-source-files-with
444 .. _issue 115: https://bitbucket.org/ned/coveragepy/issue/115/fail-gracefully-wh en-reporting-on-file
445 .. _issue 121: https://bitbucket.org/ned/coveragepy/issue/121/filename-patterns- are-applied-stupidly
446 .. _issue 123: https://bitbucket.org/ned/coveragepy/issue/123/pyeval_settrace-us ed-in-way-that-breaks
447 .. _issue 125: https://bitbucket.org/ned/coveragepy/issue/125/coverage-removes-d ecoratortoolss-tracing
448
449
450 Version 3.4 --- 19 September 2010
451 ---------------------------------
452
453 - The XML report is now sorted by package name, fixing `issue 88`_.
454
455 - Programs that exited with ``sys.exit()`` with no argument weren't handled
456 properly, producing a coverage.py stack trace. That is now fixed.
457
458 .. _issue 88: http://bitbucket.org/ned/coveragepy/issue/88/xml-report-lists-pack ages-in-random-order
459
460
461 Version 3.4b2 --- 6 September 2010
462 ----------------------------------
463
464 - Completely unexecuted files can now be included in coverage results, reported
465 as 0% covered. This only happens if the --source option is specified, since
466 coverage.py needs guidance about where to look for source files.
467
468 - The XML report output now properly includes a percentage for branch coverage,
469 fixing `issue 65`_ and `issue 81`_.
470
471 - Coverage percentages are now displayed uniformly across reporting methods.
472 Previously, different reports could round percentages differently. Also,
473 percentages are only reported as 0% or 100% if they are truly 0 or 100, and
474 are rounded otherwise. Fixes `issue 41`_ and `issue 70`_.
475
476 - The precision of reported coverage percentages can be set with the
477 ``[report] precision`` config file setting. Completes `issue 16`_.
478
479 - Threads derived from ``threading.Thread`` with an overridden `run` method
480 would report no coverage for the `run` method. This is now fixed, closing
481 `issue 85`_.
482
483 .. _issue 16: http://bitbucket.org/ned/coveragepy/issue/16/allow-configuration-o f-accuracy-of-percentage-totals
484 .. _issue 41: http://bitbucket.org/ned/coveragepy/issue/41/report-says-100-when- it-isnt-quite-there
485 .. _issue 65: http://bitbucket.org/ned/coveragepy/issue/65/branch-option-not-rep orted-in-cobertura
486 .. _issue 70: http://bitbucket.org/ned/coveragepy/issue/70/text-report-and-html- report-disagree-on-coverage
487 .. _issue 81: http://bitbucket.org/ned/coveragepy/issue/81/xml-report-does-not-h ave-condition-coverage-attribute-for-lines-with-a
488 .. _issue 85: http://bitbucket.org/ned/coveragepy/issue/85/threadrun-isnt-measur ed
489
490
491 Version 3.4b1 --- 21 August 2010
492 --------------------------------
493
494 - BACKWARD INCOMPATIBILITY: the ``--omit`` and ``--include`` switches now take
495 file patterns rather than file prefixes, closing `issue 34`_ and `issue 36`_.
496
497 - BACKWARD INCOMPATIBILITY: the `omit_prefixes` argument is gone throughout
498 coverage.py, replaced with `omit`, a list of filename patterns suitable for
499 `fnmatch`. A parallel argument `include` controls what files are included.
500
501 - 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
503 source files.
504
505 - 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
507 never encountered at all, or if no data is collected.
508
509 - The reporting commands (report, annotate, html, and xml) now have an
510 ``--include`` switch to restrict reporting to modules matching those file
511 patterns, similar to the existing ``--omit`` switch. Thanks, Zooko.
512
513 - The run command now supports ``--include`` and ``--omit`` to control what
514 modules it measures. This can speed execution and reduce the amount of data
515 during reporting. Thanks Zooko.
516
517 - Since coverage.py 3.1, using the Python trace function has been slower than
518 it needs to be. A cache of tracing decisions was broken, but has now been
519 fixed.
520
521 - Python 2.7 and 3.2 have introduced new opcodes that are now supported.
522
523 - Python files with no statements, for example, empty ``__init__.py`` files,
524 are now reported as having zero statements instead of one. Fixes `issue 1`_.
525
526 - Reports now have a column of missed line counts rather than executed line
527 counts, since developers should focus on reducing the missed lines to zero,
528 rather than increasing the executed lines to varying targets. Once
529 suggested, this seemed blindingly obvious.
530
531 - 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
533 at the bottom of each HTML page.
534
535 - 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
537 be combined with ``coverage combine``. Fixes `issue 56`_.
538
539 - Coverage is now runnable as a module: ``python -m coverage``. Thanks,
540 Brett Cannon.
541
542 - 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.
544
545 - 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`_.
547
548 - Jinja HTML templates compile into Python code using the HTML filename,
549 which confused coverage.py. Now these files are no longer traced, fixing
550 `issue 82`_.
551
552 - Source files can have more than one dot in them (foo.test.py), and will be
553 treated properly while reporting. Fixes `issue 46`_.
554
555 - Source files with DOS line endings are now properly tokenized for syntax
556 coloring on non-DOS machines. Fixes `issue 53`_.
557
558 - Unusual code structure that confused exits from methods with exits from
559 classes is now properly analyzed. See `issue 62`_.
560
561 - Asking for an HTML report with no files now shows a nice error message rather
562 than a cryptic failure ('int' object is unsubscriptable). Fixes `issue 59`_.
563
564 .. _issue 1: http://bitbucket.org/ned/coveragepy/issue/1/empty-__init__py-files -are-reported-as-1-executable
565 .. _issue 34: http://bitbucket.org/ned/coveragepy/issue/34/enhanced-omit-globbin g-handling
566 .. _issue 36: http://bitbucket.org/ned/coveragepy/issue/36/provide-regex-style-o mit
567 .. _issue 46: http://bitbucket.org/ned/coveragepy/issue/46
568 .. _issue 53: http://bitbucket.org/ned/coveragepy/issue/53
569 .. _issue 52: http://bitbucket.org/ned/coveragepy/issue/52/doctesttestfile-confu ses-source-detection
570 .. _issue 56: http://bitbucket.org/ned/coveragepy/issue/56
571 .. _issue 61: http://bitbucket.org/ned/coveragepy/issue/61/annotate-i-doesnt-wor k
572 .. _issue 62: http://bitbucket.org/ned/coveragepy/issue/62
573 .. _issue 59: http://bitbucket.org/ned/coveragepy/issue/59/html-report-fails-wit h-int-object-is
574 .. _issue 82: http://bitbucket.org/ned/coveragepy/issue/82/tokenerror-when-gener ating-html-report
575
576
577 Version 3.3.1 --- 6 March 2010
578 ------------------------------
579
580 - Using `parallel=True` in .coveragerc file prevented reporting, but now does
581 not, fixing `issue 49`_.
582
583 - When running your code with "coverage run", if you call `sys.exit()`,
584 coverage.py will exit with that status code, fixing `issue 50`_.
585
586 .. _issue 49: http://bitbucket.org/ned/coveragepy/issue/49
587 .. _issue 50: http://bitbucket.org/ned/coveragepy/issue/50
588
589
590 Version 3.3 --- 24 February 2010
591 --------------------------------
592
593 - Settings are now read from a .coveragerc file. A specific file can be
594 specified on the command line with --rcfile=FILE. The name of the file can
595 be programmatically set with the `config_file` argument to the coverage()
596 constructor, or reading a config file can be disabled with
597 `config_file=False`.
598
599 - Fixed a problem with nested loops having their branch possibilities
600 mischaracterized: `issue 39`_.
601
602 - Added coverage.process_start to enable coverage measurement when Python
603 starts.
604
605 - Parallel data file names now have a random number appended to them in
606 addition to the machine name and process id.
607
608 - Parallel data files combined with "coverage combine" are deleted after
609 they're combined, to clean up unneeded files. Fixes `issue 40`_.
610
611 - Exceptions thrown from product code run with "coverage run" are now displayed
612 without internal coverage.py frames, so the output is the same as when the
613 code is run without coverage.py.
614
615 - The `data_suffix` argument to the coverage constructor is now appended with
616 an added dot rather than simply appended, so that .coveragerc files will not
617 be confused for data files.
618
619 - Python source files that don't end with a newline can now be executed, fixing
620 `issue 47`_.
621
622 - Added an AUTHORS.txt file.
623
624 .. _issue 39: http://bitbucket.org/ned/coveragepy/issue/39
625 .. _issue 40: http://bitbucket.org/ned/coveragepy/issue/40
626 .. _issue 47: http://bitbucket.org/ned/coveragepy/issue/47
627
628
629 Version 3.2 --- 5 December 2009
630 -------------------------------
631
632 - Added a ``--version`` option on the command line.
633
634
635 Version 3.2b4 --- 1 December 2009
636 ---------------------------------
637
638 - Branch coverage improvements:
639
640 - The XML report now includes branch information.
641
642 - Click-to-sort HTML report columns are now persisted in a cookie. Viewing
643 a report will sort it first the way you last had a coverage report sorted.
644 Thanks, `Chris Adams`_.
645
646 - On Python 3.x, setuptools has been replaced by `Distribute`_.
647
648 .. _Distribute: http://packages.python.org/distribute/
649
650
651 Version 3.2b3 --- 23 November 2009
652 ----------------------------------
653
654 - Fixed a memory leak in the C tracer that was introduced in 3.2b1.
655
656 - Branch coverage improvements:
657
658 - Branches to excluded code are ignored.
659
660 - The table of contents in the HTML report is now sortable: click the headers
661 on any column. Thanks, `Chris Adams`_.
662
663 .. _Chris Adams: http://improbable.org/chris/
664
665
666 Version 3.2b2 --- 19 November 2009
667 ----------------------------------
668
669 - Branch coverage improvements:
670
671 - Classes are no longer incorrectly marked as branches: `issue 32`_.
672
673 - "except" clauses with types are no longer incorrectly marked as branches:
674 `issue 35`_.
675
676 - Fixed some problems syntax coloring sources with line continuations and
677 source with tabs: `issue 30`_ and `issue 31`_.
678
679 - The --omit option now works much better than before, fixing `issue 14`_ and
680 `issue 33`_. Thanks, Danek Duvall.
681
682 .. _issue 14: http://bitbucket.org/ned/coveragepy/issue/14
683 .. _issue 30: http://bitbucket.org/ned/coveragepy/issue/30
684 .. _issue 31: http://bitbucket.org/ned/coveragepy/issue/31
685 .. _issue 32: http://bitbucket.org/ned/coveragepy/issue/32
686 .. _issue 33: http://bitbucket.org/ned/coveragepy/issue/33
687 .. _issue 35: http://bitbucket.org/ned/coveragepy/issue/35
688
689
690 Version 3.2b1 --- 10 November 2009
691 ----------------------------------
692
693 - Branch coverage!
694
695 - XML reporting has file paths that let Cobertura find the source code.
696
697 - The tracer code has changed, it's a few percent faster.
698
699 - Some exceptions reported by the command line interface have been cleaned up
700 so that tracebacks inside coverage.py aren't shown. Fixes `issue 23`_.
701
702 .. _issue 23: http://bitbucket.org/ned/coveragepy/issue/23
703
704
705 Version 3.1 --- 4 October 2009
706 ------------------------------
707
708 - Source code can now be read from eggs. Thanks, Ross Lawley. Fixes
709 `issue 25`_.
710
711 .. _issue 25: http://bitbucket.org/ned/coveragepy/issue/25
712
713
714 Version 3.1b1 --- 27 September 2009
715 -----------------------------------
716
717 - Python 3.1 is now supported.
718
719 - Coverage.py has a new command line syntax with sub-commands. This expands
720 the possibilities for adding features and options in the future. The old
721 syntax is still supported. Try "coverage help" to see the new commands.
722 Thanks to Ben Finney for early help.
723
724 - Added an experimental "coverage xml" command for producing coverage reports
725 in a Cobertura-compatible XML format. Thanks, Bill Hart.
726
727 - Added the --timid option to enable a simpler slower trace function that works
728 for DecoratorTools projects, including TurboGears. Fixed `issue 12`_ and
729 `issue 13`_.
730
731 - HTML reports show modules from other directories. Fixed `issue 11`_.
732
733 - HTML reports now display syntax-colored Python source.
734
735 - Programs that change directory will still write .coverage files in the
736 directory where execution started. Fixed `issue 24`_.
737
738 - Added a "coverage debug" command for getting diagnostic information about the
739 coverage.py installation.
740
741 .. _issue 11: http://bitbucket.org/ned/coveragepy/issue/11
742 .. _issue 12: http://bitbucket.org/ned/coveragepy/issue/12
743 .. _issue 13: http://bitbucket.org/ned/coveragepy/issue/13
744 .. _issue 24: http://bitbucket.org/ned/coveragepy/issue/24
745
746
747 Version 3.0.1 --- 7 July 2009
748 -----------------------------
749
750 - Removed the recursion limit in the tracer function. Previously, code that
751 ran more than 500 frames deep would crash. Fixed `issue 9`_.
752
753 - Fixed a bizarre problem involving pyexpat, whereby lines following XML parser
754 invocations could be overlooked. Fixed `issue 10`_.
755
756 - On Python 2.3, coverage.py could mis-measure code with exceptions being
757 raised. This is now fixed.
758
759 - 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
761 `issue 8`_.
762
763 - 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
765 example.
766
767 .. _issue 9: http://bitbucket.org/ned/coveragepy/issue/9
768 .. _issue 10: http://bitbucket.org/ned/coveragepy/issue/10
769 .. _issue 8: http://bitbucket.org/ned/coveragepy/issue/8
770
771
772 Version 3.0 --- 13 June 2009
773 ----------------------------
774
775 - Fixed the way the Python library was ignored. Too much code was being
776 excluded the old way.
777
778 - Tabs are now properly converted in HTML reports. Previously indentation was
779 lost. Fixed `issue 6`_.
780
781 - Nested modules now get a proper flat_rootname. Thanks, Christian Heimes.
782
783 .. _issue 6: http://bitbucket.org/ned/coveragepy/issue/6
784
785
786 Version 3.0b3 --- 16 May 2009
787 -----------------------------
788
789 - Added parameters to coverage.__init__ for options that had been set on the
790 coverage object itself.
791
792 - Added clear_exclude() and get_exclude_list() methods for programmatic
793 manipulation of the exclude regexes.
794
795 - Added coverage.load() to read previously-saved data from the data file.
796
797 - Improved the finding of code files. For example, .pyc files that have been
798 installed after compiling are now located correctly. Thanks, Detlev
799 Offenbach.
800
801 - When using the object API (that is, constructing a coverage() object), data
802 is no longer saved automatically on process exit. You can re-enable it with
803 the auto_data=True parameter on the coverage() constructor. The module-level
804 interface still uses automatic saving.
805
806
807 Version 3.0b --- 30 April 2009
808 ------------------------------
809
810 HTML reporting, and continued refactoring.
811
812 - HTML reports and annotation of source files: use the new -b (browser) switch.
813 Thanks to George Song for code, inspiration and guidance.
814
815 - Code in the Python standard library is not measured by default. If you need
816 to measure standard library code, use the -L command-line switch during
817 execution, or the cover_pylib=True argument to the coverage() constructor.
818
819 - Source annotation into a directory (-a -d) behaves differently. The
820 annotated files are named with their hierarchy flattened so that same-named
821 files from different directories no longer collide. Also, only files in the
822 current tree are included.
823
824 - coverage.annotate_file is no longer available.
825
826 - Programs executed with -x now behave more as they should, for example,
827 __file__ has the correct value.
828
829 - .coverage data files have a new pickle-based format designed for better
830 extensibility.
831
832 - Removed the undocumented cache_file argument to coverage.usecache().
833
834
835 Version 3.0b1 --- 7 March 2009
836 ------------------------------
837
838 Major overhaul.
839
840 - Coverage is now a package rather than a module. Functionality has been split
841 into classes.
842
843 - The trace function is implemented in C for speed. Coverage runs are now
844 much faster. Thanks to David Christian for productive micro-sprints and
845 other encouragement.
846
847 - Executable lines are identified by reading the line number tables in the
848 compiled code, removing a great deal of complicated analysis code.
849
850 - Precisely which lines are considered executable has changed in some cases.
851 Therefore, your coverage stats may also change slightly.
852
853 - The singleton coverage object is only created if the module-level functions
854 are used. This maintains the old interface while allowing better
855 programmatic use of Coverage.
856
857 - The minimum supported Python version is 2.3.
858
859
860 Version 2.85 --- 14 September 2008
861 ----------------------------------
862
863 - 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
865 pseudo-modules can participate. Thanks, Imri Goldberg.
866
867 - Use os.realpath as part of the fixing of file names so that symlinks won't
868 confuse things. Thanks, Patrick Mezard.
869
870
871 Version 2.80 --- 25 May 2008
872 ----------------------------
873
874 - Open files in rU mode to avoid line ending craziness. Thanks, Edward Loper.
875
876
877 Version 2.78 --- 30 September 2007
878 ----------------------------------
879
880 - Don't try to predict whether a file is Python source based on the extension.
881 Extension-less files are often Pythons scripts. Instead, simply parse the file
882 and catch the syntax errors. Hat tip to Ben Finney.
883
884
885 Version 2.77 --- 29 July 2007
886 -----------------------------
887
888 - Better packaging.
889
890
891 Version 2.76 --- 23 July 2007
892 -----------------------------
893
894 - Now Python 2.5 is *really* fully supported: the body of the new with
895 statement is counted as executable.
896
897
898 Version 2.75 --- 22 July 2007
899 -----------------------------
900
901 - Python 2.5 now fully supported. The method of dealing with multi-line
902 statements is now less sensitive to the exact line that Python reports during
903 execution. Pass statements are handled specially so that their disappearance
904 during execution won't throw off the measurement.
905
906
907 Version 2.7 --- 21 July 2007
908 ----------------------------
909
910 - "#pragma: nocover" is excluded by default.
911
912 - Properly ignore docstrings and other constant expressions that appear in the
913 middle of a function, a problem reported by Tim Leslie.
914
915 - coverage.erase() shouldn't clobber the exclude regex. Change how parallel
916 mode is invoked, and fix erase() so that it erases the cache when called
917 programmatically.
918
919 - In reports, ignore code executed from strings, since we can't do anything
920 useful with it anyway.
921
922 - Better file handling on Linux, thanks Guillaume Chazarain.
923
924 - Better shell support on Windows, thanks Noel O'Boyle.
925
926 - Python 2.2 support maintained, thanks Catherine Proulx.
927
928 - Minor changes to avoid lint warnings.
929
930
931 Version 2.6 --- 23 August 2006
932 ------------------------------
933
934 - Applied Joseph Tate's patch for function decorators.
935
936 - Applied Sigve Tjora and Mark van der Wal's fixes for argument handling.
937
938 - Applied Geoff Bache's parallel mode patch.
939
940 - Refactorings to improve testability. Fixes to command-line logic for parallel
941 mode and collect.
942
943
944 Version 2.5 --- 4 December 2005
945 -------------------------------
946
947 - Call threading.settrace so that all threads are measured. Thanks Martin
948 Fuzzey.
949
950 - Add a file argument to report so that reports can be captured to a different
951 destination.
952
953 - coverage.py can now measure itself.
954
955 - Adapted Greg Rogers' patch for using relative file names, and sorting and
956 omitting files to report on.
957
958
959 Version 2.2 --- 31 December 2004
960 --------------------------------
961
962 - Allow for keyword arguments in the module global functions. Thanks, Allen.
963
964
965 Version 2.1 --- 14 December 2004
966 --------------------------------
967
968 - Return 'analysis' to its original behavior and add 'analysis2'. Add a global
969 for 'annotate', and factor it, adding 'annotate_file'.
970
971
972 Version 2.0 --- 12 December 2004
973 --------------------------------
974
975 Significant code changes.
976
977 - Finding executable statements has been rewritten so that docstrings and
978 other quirks of Python execution aren't mistakenly identified as missing
979 lines.
980
981 - Lines can be excluded from consideration, even entire suites of lines.
982
983 - The file system cache of covered lines can be disabled programmatically.
984
985 - Modernized the code.
986
987
988 Earlier History
989 ---------------
990
991 2001-12-04 GDR Created.
992
993 2001-12-06 GDR Added command-line interface and source code annotation.
994
995 2001-12-09 GDR Moved design and interface to separate documents.
996
997 2001-12-10 GDR Open cache file as binary on Windows. Allow simultaneous -e and
998 -x, or -a and -r.
999
1000 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.
1002
1003 2001-12-13 GDR Improved speed while recording. Portable between Python 1.5.2
1004 and 2.1.1.
1005
1006 2002-01-03 GDR Module-level functions work correctly.
1007
1008 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.
OLDNEW
« no previous file with comments | « third_party/pycoverage/AUTHORS.txt ('k') | third_party/pycoverage/LICENSE » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698