]>
Commit | Line | Data |
---|---|---|
83b1b6d8 UD |
1 | # Tests for fnmatch. |
2 | # Copyright (C) 2000 Free Software Foundation, Inc. | |
3 | # This file is part of the GNU C Library. | |
4 | # Contributes by Ulrich Drepper <drepper@redhat.com>. | |
5 | # | |
6 | # The GNU C Library is free software; you can redistribute it and/or | |
7 | # modify it under the terms of the GNU Library General Public License as | |
8 | # published by the Free Software Foundation; either version 2 of the | |
9 | # License, or (at your option) any later version. | |
10 | # | |
11 | # The GNU C Library is distributed in the hope that it will be useful, | |
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
14 | # Library General Public License for more details. | |
15 | # | |
16 | # You should have received a copy of the GNU Library General Public | |
17 | # License along with the GNU C Library; see the file COPYING.LIB. If | |
18 | # not, write to the Free Software Foundation, Inc., | |
19 | # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
20 | ||
21 | ||
22 | # Derived from the IEEE 2003.2 text. The standard only contains some | |
23 | # wording describing the situations to be tested. It does not specify | |
24 | # any specific tests. I.e., the tests below are in no case sufficient. | |
25 | # They are hopefully necessary, though. | |
26 | ||
27 | # B.6 004(C) | |
28 | C "!#%+,-./01234567889" "!#%+,-./01234567889" 0 | |
29 | C ":;=@ABCDEFGHIJKLMNO" ":;=@ABCDEFGHIJKLMNO" 0 | |
30 | C "PQRSTUVWXYZ]abcdefg" "PQRSTUVWXYZ]abcdefg" 0 | |
31 | C "hijklmnopqrstuvwxyz" "hijklmnopqrstuvwxyz" 0 | |
32 | C "^_{}~" "^_{}~" 0 | |
33 | ||
34 | # B.6 005(C) | |
35 | C "\"$&'()" "\\\"\\$\\&\\'\\(\\)" 0 | |
36 | C "*?[\\`|" "\\*\\?\\[\\\\\\`\\|" 0 | |
37 | C "<>" "\\<\\>" 0 | |
38 | ||
39 | # B.6 006(C) | |
40 | C "?*[" "[?*[][?*[][?*[]" 0 | |
41 | C "a/b" "?/b" 0 | |
42 | ||
43 | # B.6 007(C) | |
44 | C "a/b" "a?b" 0 | |
45 | C "a/b" "a/?" 0 | |
83b1b6d8 UD |
46 | C "aa/b" "?/b" NOMATCH |
47 | C "aa/b" "a?b" NOMATCH | |
48 | C "a/bb" "a/?" NOMATCH | |
49 | ||
50 | # B.6 009(C) | |
51 | C "abc" "[abc]" NOMATCH | |
52 | C "x" "[abc]" NOMATCH | |
53 | C "a" "[abc]" 0 | |
54 | C "[" "[[abc]" 0 | |
55 | C "a" "[][abc]" 0 | |
56 | C "a]" "[]a]]" 0 | |
57 | ||
58 | # B.6 010(C) | |
59 | C "xyz" "[!abc]" NOMATCH | |
60 | C "x" "[!abc]" 0 | |
61 | C "a" "[!abc]" NOMATCH | |
62 | ||
63 | # B.6 011(C) | |
64 | C "]" "[][abc]" 0 | |
65 | C "abc]" "[][abc]" NOMATCH | |
66 | C "[]abc" "[][]abc" NOMATCH | |
67 | C "]" "[!]]" NOMATCH | |
68 | C "aa]" "[!]a]" NOMATCH | |
69 | C "]" "[!a]" 0 | |
70 | C "]]" "[!a]]" 0 | |
71 | ||
72 | # B.6 012(C) | |
73 | # *** implement [. .] | |
74 | ||
75 | # B.6 013(C) | |
76 | # *** implement [. .] | |
77 | ||
78 | # B.6 014(C) | |
79 | # *** implement [. .] | |
80 | ||
81 | # B.6 015(C) | |
82 | # *** implement [= =] | |
83 | ||
84 | # B.6 016(C) | |
85 | # *** implement [= =] | |
86 | ||
87 | # B.6 017(C) | |
88 | C "a" "[[:alnum:]]" 0 | |
89 | C "a" "[![:alnum:]]" NOMATCH | |
90 | C "-" "[[:alnum:]]" NOMATCH | |
91 | C "a]a" "[[:alnum:]]a" NOMATCH | |
92 | C "-" "[[:alnum:]-]" 0 | |
93 | C "aa" "[[:alnum:]]a" 0 | |
94 | C "-" "[![:alnum:]]" 0 | |
95 | C "]" "[!][:alnum:]]" NOMATCH | |
96 | C "[" "[![:alnum:][]" NOMATCH | |
97 | C "a" "[[:alnum:]]" 0 | |
98 | C "b" "[[:alnum:]]" 0 | |
99 | C "c" "[[:alnum:]]" 0 | |
100 | C "d" "[[:alnum:]]" 0 | |
101 | C "e" "[[:alnum:]]" 0 | |
102 | C "f" "[[:alnum:]]" 0 | |
103 | C "g" "[[:alnum:]]" 0 | |
104 | C "h" "[[:alnum:]]" 0 | |
105 | C "i" "[[:alnum:]]" 0 | |
106 | C "j" "[[:alnum:]]" 0 | |
107 | C "k" "[[:alnum:]]" 0 | |
108 | C "l" "[[:alnum:]]" 0 | |
109 | C "m" "[[:alnum:]]" 0 | |
110 | C "n" "[[:alnum:]]" 0 | |
111 | C "o" "[[:alnum:]]" 0 | |
112 | C "p" "[[:alnum:]]" 0 | |
113 | C "q" "[[:alnum:]]" 0 | |
114 | C "r" "[[:alnum:]]" 0 | |
115 | C "s" "[[:alnum:]]" 0 | |
116 | C "t" "[[:alnum:]]" 0 | |
117 | C "u" "[[:alnum:]]" 0 | |
118 | C "v" "[[:alnum:]]" 0 | |
119 | C "w" "[[:alnum:]]" 0 | |
120 | C "x" "[[:alnum:]]" 0 | |
121 | C "y" "[[:alnum:]]" 0 | |
122 | C "z" "[[:alnum:]]" 0 | |
123 | C "A" "[[:alnum:]]" 0 | |
124 | C "B" "[[:alnum:]]" 0 | |
125 | C "C" "[[:alnum:]]" 0 | |
126 | C "D" "[[:alnum:]]" 0 | |
127 | C "E" "[[:alnum:]]" 0 | |
128 | C "F" "[[:alnum:]]" 0 | |
129 | C "G" "[[:alnum:]]" 0 | |
130 | C "H" "[[:alnum:]]" 0 | |
131 | C "I" "[[:alnum:]]" 0 | |
132 | C "J" "[[:alnum:]]" 0 | |
133 | C "K" "[[:alnum:]]" 0 | |
134 | C "L" "[[:alnum:]]" 0 | |
135 | C "M" "[[:alnum:]]" 0 | |
136 | C "N" "[[:alnum:]]" 0 | |
137 | C "O" "[[:alnum:]]" 0 | |
138 | C "P" "[[:alnum:]]" 0 | |
139 | C "Q" "[[:alnum:]]" 0 | |
140 | C "R" "[[:alnum:]]" 0 | |
141 | C "S" "[[:alnum:]]" 0 | |
142 | C "T" "[[:alnum:]]" 0 | |
143 | C "U" "[[:alnum:]]" 0 | |
144 | C "V" "[[:alnum:]]" 0 | |
145 | C "W" "[[:alnum:]]" 0 | |
146 | C "X" "[[:alnum:]]" 0 | |
147 | C "Y" "[[:alnum:]]" 0 | |
148 | C "Z" "[[:alnum:]]" 0 | |
149 | C "0" "[[:alnum:]]" 0 | |
150 | C "1" "[[:alnum:]]" 0 | |
151 | C "2" "[[:alnum:]]" 0 | |
152 | C "3" "[[:alnum:]]" 0 | |
153 | C "4" "[[:alnum:]]" 0 | |
154 | C "5" "[[:alnum:]]" 0 | |
155 | C "6" "[[:alnum:]]" 0 | |
156 | C "7" "[[:alnum:]]" 0 | |
157 | C "8" "[[:alnum:]]" 0 | |
158 | C "9" "[[:alnum:]]" 0 | |
159 | C "!" "[[:alnum:]]" NOMATCH | |
160 | C "#" "[[:alnum:]]" NOMATCH | |
161 | C "%" "[[:alnum:]]" NOMATCH | |
162 | C "+" "[[:alnum:]]" NOMATCH | |
163 | C "," "[[:alnum:]]" NOMATCH | |
164 | C "-" "[[:alnum:]]" NOMATCH | |
165 | C "." "[[:alnum:]]" NOMATCH | |
166 | C "/" "[[:alnum:]]" NOMATCH | |
167 | C ":" "[[:alnum:]]" NOMATCH | |
168 | C ";" "[[:alnum:]]" NOMATCH | |
169 | C "=" "[[:alnum:]]" NOMATCH | |
170 | C "@" "[[:alnum:]]" NOMATCH | |
171 | C "[" "[[:alnum:]]" NOMATCH | |
172 | C "\\" "[[:alnum:]]" NOMATCH | |
173 | C "]" "[[:alnum:]]" NOMATCH | |
174 | C "^" "[[:alnum:]]" NOMATCH | |
175 | C "_" "[[:alnum:]]" NOMATCH | |
176 | C "{" "[[:alnum:]]" NOMATCH | |
177 | C "}" "[[:alnum:]]" NOMATCH | |
178 | C "~" "[[:alnum:]]" NOMATCH | |
179 | C "\"" "[[:alnum:]]" NOMATCH | |
180 | C "$" "[[:alnum:]]" NOMATCH | |
181 | C "&" "[[:alnum:]]" NOMATCH | |
182 | C "'" "[[:alnum:]]" NOMATCH | |
183 | C "(" "[[:alnum:]]" NOMATCH | |
184 | C ")" "[[:alnum:]]" NOMATCH | |
185 | C "*" "[[:alnum:]]" NOMATCH | |
186 | C "?" "[[:alnum:]]" NOMATCH | |
187 | C "`" "[[:alnum:]]" NOMATCH | |
188 | C "|" "[[:alnum:]]" NOMATCH | |
189 | C "<" "[[:alnum:]]" NOMATCH | |
190 | C ">" "[[:alnum:]]" NOMATCH | |
191 | C "\t" "[[:cntrl:]]" 0 | |
192 | C "t" "[[:cntrl:]]" NOMATCH | |
193 | C "t" "[[:lower:]]" 0 | |
194 | C "\t" "[[:lower:]]" NOMATCH | |
195 | C "T" "[[:lower:]]" NOMATCH | |
196 | C "\t" "[[:space:]]" 0 | |
197 | C "t" "[[:space:]]" NOMATCH | |
198 | C "t" "[[:alpha:]]" 0 | |
199 | C "\t" "[[:alpha:]]" NOMATCH | |
200 | C "0" "[[:digit:]]" 0 | |
201 | C "\t" "[[:digit:]]" NOMATCH | |
202 | C "t" "[[:digit:]]" NOMATCH | |
203 | C "\t" "[[:print:]]" NOMATCH | |
204 | C "t" "[[:print:]]" 0 | |
205 | C "T" "[[:upper:]]" 0 | |
206 | C "\t" "[[:upper:]]" NOMATCH | |
207 | C "t" "[[:upper:]]" NOMATCH | |
208 | C "\t" "[[:blank:]]" 0 | |
209 | C "t" "[[:blank:]]" NOMATCH | |
210 | C "\t" "[[:graph:]]" NOMATCH | |
211 | C "t" "[[:graph:]]" 0 | |
212 | C "." "[[:punct:]]" 0 | |
213 | C "t" "[[:punct:]]" NOMATCH | |
214 | C "\t" "[[:punct:]]" NOMATCH | |
215 | C "0" "[[:xdigit:]]" 0 | |
216 | C "\t" "[[:xdigit:]]" NOMATCH | |
217 | C "a" "[[:xdigit:]]" 0 | |
218 | C "A" "[[:xdigit:]]" 0 | |
219 | C "t" "[[:xdigit:]]" NOMATCH | |
220 | C "a" "[[alpha]]" NOMATCH | |
221 | C "a" "[[alpha:]]" NOMATCH | |
222 | C "a]" "[[alpha]]" 0 | |
223 | C "a]" "[[alpha:]]" 0 | |
224 | ||
225 | # B.6 018(C) | |
226 | C "a" "[a-c]" 0 | |
227 | C "b" "[a-c]" 0 | |
228 | C "c" "[a-c]" 0 | |
229 | C "a" "[b-c]" NOMATCH | |
230 | C "d" "[b-c]" NOMATCH | |
231 | C "B" "[a-c]" NOMATCH | |
232 | C "b" "[A-C]" NOMATCH | |
233 | C "" "[a-c]" NOMATCH | |
234 | C "as" "[a-ca-z]" NOMATCH | |
235 | ||
236 | # B.6 019(C) | |
237 | C "b" "[c-a]" NOMATCH | |
238 | ||
239 | # B.6 020(C) | |
240 | C "a" "[a-c0-9]" 0 | |
241 | C "d" "[a-c0-9]" NOMATCH | |
242 | C "B" "[a-c0-9]" NOMATCH | |
243 | ||
244 | # B.6 021(C) | |
245 | C "-" "[-a]" 0 | |
246 | C "a" "[-b]" NOMATCH | |
247 | C "-" "[!-a]" NOMATCH | |
248 | C "a" "[!-b]" 0 | |
249 | C "-" "[a-c-0-9]" 0 | |
250 | C "b" "[a-c-0-9]" 0 | |
251 | C "a:" "a[0-9-a]" NOMATCH | |
252 | C "a:" "a[09-a]" 0 | |
253 | ||
254 | # B.6 024(C) | |
255 | C "" "*" 0 | |
256 | C "asd/sdf" "*" 0 | |
257 | ||
258 | # B.6 025(C) | |
259 | C "as" "[a-c][a-z]" 0 | |
260 | C "as" "??" 0 | |
261 | ||
262 | # B.6 026(C) | |
263 | C "asd/sdf" "as*df" 0 | |
264 | C "asd/sdf" "as*" 0 | |
265 | C "asd/sdf" "*df" 0 | |
266 | C "asd/sdf" "as*dg" NOMATCH | |
267 | C "asdf" "as*df" 0 | |
268 | C "asdf" "as*df?" NOMATCH | |
269 | C "asdf" "as*??" 0 | |
270 | C "asdf" "a*???" 0 | |
271 | C "asdf" "*????" 0 | |
272 | C "asdf" "????*" 0 | |
273 | C "asdf" "??*?" 0 | |
274 | ||
275 | # B.6 027(C) | |
276 | C "/" "/" 0 | |
277 | C "/" "/*" 0 | |
278 | C "/" "*/" 0 | |
279 | C "/" "/?" NOMATCH | |
280 | C "/" "?/" NOMATCH | |
281 | C "/" "?" 0 | |
282 | C "." "?" 0 | |
283 | C "/." "??" 0 | |
284 | C "/" "[!a-c]" 0 | |
285 | C "." "[!a-c]" 0 | |
f5c68a01 UD |
286 | |
287 | # B.6 029(C) | |
288 | C "/" "/" 0 PATHNAME | |
289 | C "//" "//" 0 PATHNAME | |
290 | C "/.a" "/*" 0 PATHNAME | |
291 | C "/.a" "/?a" 0 PATHNAME | |
292 | C "/.a" "/[!a-z]a" 0 PATHNAME | |
293 | C "/.a/.b" "/*/?b" 0 PATHNAME | |
294 | ||
295 | # B.6 030(C) | |
296 | C "/" "?" NOMATCH PATHNAME | |
297 | C "/" "*" NOMATCH PATHNAME | |
298 | C "a/b" "a?b" NOMATCH PATHNAME | |
299 | C "/.a/.b" "/*b" NOMATCH PATHNAME | |
300 | ||
301 | # B.6 031(C) | |
302 | C "/$" "\\/\\$" 0 | |
303 | C "/[" "\\/\\[" 0 | |
304 | C "/[" "\\/[" NOMATCH | |
305 | ||
306 | # B.6 032(C) | |
307 | C "/$" "\\/\\$" NOMATCH NOESCAPE | |
308 | C "/\\$" "\\/\\$" NOMATCH NOESCAPE | |
309 | C "\\/\\$" "\\/\\$" 0 NOESCAPE | |
310 | ||
311 | # B.6 033(C) | |
312 | C ".asd" ".*" 0 PERIOD | |
313 | C "/.asd" "*" 0 PERIOD | |
314 | C "/as/.df" "*/?*f" 0 PERIOD | |
315 | C "..asd" ".[!a-z]*" 0 PERIOD | |
316 | ||
317 | # B.6 034(C) | |
318 | C ".asd" "*" NOMATCH PERIOD | |
319 | C ".asd" "?asd" NOMATCH PERIOD | |
320 | C ".asd" "[!a-z]*" NOMATCH PERIOD | |
321 | ||
322 | # B.6 035(C) | |
323 | C "/." "/." 0 PATHNAME|PERIOD | |
324 | C "/.a./.b." "/.*/.*" 0 PATHNAME|PERIOD | |
325 | C "/.a./.b." "/.??/.??" 0 PATHNAME|PERIOD | |
326 | ||
327 | # B.6 036(C) | |
328 | C "/." "*" NOMATCH PATHNAME|PERIOD | |
329 | C "/." "/*" NOMATCH PATHNAME|PERIOD | |
330 | C "/." "/?" NOMATCH PATHNAME|PERIOD | |
331 | C "/." "/[!a-z]" NOMATCH PATHNAME|PERIOD | |
332 | C "/a./.b." "/*/*" NOMATCH PATHNAME|PERIOD | |
333 | C "/a./.b." "/??/???" NOMATCH PATHNAME|PERIOD |