diff options
author | Alex Clayton <alex.clayton@isode.com> | 2018-07-19 12:40:16 (GMT) |
---|---|---|
committer | Alex Clayton <alex.clayton@isode.com> | 2018-08-09 12:46:43 (GMT) |
commit | e906d1c46a854de703017cbb05e1adde5babe417 (patch) | |
tree | 55516b842367b0d9cb53ed796b2dc9c2892c924a | |
parent | 17a1e7662102eea20ddc104133e2e30a70fefdc1 (diff) | |
download | stroke-e906d1c46a854de703017cbb05e1adde5babe417.zip stroke-e906d1c46a854de703017cbb05e1adde5babe417.tar.bz2 |
Update stroke junit tests so it can cope with the latest version of
Junit 4 (4.12) which no requires both Junit and Hamcrest to be on the
classpath.
This is done using a method similar to how JUNIT is currently set.
The make file passes a new HAMCREST enviroment variable to the ant
script as HAMCREST_JAR which ant then adds to the tests classpath.
So to run the tests with the new JUNIT will need to set JUNIT to point
to junit.jar and HAMCREST to the hamcrest jar, then run Make test.
Also make use of ant's junitreport task to create a html version of
the junit test's results, which makes diagnosing failures easier.
Test-information:
After setting HAMCREST and JUNIT then running Make Test on OSX and
Unix all tests pass and HTML output is generated.
If HAMCREST is not set but JUNIT points to latest junit.jar (i.e one
that requires hamcrest on class path) tests fail with error about not
being able to find hamcrest classes.
If HAMCREST not set but JUNIT points to an older junit.jar then tests
run correctly.
On Windows got the unit tests to run by calling ant directly, again
with HAMCREST and JUNIT set tests run correctly.
Change-Id: I272b1dbe1bde05593df15f22814b7882a494f2c8
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | build.xml | 15 |
2 files changed, 15 insertions, 2 deletions
@@ -20,7 +20,7 @@ FINDBUGS_VERSION=3.0.1 .PHONY : test test: dist/lib/stroke.jar third-party/cobertura/cobertura.jar third-party/findbugs-$(FINDBUGS_VERSION)/lib/findbugs.jar third-party/pmd/lib/pmd-5.0.0.jar - ant ${DEFINES} -DJUNIT_JAR=${JUNIT} -Dcobertura-jar=third-party/cobertura/cobertura.jar -Djakarta-oro-jar=third-party/cobertura/lib/jakarta-oro-2.0.8.jar -Dlog4j-jar=third-party/cobertura/lib/log4j-1.2.9.jar -Dasm-jar=third-party/cobertura/lib/asm-3.0.jar -Dasm-tree-jar=third-party/cobertura/lib/asm-tree-3.0.jar -Dicu4j-jar=third-party/icu4j.jar -Dfindbugs.home=third-party/findbugs-$(FINDBUGS_VERSION) -Dpmd.home=third-party/pmd test + ant ${DEFINES} -DJUNIT_JAR=${JUNIT} -DHAMCREST_JAR=${HAMCREST} -Dcobertura-jar=third-party/cobertura/cobertura.jar -Djakarta-oro-jar=third-party/cobertura/lib/jakarta-oro-2.0.8.jar -Dlog4j-jar=third-party/cobertura/lib/log4j-1.2.9.jar -Dasm-jar=third-party/cobertura/lib/asm-3.0.jar -Dasm-tree-jar=third-party/cobertura/lib/asm-tree-3.0.jar -Dicu4j-jar=third-party/icu4j.jar -Dfindbugs.home=third-party/findbugs-$(FINDBUGS_VERSION) -Dpmd.home=third-party/pmd test third-party/aalto/aalto-xml.jar: mkdir -p third-party/aalto @@ -117,6 +117,7 @@ <classpath> <pathelement location="${jar}"/> <pathelement location="${JUNIT_JAR}"/> + <pathelement location="${HAMCREST_JAR}"/> <fileset dir="${icu4j-dir}" includes="icu4j.jar"/> </classpath> </javac> @@ -143,6 +144,7 @@ </classpath> <classpath> <pathelement location="${JUNIT_JAR}"/> + <pathelement location="${HAMCREST_JAR}"/> <pathelement location="${jar}"/> <pathelement location="${src.tests}"/> <path refid="classpath"/> @@ -201,7 +203,7 @@ </pmd> </target> - <target name="test" depends="compile-tests, instrument, run-tests, coverage, findbugs, pmd"> + <target name="test" depends="compile-tests, instrument, run-tests, coverage, findbugs, pmd, report-junit-tests"> </target> <target name="clean" @@ -243,4 +245,15 @@ </classpath> </java> </target> + + <target name="report-junit-tests" depends="run-tests"> + <mkdir dir="${test.results}/html"/> + <junitreport todir="${test.results}"> + <fileset dir="${test.results}"> + <include name="TEST-*.xml"/> + </fileset> + <report todir="${test.results}/html"/> + </junitreport> + </target> + </project> |