Skip to content

Commit

Permalink
Make it possible to get HTML output from JUnit tests too
Browse files Browse the repository at this point in the history
  • Loading branch information
olabini committed Apr 19, 2011
1 parent 91c2587 commit 6847575
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 4 deletions.
14 changes: 13 additions & 1 deletion build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
<mkdir dir="${build.dir}"/>
<mkdir dir="${coverage.dir}"/>
<mkdir dir="${classes.dir}"/>
<mkdir dir="${test.results.dir}"/>
<mkdir dir="${html.test.results.dir}"/>
</target>

<target name="generate_filters" depends="prepare" description="Generates source files">
Expand Down Expand Up @@ -68,13 +70,23 @@
</target>

<target name="ci-test" depends="compile" description="Runs all ISpec tests">
<java classname="ioke.lang.Main" fork="true" failonerror="true" maxmemory="256m">
<java classname="ioke.lang.Main" fork="true" maxmemory="256m" resultproperty="ispec.result">
<sysproperty key="ispec.ansi" value="${ispec.ansi}"/>
<classpath refid="build.classpath"/>
<classpath path="${classes.dir}"/>

<arg line="bin/ispec test -fx to: ${test.results.dir}"/>
</java>
<junitreport todir="${test.results.dir}">
<fileset dir="${test.results.dir}" includes="TEST-*.xml"/>
<report format="frames" todir="${html.test.results.dir}"/>
</junitreport>
<condition property="ispec.failure">
<not>
<equals arg1="0" arg2="${ispec.result}"/>
</not>
</condition>
<fail if="ispec.failure" message="Test(s) failed."/>
</target>

<target name="coverage" depends="coverage.instrument" description="Runs all ISpec tests using Cobertura and produces a report">
Expand Down
2 changes: 2 additions & 0 deletions default.build.properties
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,7 @@ coverage.classes.dir=${coverage.dir}/classes
coverage.report.dir=${coverage.dir}/report
classes.dir=${build.dir}/classes
test.results.dir=${build.dir}/test-results
html.test.results.dir=${test.results.dir}/html
html.test.coverage.results.dir=${test.results.dir}/html-coverage
javac.version=1.5
release.dir=rels
16 changes: 13 additions & 3 deletions lib/ioke/ispec/formatter.ik
Original file line number Diff line number Diff line change
Expand Up @@ -326,7 +326,7 @@ ISpec do(
outf println(" <error message=\"#{makeTextXmlSafe(res[2][1] condition text)}\" type=\"#{res[2][1] condition kind}\">#{makeTextXmlSafe(res[2][1] condition text)}\n\n#{res[2][1] condition example stackTraceAsText(res[2][1] condition)}")
outf println(" </error>")
)
outf println(" </testcase\">")
outf println(" </testcase>")
)
)

Expand All @@ -336,9 +336,19 @@ ISpec do(
))
)
)

makeTextXmlSafe = method(text,
text replaceAll("&", "&amp;") replaceAll("<", "&lt;") replaceAll(">", "&gt;"))
text chars map(in,
case(in,
"&", "&amp;",
"<", "&lt;",
">", "&gt;",
"\"", "&#34;",
else, if(in[0] > 255,
"&##{in[0]};",
in)
)) join
)

formatDuration = method(val,
after = val%1000
Expand Down

0 comments on commit 6847575

Please sign in to comment.