diff options
Diffstat (limited to 'org.jacoco.doc/docroot/doc')
-rw-r--r-- | org.jacoco.doc/docroot/doc/changes.html | 8 | ||||
-rw-r--r-- | org.jacoco.doc/docroot/doc/faq.html | 6 | ||||
-rw-r--r-- | org.jacoco.doc/docroot/doc/flow.html | 21 |
3 files changed, 32 insertions, 3 deletions
diff --git a/org.jacoco.doc/docroot/doc/changes.html b/org.jacoco.doc/docroot/doc/changes.html index 458f858b..24182079 100644 --- a/org.jacoco.doc/docroot/doc/changes.html +++ b/org.jacoco.doc/docroot/doc/changes.html @@ -22,6 +22,8 @@ <h3>New Features</h3> <ul> + <li>Better detection of coverage in code blocks with implicit exceptions. + (GitHub <a href="https://github.com/jacoco/jacoco/issues/310">#310</a>).</li> <li>Added lifecycle-mapping-metadata.xml for M2E (GitHub <a href="https://github.com/jacoco/jacoco/issues/203">#203</a>).</li> <li>Allow locales with country and variant for Ant report task @@ -36,6 +38,12 @@ (GitHub <a href="https://github.com/jacoco/jacoco/issues/301">#301</a>).</li> </ul> +<h3>API Changes</h3> +<ul> + <li>The exec file version has been updated and is not compatible with previous + versions.</li> +</ul> + <h2>Release 0.7.4 (2015/02/26)</h2> <h3>Fixed Bugs</h3> diff --git a/org.jacoco.doc/docroot/doc/faq.html b/org.jacoco.doc/docroot/doc/faq.html index 1748b4dc..62d81143 100644 --- a/org.jacoco.doc/docroot/doc/faq.html +++ b/org.jacoco.doc/docroot/doc/faq.html @@ -45,13 +45,13 @@ duplicate classes or create separate reports or report groups for each version. </p> -<h3>Code with exceptions shows no coverage. Why?</h3> +<h3>Source code lines with exceptions show no coverage. Why?</h3> <p> JaCoCo determines code execution with so called probes. Probes are inserted into the control flow at certain positions. Code is considered as executed when a subsequent probe has been executed. In case of exceptions such a - sequence of instructions is aborted somewhere in the middle and not marked as - executed. + sequence of instructions is aborted somewhere in the middle and the + corresponding line of source code is not marked as covered. </p> <h3>Why does the coverage report not show line coverage figures?</h3> diff --git a/org.jacoco.doc/docroot/doc/flow.html b/org.jacoco.doc/docroot/doc/flow.html index 8eec88b7..98678bbc 100644 --- a/org.jacoco.doc/docroot/doc/flow.html +++ b/org.jacoco.doc/docroot/doc/flow.html @@ -257,6 +257,27 @@ public static example()V above. </p> +<h2>Additional Probes Between Lines</h2> + +<p> + The probe insertion strategy described so far does not consider implicit + exceptions thrown for example from invoked methods. If the control flow + between two probes is interrupted by a exception not explicitly created with + a <code>throw</code> statement all instruction in between are considered as + not covered. This leads to unexpected results especially when the the block of + instructions spans multiple lines of source code. +</p> + +<p> + Therefore JaCoCo adds an additional probe between the instructions of two + lines whenever the subsequent line contains at least one method invocation. + This limits the effect of implicit exceptions from method invocations to + single lines of source. The approach only works for class files compiled with + debug information (line numbers) and does not consider implicit exceptions + from other instructions than method invocations (e.g. + <code>NullPointerException</code> or <code>ArrayIndexOutOfBoundsException</code>). +</p> + <h2>Probe Implementation</h2> <p> |