diff options
| author | Ned Batchelder <ned@nedbatchelder.com> | 2011-05-31 23:12:40 -0400 |
|---|---|---|
| committer | Ned Batchelder <ned@nedbatchelder.com> | 2011-05-31 23:12:40 -0400 |
| commit | 139497ac9cf495a13e9f3323db489bf56054f5d4 (patch) | |
| tree | eae49dfbee407d333ef61618351936ded5945297 /test/farm | |
| parent | 61deec574e9d0181ad986d1276e3d57e8427930d (diff) | |
| download | python-coveragepy-git-139497ac9cf495a13e9f3323db489bf56054f5d4.tar.gz | |
Better handling of the partial-branch exclusion regexes. Finishes issue #113.
Diffstat (limited to 'test/farm')
| -rw-r--r-- | test/farm/html/gold_partial/index.html | 82 | ||||
| -rw-r--r-- | test/farm/html/gold_partial/partial.html | 121 | ||||
| -rw-r--r-- | test/farm/html/run_partial.py | 27 | ||||
| -rw-r--r-- | test/farm/html/src/partial.py | 19 |
4 files changed, 249 insertions, 0 deletions
diff --git a/test/farm/html/gold_partial/index.html b/test/farm/html/gold_partial/index.html new file mode 100644 index 00000000..fe945344 --- /dev/null +++ b/test/farm/html/gold_partial/index.html @@ -0,0 +1,82 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> +<html> +<head> + <meta http-equiv='Content-Type' content='text/html; charset=utf-8'> + <title>Coverage report</title> + <link rel='stylesheet' href='style.css' type='text/css'> + <script type='text/javascript' src='jquery-1.4.3.min.js'></script> + <script type='text/javascript' src='jquery.tablesorter.min.js'></script> + <script type='text/javascript' src='jquery.hotkeys.js'></script> + <script type='text/javascript' src='coverage_html.js'></script> + <script type='text/javascript' charset='utf-8'> + jQuery(document).ready(coverage.index_ready); + </script> +</head> +<body id='indexfile'> + +<div id='header'> + <div class='content'> + <h1>Coverage report: + <span class='pc_cov'>100%</span> + </h1> + </div> +</div> + +<div id='index'> + <table class='index'> + <thead> + + <tr class='tablehead' title='Click to sort'> + <th class='name left headerSortDown shortkey_n'>Module</th> + <th class='shortkey_s'>statements</th> + <th class='shortkey_m'>missing</th> + <th class='shortkey_x'>excluded</th> + + <th class='shortkey_b'>branches</th> + <th class='shortkey_p'>partial</th> + + <th class='right shortkey_c'>coverage</th> + </tr> + </thead> + + <tfoot> + <tr class='total'> + <td class='name left'>Total</td> + <td>8</td> + <td>0</td> + <td>0</td> + + <td>6</td> + <td>0</td> + + <td class='right'>100%</td> + </tr> + </tfoot> + <tbody> + + <tr class='file'> + <td class='name left'><a href='partial.html'>partial</a></td> + <td>8</td> + <td>0</td> + <td>0</td> + + <td>6</td> + <td>0</td> + + <td class='right'>100%</td> + </tr> + + </tbody> + </table> +</div> + +<div id='footer'> + <div class='content'> + <p> + <a class='nav' href='http://nedbatchelder.com/code/coverage/3.5a1'>coverage.py v3.5a1</a> + </p> + </div> +</div> + +</body> +</html> diff --git a/test/farm/html/gold_partial/partial.html b/test/farm/html/gold_partial/partial.html new file mode 100644 index 00000000..b9640ce4 --- /dev/null +++ b/test/farm/html/gold_partial/partial.html @@ -0,0 +1,121 @@ +<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> +<html> +<head> + <meta http-equiv='Content-Type' content='text/html; charset=utf-8'> + + + <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' /> + <title>Coverage for partial: 100%</title> + <link rel='stylesheet' href='style.css' type='text/css'> + <script type='text/javascript' src='jquery-1.4.3.min.js'></script> + <script type='text/javascript' src='jquery.hotkeys.js'></script> + <script type='text/javascript' src='jquery.isonscreen.js'></script> + <script type='text/javascript' src='coverage_html.js'></script> + <script type='text/javascript' charset='utf-8'> + jQuery(document).ready(coverage.pyfile_ready); + </script> +</head> +<body id='pyfile'> + +<div id='header'> + <div class='content'> + <h1>Coverage for <b>partial</b> : + <span class='pc_cov'>100%</span> + </h1> + <img id='keyboard_icon' src='keybd_closed.png'> + <h2 class='stats'> + 8 statements + <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>8 run</span> + <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>0 missing</span> + <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span> + + <span class='par run hide_run shortkey_p' onclick='coverage.toggle_lines(this, "par")'>0 partial</span> + + </h2> + </div> +</div> + +<div class='help_panel'> + <img id='panel_icon' src='keybd_open.png'> +<p class='legend'>Hot-keys on this page</p> + <div> +<p class='keyhelp'> + <span class='key'>r</span> + <span class='key'>m</span> + <span class='key'>x</span> + <span class='key'>p</span> toggle line displays + </p> +<p class='keyhelp'> + <span class='key'>j</span> + <span class='key'>k</span> next/prev highlighted chunk + </p> +<p class='keyhelp'> + <span class='key'>0</span> (zero) top of page + </p> +<p class='keyhelp'> + <span class='key'>1</span> (one) first highlighted chunk + </p> + </div> +</div> + +<div id='source'> + <table cellspacing='0' cellpadding='0'> + <tr> + <td class='linenos' valign='top'> +<p id='n1' class='pln'><a href='#n1'>1</a></p> +<p id='n2' class='pln'><a href='#n2'>2</a></p> +<p id='n3' class='stm run hide_run'><a href='#n3'>3</a></p> +<p id='n4' class='pln'><a href='#n4'>4</a></p> +<p id='n5' class='stm run hide_run'><a href='#n5'>5</a></p> +<p id='n6' class='stm run hide_run'><a href='#n6'>6</a></p> +<p id='n7' class='pln'><a href='#n7'>7</a></p> +<p id='n8' class='stm run hide_run'><a href='#n8'>8</a></p> +<p id='n9' class='stm run hide_run'><a href='#n9'>9</a></p> +<p id='n10' class='pln'><a href='#n10'>10</a></p> +<p id='n11' class='stm run hide_run'><a href='#n11'>11</a></p> +<p id='n12' class='stm run hide_run'><a href='#n12'>12</a></p> +<p id='n13' class='pln'><a href='#n13'>13</a></p> +<p id='n14' class='pln'><a href='#n14'>14</a></p> +<p id='n15' class='pln'><a href='#n15'>15</a></p> +<p id='n16' class='pln'><a href='#n16'>16</a></p> +<p id='n17' class='pln'><a href='#n17'>17</a></p> +<p id='n18' class='stm run hide_run'><a href='#n18'>18</a></p> +<p id='n19' class='pln'><a href='#n19'>19</a></p> + + </td> + <td class='text' valign='top'> +<p id='t1' class='pln'><span class='com'># partial branches</span><span class='strut'> </span></p> +<p id='t2' class='pln'><span class='strut'> </span></p> +<p id='t3' class='stm run hide_run'><span class='nam'>a</span> <span class='op'>=</span> <span class='num'>3</span><span class='strut'> </span></p> +<p id='t4' class='pln'><span class='strut'> </span></p> +<p id='t5' class='stm run hide_run'><span class='key'>while</span> <span class='nam'>True</span><span class='op'>:</span><span class='strut'> </span></p> +<p id='t6' class='stm run hide_run'> <span class='key'>break</span><span class='strut'> </span></p> +<p id='t7' class='pln'><span class='strut'> </span></p> +<p id='t8' class='stm run hide_run'><span class='key'>while</span> <span class='num'>1</span><span class='op'>:</span><span class='strut'> </span></p> +<p id='t9' class='stm run hide_run'> <span class='key'>break</span><span class='strut'> </span></p> +<p id='t10' class='pln'><span class='strut'> </span></p> +<p id='t11' class='stm run hide_run'><span class='key'>while</span> <span class='nam'>a</span><span class='op'>:</span> <span class='com'># pragma: no branch</span><span class='strut'> </span></p> +<p id='t12' class='stm run hide_run'> <span class='key'>break</span><span class='strut'> </span></p> +<p id='t13' class='pln'><span class='strut'> </span></p> +<p id='t14' class='pln'><span class='key'>if</span> <span class='num'>0</span><span class='op'>:</span><span class='strut'> </span></p> +<p id='t15' class='pln'> <span class='nam'>never_happen</span><span class='op'>(</span><span class='op'>)</span><span class='strut'> </span></p> +<p id='t16' class='pln'><span class='strut'> </span></p> +<p id='t17' class='pln'><span class='key'>if</span> <span class='num'>1</span><span class='op'>:</span><span class='strut'> </span></p> +<p id='t18' class='stm run hide_run'> <span class='nam'>a</span> <span class='op'>=</span> <span class='num'>13</span><span class='strut'> </span></p> +<p id='t19' class='pln'><span class='strut'> </span></p> + + </td> + </tr> + </table> +</div> + +<div id='footer'> + <div class='content'> + <p> + <a class='nav' href='index.html'>« index</a> <a class='nav' href='http://nedbatchelder.com/code/coverage/3.5a1'>coverage.py v3.5a1</a> + </p> + </div> +</div> + +</body> +</html> diff --git a/test/farm/html/run_partial.py b/test/farm/html/run_partial.py new file mode 100644 index 00000000..3fb621a1 --- /dev/null +++ b/test/farm/html/run_partial.py @@ -0,0 +1,27 @@ +def html_it(): + """Run coverage and make an HTML report for partial.""" + import coverage + cov = coverage.coverage(branch=True) + cov.start() + import partial + cov.stop() + cov.html_report(partial, directory="../html_partial") + +runfunc(html_it, rundir="src") + +# HTML files will change often. Check that the sizes are reasonable, +# and check that certain key strings are in the output. +compare("gold_partial", "html_partial", size_within=10, file_pattern="*.html") +contains("html_partial/partial.html", + "<p id='t5' class='stm run hide_run'>", + "<p id='t8' class='stm run hide_run'>", + "<p id='t11' class='stm run hide_run'>", + # The "if 0" and "if 1" statements are optimized away. + "<p id='t14' class='pln'>", + ) +contains("html_partial/index.html", + "<a href='partial.html'>partial</a>", + "<span class='pc_cov'>100%</span>" + ) + +clean("html_partial") diff --git a/test/farm/html/src/partial.py b/test/farm/html/src/partial.py new file mode 100644 index 00000000..9126844f --- /dev/null +++ b/test/farm/html/src/partial.py @@ -0,0 +1,19 @@ +# partial branches + +a = 3 + +while True: + break + +while 1: + break + +while a: # pragma: no branch + break + +if 0: + never_happen() + +if 1: + a = 13 + |
