Browse Source

antunit-ize checksum tests

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@292775 13f79535-47bb-0310-9956-ffa450edef68
master
Matthew Jason Benson 20 years ago
parent
commit
e562f879e8
2 changed files with 142 additions and 62 deletions
  1. +138
    -34
      src/etc/testcases/taskdefs/checksum.xml
  2. +4
    -28
      src/testcases/org/apache/tools/ant/taskdefs/ChecksumTest.java

+ 138
- 34
src/etc/testcases/taskdefs/checksum.xml View File

@@ -21,6 +21,47 @@
</sequential> </sequential>
</macrodef> </macrodef>


<macrodef name="testverify">
<attribute name="checknologo" default="false" />
<element name="stuff" implicit="true" />
<sequential>
<fail>
<condition>
<or>
<isset property="logo.MD5" />
<isset property="no.logo.MD5" />
</or>
</condition>
</fail>
<stuff />
<fail>
<condition>
<not>
<istrue value="${logo.MD5}" />
</not>
</condition>
</fail>
<fail>
<condition>
<and>
<istrue value="@{checknologo}" />
<not>
<isfalse value="${no.logo.MD5}" />
</not>
</and>
</condition>
</fail>
<fail>
<condition>
<and>
<isfalse value="@{checknologo}" />
<isset property="no.logo.MD5" />
</and>
</condition>
</fail>
</sequential>
</macrodef>

<target name="cleanup"> <target name="cleanup">
<delete file="../asf-logo.gif.MD5" /> <delete file="../asf-logo.gif.MD5" />
<delete file="../asf-logo.gif.md5" /> <delete file="../asf-logo.gif.md5" />
@@ -60,47 +101,76 @@


<target name="setProperty"> <target name="setProperty">
<checksum file="../asf-logo.gif" property="logo.MD5" /> <checksum file="../asf-logo.gif" property="logo.MD5" />
<fail>
<condition>
<or>
<not>
<equals arg1="0541d3df42520911f268abc730f3afe0"
arg2="${logo.MD5}" />
</not>
<available file="../asf-logo.gif.MD5" />
</or>
</condition>
</fail>
</target> </target>


<target name="verifyAsTask"> <target name="verifyAsTask">
<copy file="expected/asf-logo.gif.md5" todir=".." />
<checksum file="../asf-logo.gif" fileext=".md5"
verifyproperty="logo.MD5" />

<copy file="checksum.xml" tofile="../asf-logo.gif.MD5"
overwrite="true" />
<checksum file="../asf-logo.gif" fileext=".MD5"
verifyproperty="no.logo.MD5" />
<testverify checknologo="true">
<copy file="expected/asf-logo.gif.md5" todir=".." />
<checksum file="../asf-logo.gif" fileext=".md5"
verifyproperty="logo.MD5" />

<copy file="checksum.xml" tofile="../asf-logo.gif.MD5"
overwrite="true" />
<checksum file="../asf-logo.gif" fileext=".MD5"
verifyproperty="no.logo.MD5" />
</testverify>
</target> </target>


<target name="verifyMD5SUMAsTask"> <target name="verifyMD5SUMAsTask">
<copy file="expected/asf-logo.gif.md5sum" todir=".." />
<checksum file="../asf-logo.gif" fileext=".md5sum"
verifyproperty="logo.MD5" format="MD5SUM"/>

<copy file="checksum.xml" tofile="../asf-logo.gif.MD5SUM"
overwrite="true" />
<checksum file="../asf-logo.gif" fileext=".MD5SUM"
verifyproperty="no.logo.MD5" format="MD5SUM"/>
<testverify checknologo="true">
<copy file="expected/asf-logo.gif.md5sum" todir=".." />
<checksum file="../asf-logo.gif" fileext=".md5sum"
verifyproperty="logo.MD5" format="MD5SUM"/>

<copy file="checksum.xml" tofile="../asf-logo.gif.MD5SUM"
overwrite="true" />
<checksum file="../asf-logo.gif" fileext=".MD5SUM"
verifyproperty="no.logo.MD5" format="MD5SUM"/>
</testverify>
</target> </target>


<target name="verifyAsCondition"> <target name="verifyAsCondition">
<copy file="expected/asf-logo.gif.md5" todir=".." />
<condition property="logo.MD5">
<checksum file="../asf-logo.gif" fileext=".md5" />
</condition>

<copy file="checksum.xml" tofile="../asf-logo.gif.MD5"
overwrite="true" />
<condition property="no.logo.MD5">
<checksum file="../asf-logo.gif" fileext=".MD5" />
</condition>
<testverify>
<copy file="expected/asf-logo.gif.md5" todir=".." />
<condition property="logo.MD5">
<checksum file="../asf-logo.gif" fileext=".md5" />
</condition>

<copy file="checksum.xml" tofile="../asf-logo.gif.MD5"
overwrite="true" />
<condition property="no.logo.MD5">
<checksum file="../asf-logo.gif" fileext=".MD5" />
</condition>
</testverify>
</target> </target>


<target name="verifyFromProperty"> <target name="verifyFromProperty">
<fail>
<condition>
<isset property="verify" />
</condition>
</fail>
<checksum property="checksum" file="checksum.xml"/> <checksum property="checksum" file="checksum.xml"/>
<checksum property="${checksum}" file="checksum.xml" <checksum property="${checksum}" file="checksum.xml"
verifyproperty="verify"/> verifyproperty="verify"/>
<fail>
<condition>
<not>
<istrue value="${verify}" />
</not>
</condition>
</fail>
</target> </target>


