Template config file for getaddrinfo.
[kopensolaris-gnu/glibc.git] / posix / globtest.sh
1 #! /bin/sh
2
3 common_objpfx=$1; shift
4 elf_objpfx=$1; shift
5 rtld_installed_name=$1; shift
6 logfile=$common_objpfx/posix/globtest.out
7
8 #CMP=cmp
9 CMP="diff -u"
10
11 # We have to make the paths `common_objpfx' absolute.
12 case "$common_objpfx" in
13   .*)
14     common_objpfx="`pwd`/$common_objpfx"
15     ;;
16   *)
17     ;;
18 esac
19
20 # We have to find the libc and the NSS modules.
21 library_path=${common_objpfx}:${common_objpfx}nss:${common_objpfx}nis:${common_objpfx}db2:${common_objpfx}hesiod
22
23 # Since we use `sort' we must make sure to use the same locale everywhere.
24 LC_ALL=C
25 export LC_ALL
26 LANG=C
27 export LANG
28
29 # Create the arena
30 : ${TMPDIR=/tmp}
31 testdir=$TMPDIR/globtest-dir
32 testout=$TMPDIR/globtest-out
33
34 trap 'chmod 777 $testdir/noread; rm -fr $testdir $testout' 1 2 3 15
35
36 test -d $testdir/noread && chmod 777 $testdir/noread
37 rm -fr $testdir 2>/dev/null
38 mkdir $testdir
39 echo 1 > $testdir/file1
40 echo 2 > $testdir/file2
41 echo 3 > $testdir/-file3
42 echo 4 > $testdir/~file4
43 echo 5 > $testdir/.file5
44 echo 6 > $testdir/'*file6'
45 echo 7 > $testdir/'{file7,}'
46 echo 8 > $testdir/'\{file8\}'
47 echo 9 > $testdir/'\{file9\,file9b\}'
48 echo 9 > $testdir/'\file9b\' #'
49 echo a > $testdir/'filea,'
50 echo a > $testdir/'fileb}c'
51 mkdir $testdir/dir1
52 mkdir $testdir/dir2
53 test -d $testdir/noread || mkdir $testdir/noread
54 chmod a-r $testdir/noread
55 echo 1_1 > $testdir/dir1/file1_1
56 echo 1_2 > $testdir/dir1/file1_2
57 ln -fs dir1 $testdir/link1
58
59 # Run some tests.
60 result=0
61 rm -f $logfile
62
63 # Normal test
64 failed=0
65 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
66 ${common_objpfx}posix/globtest "$testdir" "*" |
67 sort > $testout
68 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
69 `*file6'
70 `-file3'
71 `\file9b\'
72 `\{file8\}'
73 `\{file9\,file9b\}'
74 `dir1'
75 `dir2'
76 `file1'
77 `file2'
78 `filea,'
79 `fileb}c'
80 `link1'
81 `noread'
82 `{file7,}'
83 `~file4'
84 EOF
85 if test $failed -ne 0; then
86   echo "Normal test failed" >> $logfile
87   result=1
88 fi
89
90 # Don't let glob sort it
91 failed=0
92 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
93 ${common_objpfx}posix/globtest -s "$testdir" "*" |
94 sort > $testout
95 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
96 `*file6'
97 `-file3'
98 `\file9b\'
99 `\{file8\}'
100 `\{file9\,file9b\}'
101 `dir1'
102 `dir2'
103 `file1'
104 `file2'
105 `filea,'
106 `fileb}c'
107 `link1'
108 `noread'
109 `{file7,}'
110 `~file4'
111 EOF
112 if test $failed -ne 0; then
113   echo "No sort test failed" >> $logfile
114   result=1
115 fi
116
117 # Mark directories
118 failed=0
119 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
120 ${common_objpfx}posix/globtest -m "$testdir" "*" |
121 sort > $testout
122 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
123 `*file6'
124 `-file3'
125 `\file9b\'
126 `\{file8\}'
127 `\{file9\,file9b\}'
128 `dir1/'
129 `dir2/'
130 `file1'
131 `file2'
132 `filea,'
133 `fileb}c'
134 `link1/'
135 `noread/'
136 `{file7,}'
137 `~file4'
138 EOF
139 if test $failed -ne 0; then
140   echo "Mark directories test failed" >> $logfile
141   result=1
142 fi
143
144 # Find files starting with .
145 failed=0
146 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
147 ${common_objpfx}posix/globtest -p "$testdir" "*" |
148 sort > $testout
149 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
150 `*file6'
151 `-file3'
152 `.'
153 `..'
154 `.file5'
155 `\file9b\'
156 `\{file8\}'
157 `\{file9\,file9b\}'
158 `dir1'
159 `dir2'
160 `file1'
161 `file2'
162 `filea,'
163 `fileb}c'
164 `link1'
165 `noread'
166 `{file7,}'
167 `~file4'
168 EOF
169 if test $failed -ne 0; then
170   echo "Leading period test failed" >> $logfile
171   result=1
172 fi
173
174 # Test braces
175 failed=0
176 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
177 ${common_objpfx}posix/globtest -b "$testdir" "file{1,2}" |
178 sort > $testout
179 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
180 `file1'
181 `file2'
182 EOF
183 if test $failed -ne 0; then
184   echo "Braces test failed" >> $logfile
185   result=1
186 fi
187
188 failed=0
189 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
190 ${common_objpfx}posix/globtest -b "$testdir" "{file{1,2},-file3}" |
191 sort > $testout
192 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
193 `-file3'
194 `file1'
195 `file2'
196 EOF
197 if test $failed -ne 0; then
198   echo "Braces test 2 failed" >> $logfile
199   result=1
200 fi
201
202 failed=0
203 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
204 ${common_objpfx}posix/globtest -b "$testdir" "{" |
205 sort > $testout
206 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
207 GLOB_NOMATCH
208 EOF
209 if test $failed -ne 0; then
210   echo "Braces test 3 failed" >> $logfile
211   result=1
212 fi
213
214 # Test NOCHECK
215 failed=0
216 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
217 ${common_objpfx}posix/globtest -c "$testdir" "abc" |
218 sort > $testout
219 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
220 `abc'
221 EOF
222 if test $failed -ne 0; then
223   echo "No check test failed" >> $logfile
224   result=1
225 fi
226
227 # Test NOMAGIC without magic characters
228 failed=0
229 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
230 ${common_objpfx}posix/globtest -g "$testdir" "abc" |
231 sort > $testout
232 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
233 `abc'
234 EOF
235 if test $failed -ne 0; then
236   echo "No magic test failed" >> $logfile
237   result=1
238 fi
239
240 # Test NOMAGIC with magic characters
241 failed=0
242 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
243 ${common_objpfx}posix/globtest -g "$testdir" "abc*" |
244 sort > $testout
245 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
246 GLOB_NOMATCH
247 EOF
248 if test $failed -ne 0; then
249   echo "No magic w/ magic chars test failed" >> $logfile
250   result=1
251 fi
252
253 # Test NOMAGIC for subdirs
254 failed=0
255 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
256 ${common_objpfx}posix/globtest -g "$testdir" "*/does-not-exist" |
257 sort > $testout
258 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
259 GLOB_NOMATCH
260 EOF
261 if test $failed -ne 0; then
262   echo "No magic in subdir test failed" >> $logfile
263   result=1
264 fi
265
266 # Test subdirs correctly
267 failed=0
268 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
269 ${common_objpfx}posix/globtest "$testdir" "*/*" |
270 sort > $testout
271 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
272 `dir1/file1_1'
273 `dir1/file1_2'
274 `link1/file1_1'
275 `link1/file1_2'
276 EOF
277 if test $failed -ne 0; then
278   echo "Subdirs test failed" >> $logfile
279   result=1
280 fi
281
282 # Test subdirs for invalid names
283 failed=0
284 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
285 ${common_objpfx}posix/globtest "$testdir" "*/1" |
286 sort > $testout
287 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
288 GLOB_NOMATCH
289 EOF
290 if test $failed -ne 0; then
291   echo "Invalid subdir test failed" >> $logfile
292   result=1
293 fi
294
295 # Test subdirs with wildcard
296 failed=0
297 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
298 ${common_objpfx}posix/globtest "$testdir" "*/*1_1" |
299 sort > $testout
300 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
301 `dir1/file1_1'
302 `link1/file1_1'
303 EOF
304 if test $failed -ne 0; then
305   echo "Wildcard subdir test failed" >> $logfile
306   result=1
307 fi
308
309 # Test subdirs with ?
310 failed=0
311 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
312 ${common_objpfx}posix/globtest "$testdir" "*/*?_?" |
313 sort > $testout
314 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
315 `dir1/file1_1'
316 `dir1/file1_2'
317 `link1/file1_1'
318 `link1/file1_2'
319 EOF
320 if test $failed -ne 0; then
321   echo "Wildcard2 subdir test failed" >> $logfile
322   result=1
323 fi
324
325 failed=0
326 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
327 ${common_objpfx}posix/globtest "$testdir" "*/file1_1" |
328 sort > $testout
329 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
330 `dir1/file1_1'
331 `link1/file1_1'
332 EOF
333 if test $failed -ne 0; then
334   echo "Wildcard3 subdir test failed" >> $logfile
335   result=1
336 fi
337
338 failed=0
339 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
340 ${common_objpfx}posix/globtest "$testdir" "*-/*" |
341 sort > $testout
342 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
343 GLOB_NOMATCH
344 EOF
345 if test $failed -ne 0; then
346   echo "Wildcard4 subdir test failed" >> $logfile
347   result=1
348 fi
349
350 failed=0
351 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
352 ${common_objpfx}posix/globtest "$testdir" "*-" |
353 sort > $testout
354 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
355 GLOB_NOMATCH
356 EOF
357 if test $failed -ne 0; then
358   echo "Wildcard5 subdir test failed" >> $logfile
359   result=1
360 fi
361
362 # Test subdirs with ?
363 failed=0
364 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
365 ${common_objpfx}posix/globtest "$testdir" "*/*?_?" |
366 sort > $testout
367 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
368 `dir1/file1_1'
369 `dir1/file1_2'
370 `link1/file1_1'
371 `link1/file1_2'
372 EOF
373 if test $failed -ne 0; then
374   echo "Wildcard6 subdir test failed" >> $logfile
375   result=1
376 fi
377
378 # Test subdirs with [ .. ]
379 failed=0
380 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
381 ${common_objpfx}posix/globtest "$testdir" "*/file1_[12]" |
382 sort > $testout
383 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
384 `dir1/file1_1'
385 `dir1/file1_2'
386 `link1/file1_1'
387 `link1/file1_2'
388 EOF
389 if test $failed -ne 0; then
390   echo "Brackets test failed" >> $logfile
391   result=1
392 fi
393
394 # Test ']' inside bracket expression
395 failed=0
396 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
397 ${common_objpfx}posix/globtest "$testdir" "dir1/file1_[]12]" |
398 sort > $testout
399 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
400 `dir1/file1_1'
401 `dir1/file1_2'
402 EOF
403 if test $failed -ne 0; then
404   echo "Brackets2 test failed" >> $logfile
405   result=1
406 fi
407
408 # Test tilde expansion
409 failed=0
410 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
411 ${common_objpfx}posix/globtest -q -t "$testdir" "~" |
412 sort >$testout
413 echo ~ | $CMP - $testout >> $logfile || failed=1
414 if test $failed -ne 0; then
415   if test -d ~; then
416     echo "Tilde test failed" >> $logfile
417     result=1
418   else
419     echo "Tilde test could not be run" >> $logfile
420   fi
421 fi
422
423 # Test tilde expansion with trailing slash
424 failed=0
425 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
426 ${common_objpfx}posix/globtest -q -t "$testdir" "~/" |
427 sort > $testout
428 # Some shell incorrectly(?) convert ~/ into // if ~ expands to /.
429 if test ~/ = //; then
430     echo / | $CMP - $testout >> $logfile || failed=1
431 else
432     echo ~/ | $CMP - $testout >> $logfile || failed=1
433 fi
434 if test $failed -ne 0; then
435   if test -d ~/; then
436     echo "Tilde2 test failed" >> $logfile
437     result=1
438   else
439     echo "Tilde2 test could not be run" >> $logfile
440   fi
441 fi
442
443 # Test tilde expansion with username
444 failed=0
445 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
446 ${common_objpfx}posix/globtest -q -t "$testdir" "~"$USER |
447 sort > $testout
448 eval echo ~$USER | $CMP - $testout >> $logfile || failed=1
449 if test $failed -ne 0; then
450   if eval test -d ~$USER; then
451     echo "Tilde3 test failed" >> $logfile
452     result=1
453   else
454     echo "Tilde3 test could not be run" >> $logfile
455   fi
456 fi
457
458 # Tilde expansion shouldn't match a file
459 failed=0
460 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
461 ${common_objpfx}posix/globtest -T "$testdir" "~file4" |
462 sort > $testout
463 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
464 GLOB_NOMATCH
465 EOF
466 if test $failed -ne 0; then
467   echo "Tilde4 test failed" >> $logfile
468   result=1
469 fi
470
471 # Matching \** should only find *file6
472 failed=0
473 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
474 ${common_objpfx}posix/globtest "$testdir" "\**" |
475 sort > $testout
476 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
477 `*file6'
478 EOF
479 if test $failed -ne 0; then
480   echo "Star test failed" >> $logfile
481   result=1
482 fi
483
484 # ... unless NOESCAPE is used, in which case it should entries with a
485 # leading \.
486 failed=0
487 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
488 ${common_objpfx}posix/globtest -e "$testdir" "\**" |
489 sort > $testout
490 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
491 `\file9b\'
492 `\{file8\}'
493 `\{file9\,file9b\}'
494 EOF
495 if test $failed -ne 0; then
496   echo "Star2 test failed" >> $logfile
497   result=1
498 fi
499
500 # Matching \*file6 should find *file6
501 failed=0
502 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
503 ${common_objpfx}posix/globtest "$testdir" "\*file6" |
504 sort > $testout
505 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
506 `*file6'
507 EOF
508 if test $failed -ne 0; then
509   echo "Star3 test failed" >> $logfile
510   result=1
511 fi
512
513 # GLOB_BRACE alone
514 failed=0
515 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
516 ${common_objpfx}posix/globtest -b "$testdir" '\{file7\,\}' |
517 sort > $testout
518 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
519 `{file7,}'
520 EOF
521 if test $failed -ne 0; then
522   echo "Brace4 test failed" >> $logfile
523   result=1
524 fi
525
526 # GLOB_BRACE and GLOB_NOESCAPE
527 failed=0
528 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
529 ${common_objpfx}posix/globtest -b -e "$testdir" '\{file9\,file9b\}' |
530 sort > $testout
531 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
532 `\file9b\'
533 EOF
534 if test $failed -ne 0; then
535   echo "Brace5 test failed" >> $logfile
536   result=1
537 fi
538
539 # Escaped comma
540 failed=0
541 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
542 ${common_objpfx}posix/globtest -b "$testdir" '{filea\,}' |
543 sort > $testout
544 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
545 `filea,'
546 EOF
547 if test $failed -ne 0; then
548   echo "Brace6 test failed" >> $logfile
549   result=1
550 fi
551
552 # Escaped closing brace
553 failed=0
554 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
555 ${common_objpfx}posix/globtest -b "$testdir" '{fileb\}c}' |
556 sort > $testout
557 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
558 `fileb}c'
559 EOF
560 if test $failed -ne 0; then
561   echo "Brace7 test failed" >> $logfile
562   result=1
563 fi
564
565 # Try a recursive failed search
566 failed=0
567 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
568 ${common_objpfx}posix/globtest -e "$testdir" "a*/*" |
569 sort > $testout
570 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
571 GLOB_NOMATCH
572 EOF
573 if test $failed -ne 0; then
574   echo "Star4 test failed" >> $logfile
575   result=1
576 fi
577
578 # ... with GLOB_ERR
579 failed=0
580 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
581 ${common_objpfx}posix/globtest -E "$testdir" "a*/*" |
582 sort > $testout
583 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
584 GLOB_NOMATCH
585 EOF
586 if test $failed -ne 0; then
587   echo "Star5 test failed" >> $logfile
588   result=1
589 fi
590
591 # Try a recursive search in unreadable directory
592 failed=0
593 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
594 ${common_objpfx}posix/globtest "$testdir" "noread/*" |
595 sort > $testout
596 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
597 GLOB_NOMATCH
598 EOF
599 if test $failed -ne 0; then
600   echo "Star6 test failed" >> $logfile
601   result=1
602 fi
603
604 failed=0
605 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
606 ${common_objpfx}posix/globtest "$testdir" "noread*/*" |
607 sort > $testout
608 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
609 GLOB_NOMATCH
610 EOF
611 if test $failed -ne 0; then
612   echo "Star6 test failed" >> $logfile
613   result=1
614 fi
615
616 # The following tests will fail if run as root.
617 user=`id -un 2> /dev/null`
618 if test -z "$user"; then
619     uid="$USER"
620 fi
621 if test "$user" != root; then
622     # ... with GLOB_ERR
623     ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
624     ${common_objpfx}posix/globtest -E "$testdir" "noread/*" |
625     sort > $testout
626     cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
627 GLOB_ABORTED
628 EOF
629
630     ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
631     ${common_objpfx}posix/globtest -E "$testdir" "noread*/*" |
632     sort > $testout
633     cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
634 GLOB_ABORTED
635 EOF
636 if test $failed -ne 0; then
637   echo "GLOB_ERR test failed" >> $logfile
638   result=1
639 fi
640 fi # not run as root
641
642 # Try multiple patterns (GLOB_APPEND)
643 failed=0
644 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
645 ${common_objpfx}posix/globtest "$testdir" "file1" "*/*" |
646 sort > $testout
647 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
648 `dir1/file1_1'
649 `dir1/file1_2'
650 `file1'
651 `link1/file1_1'
652 `link1/file1_2'
653 EOF
654 if test $failed -ne 0; then
655   echo "GLOB_APPEND test failed" >> $logfile
656   result=1
657 fi
658
659 # Try multiple patterns (GLOB_APPEND) with offset (GLOB_DOOFFS)
660 failed=0
661 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
662 ${common_objpfx}posix/globtest -o "$testdir" "file1" "*/*" |
663 sort > $testout
664 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
665 `abc'
666 `dir1/file1_1'
667 `dir1/file1_2'
668 `file1'
669 `link1/file1_1'
670 `link1/file1_2'
671 EOF
672 if test $failed -ne 0; then
673   echo "GLOB_APPEND2 test failed" >> $logfile
674   result=1
675 fi
676
677 # Test NOCHECK with non-existing file in subdir.
678 failed=0
679 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
680 ${common_objpfx}posix/globtest -c "$testdir" "*/blahblah" |
681 sort > $testout
682 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
683 `*/blahblah'
684 EOF
685 if test $failed -ne 0; then
686   echo "No check2 test failed" >> $logfile
687   result=1
688 fi
689
690 # Test [[:punct:]] not matching leading period.
691 failed=0
692 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
693 ${common_objpfx}posix/globtest -c "$testdir" "[[:punct:]]*" |
694 sort > $testout
695 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
696 `*file6'
697 `-file3'
698 `\file9b\'
699 `\{file8\}'
700 `\{file9\,file9b\}'
701 `{file7,}'
702 `~file4'
703 EOF
704 if test $failed -ne 0; then
705   echo "Punct test failed" >> $logfile
706   result=1
707 fi
708
709 if test $result -eq 0; then
710     chmod 777 $testdir/noread
711     rm -fr $testdir $testout
712     echo "All OK." > $logfile
713 fi
714
715 exit $result
716
717 # Preserve executable bits for this shell script.
718 Local Variables:
719 eval:(defun frobme () (set-file-modes buffer-file-name file-mode))
720 eval:(make-local-variable 'file-mode)
721 eval:(setq file-mode (file-modes (buffer-file-name)))
722 eval:(make-local-variable 'after-save-hook)
723 eval:(add-hook 'after-save-hook 'frobme)
724 End: