summaryrefslogtreecommitdiff
path: root/functional_tests
diff options
context:
space:
mode:
authorJason Pellerin <jpellerin@gmail.com>2008-12-10 01:56:22 +0000
committerJason Pellerin <jpellerin@gmail.com>2008-12-10 01:56:22 +0000
commit0b03ea03c02c8fb5e6bd5ee9416a9ea00708d63a (patch)
tree4399d4af11aa29c9c6e7de178aa5df48604fb19d /functional_tests
parent8889a4859bc4b360b93905ce8cdea84a6d0854eb (diff)
downloadnose-0b03ea03c02c8fb5e6bd5ee9416a9ea00708d63a.tar.gz
Applied patch from Augie Fackler implementing optional html coverage reports
Diffstat (limited to 'functional_tests')
-rw-r--r--functional_tests/doc_tests/test_coverage_html/coverage_html.rst65
-rw-r--r--functional_tests/doc_tests/test_coverage_html/coverage_html_fixtures$py.classbin0 -> 3888 bytes
-rw-r--r--functional_tests/doc_tests/test_coverage_html/coverage_html_fixtures.py16
-rw-r--r--functional_tests/doc_tests/test_coverage_html/support/blah.py6
-rw-r--r--functional_tests/doc_tests/test_coverage_html/support/cover/blah.html31
-rw-r--r--functional_tests/doc_tests/test_coverage_html/support/cover/index.html5
-rw-r--r--functional_tests/doc_tests/test_coverage_html/support/tests/test_covered.py4
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
new file mode 100644
index 0000000..735e390
--- /dev/null
+++ b/functional_tests/doc_tests/test_coverage_html/coverage_html_fixtures$py.class
Binary files differ
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()