diff options
author | Jason Pellerin <jpellerin@gmail.com> | 2008-12-10 01:56:22 +0000 |
---|---|---|
committer | Jason Pellerin <jpellerin@gmail.com> | 2008-12-10 01:56:22 +0000 |
commit | 0b03ea03c02c8fb5e6bd5ee9416a9ea00708d63a (patch) | |
tree | 4399d4af11aa29c9c6e7de178aa5df48604fb19d /functional_tests | |
parent | 8889a4859bc4b360b93905ce8cdea84a6d0854eb (diff) | |
download | nose-0b03ea03c02c8fb5e6bd5ee9416a9ea00708d63a.tar.gz |
Applied patch from Augie Fackler implementing optional html coverage reports
Diffstat (limited to 'functional_tests')
7 files changed, 127 insertions, 0 deletions
diff --git a/functional_tests/doc_tests/test_coverage_html/coverage_html.rst b/functional_tests/doc_tests/test_coverage_html/coverage_html.rst new file mode 100644 index 0000000..067e37a --- /dev/null +++ b/functional_tests/doc_tests/test_coverage_html/coverage_html.rst @@ -0,0 +1,65 @@ +Generating HTML Coverage with nose +---------------------------------- + +.. Note :: + + HTML coverage requires Ned Batchelder's coverage.py module. + +.. + >>> from nose.plugins.plugintest import run_buffered as run + >>> import os + >>> support = os.path.join(os.path.dirname(__file__), 'support') + >>> cover_html_dir = os.path.join(support, 'cover') + >>> from nose.plugins.cover import Coverage + >>> run(argv=[__file__, '-v', '--with-coverage', '--cover-package=blah', + ... '--cover-html', '--cover-html-dir=' + cover_html_dir, support, ], + ... plugins=[Coverage()]) + test_covered.test_blah ... hi + ok + <BLANKLINE> + Name Stmts Exec Cover Missing + ------------------------------------- + blah 4 3 75% 6 + ---------------------------------------------------------------------- + Ran 1 test in ...s + <BLANKLINE> + OK + >>> print open(os.path.join(cover_html_dir, 'index.html')).read() + <html><head><title>Coverage Index</title></head><body><p>Covered: 3 lines<br/> + Missed: 1 lines<br/> + Skipped 3 lines<br/> + Percent: 75 %<br/> + <table><tr><td>File</td><td>Covered</td><td>Missed</td><td>Skipped</td><td>Percent</td></tr><tr><td><a href="blah.html">blah</a></td><td>3</td><td>1</td><td>3</td><td>75 %</td></tr></table></p></html + >>> print open(os.path.join(cover_html_dir, 'blah.html')).read() + <html> + <head> + <title>blah</title> + </head> + <body> + blah + <style> + pre {float: left; margin: 0px 1em } + .num pre { margin: 0px } + .nocov {background-color: #faa} + .cov {background-color: #cfc} + div.coverage div { clear: both; height: 1em} + </style> + <div class="stats"> + Covered: 3 lines<br/> + Missed: 1 lines<br/> + Skipped 3 lines<br/> + Percent: 75 %<br/> + <BLANKLINE> + </div> + <div class="coverage"> + <div class="cov"><span class="num"><pre>1</pre></span><pre>def dostuff():</pre></div> + <div class="cov"><span class="num"><pre>2</pre></span><pre> print 'hi'</pre></div> + <div class="skip"><span class="num"><pre>3</pre></span><pre></pre></div> + <div class="skip"><span class="num"><pre>4</pre></span><pre></pre></div> + <div class="cov"><span class="num"><pre>5</pre></span><pre>def notcov():</pre></div> + <div class="nocov"><span class="num"><pre>6</pre></span><pre> print 'not covered'</pre></div> + <div class="skip"><span class="num"><pre>7</pre></span><pre></pre></div> + </div> + </body> + </html> + <BLANKLINE> diff --git a/functional_tests/doc_tests/test_coverage_html/coverage_html_fixtures$py.class b/functional_tests/doc_tests/test_coverage_html/coverage_html_fixtures$py.class Binary files differnew file mode 100644 index 0000000..735e390 --- /dev/null +++ b/functional_tests/doc_tests/test_coverage_html/coverage_html_fixtures$py.class diff --git a/functional_tests/doc_tests/test_coverage_html/coverage_html_fixtures.py b/functional_tests/doc_tests/test_coverage_html/coverage_html_fixtures.py new file mode 100644 index 0000000..2ee5666 --- /dev/null +++ b/functional_tests/doc_tests/test_coverage_html/coverage_html_fixtures.py @@ -0,0 +1,16 @@ +import sys +import os +from nose.plugins.skip import SkipTest +from nose.plugins.cover import Coverage +from nose.plugins.plugintest import munge_nose_output_for_doctest + +_multiprocess_can_split_ = True + +def setup_module(): + try: + import coverage + if 'active' in Coverage.status: + raise SkipTest("Coverage plugin is active. Skipping tests of " + "plugin itself.") + except ImportError: + raise SkipTest("coverage module not available") diff --git a/functional_tests/doc_tests/test_coverage_html/support/blah.py b/functional_tests/doc_tests/test_coverage_html/support/blah.py new file mode 100644 index 0000000..ef6657c --- /dev/null +++ b/functional_tests/doc_tests/test_coverage_html/support/blah.py @@ -0,0 +1,6 @@ +def dostuff(): + print 'hi' + + +def notcov(): + print 'not covered' diff --git a/functional_tests/doc_tests/test_coverage_html/support/cover/blah.html b/functional_tests/doc_tests/test_coverage_html/support/cover/blah.html new file mode 100644 index 0000000..4252549 --- /dev/null +++ b/functional_tests/doc_tests/test_coverage_html/support/cover/blah.html @@ -0,0 +1,31 @@ +<html> +<head> +<title>blah</title> +</head> +<body> +blah +<style> +pre {float: left; margin: 0px 1em } +.num pre { margin: 0px } +.nocov {background-color: #faa} +.cov {background-color: #cfc} +div.coverage div { clear: both; height: 1em} +</style> +<div class="stats"> +Covered: 3 lines<br/> +Missed: 1 lines<br/> +Skipped 3 lines<br/> +Percent: 75 %<br/> + +</div> +<div class="coverage"> +<div class="cov"><span class="num"><pre>1</pre></span><pre>def dostuff():</pre></div> +<div class="cov"><span class="num"><pre>2</pre></span><pre> print 'hi'</pre></div> +<div class="skip"><span class="num"><pre>3</pre></span><pre></pre></div> +<div class="skip"><span class="num"><pre>4</pre></span><pre></pre></div> +<div class="cov"><span class="num"><pre>5</pre></span><pre>def notcov():</pre></div> +<div class="nocov"><span class="num"><pre>6</pre></span><pre> print 'not covered'</pre></div> +<div class="skip"><span class="num"><pre>7</pre></span><pre></pre></div> +</div> +</body> +</html> diff --git a/functional_tests/doc_tests/test_coverage_html/support/cover/index.html b/functional_tests/doc_tests/test_coverage_html/support/cover/index.html new file mode 100644 index 0000000..70c5c6a --- /dev/null +++ b/functional_tests/doc_tests/test_coverage_html/support/cover/index.html @@ -0,0 +1,5 @@ +<html><head><title>Coverage Index</title></head><body><p>Covered: 3 lines<br/> +Missed: 1 lines<br/> +Skipped 3 lines<br/> +Percent: 75 %<br/> +<table><tr><td>File</td><td>Covered</td><td>Missed</td><td>Skipped</td><td>Percent</td></tr><tr><td><a href="blah.html">blah</a></td><td>3</td><td>1</td><td>3</td><td>75 %</td></tr></table></p></html
\ No newline at end of file diff --git a/functional_tests/doc_tests/test_coverage_html/support/tests/test_covered.py b/functional_tests/doc_tests/test_coverage_html/support/tests/test_covered.py new file mode 100644 index 0000000..c669c5c --- /dev/null +++ b/functional_tests/doc_tests/test_coverage_html/support/tests/test_covered.py @@ -0,0 +1,4 @@ +import blah + +def test_blah(): + blah.dostuff() |