aboutsummaryrefslogtreecommitdiff
path: root/org.jacoco.doc/docroot/doc
diff options
context:
space:
mode:
Diffstat (limited to 'org.jacoco.doc/docroot/doc')
-rw-r--r--org.jacoco.doc/docroot/doc/changes.html8
-rw-r--r--org.jacoco.doc/docroot/doc/faq.html6
-rw-r--r--org.jacoco.doc/docroot/doc/flow.html21
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>