| <?xml version="1.0"?> |
| |
| <project name="selectors-test" basedir="." default="setupfiles"> |
| |
| <property name="etc.dir" value=".."/> |
| <property name="test.dir" |
| value="selectortest"/> |
| <property name="testregexpsrc.dir" |
| value="regexpseltestsrc"/> |
| <property name="testregexpdest.dir" |
| value="regexpseltestdest"/> |
| <property name="mirror.dir" |
| value="selectortest2"/> |
| |
| <target name="setupfiles"> |
| <mkdir dir="${test.dir}" /> |
| <mkdir dir="${test.dir}/zip" /> |
| <mkdir dir="${test.dir}/tar" /> |
| <mkdir dir="${test.dir}/tar/gz" /> |
| <mkdir dir="${test.dir}/tar/bz2" /> |
| <copy file="${etc.dir}/taskdefs/expected/asf-logo.gif.md5" |
| tofile="${test.dir}/asf-logo.gif.md5" /> |
| <copy file="${etc.dir}/taskdefs/expected/asf-logo.gif.bz2" |
| tofile="${test.dir}/asf-logo.gif.bz2" /> |
| <copy file="${etc.dir}/taskdefs/expected/asf-logo.gif.gz" |
| tofile="${test.dir}/asf-logo.gif.gz" /> |
| <copy file="${etc.dir}/taskdefs/expected/copy.filterset.filtered" |
| tofile="${test.dir}/copy.filterset.filtered" /> |
| <copy file="${etc.dir}/taskdefs/expected/asf-logo.gif.zip" |
| tofile="${test.dir}/zip/asf-logo.gif.zip" /> |
| <copy file="${etc.dir}/taskdefs/expected/asf-logo.gif.tar" |
| tofile="${test.dir}/tar/asf-logo.gif.tar" /> |
| <copy file="${etc.dir}/taskdefs/expected/asf-logo-huge.tar.gz" |
| tofile="${test.dir}/tar/asf-logo-huge.tar.gz" /> |
| <copy file="${etc.dir}/taskdefs/expected/asf-logo.gif.tar.gz" |
| tofile="${test.dir}/tar/gz/asf-logo.gif.tar.gz" /> |
| <copy file="${etc.dir}/taskdefs/expected/asf-logo.gif.tar.bz2" |
| tofile="${test.dir}/tar/bz2/asf-logo.gif.tar.bz2" /> |
| <copy file="${etc.dir}/taskdefs/expected/asf-logo-huge.tar.bz2" |
| tofile="${test.dir}/tar/bz2/asf-logo-huge.tar.bz2" /> |
| <!-- Make linefeeds consistent between platforms --> |
| <fixcrlf srcdir="${test.dir}" includes="*.filtered" eol="lf"/> |
| <!-- Set a known base time for all files --> |
| <touch datetime="11/21/2001 4:55 AM"> |
| <fileset dir="${test.dir}"> |
| <include name="**/*"/> |
| </fileset> |
| </touch> |
| <!-- Then adjust individual ones --> |
| <touch file="${test.dir}/asf-logo.gif.bz2" |
| datetime="01/01/2001 12:00 AM"/> |
| <touch file="${test.dir}/asf-logo.gif.gz" |
| datetime="04/15/2002 2:30 PM"/> |
| <touch file="${test.dir}/zip/asf-logo.gif.zip" |
| datetime="05/10/2002 2:30 PM"/> |
| <touch file="${test.dir}/tar/asf-logo.gif.tar" |
| datetime="05/10/2002 2:29 PM"/> |
| <touch file="${test.dir}/tar/asf-logo-huge.tar.gz" |
| datetime="05/10/2002 2:29 AM"/> |
| </target> |
| |
| <target name="cleanup"> |
| <delete dir="${test.dir}" /> |
| </target> |
| |
| <target name="mirrorfiles"> |
| <mkdir dir="${mirror.dir}" /> |
| <mkdir dir="${mirror.dir}/zip" /> |
| <mkdir dir="${mirror.dir}/tar" /> |
| <mkdir dir="${mirror.dir}/tar/gz" /> |
| <mkdir dir="${mirror.dir}/tar/bz2" /> |
| <touch file="${mirror.dir}/asf-logo.gif.md5"/> |
| <touch file="${mirror.dir}/asf-logo.gif.bz2"/> |
| <sleep seconds="2"/> |
| <touch file="${mirror.dir}/zip/asf-logo.gif.zip"/> |
| <sleep seconds="3"/> |
| <touch file="${mirror.dir}/tar/asf-logo.gif.tar"/> |
| <sleep seconds="2"/> |
| <touch file="${mirror.dir}/tar/asf-logo-huge.tar.gz"/> |
| <touch file="${mirror.dir}/tar/gz/asf-logo.gif.tar.gz"/> |
| <touch file="${mirror.dir}/tar/bz2/asf-logo.gif.tar.bz2"/> |
| <touch file="${mirror.dir}/tar/bz2/asf-logo-huge.tar.bz2"/> |
| </target> |
| |
| <target name="cleanup.mirrorfiles"> |
| <delete dir="${mirror.dir}" /> |
| </target> |
| |
| <target name="cleanupregexp"> |
| <delete dir="${testregexpsrc.dir}" /> |
| <delete dir="${testregexpdest.dir}" /> |
| </target> |
| |
| <target name="containsregexp"> |
| <mkdir dir="${testregexpsrc.dir}" /> |
| <mkdir dir="${testregexpdest.dir}" /> |
| <!-- Make two test files, shouldcopy.txt will get selected if everything works |
| shouldnotcopy.txt will not get selected for copy. The test looks to see |
| that only one file is copied |
| --> |
| <echo message="Some testregexp text 2.0" file="${testregexpsrc.dir}/shouldcopy.txt" /> |
| <echo message="Some testregexp text 20" file="${testregexpsrc.dir}/shouldnotcopy.txt" /> |
| <copy todir="${testregexpdest.dir}"> |
| <fileset dir="${testregexpsrc.dir}"> |
| <include name="*.txt" /> |
| <containsregexp expression="[0-9]\.[0,1,2]" /> |
| </fileset> |
| </copy> |
| </target> |
| |
| <!-- ========== Test for ModifiedSelector ========== --> |
| |
| <target name="modifiedselectortest-makeDirty"> |
| <!-- Load propertyfile generated by SelectorTest-class --> |
| <property file="ModifiedSelectorTest.properties"/> |
| |
| <!-- Modify only timestamp --> |
| <touch file="${test.dir}/${f2name}" datetime="02/28/2003 9:55 AM"/> |
| <!-- Change content but keep timestamp --> |
| <echo file="${test.dir}/${f3name}" append="true" message="new content"/> |
| <touch file="${test.dir}/${f3name}" datetime="11/21/2001 4:55 AM"/> |
| <!-- Change content and timestamp --> |
| <echo file="${test.dir}/${f4name}" append="true" message="new content"/> |
| </target> |
| |
| <target name="modifiedselectortest-scenario-clean"> |
| <delete dir="${test.dir}"/> |
| </target> |
| |
| <target name="modifiedselectortest-scenario-prepare"> |
| <mkdir dir="${test.dir}/src"/> |
| <copy todir="${test.dir}/src"> |
| <fileset dir="${ant.home}/lib" includes="ant.jar"> |
| <type type="file"/> |
| </fileset> |
| <fileset dir="${ant.home}/bin"> |
| <type type="file"/> |
| </fileset> |
| </copy> |
| <touch datetime="12/24/2002 4:00 pm"> |
| <fileset dir="${test.dir}"/> |
| </touch> |
| <mkdir dir="${test.dir}/to-1"/> |
| <mkdir dir="${test.dir}/to-2"/> |
| <mkdir dir="${test.dir}/to-3"/> |
| </target> |
| |
| <target name="modifiedselectortest-scenario-makeDirty"> |
| <touch file="${test.dir}/src/ant.jar"/> |
| <echo file="${test.dir}/src/ant.bat" append="true" message="new-content"/> |
| <echo file="${test.dir}/src/antRun.pl" append="true" message="new-content"/> |
| <touch file="${test.dir}/src/antRun.pl" datetime="12/24/2002 4:00 pm"/> |
| </target> |
| |
| <target name="modifiedselectortest-scenario-coreselector-defaults" depends="modifiedselectortest-scenario-prepare"> |
| <!-- copy first time and create cachefile --> |
| <copy todir="${test.dir}/to-1"> |
| <fileset dir="${test.dir}/src"> |
| <modified/> |
| </fileset> |
| </copy> |
| <!-- copy second time: nothing should be copied --> |
| <copy todir="${test.dir}/to-2"> |
| <fileset dir="${test.dir}/src"> |
| <modified/> |
| </fileset> |
| </copy> |
| <!-- 'modify' the source files --> |
| <antcall target="modifiedselectortest-scenario-makeDirty"/> |
| <!-- copy third time: only the files with new CONTENT should be copied --> |
| <copy todir="${test.dir}/to-3"> |
| <fileset dir="${test.dir}/src"> |
| <modified/> |
| </fileset> |
| </copy> |
| </target> |
| |
| <target name="modifiedselectortest-scenario-coreselector-settings" depends="modifiedselectortest-scenario-prepare"> |
| <!-- copy first time and create cachefile --> |
| <copy todir="${test.dir}/to-1"> |
| <fileset dir="${test.dir}/src"> |
| <modified cache="propertyfile" algorithm="hashvalue" update="true"> |
| <param name="cache.cachefile" value="core.cache.properties" /> |
| </modified> |
| </fileset> |
| </copy> |
| <!-- copy second time: nothing should be copied --> |
| <copy todir="${test.dir}/to-2"> |
| <fileset dir="${test.dir}/src"> |
| <modified cache="propertyfile" algorithm="hashvalue" update="true"> |
| <param name="cache.cachefile" value="core.cache.properties" /> |
| </modified> |
| </fileset> |
| </copy> |
| <!-- 'modify' the source files --> |
| <antcall target="modifiedselectortest-scenario-makeDirty"/> |
| <!-- copy third time: only the files with new CONTENT should be copied --> |
| <copy todir="${test.dir}/to-3"> |
| <fileset dir="${test.dir}/src"> |
| <modified cache="propertyfile" algorithm="hashvalue" update="true"> |
| <param name="cache.cachefile" value="core.cache.properties" /> |
| </modified> |
| </fileset> |
| </copy> |
| </target> |
| |
| <target name="modifiedselectortest-scenario-customselector-settings" depends="modifiedselectortest-scenario-prepare"> |
| <!-- copy first time and create cachefile --> |
| <copy todir="${test.dir}/to-1"> |
| <fileset dir="${test.dir}/src"> |
| <custom classname="org.apache.tools.ant.types.selectors.modifiedselector.ModifiedSelector"> |
| <param name="cache" value="propertyfile"/> |
| <param name="algorithm" value="hashvalue"/> |
| <param name="update" value="true"/> |
| <param name="cache.cachefile" value="core.cache.properties"/> |
| </custom> |
| </fileset> |
| </copy> |
| <!-- copy second time: nothing should be copied --> |
| <copy todir="${test.dir}/to-2"> |
| <fileset dir="${test.dir}/src"> |
| <custom classname="org.apache.tools.ant.types.selectors.modifiedselector.ModifiedSelector"> |
| <param name="cache" value="propertyfile"/> |
| <param name="algorithm" value="hashvalue"/> |
| <param name="update" value="true"/> |
| <param name="cache.cachefile" value="core.cache.properties"/> |
| </custom> |
| </fileset> |
| </copy> |
| <!-- 'modify' the source files --> |
| <antcall target="modifiedselectortest-scenario-makeDirty"/> |
| <!-- copy third time: only the files with new CONTENT should be copied --> |
| <copy todir="${test.dir}/to-3"> |
| <fileset dir="${test.dir}/src"> |
| <custom classname="org.apache.tools.ant.types.selectors.modifiedselector.ModifiedSelector"> |
| <param name="cache" value="propertyfile"/> |
| <param name="algorithm" value="hashvalue"/> |
| <param name="update" value="true"/> |
| <param name="cache.cachefile" value="core.cache.properties"/> |
| </custom> |
| </fileset> |
| </copy> |
| </target> |
| |
| </project> |