aboutsummaryrefslogtreecommitdiff
path: root/org.jacoco.ant.test
diff options
context:
space:
mode:
authorMarc R. Hoffmann <hoffmann@mountainminds.com>2013-03-20 11:55:53 +0100
committerMarc R. Hoffmann <hoffmann@mountainminds.com>2013-05-23 22:21:25 +0200
commit55fae171b754e20062fae7cdb2d5feae8ee54017 (patch)
tree5dfac8aae54da8cb7585f63e6433caf75ccd7531 /org.jacoco.ant.test
parentccbbc428f5bad06f43ae6c42f9691a1c9f5a2f73 (diff)
downloadjacoco-55fae171b754e20062fae7cdb2d5feae8ee54017.tar.gz
New coverage check implementation.
New report APIs to check coverage, support for coverage checks in Ant, rework Maven check goal implementation based on new APIs.
Diffstat (limited to 'org.jacoco.ant.test')
-rw-r--r--org.jacoco.ant.test/src/org/jacoco/ant/ReportTaskTest.xml68
1 files changed, 68 insertions, 0 deletions
diff --git a/org.jacoco.ant.test/src/org/jacoco/ant/ReportTaskTest.xml b/org.jacoco.ant.test/src/org/jacoco/ant/ReportTaskTest.xml
index 998358e8..b718c5b2 100644
--- a/org.jacoco.ant.test/src/org/jacoco/ant/ReportTaskTest.xml
+++ b/org.jacoco.ant.test/src/org/jacoco/ant/ReportTaskTest.xml
@@ -411,6 +411,74 @@
<contains string="${testReportXmlEncoding.content}" substring="encoding=&quot;UTF-16&quot;"/>
</au:assertTrue>
</target>
+
+ <!-- Coverage Check -->
+
+ <target name="testReportCheckOk">
+ <jacoco:report>
+ <structure name="Test">
+ <classfiles>
+ <fileset dir="${org.jacoco.ant.reportTaskTest.classes.dir}" includes="**/*.class"/>
+ </classfiles>
+ <sourcefiles encoding="UTF-8">
+ <fileset dir="${org.jacoco.ant.reportTaskTest.sources.dir}" />
+ </sourcefiles>
+ </structure>
+ <check>
+ <rule element="CLASS">
+ <limit counter="METHOD" value="MISSEDCOUNT" maximum="100"/>
+ </rule>
+ </check>
+ </jacoco:report>
+ </target>
+
+ <target name="testReportCheckFailed">
+ <au:expectfailure expectedMessage="Coverage check failed due to violated rules.">
+ <jacoco:report>
+ <structure name="Test">
+ <classfiles>
+ <fileset dir="${org.jacoco.ant.reportTaskTest.classes.dir}" includes="**/*.class"/>
+ </classfiles>
+ <sourcefiles encoding="UTF-8">
+ <fileset dir="${org.jacoco.ant.reportTaskTest.sources.dir}" />
+ </sourcefiles>
+ </structure>
+ <check>
+ <rule element="BUNDLE">
+ <limit counter="INSTRUCTION" value="COVEREDRATIO" minimum="0.90"/>
+ </rule>
+ </check>
+ </jacoco:report>
+ </au:expectfailure>
+ <au:assertLogContains level="error" text="instructions covered ratio is 0.00, but expected minimum is 0.90"/>
+ </target>
+
+ <target name="testReportCheckSetPropertyOnly">
+ <jacoco:report>
+ <structure name="Test">
+ <classfiles>
+ <fileset dir="${org.jacoco.ant.reportTaskTest.classes.dir}" includes="**/*.class"/>
+ </classfiles>
+ <sourcefiles encoding="UTF-8">
+ <fileset dir="${org.jacoco.ant.reportTaskTest.sources.dir}" />
+ </sourcefiles>
+ </structure>
+ <check failonviolation="false" violationsproperty="violation">
+ <rule element="BUNDLE">
+ <limit counter="METHOD" value="COVEREDRATIO" minimum="0.50"/>
+ <limit counter="INSTRUCTION" value="COVEREDRATIO" minimum="0.90"/>
+ </rule>
+ </check>
+ </jacoco:report>
+ <au:assertLogContains level="error" text="methods covered ratio is 0.00, but expected minimum is 0.50"/>
+ <au:assertLogContains level="error" text="instructions covered ratio is 0.00, but expected minimum is 0.90"/>
+ <au:assertTrue message="Property is not set">
+ <contains string="${violation}" substring="methods covered ratio is 0.00, but expected minimum is 0.50"/>
+ </au:assertTrue>
+ <au:assertTrue message="Property is not set">
+ <contains string="${violation}" substring="instructions covered ratio is 0.00, but expected minimum is 0.90"/>
+ </au:assertTrue>
+ </target>
</project> \ No newline at end of file