Skip to content

Commit

Permalink
Added Ant targets for running unit tests and continuous integrations:…
Browse files Browse the repository at this point in the history
… "tests" and "ci".

Removed build-asunit.xml as its functionality has been merged into build.xml.
Added AllTestsCIRunner.
  • Loading branch information
Robert Penner committed Nov 14, 2010
1 parent 26142f7 commit ce49004
Show file tree
Hide file tree
Showing 6 changed files with 87 additions and 42 deletions.
7 changes: 0 additions & 7 deletions build-asunit.properties

This file was deleted.

34 changes: 0 additions & 34 deletions build-asunit.xml

This file was deleted.

2 changes: 2 additions & 0 deletions build.properties
Expand Up @@ -13,7 +13,9 @@ tests.dir=${basedir}/tests
libs.dir=${basedir}/libs
output.dir=${basedir}/bin
docs.dir=${basedir}/docs
report.dir=${basedir}/report
output.swc=${output.dir}/${project.name.versioned}.swc
tests.swf=${output.dir}/AS3SignalsTestRunner.swf

# Project links
as3signals.project.link=http://github.com/robertpenner/as3-signals
Expand Down
66 changes: 65 additions & 1 deletion build.xml
Expand Up @@ -6,8 +6,10 @@
<!-- Copy Flex SDK location from environment variable. This can be set manually instead. -->
<property name="FLEX_HOME" value="${env.FLEX_HOME}" />
<property file="build.properties"/>

<taskdef resource="flexUnitTasks.tasks" classpath="${libs.dir}/flexUnitTasks.jar" />

<target name="swc" depends="" description="Compile AS3 code into a SWC">
<target name="swc" depends="" description="Compile AS3 code into a SWC.">
<echo>Using Flex SDK at: ${FLEX_HOME}</echo>

<java jar="${FLEX_HOME}/lib/compc.jar" dir="." fork="true" failonerror="true">
Expand All @@ -27,6 +29,68 @@

</target>

<target name="test" depends="swc" description="Run unit tests in a Flash Player window.">
<echo>[test] Running Unit Tests</echo>
<!-- Compile SWF -->
<java jar="${FLEX_HOME}/lib/mxmlc.jar" dir="${FLEX_HOME}/frameworks" fork="true" failonerror="true">
<arg value="${tests.dir}/${package.dir}/AllTestsRunner.as"/>
<arg value="-incremental=true"/>
<arg value="-source-path+=${src.dir}"/>
<arg value="-source-path+=${tests.dir}"/>
<arg value="-output=${tests.swf}"/>
<arg value="-target-player=10"/>
<arg value="-default-size=1000,800"/>
<arg value="-default-background-color=0x000000"/>
<arg value="-static-link-runtime-shared-libraries=true"/>
<!-- Include classes from SWCs in this folder, but only the ones we use. -->
<arg value="-library-path+=${libs.dir}"/>
<arg value="-verbose-stacktraces=true"/>
<arg value="-headless-server=true"/>
<arg value="-keep-as3-metadata+=Test,Suite,Before,BeforeClass,After,AfterClass,RunWith,Ignore,Inject"/>
</java>
<exec executable="open" os="Mac OS X">
<arg line='-a "flash player" ${tests.swf}' />
</exec>
<exec executable="cmd.exe" osfamily="windows">
<arg line='/C start ${tests.swf}' />
</exec>
</target>

<target name="ci" depends="swc" description="Run unit tests and create JUnit-style reports for continuous integration.">
<echo>[ci] Running Unit Tests</echo>
<delete dir="${report.dir}" quiet="true"/>
<mkdir dir="${report.dir}"/>

<!-- Compile SWF -->
<java jar="${FLEX_HOME}/lib/mxmlc.jar" dir="${FLEX_HOME}/frameworks" fork="true" failonerror="true">
<arg value="${tests.dir}/${package.dir}/AllTestsCIRunner.as"/>
<arg value="-incremental=true"/>
<arg value="-source-path+=${src.dir}"/>
<arg value="-source-path+=${tests.dir}"/>
<arg value="-output=${tests.swf}"/>
<arg value="-target-player=10"/>
<arg value="-default-size=1000,800"/>
<arg value="-default-background-color=0x000000"/>
<arg value="-static-link-runtime-shared-libraries=true"/>
<!-- Include classes from SWCs in this folder, but only the ones we use. -->
<arg value="-library-path+=${libs.dir}"/>
<arg value="-verbose-stacktraces=true"/>
<arg value="-headless-server=true"/>
<arg value="-keep-as3-metadata+=Test,Suite,Before,BeforeClass,After,AfterClass,RunWith,Ignore,Inject"/>
</java>

<!-- Execute test runner SWF and publish reports -->
<flexunit swf="${tests.swf}" toDir="${report.dir}" haltonfailure="false" verbose="true" localTrusted="false" />

<!-- Generate readable JUnit-style reports -->
<junitreport todir="${report.dir}">
<fileset dir="${report.dir}">
<include name="TEST-*.xml" />
</fileset>
<report format="frames" todir="${report.dir}/html" />
</junitreport>
</target>

<target name="clean-asdoc">
<delete dir="${docs.dir}" failOnError="false" includeEmptyDirs="true"/>
<mkdir dir="${docs.dir}"/>
Expand Down
Binary file added libs/flexUnitTasks.jar
Binary file not shown.
20 changes: 20 additions & 0 deletions tests/org/osflash/signals/AllTestsCIRunner.as
@@ -0,0 +1,20 @@
package org.osflash.signals
{
import asunit.core.FlexUnitCICore;
import asunit.core.TextCore;

import flash.display.MovieClip;

[SWF(width='1000', height='800', backgroundColor='#333333', frameRate='31')]
public class AllTestsCIRunner extends MovieClip
{
private var core:TextCore;

public function AllTestsCIRunner()
{
core = new FlexUnitCICore();
core.start(AllTests, null, this);
}
}
}

0 comments on commit ce49004

Please sign in to comment.