blob: d28e7a798144304640d48017018ad04a663d79ab (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
===========
coverage.py
===========
:history: 20090524T134300, brand new docs.
:history: 20090524T134301, tweaked.
.. toctree::
:hidden:
cmd
api
.. FAQ
.. Why do unexecutable lines show up as executed?
.. Why do the bodies of fns show as executed, but the def lines do not?
.. Change History
.. Getting Help
.. How it works
.. .coverage file format
.. Excluding lines
Coverage.py is a tool for measuring code coverage of Python programs. It monitors
your program, noting which parts of the code have been executed, then analyzes the
source to identify code that could have been executed but was not.
Quick Start
-----------
Getting started with coverage.py is easy:
#. Install coverage.py from the
`coverage page on the cheeseshop <http://pypi.python.org/pypi/coverage>`_.
#. Run coverage.py to execute your program and gather data::
$ coverage -e -x my_program.py arg1 arg2
blah blah ..your program's output.. blah blah
#. Run coverage.py to report on the results::
$ coverage -r -m
Name Stmts Exec Cover Missing
-------------------------------------------------------
my_program 20 16 80% 33-35, 39
my_other_module 56 50 89% 17-23
-------------------------------------------------------
TOTAL 76 66 87%
#. For a nicer presentation, run coverage.py to get annotated HTML listings
detailing missed lines::
$ coverage -b -i -d htmlcov
Then visit htmlcov/index.html in your browser, to see a
`report like this <sample_html/index.html>`_.
Getting Help
~~~~~~~~~~~~
This is a third-level section, with some XML::
<tag attr='value'>1 < 2 & 2 > 1</tag>
Whoa!
Using coverage.py
-----------------
There are two supported interfaces to coverage: a :ref:`command line <cmd>` and
an :ref:`API <api>`.
|