1 | <?xml version="1.0"?>
|
---|
2 |
|
---|
3 | <project name="selectors-test" basedir="." default="setupfiles">
|
---|
4 |
|
---|
5 | <property name="etc.dir" value=".."/>
|
---|
6 | <property name="test.dir"
|
---|
7 | value="selectortest"/>
|
---|
8 | <property name="testregexpsrc.dir"
|
---|
9 | value="regexpseltestsrc"/>
|
---|
10 | <property name="testregexpdest.dir"
|
---|
11 | value="regexpseltestdest"/>
|
---|
12 | <property name="mirror.dir"
|
---|
13 | value="selectortest2"/>
|
---|
14 |
|
---|
15 | <target name="setupfiles">
|
---|
16 | <mkdir dir="${test.dir}" />
|
---|
17 | <mkdir dir="${test.dir}/zip" />
|
---|
18 | <mkdir dir="${test.dir}/tar" />
|
---|
19 | <mkdir dir="${test.dir}/tar/gz" />
|
---|
20 | <mkdir dir="${test.dir}/tar/bz2" />
|
---|
21 | <copy file="${etc.dir}/taskdefs/expected/asf-logo.gif.md5"
|
---|
22 | tofile="${test.dir}/asf-logo.gif.md5" />
|
---|
23 | <copy file="${etc.dir}/taskdefs/expected/asf-logo.gif.bz2"
|
---|
24 | tofile="${test.dir}/asf-logo.gif.bz2" />
|
---|
25 | <copy file="${etc.dir}/taskdefs/expected/asf-logo.gif.gz"
|
---|
26 | tofile="${test.dir}/asf-logo.gif.gz" />
|
---|
27 | <copy file="${etc.dir}/taskdefs/expected/copy.filterset.filtered"
|
---|
28 | tofile="${test.dir}/copy.filterset.filtered" />
|
---|
29 | <copy file="${etc.dir}/taskdefs/expected/asf-logo.gif.zip"
|
---|
30 | tofile="${test.dir}/zip/asf-logo.gif.zip" />
|
---|
31 | <copy file="${etc.dir}/taskdefs/expected/asf-logo.gif.tar"
|
---|
32 | tofile="${test.dir}/tar/asf-logo.gif.tar" />
|
---|
33 | <copy file="${etc.dir}/taskdefs/expected/asf-logo-huge.tar.gz"
|
---|
34 | tofile="${test.dir}/tar/asf-logo-huge.tar.gz" />
|
---|
35 | <copy file="${etc.dir}/taskdefs/expected/asf-logo.gif.tar.gz"
|
---|
36 | tofile="${test.dir}/tar/gz/asf-logo.gif.tar.gz" />
|
---|
37 | <copy file="${etc.dir}/taskdefs/expected/asf-logo.gif.tar.bz2"
|
---|
38 | tofile="${test.dir}/tar/bz2/asf-logo.gif.tar.bz2" />
|
---|
39 | <copy file="${etc.dir}/taskdefs/expected/asf-logo-huge.tar.bz2"
|
---|
40 | tofile="${test.dir}/tar/bz2/asf-logo-huge.tar.bz2" />
|
---|
41 | <!-- Make linefeeds consistent between platforms -->
|
---|
42 | <fixcrlf srcdir="${test.dir}" includes="*.filtered" eol="lf"/>
|
---|
43 | <!-- Set a known base time for all files -->
|
---|
44 | <touch datetime="11/21/2001 4:55 AM">
|
---|
45 | <fileset dir="${test.dir}">
|
---|
46 | <include name="**/*"/>
|
---|
47 | </fileset>
|
---|
48 | </touch>
|
---|
49 | <!-- Then adjust individual ones -->
|
---|
50 | <touch file="${test.dir}/asf-logo.gif.bz2"
|
---|
51 | datetime="01/01/2001 12:00 AM"/>
|
---|
52 | <touch file="${test.dir}/asf-logo.gif.gz"
|
---|
53 | datetime="04/15/2002 2:30 PM"/>
|
---|
54 | <touch file="${test.dir}/zip/asf-logo.gif.zip"
|
---|
55 | datetime="05/10/2002 2:30 PM"/>
|
---|
56 | <touch file="${test.dir}/tar/asf-logo.gif.tar"
|
---|
57 | datetime="05/10/2002 2:29 PM"/>
|
---|
58 | <touch file="${test.dir}/tar/asf-logo-huge.tar.gz"
|
---|
59 | datetime="05/10/2002 2:29 AM"/>
|
---|
60 | </target>
|
---|
61 |
|
---|
62 | <target name="cleanup">
|
---|
63 | <delete dir="${test.dir}" />
|
---|
64 | </target>
|
---|
65 |
|
---|
66 | <target name="mirrorfiles">
|
---|
67 | <mkdir dir="${mirror.dir}" />
|
---|
68 | <mkdir dir="${mirror.dir}/zip" />
|
---|
69 | <mkdir dir="${mirror.dir}/tar" />
|
---|
70 | <mkdir dir="${mirror.dir}/tar/gz" />
|
---|
71 | <mkdir dir="${mirror.dir}/tar/bz2" />
|
---|
72 | <touch file="${mirror.dir}/asf-logo.gif.md5"/>
|
---|
73 | <touch file="${mirror.dir}/asf-logo.gif.bz2"/>
|
---|
74 | <sleep seconds="2"/>
|
---|
75 | <touch file="${mirror.dir}/zip/asf-logo.gif.zip"/>
|
---|
76 | <sleep seconds="3"/>
|
---|
77 | <touch file="${mirror.dir}/tar/asf-logo.gif.tar"/>
|
---|
78 | <sleep seconds="2"/>
|
---|
79 | <touch file="${mirror.dir}/tar/asf-logo-huge.tar.gz"/>
|
---|
80 | <touch file="${mirror.dir}/tar/gz/asf-logo.gif.tar.gz"/>
|
---|
81 | <touch file="${mirror.dir}/tar/bz2/asf-logo.gif.tar.bz2"/>
|
---|
82 | <touch file="${mirror.dir}/tar/bz2/asf-logo-huge.tar.bz2"/>
|
---|
83 | </target>
|
---|
84 |
|
---|
85 | <target name="cleanup.mirrorfiles">
|
---|
86 | <delete dir="${mirror.dir}" />
|
---|
87 | </target>
|
---|
88 |
|
---|
89 | <target name="cleanupregexp">
|
---|
90 | <delete dir="${testregexpsrc.dir}" />
|
---|
91 | <delete dir="${testregexpdest.dir}" />
|
---|
92 | </target>
|
---|
93 |
|
---|
94 | <target name="containsregexp">
|
---|
95 | <mkdir dir="${testregexpsrc.dir}" />
|
---|
96 | <mkdir dir="${testregexpdest.dir}" />
|
---|
97 | <!-- Make two test files, shouldcopy.txt will get selected if everything works
|
---|
98 | shouldnotcopy.txt will not get selected for copy. The test looks to see
|
---|
99 | that only one file is copied
|
---|
100 | -->
|
---|
101 | <echo message="Some testregexp text 2.0" file="${testregexpsrc.dir}/shouldcopy.txt" />
|
---|
102 | <echo message="Some testregexp text 20" file="${testregexpsrc.dir}/shouldnotcopy.txt" />
|
---|
103 | <copy todir="${testregexpdest.dir}">
|
---|
104 | <fileset dir="${testregexpsrc.dir}">
|
---|
105 | <include name="*.txt" />
|
---|
106 | <containsregexp expression="[0-9]\.[0,1,2]" />
|
---|
107 | </fileset>
|
---|
108 | </copy>
|
---|
109 | </target>
|
---|
110 |
|
---|
111 | <!-- ========== Test for ModifiedSelector ========== -->
|
---|
112 |
|
---|
113 | <target name="modifiedselectortest-makeDirty">
|
---|
114 | <!-- Load propertyfile generated by SelectorTest-class -->
|
---|
115 | <property file="ModifiedSelectorTest.properties"/>
|
---|
116 |
|
---|
117 | <!-- Modify only timestamp -->
|
---|
118 | <touch file="${test.dir}/${f2name}" datetime="02/28/2003 9:55 AM"/>
|
---|
119 | <!-- Change content but keep timestamp -->
|
---|
120 | <echo file="${test.dir}/${f3name}" append="true" message="new content"/>
|
---|
121 | <touch file="${test.dir}/${f3name}" datetime="11/21/2001 4:55 AM"/>
|
---|
122 | <!-- Change content and timestamp -->
|
---|
123 | <echo file="${test.dir}/${f4name}" append="true" message="new content"/>
|
---|
124 | </target>
|
---|
125 |
|
---|
126 | <target name="modifiedselectortest-scenario-clean">
|
---|
127 | <delete dir="${test.dir}"/>
|
---|
128 | </target>
|
---|
129 |
|
---|
130 | <target name="modifiedselectortest-scenario-prepare">
|
---|
131 | <mkdir dir="${test.dir}/src"/>
|
---|
132 | <copy todir="${test.dir}/src">
|
---|
133 | <fileset dir="${ant.home}/lib" includes="ant.jar">
|
---|
134 | <type type="file"/>
|
---|
135 | </fileset>
|
---|
136 | <fileset dir="${ant.home}/bin">
|
---|
137 | <type type="file"/>
|
---|
138 | </fileset>
|
---|
139 | </copy>
|
---|
140 | <touch datetime="12/24/2002 4:00 pm">
|
---|
141 | <fileset dir="${test.dir}"/>
|
---|
142 | </touch>
|
---|
143 | <mkdir dir="${test.dir}/to-1"/>
|
---|
144 | <mkdir dir="${test.dir}/to-2"/>
|
---|
145 | <mkdir dir="${test.dir}/to-3"/>
|
---|
146 | </target>
|
---|
147 |
|
---|
148 | <target name="modifiedselectortest-scenario-makeDirty">
|
---|
149 | <touch file="${test.dir}/src/ant.jar"/>
|
---|
150 | <echo file="${test.dir}/src/ant.bat" append="true" message="new-content"/>
|
---|
151 | <echo file="${test.dir}/src/antRun.pl" append="true" message="new-content"/>
|
---|
152 | <touch file="${test.dir}/src/antRun.pl" datetime="12/24/2002 4:00 pm"/>
|
---|
153 | </target>
|
---|
154 |
|
---|
155 | <target name="modifiedselectortest-scenario-coreselector-defaults" depends="modifiedselectortest-scenario-prepare">
|
---|
156 | <!-- copy first time and create cachefile -->
|
---|
157 | <copy todir="${test.dir}/to-1">
|
---|
158 | <fileset dir="${test.dir}/src">
|
---|
159 | <modified/>
|
---|
160 | </fileset>
|
---|
161 | </copy>
|
---|
162 | <!-- copy second time: nothing should be copied -->
|
---|
163 | <copy todir="${test.dir}/to-2">
|
---|
164 | <fileset dir="${test.dir}/src">
|
---|
165 | <modified/>
|
---|
166 | </fileset>
|
---|
167 | </copy>
|
---|
168 | <!-- 'modify' the source files -->
|
---|
169 | <antcall target="modifiedselectortest-scenario-makeDirty"/>
|
---|
170 | <!-- copy third time: only the files with new CONTENT should be copied -->
|
---|
171 | <copy todir="${test.dir}/to-3">
|
---|
172 | <fileset dir="${test.dir}/src">
|
---|
173 | <modified/>
|
---|
174 | </fileset>
|
---|
175 | </copy>
|
---|
176 | </target>
|
---|
177 |
|
---|
178 | <target name="modifiedselectortest-scenario-coreselector-settings" depends="modifiedselectortest-scenario-prepare">
|
---|
179 | <!-- copy first time and create cachefile -->
|
---|
180 | <copy todir="${test.dir}/to-1">
|
---|
181 | <fileset dir="${test.dir}/src">
|
---|
182 | <modified cache="propertyfile" algorithm="hashvalue" update="true">
|
---|
183 | <param name="cache.cachefile" value="core.cache.properties" />
|
---|
184 | </modified>
|
---|
185 | </fileset>
|
---|
186 | </copy>
|
---|
187 | <!-- copy second time: nothing should be copied -->
|
---|
188 | <copy todir="${test.dir}/to-2">
|
---|
189 | <fileset dir="${test.dir}/src">
|
---|
190 | <modified cache="propertyfile" algorithm="hashvalue" update="true">
|
---|
191 | <param name="cache.cachefile" value="core.cache.properties" />
|
---|
192 | </modified>
|
---|
193 | </fileset>
|
---|
194 | </copy>
|
---|
195 | <!-- 'modify' the source files -->
|
---|
196 | <antcall target="modifiedselectortest-scenario-makeDirty"/>
|
---|
197 | <!-- copy third time: only the files with new CONTENT should be copied -->
|
---|
198 | <copy todir="${test.dir}/to-3">
|
---|
199 | <fileset dir="${test.dir}/src">
|
---|
200 | <modified cache="propertyfile" algorithm="hashvalue" update="true">
|
---|
201 | <param name="cache.cachefile" value="core.cache.properties" />
|
---|
202 | </modified>
|
---|
203 | </fileset>
|
---|
204 | </copy>
|
---|
205 | </target>
|
---|
206 |
|
---|
207 | <target name="modifiedselectortest-scenario-customselector-settings" depends="modifiedselectortest-scenario-prepare">
|
---|
208 | <!-- copy first time and create cachefile -->
|
---|
209 | <copy todir="${test.dir}/to-1">
|
---|
210 | <fileset dir="${test.dir}/src">
|
---|
211 | <custom classname="org.apache.tools.ant.types.selectors.modifiedselector.ModifiedSelector">
|
---|
212 | <param name="cache" value="propertyfile"/>
|
---|
213 | <param name="algorithm" value="hashvalue"/>
|
---|
214 | <param name="update" value="true"/>
|
---|
215 | <param name="cache.cachefile" value="core.cache.properties"/>
|
---|
216 | </custom>
|
---|
217 | </fileset>
|
---|
218 | </copy>
|
---|
219 | <!-- copy second time: nothing should be copied -->
|
---|
220 | <copy todir="${test.dir}/to-2">
|
---|
221 | <fileset dir="${test.dir}/src">
|
---|
222 | <custom classname="org.apache.tools.ant.types.selectors.modifiedselector.ModifiedSelector">
|
---|
223 | <param name="cache" value="propertyfile"/>
|
---|
224 | <param name="algorithm" value="hashvalue"/>
|
---|
225 | <param name="update" value="true"/>
|
---|
226 | <param name="cache.cachefile" value="core.cache.properties"/>
|
---|
227 | </custom>
|
---|
228 | </fileset>
|
---|
229 | </copy>
|
---|
230 | <!-- 'modify' the source files -->
|
---|
231 | <antcall target="modifiedselectortest-scenario-makeDirty"/>
|
---|
232 | <!-- copy third time: only the files with new CONTENT should be copied -->
|
---|
233 | <copy todir="${test.dir}/to-3">
|
---|
234 | <fileset dir="${test.dir}/src">
|
---|
235 | <custom classname="org.apache.tools.ant.types.selectors.modifiedselector.ModifiedSelector">
|
---|
236 | <param name="cache" value="propertyfile"/>
|
---|
237 | <param name="algorithm" value="hashvalue"/>
|
---|
238 | <param name="update" value="true"/>
|
---|
239 | <param name="cache.cachefile" value="core.cache.properties"/>
|
---|
240 | </custom>
|
---|
241 | </fileset>
|
---|
242 | </copy>
|
---|
243 | </target>
|
---|
244 |
|
---|
245 | </project> |
---|