(distribute): Add globtest.c and globtest.sh.
[kopensolaris-gnu/glibc.git] / posix / globtest.sh
1 #! /bin/sh
2
3 common_objpfx=$1; shift
4
5 # Create the arena
6 : ${TMPDIR=/tmp}
7 testdir=$TMPDIR/globtest-dir
8 testout=$TMPDIR/globtest-out
9
10 trap 'rm -fr $testdir $testout' 1 2 3 15
11
12 rm -fr $testdir
13 mkdir $testdir
14 echo 1 > $testdir/file1
15 echo 2 > $testdir/file2
16 mkdir $testdir/dir1
17 mkdir $testdir/dir2
18 echo 1_1 > $testdir/dir1/file1_1
19 echo 1_2 > $testdir/dir1/file1_2
20
21 # Run some tests.
22 result=0
23 here=`pwd`
24
25 (cd $testdir &&
26  LD_LIBRARY_PATH=$common_objpfx $common_objpfx/posix/globtest "*") |
27 sort > $testout
28 cat <<"EOF" | cmp - $testout || result=1
29 `dir1'
30 `dir2'
31 `file1'
32 `file2'
33 not NULL
34 EOF
35
36 (cd $testdir &&
37  LD_LIBRARY_PATH=$common_objpfx $common_objpfx/posix/globtest "*/*") |
38 sort > $testout
39 cat <<"EOF" | cmp - $testout || result=1
40 `dir1/file1_1'
41 `dir1/file1_2'
42 not NULL
43 EOF
44
45 (cd $testdir &&
46  LD_LIBRARY_PATH=$common_objpfx $common_objpfx/posix/globtest "*/1") |
47 sort > $testout
48 cat <<"EOF" | cmp - $testout || result=1
49 GLOB_NOMATCH
50 NULL
51 EOF
52
53 (cd $testdir &&
54  LD_LIBRARY_PATH=$common_objpfx $common_objpfx/posix/globtest "*/*1_1") |
55 sort > $testout
56 cat <<"EOF" | cmp - $testout || result=1
57 `dir1/file1_1'
58 not NULL
59 EOF
60
61 (cd $testdir &&
62  LD_LIBRARY_PATH=$common_objpfx $common_objpfx/posix/globtest "*/file1_1") |
63 sort > $testout
64 cat <<"EOF" | cmp - $testout || result=1
65 `dir1/file1_1'
66 not NULL
67 EOF
68
69 (cd $testdir &&
70  LD_LIBRARY_PATH=$common_objpfx $common_objpfx/posix/globtest "*-/*") |
71 sort > $testout
72 cat <<"EOF" | cmp - $testout || result=1
73 GLOB_NOMATCH
74 NULL
75 EOF
76
77 (cd $testdir &&
78  LD_LIBRARY_PATH=$common_objpfx $common_objpfx/posix/globtest "*-") |
79 sort > $testout
80 cat <<"EOF" | cmp - $testout || result=1
81 GLOB_NOMATCH
82 NULL
83 EOF
84
85 if test $result -eq 0; then
86   rm -fr $testdir $testout
87 fi
88
89 exit $result
90
91 # Preserve executable bits for this shell script.
92 Local Variables:
93 eval:(defun frobme () (set-file-modes buffer-file-name file-mode))
94 eval:(make-local-variable 'file-mode)
95 eval:(setq file-mode (file-modes (buffer-file-name)))
96 eval:(make-local-variable 'after-save-hook)
97 eval:(add-hook 'after-save-hook 'frobme)
98 End: