~ubuntu-branches/ubuntu/utopic/ant/utopic

« back to all changes in this revision

Viewing changes to src/etc/testcases/taskdefs/optional/unix/symlink.xml

  • Committer: Package Import Robot
  • Author(s): Emmanuel Bourg
  • Date: 2014-05-09 11:46:04 UTC
  • mfrom: (25.1.1 sid)
  • Revision ID: package-import@ubuntu.com-20140509114604-3h26sbqgjef3jln4
Tags: 1.9.4-1
* New upstream release
  - Refreshed the patches
  - Removed the patch for #735786 (Fixed upstream)

Show diffs side-by-side

added added

removed removed

Lines of Context:
44
44
       before they have finnished (hopefully). Tweak if needed.
45
45
  -->
46
46
 
47
 
  <property name="delay" value="3"/>
 
47
  <property name="delay" value="0"/>
48
48
 
49
 
  <property name="tdir" value="${basedir}/test-working"/>
 
49
  <import file="../../../buildfiletest-base.xml"/>
50
50
 
51
 
  <target name="setup">
52
 
      <delete dir="${tdir}"/>
53
 
      <mkdir dir="${tdir}"/>
 
51
  <target name="setUp">
 
52
    <mkdir dir="${output}" />
54
53
  </target>
55
54
 
 
55
 
56
56
  <target name="all"
57
 
              depends="setup, test-single, test-delete, test-record, test-recreate, teardown"/>
 
57
              depends="setUp, test-single, test-delete, test-record, test-recreate, tearDown"/>
58
58
        
59
59
  <!-- test for action = single -->
60
60
  <!-- 
61
61
    Creates:
62
 
         File: ${tdir}/symlink.test
63
 
         Link: ${tdir}/singletest
 
62
         File: ${output}/symlink.test
 
63
         Link: ${output}/singletest
64
64
  -->
65
65
  <target name="test-single">
66
 
    <touch file="${tdir}/symlink.test"/>
67
 
    <symlink resource="${tdir}/symlink.test" 
68
 
             link="${tdir}/singletest" 
 
66
    <touch file="${output}/symlink.test"/>
 
67
    <symlink resource="${output}/symlink.test" 
 
68
             link="${output}/singletest" 
69
69
             failonerror="yes"/>
70
70
    <sleep seconds="${delay}"/> <!-- make sure OS has time to catch up -->
71
 
    <available file="${tdir}/symlink.test" 
 
71
    <available file="${output}/symlink.test" 
72
72
               property="test.single.file.created"/>
73
 
    <available file="${tdir}/singletest" 
 
73
    <available file="${output}/singletest" 
74
74
               property="test.single.link.created"/>
75
75
  </target>
76
76
 
82
82
    Creates:
83
83
         (none)
84
84
    Deletes:
85
 
         Link: ${tdir}/singletest
 
85
         Link: ${output}/singletest
86
86
  -->
87
87
 
88
88
  <target name="test-delete">
89
 
    <touch file="${tdir}/symlink.test"/>
90
 
    <symlink resource="${tdir}/symlink.test" 
91
 
             link="${tdir}/singletest" 
 
89
    <touch file="${output}/symlink.test"/>
 
90
    <symlink resource="${output}/symlink.test" 
 
91
             link="${output}/singletest" 
92
92
             failonerror="yes"/>
93
93
    <sleep seconds="${delay}"/> <!-- make sure OS has time to catch up -->
94
94
 
95
 
    <symlink action="delete" link="${tdir}/singletest" failonerror="yes"/>
96
 
    <symlink action="delete" link="${tdir}/symlink.test" failonerror="no"/>
 
95
    <symlink action="delete" link="${output}/singletest" failonerror="yes"/>
 
96
    <symlink action="delete" link="${output}/symlink.test" failonerror="no"/>
97
97
    <sleep seconds="${delay}"/> <!-- make sure OS has time to catch up -->
98
98
 
99
 
    <available file="${tdir}/symlink.test" 
 
99
    <available file="${output}/symlink.test" 
100
100
               property="test.delete.file.still.there"/>
101
 
    <available file="${tdir}/singletest" 
 
101
    <available file="${output}/singletest" 
102
102
               property="test.delete.link.still.there"
103
103
               value="ERROR: link deletion failed"/>
104
104
    
110
110
 
111
111
  <!-- 
112
112
    Creates:
113
 
         Dir:  ${tdir}/symtest1
114
 
         Dir:  ${tdir}/symtest1/symtest2
115
 
         Dir:  ${tdir}/symtest1/symtest3
116
 
         File: ${tdir}/symtest1/file1
117
 
         File: ${tdir}/symtest1/symtest2/file2
118
 
         File: ${tdir}/symtest1/symtest3/fileA
119
 
         File: ${tdir}/symtest1/symtest3/fileB
120
 
         File: ${tdir}/symtest1/symtest3/fileC
121
 
         Link: ${tdir}/symtest1/link1==>${tdir}/symtest1/file1
122
 
         Link: ${tdir}/symtest1/link2==>${tdir}/symtest1/symtest2/file2
123
 
         Link: ${tdir}/symtest1/symtest2/link3==>
124
 
                                           ${tdir}/symtest1/symtest2/file2
125
 
         Link: ${tdir}/symtest1/dirlink==>${tdir}/symtest1/symtest3
126
 
         Link: ${tdir}/symtest1/dirlink2==>${tdir}/symtest1/symtest3
127
 
         Link: ${tdir}/symtest1/dirlink3==>${tdir}/symtest1/symtest3
128
 
         File: ${tdir}/symtest1/recorded.links
129
 
         File: ${tdir}/symtest1/symtest2/recorded.links
 
113
         Dir:  ${output}/symtest1
 
114
         Dir:  ${output}/symtest1/symtest2
 
115
         Dir:  ${output}/symtest1/symtest3
 
116
         File: ${output}/symtest1/file1
 
117
         File: ${output}/symtest1/symtest2/file2
 
118
         File: ${output}/symtest1/symtest3/fileA
 
119
         File: ${output}/symtest1/symtest3/fileB
 
120
         File: ${output}/symtest1/symtest3/fileC
 
121
         Link: ${output}/symtest1/link1==>${output}/symtest1/file1
 
122
         Link: ${output}/symtest1/link2==>${output}/symtest1/symtest2/file2
 
123
         Link: ${output}/symtest1/symtest2/link3==>
 
124
                                           ${output}/symtest1/symtest2/file2
 
125
         Link: ${output}/symtest1/dirlink==>${output}/symtest1/symtest3
 
126
         Link: ${output}/symtest1/dirlink2==>${output}/symtest1/symtest3
 
127
         Link: ${output}/symtest1/dirlink3==>${output}/symtest1/symtest3
 
128
         File: ${output}/symtest1/recorded.links
 
129
         File: ${output}/symtest1/symtest2/recorded.links
130
130
    Deletes:
131
131
         (none)
132
132
  -->
133
133
 
134
134
  <target name="test-record">
135
135
 
136
 
    <mkdir dir="${tdir}/symtest1"/>
137
 
    <mkdir dir="${tdir}/symtest1/symtest2"/>
138
 
    <mkdir dir="${tdir}/symtest1/symtest3"/>
139
 
    <touch file="${tdir}/symtest1/file1"/>
140
 
    <touch file="${tdir}/symtest1/symtest2/file2"/>
141
 
 
142
 
    <touch file="${tdir}/symtest1/symtest3/fileA"/>
143
 
    <touch file="${tdir}/symtest1/symtest3/fileB"/>
144
 
    <touch file="${tdir}/symtest1/symtest3/fileC"/>
145
 
 
146
 
    <symlink resource="${tdir}/symtest1/file1" 
147
 
             link="${tdir}/symtest1/link1" 
148
 
             failonerror="no" />
149
 
    <symlink resource="${tdir}/symtest1/symtest2/file2" 
150
 
             link="${tdir}/symtest1/link2" 
151
 
             failonerror="no" />
152
 
    <symlink resource="${tdir}/symtest1/symtest2/file2" 
153
 
             link="${tdir}/symtest1/symtest2/link3" 
154
 
             failonerror="no" />
155
 
    <symlink resource="${tdir}/symtest1/symtest3"
156
 
             link="${tdir}/symtest1/dirlink"
157
 
             failonerror="no" />
158
 
    <symlink resource="${tdir}/symtest1/symtest3" 
159
 
             link="${tdir}/symtest1/dirlink2"
 
136
    <mkdir dir="${output}/symtest1"/>
 
137
    <mkdir dir="${output}/symtest1/symtest2"/>
 
138
    <mkdir dir="${output}/symtest1/symtest3"/>
 
139
    <touch file="${output}/symtest1/file1"/>
 
140
    <touch file="${output}/symtest1/symtest2/file2"/>
 
141
 
 
142
    <touch file="${output}/symtest1/symtest3/fileA"/>
 
143
    <touch file="${output}/symtest1/symtest3/fileB"/>
 
144
    <touch file="${output}/symtest1/symtest3/fileC"/>
 
145
 
 
146
    <symlink resource="${output}/symtest1/file1" 
 
147
             link="${output}/symtest1/link1" 
 
148
             failonerror="no" />
 
149
    <symlink resource="${output}/symtest1/symtest2/file2" 
 
150
             link="${output}/symtest1/link2" 
 
151
             failonerror="no" />
 
152
    <symlink resource="${output}/symtest1/symtest2/file2" 
 
153
             link="${output}/symtest1/symtest2/link3" 
 
154
             failonerror="no" />
 
155
    <symlink resource="${output}/symtest1/symtest3"
 
156
             link="${output}/symtest1/dirlink"
 
157
             failonerror="no" />
 
158
    <symlink resource="${output}/symtest1/symtest3" 
 
159
             link="${output}/symtest1/dirlink2"
160
160
             failonerror="no"/>
161
 
    <symlink resource="${tdir}/symtest1/symtest3" 
162
 
             link="${tdir}/symtest1/dirlink3"
 
161
    <symlink resource="${output}/symtest1/symtest3" 
 
162
             link="${output}/symtest1/dirlink3"
163
163
             failonerror="no"/>
164
164
 
165
165
    <sleep seconds="${delay}"/> <!-- make sure OS has time to catch up -->
166
166
 
167
167
    <symlink action="record" linkfilename="recorded.links">
168
 
       <fileset dir="${tdir}/symtest1" includes="**/**"/>
 
168
       <fileset dir="${output}/symtest1" includes="**/**"/>
169
169
    </symlink>
170
170
 
171
171
    <sleep seconds="${delay}"/> <!-- make sure OS has time to catch up -->
172
172
 
173
173
    <!-- Test to see if the directories were created -->
174
174
 
175
 
    <available file="${tdir}/symtest1"
 
175
    <available file="${output}/symtest1"
176
176
               type="dir"
177
177
               property="test.record.dir1.created"/>
178
178
 
179
 
    <available file="${tdir}/symtest1/symtest2"
 
179
    <available file="${output}/symtest1/symtest2"
180
180
               type="dir"
181
181
               property="test.record.dir2.created"/>
182
182
 
183
 
    <available file="${tdir}/symtest1/symtest3"
 
183
    <available file="${output}/symtest1/symtest3"
184
184
               type="dir"
185
185
               property="test.record.dir3.created"/>
186
186
 
187
187
    <!-- Test to see if the Files were created -->
188
188
 
189
 
    <available file="${tdir}/symtest1/file1"
 
189
    <available file="${output}/symtest1/file1"
190
190
               property="test.record.file1.created"/>
191
191
 
192
 
    <available file="${tdir}/symtest1/symtest2/file2"
 
192
    <available file="${output}/symtest1/symtest2/file2"
193
193
               property="test.record.file2.created"/>
194
194
 
195
 
    <available file="${tdir}/symtest1/symtest3/fileA"
 
195
    <available file="${output}/symtest1/symtest3/fileA"
196
196
               property="test.record.fileA.created"/>
197
197
 
198
 
    <available file="${tdir}/symtest1/symtest3/fileB"
 
198
    <available file="${output}/symtest1/symtest3/fileB"
199
199
               property="test.record.fileB.created"/>
200
200
 
201
 
    <available file="${tdir}/symtest1/symtest3/fileC"
 
201
    <available file="${output}/symtest1/symtest3/fileC"
202
202
               property="test.record.fileC.created"/>
203
203
 
204
204
    <!-- Test to see if the links were created -->
205
205
 
206
 
    <available file="${tdir}/symtest1/link1"
 
206
    <available file="${output}/symtest1/link1"
207
207
               property="test.record.link1.created"/>
208
208
 
209
 
    <available file="${tdir}/symtest1/link2"
 
209
    <available file="${output}/symtest1/link2"
210
210
               property="test.record.link2.created"/>
211
211
 
212
 
    <available file="${tdir}/symtest1/symtest2/link3"
 
212
    <available file="${output}/symtest1/symtest2/link3"
213
213
               property="test.record.link3.created"/>
214
214
 
215
 
    <available file="${tdir}/symtest1/dirlink"
 
215
    <available file="${output}/symtest1/dirlink"
216
216
               property="test.record.dirlink.created"/>
217
217
 
218
218
    <!-- this is redundant for this test, but used in the recreate test -->
219
219
 
220
 
    <available file="${tdir}/symtest1/dirlink2" 
 
220
    <available file="${output}/symtest1/dirlink2" 
221
221
               property="test.record.dirlink2.created"/>
222
222
 
223
223
    <!-- Test to see if the linkfiles were created -->
224
224
 
225
 
    <available file="${tdir}/symtest1/recorded.links"
 
225
    <available file="${output}/symtest1/recorded.links"
226
226
               property="test.record.dir1.recorded"/>
227
227
 
228
 
    <available file="${tdir}/symtest1/symtest2/recorded.links"
 
228
    <available file="${output}/symtest1/symtest2/recorded.links"
229
229
               property="test.record.dir2.recorded"/>
230
230
 
231
231
    <!-- THIS should not be set -->
232
232
 
233
 
    <available file="${tdir}/symtest1/symtest3/recorded.links"
 
233
    <available file="${output}/symtest1/symtest3/recorded.links"
234
234
               property="test.record.dir3.recorded"
235
235
               value="ERROR: symtest3/recorded.links should not exist"/>
236
236
 
241
241
 
242
242
  <!-- 
243
243
    Deletes:
244
 
         Link: ${tdir}/symtest1/link1==>${tdir}/symtest1/file1
245
 
         Link: ${tdir}/symtest1/link2==>${tdir}/symtest1/symtest2/file2
246
 
         Link: ${tdir}/symtest1/symtest2/link3==>
247
 
                                           ${tdir}/symtest1/symtest2/file2
248
 
         Link: ${tdir}/symtest1/dirlink==>${tdir}/symtest1/symtest3
249
 
         Link: ${tdir}/symtest1/dirlink3==>${tdir}/symtest1/symtest3
 
244
         Link: ${output}/symtest1/link1==>${output}/symtest1/file1
 
245
         Link: ${output}/symtest1/link2==>${output}/symtest1/symtest2/file2
 
246
         Link: ${output}/symtest1/symtest2/link3==>
 
247
                                           ${output}/symtest1/symtest2/file2
 
248
         Link: ${output}/symtest1/dirlink==>${output}/symtest1/symtest3
 
249
         Link: ${output}/symtest1/dirlink3==>${output}/symtest1/symtest3
250
250
 
251
251
    Creates
252
 
         Link: ${tdir}/symtest1/dirlink3==>${tdir}/symtest1/symtest2
 
252
         Link: ${output}/symtest1/dirlink3==>${output}/symtest1/symtest2
253
253
 
254
254
    Recreates:
255
 
         Link: ${tdir}/symtest1/link1==>${tdir}/symtest1/file1
256
 
         Link: ${tdir}/symtest1/link2==>${tdir}/symtest1/symtest2/file2
257
 
         Link: ${tdir}/symtest1/symtest2/link3==>
258
 
                                           ${tdir}/symtest1/symtest2/file2
259
 
         Link: ${tdir}/symtest1/dirlink==>${tdir}/symtest1/symtest3
 
255
         Link: ${output}/symtest1/link1==>${output}/symtest1/file1
 
256
         Link: ${output}/symtest1/link2==>${output}/symtest1/symtest2/file2
 
257
         Link: ${output}/symtest1/symtest2/link3==>
 
258
                                           ${output}/symtest1/symtest2/file2
 
259
         Link: ${output}/symtest1/dirlink==>${output}/symtest1/symtest3
260
260
 
261
261
    Should Change:
262
 
         Link: ${tdir}/symtest1/dirlink3==>${tdir}/symtest1/symtest2
 
262
         Link: ${output}/symtest1/dirlink3==>${output}/symtest1/symtest2
263
263
               to
264
 
               ${tdir}/symtest1/dirlink3==>${tdir}/symtest1/symtest3
 
264
               ${output}/symtest1/dirlink3==>${output}/symtest1/symtest3
265
265
 
266
266
    Should Not Create (bug 25181):
267
 
         Link: ${tdir}/symtest1/symtest3/dirlink2==>${tdir}/symtest1/symtest3
 
267
         Link: ${output}/symtest1/symtest3/dirlink2==>${output}/symtest1/symtest3
268
268
  -->
269
269
 
270
270
  <target name="test-recreate" depends="test-record">
271
271
 
272
 
    <symlink action="delete" link="${tdir}/symtest1/link1"/>
273
 
    <symlink action="delete" link="${tdir}/symtest1/link2"/>
274
 
    <symlink action="delete" link="${tdir}/symtest1/symtest2/link3"/>
275
 
    <symlink action="delete" link="${tdir}/symtest1/dirlink"/>
 
272
    <symlink action="delete" link="${output}/symtest1/link1"/>
 
273
    <symlink action="delete" link="${output}/symtest1/link2"/>
 
274
    <symlink action="delete" link="${output}/symtest1/symtest2/link3"/>
 
275
    <symlink action="delete" link="${output}/symtest1/dirlink"/>
276
276
    <!-- dirlink2 intentionally not deleted to test bug 25181 -->
277
 
    <symlink action="delete" link="${tdir}/symtest1/dirlink3"/>
 
277
    <symlink action="delete" link="${output}/symtest1/dirlink3"/>
278
278
 
279
279
    <sleep seconds="${delay}"/>  <!-- make sure OS has time to catch up -->
280
280
 
281
 
    <symlink resource="${tdir}/symtest1/symtest2" 
282
 
             link="${tdir}/symtest1/dirlink3"
 
281
    <symlink resource="${output}/symtest1/symtest2" 
 
282
             link="${output}/symtest1/dirlink3"
283
283
             failonerror="no"/>
284
284
 
285
285
    <sleep seconds="${delay}"/>  <!-- make sure OS has time to catch up -->
286
286
 
287
 
    <available file="${tdir}/symtest1/link1"
 
287
    <available file="${output}/symtest1/link1"
288
288
               property="test.recreate.link1.not.removed"
289
289
               value="ERROR: rm -f symtest1/link1 failed"/>
290
290
 
291
 
    <available file="${tdir}/symtest1/link2"
 
291
    <available file="${output}/symtest1/link2"
292
292
               property="test.recreate.link2.not.removed"
293
293
               value="ERROR: rm -f symtest1/link2 failed"/>
294
294
 
295
 
    <available file="${tdir}/symtest1/symtest2/link3"
 
295
    <available file="${output}/symtest1/symtest2/link3"
296
296
               property="test.recreate.link3.not.removed"
297
297
               value="ERROR: rm -f symtest1/symtest2/link3 failed"/>
298
298
 
299
 
     <available file="${tdir}/symtest1/zdirlink"
 
299
     <available file="${output}/symtest1/zdirlink"
300
300
               property="test.recreate.zdirlink.not.removed"
301
301
               value="ERROR: rm -f symtest1/zdirlink failed"/>
302
302
 
303
303
    <sleep seconds="${delay}"/>  <!-- make sure OS has time to do the execs -->
304
304
 
305
305
    <symlink action="recreate">
306
 
      <fileset dir="${tdir}/symtest1" includes="**/recorded.links"/>
 
306
      <fileset dir="${output}/symtest1" includes="**/recorded.links"/>
307
307
    </symlink>
308
308
 
309
309
    <sleep seconds="${delay}"/>  <!-- make sure OS has time to catch up -->
310
310
 
311
 
    <available file="${tdir}/symtest1/link1"
 
311
    <available file="${output}/symtest1/link1"
312
312
               property="test.recreate.link1.recreated"/>
313
313
 
314
 
    <available file="${tdir}/symtest1/link2"
 
314
    <available file="${output}/symtest1/link2"
315
315
               property="test.recreate.link2.recreated"/>
316
316
 
317
 
    <available file="${tdir}/symtest1/symtest2/link3"
 
317
    <available file="${output}/symtest1/symtest2/link3"
318
318
               property="test.recreate.link3.recreated"/>
319
319
 
320
 
    <available file="${tdir}/symtest1/dirlink"
 
320
    <available file="${output}/symtest1/dirlink"
321
321
               property="test.recreate.dirlink.recreated"/>
322
322
 
323
323
    <!-- this should not get set -->
324
 
    <available file="${tdir}/symtest1/symtest3/symtest3" 
 
324
    <available file="${output}/symtest1/symtest3/symtest3" 
325
325
               property="test.recreate.dirlink2.recreated.twice"
326
326
               value="ERROR: dirlink2 was created a second time (bug 25181)"/>
327
327
 
328
 
    <touch file="${tdir}/symtest1/dirlink3/WhereAmI"/>
 
328
    <touch file="${output}/symtest1/dirlink3/WhereAmI"/>
329
329
 
330
330
    <sleep seconds="${delay}"/>  <!-- make sure OS has time to do the execs -->
331
331
 
332
 
    <available file="${tdir}/symtest1/symtest3/WhereAmI" 
 
332
    <available file="${output}/symtest1/symtest3/WhereAmI" 
333
333
               property="test.recreate.dirlink3.was.altered"/>
334
334
  </target>
335
335
 
337
337
  <!-- actually tests the symlink methods in FileUtils, but this
338
338
       testfixture already has all the necessary envirnment in place
339
339
       -->
340
 
  <target name="test-fileutils" depends="setup">
341
 
      <mkdir dir="${tdir}/dir1"/>
342
 
      <mkdir dir="${tdir}/dir2"/>
343
 
      <touch file="${tdir}/file1"/>
344
 
      <touch file="${tdir}/file2"/>
345
 
      <symlink link="${tdir}/dir.there" resource="${tdir}/dir1"/>
346
 
      <symlink link="${tdir}/dir.notthere" resource="${tdir}/dir2"/>
347
 
      <symlink link="${tdir}/file.there" resource="${tdir}/file1"/>
348
 
      <symlink link="${tdir}/file.notthere" resource="${tdir}/file2"/>
349
 
      <delete dir="${tdir}/dir2"/>
350
 
      <delete file="${tdir}/file2"/>
351
 
  </target>
352
 
 
353
 
<!-- CALL THIS to clean things up afterwards -->
354
 
 
355
 
  <target name="teardown">
356
 
    <delete dir="${tdir}"/>
357
 
  </target>
 
340
  <target name="test-fileutils" depends="setUp">
 
341
      <mkdir dir="${output}/dir1"/>
 
342
      <mkdir dir="${output}/dir2"/>
 
343
      <touch file="${output}/file1"/>
 
344
      <touch file="${output}/file2"/>
 
345
      <symlink link="${output}/dir.there" resource="${output}/dir1"/>
 
346
      <symlink link="${output}/dir.notthere" resource="${output}/dir2"/>
 
347
      <symlink link="${output}/file.there" resource="${output}/file1"/>
 
348
      <symlink link="${output}/file.notthere" resource="${output}/file2"/>
 
349
      <delete dir="${output}/dir2"/>
 
350
      <delete file="${output}/file2"/>
 
351
  </target>
 
352
 
358
353
 
359
354
</project>