<target name="verifyTotal"> <target name="verifyTotal">
@@ -109,6 +179,13 @@
<exclude name="**/*.MD5"/> <exclude name="**/*.MD5"/>
</fileset> </fileset>
</checksum> </checksum>
<fail>
<condition>
<not>
<equals arg1="ef8f1477fcc9bf93832c1a74f629c626" arg2="${total}" />
</not>
</condition>
</fail>
</target> </target>


<target name="verifyChecksumdir"> <target name="verifyChecksumdir">
@@ -117,13 +194,40 @@
<exclude name="**/*.MD5"/> <exclude name="**/*.MD5"/>
</fileset> </fileset>
</checksum> </checksum>
<fail>
<condition>
<not>
<equals arg1="ef8f1477fcc9bf93832c1a74f629c626" arg2="${total}" />
</not>
</condition>
</fail>
<pathconvert property="srcdirfile">
<file file="checksum/foo/zap/Eenie.MD5" />
</pathconvert>
<pathconvert property="destdirfile">
<file file="checksum/checksums/foo/zap/Eenie.MD5" />
</pathconvert>
<fail message="Checksums should be written to ${destdirfile}">
<condition>
<not>
<available file="${destdirfile}" />
</not>
</condition>
</fail>
<fail message="Checksums should not be written to ${srcdirfile}">
<condition>
<available file="${srcdirfile}" />
</condition>
</fail>
</target> </target>
<!-- bug report 25606 -->
<target name="verifyChecksumdirNoTotal">
<checksum todir="${basedir}/checksum/checksums">
<fileset dir="${basedir}/checksum">
<exclude name="**/*.MD5"/>
</fileset>
</checksum>
</target>

<!-- bug report 25606 -->
<target name="verifyChecksumdirNoTotal">
<checksum todir="${basedir}/checksum/checksums">
<fileset dir="${basedir}/checksum">
<exclude name="**/*.MD5"/>
</fileset>
</checksum>
</target>

</project> </project>

+ 4
- 28
src/testcases/org/apache/tools/ant/taskdefs/ChecksumTest.java View File

@@ -56,58 +56,34 @@ public class ChecksumTest extends BuildFileTest {


public void testSetProperty() { public void testSetProperty() {
executeTarget("setProperty"); executeTarget("setProperty");
assertEquals("0541d3df42520911f268abc730f3afe0",
project.getProperty("logo.MD5"));
assertTrue(!project.resolveFile("../asf-logo.gif.MD5").exists());
} }


public void testVerifyTotal() { public void testVerifyTotal() {
executeTarget("verifyTotal"); executeTarget("verifyTotal");
assertEquals("ef8f1477fcc9bf93832c1a74f629c626",
project.getProperty("total"));
} }


public void testVerifyChecksumdir() { public void testVerifyChecksumdir() {
executeTarget("verifyChecksumdir"); executeTarget("verifyChecksumdir");
assertEquals("ef8f1477fcc9bf93832c1a74f629c626",
project.getProperty("total"));
File shouldExist = project.resolveFile("checksum/checksums/foo/zap/Eenie.MD5");
File shouldNotExist = project.resolveFile("checksum/foo/zap/Eenie.MD5");
assertTrue( "Checksums should be written to " + shouldExist.getAbsolutePath(), shouldExist.exists());
assertTrue( "Checksums should not be written to " + shouldNotExist.getAbsolutePath(), !shouldNotExist.exists());
} }


public void testVerifyAsTask() { public void testVerifyAsTask() {
testVerify("verifyAsTask");
assertNotNull(project.getProperty("no.logo.MD5"));
assertEquals("false", project.getProperty("no.logo.MD5"));
executeTarget("verifyAsTask");
} }


public void testVerifyMD5SUMAsTask() { public void testVerifyMD5SUMAsTask() {
testVerify("verifyMD5SUMAsTask");
assertNotNull(project.getProperty("no.logo.MD5"));
assertEquals("false", project.getProperty("no.logo.MD5"));
executeTarget("verifyMD5SUMAsTask");
} }


public void testVerifyAsCondition() { public void testVerifyAsCondition() {
testVerify("verifyAsCondition");
assertNull(project.getProperty("no.logo.MD5"));
executeTarget("verifyAsCondition");
} }


public void testVerifyFromProperty() { public void testVerifyFromProperty() {
assertNull(getProject().getProperty("verify"));
expectPropertySet("verifyFromProperty", "verify", "true");
executeTarget("verifyFromProperty");
} }


public void testVerifyChecksumdirNoTotal() { public void testVerifyChecksumdirNoTotal() {
executeTarget("verifyChecksumdirNoTotal"); executeTarget("verifyChecksumdirNoTotal");
} }
private void testVerify(String target) {
assertNull(project.getProperty("logo.MD5"));
assertNull(project.getProperty("no.logo.MD5"));
executeTarget(target);
assertNotNull(project.getProperty("logo.MD5"));
assertEquals("true", project.getProperty("logo.MD5"));
}


} }

Loading…
Cancel
Save