9c3ae1f167dba6de282c26798f1c185f66212f60
[platform/upstream/glibc.git] / posix / tst-fnmatch.input
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
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 C                "a"                    "[[=a=]]"              0
83 C                "b"                    "[[=a=]b]"             0
84 C                "b"                    "[[=a=][=b=]]"         0
85
86 # B.6 016(C)
87 C                "="                    "[[=a=]b]"             NOMATCH
88 C                "]"                    "[[=a=]b]"             NOMATCH
89 C                "a"                    "[[=b=]]"              NOMATCH
90
91 # B.6 017(C)
92 C                "a"                    "[[:alnum:]]"          0
93 C                "a"                    "[![:alnum:]]"         NOMATCH
94 C                "-"                    "[[:alnum:]]"          NOMATCH
95 C                "a]a"                  "[[:alnum:]]a"         NOMATCH
96 C                "-"                    "[[:alnum:]-]"         0
97 C                "aa"                   "[[:alnum:]]a"         0
98 C                "-"                    "[![:alnum:]]"         0
99 C                "]"                    "[!][:alnum:]]"        NOMATCH
100 C                "["                    "[![:alnum:][]"        NOMATCH
101 C                "a"                    "[[:alnum:]]"          0
102 C                "b"                    "[[:alnum:]]"          0
103 C                "c"                    "[[:alnum:]]"          0
104 C                "d"                    "[[:alnum:]]"          0
105 C                "e"                    "[[:alnum:]]"          0
106 C                "f"                    "[[:alnum:]]"          0
107 C                "g"                    "[[:alnum:]]"          0
108 C                "h"                    "[[:alnum:]]"          0
109 C                "i"                    "[[:alnum:]]"          0
110 C                "j"                    "[[:alnum:]]"          0
111 C                "k"                    "[[:alnum:]]"          0
112 C                "l"                    "[[:alnum:]]"          0
113 C                "m"                    "[[:alnum:]]"          0
114 C                "n"                    "[[:alnum:]]"          0
115 C                "o"                    "[[:alnum:]]"          0
116 C                "p"                    "[[:alnum:]]"          0
117 C                "q"                    "[[:alnum:]]"          0
118 C                "r"                    "[[:alnum:]]"          0
119 C                "s"                    "[[:alnum:]]"          0
120 C                "t"                    "[[:alnum:]]"          0
121 C                "u"                    "[[:alnum:]]"          0
122 C                "v"                    "[[:alnum:]]"          0
123 C                "w"                    "[[:alnum:]]"          0
124 C                "x"                    "[[:alnum:]]"          0
125 C                "y"                    "[[:alnum:]]"          0
126 C                "z"                    "[[:alnum:]]"          0
127 C                "A"                    "[[:alnum:]]"          0
128 C                "B"                    "[[:alnum:]]"          0
129 C                "C"                    "[[:alnum:]]"          0
130 C                "D"                    "[[:alnum:]]"          0
131 C                "E"                    "[[:alnum:]]"          0
132 C                "F"                    "[[:alnum:]]"          0
133 C                "G"                    "[[:alnum:]]"          0
134 C                "H"                    "[[:alnum:]]"          0
135 C                "I"                    "[[:alnum:]]"          0
136 C                "J"                    "[[:alnum:]]"          0
137 C                "K"                    "[[:alnum:]]"          0
138 C                "L"                    "[[:alnum:]]"          0
139 C                "M"                    "[[:alnum:]]"          0
140 C                "N"                    "[[:alnum:]]"          0
141 C                "O"                    "[[:alnum:]]"          0
142 C                "P"                    "[[:alnum:]]"          0
143 C                "Q"                    "[[:alnum:]]"          0
144 C                "R"                    "[[:alnum:]]"          0
145 C                "S"                    "[[:alnum:]]"          0
146 C                "T"                    "[[:alnum:]]"          0
147 C                "U"                    "[[:alnum:]]"          0
148 C                "V"                    "[[:alnum:]]"          0
149 C                "W"                    "[[:alnum:]]"          0
150 C                "X"                    "[[:alnum:]]"          0
151 C                "Y"                    "[[:alnum:]]"          0
152 C                "Z"                    "[[:alnum:]]"          0
153 C                "0"                    "[[:alnum:]]"          0
154 C                "1"                    "[[:alnum:]]"          0
155 C                "2"                    "[[:alnum:]]"          0
156 C                "3"                    "[[:alnum:]]"          0
157 C                "4"                    "[[:alnum:]]"          0
158 C                "5"                    "[[:alnum:]]"          0
159 C                "6"                    "[[:alnum:]]"          0
160 C                "7"                    "[[:alnum:]]"          0
161 C                "8"                    "[[:alnum:]]"          0
162 C                "9"                    "[[:alnum:]]"          0
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                "`"                    "[[:alnum:]]"          NOMATCH
192 C                "|"                    "[[:alnum:]]"          NOMATCH
193 C                "<"                    "[[:alnum:]]"          NOMATCH
194 C                ">"                    "[[:alnum:]]"          NOMATCH
195 C                "\t"                   "[[:cntrl:]]"          0
196 C                "t"                    "[[:cntrl:]]"          NOMATCH
197 C                "t"                    "[[:lower:]]"          0
198 C                "\t"                   "[[:lower:]]"          NOMATCH
199 C                "T"                    "[[:lower:]]"          NOMATCH
200 C                "\t"                   "[[:space:]]"          0
201 C                "t"                    "[[:space:]]"          NOMATCH
202 C                "t"                    "[[:alpha:]]"          0
203 C                "\t"                   "[[:alpha:]]"          NOMATCH
204 C                "0"                    "[[:digit:]]"          0
205 C                "\t"                   "[[:digit:]]"          NOMATCH
206 C                "t"                    "[[:digit:]]"          NOMATCH
207 C                "\t"                   "[[:print:]]"          NOMATCH
208 C                "t"                    "[[:print:]]"          0
209 C                "T"                    "[[:upper:]]"          0
210 C                "\t"                   "[[:upper:]]"          NOMATCH
211 C                "t"                    "[[:upper:]]"          NOMATCH
212 C                "\t"                   "[[:blank:]]"          0
213 C                "t"                    "[[:blank:]]"          NOMATCH
214 C                "\t"                   "[[:graph:]]"          NOMATCH
215 C                "t"                    "[[:graph:]]"          0
216 C                "."                    "[[:punct:]]"          0
217 C                "t"                    "[[:punct:]]"          NOMATCH
218 C                "\t"                   "[[:punct:]]"          NOMATCH
219 C                "0"                    "[[:xdigit:]]"         0
220 C                "\t"                   "[[:xdigit:]]"         NOMATCH
221 C                "a"                    "[[:xdigit:]]"         0
222 C                "A"                    "[[:xdigit:]]"         0
223 C                "t"                    "[[:xdigit:]]"         NOMATCH
224 C                "a"                    "[[alpha]]"            NOMATCH
225 C                "a"                    "[[alpha:]]"           NOMATCH
226 C                "a]"                   "[[alpha]]"            0
227 C                "a]"                   "[[alpha:]]"           0
228
229 # B.6 018(C)
230 C                "a"                    "[a-c]"                0
231 C                "b"                    "[a-c]"                0
232 C                "c"                    "[a-c]"                0
233 C                "a"                    "[b-c]"                NOMATCH
234 C                "d"                    "[b-c]"                NOMATCH
235 C                "B"                    "[a-c]"                NOMATCH
236 C                "b"                    "[A-C]"                NOMATCH
237 C                ""                     "[a-c]"                NOMATCH
238 C                "as"                   "[a-ca-z]"             NOMATCH
239
240 # B.6 019(C)
241 C                "b"                    "[c-a]"                NOMATCH
242
243 # B.6 020(C)
244 C                "a"                    "[a-c0-9]"             0
245 C                "d"                    "[a-c0-9]"             NOMATCH
246 C                "B"                    "[a-c0-9]"             NOMATCH
247
248 # B.6 021(C)
249 C                "-"                    "[-a]"                 0
250 C                "a"                    "[-b]"                 NOMATCH
251 C                "-"                    "[!-a]"                NOMATCH
252 C                "a"                    "[!-b]"                0
253 C                "-"                    "[a-c-0-9]"            0
254 C                "b"                    "[a-c-0-9]"            0
255 C                "a:"                   "a[0-9-a]"             NOMATCH
256 C                "a:"                   "a[09-a]"              0
257
258 # B.6 024(C)
259 C                ""                     "*"                    0
260 C                "asd/sdf"              "*"                    0
261
262 # B.6 025(C)
263 C                "as"                   "[a-c][a-z]"           0
264 C                "as"                   "??"                   0
265
266 # B.6 026(C)
267 C                "asd/sdf"              "as*df"                0
268 C                "asd/sdf"              "as*"                  0
269 C                "asd/sdf"              "*df"                  0
270 C                "asd/sdf"              "as*dg"                NOMATCH
271 C                "asdf"                 "as*df"                0
272 C                "asdf"                 "as*df?"               NOMATCH
273 C                "asdf"                 "as*??"                0
274 C                "asdf"                 "a*???"                0
275 C                "asdf"                 "*????"                0
276 C                "asdf"                 "????*"                0
277 C                "asdf"                 "??*?"                 0
278
279 # B.6 027(C)
280 C                "/"                    "/"                    0
281 C                "/"                    "/*"                   0
282 C                "/"                    "*/"                   0
283 C                "/"                    "/?"                   NOMATCH
284 C                "/"                    "?/"                   NOMATCH
285 C                "/"                    "?"                    0
286 C                "."                    "?"                    0
287 C                "/."                   "??"                   0
288 C                "/"                    "[!a-c]"               0
289 C                "."                    "[!a-c]"               0
290
291 # B.6 029(C)
292 C                "/"                    "/"                    0       PATHNAME
293 C                "//"                   "//"                   0       PATHNAME
294 C                "/.a"                  "/*"                   0       PATHNAME
295 C                "/.a"                  "/?a"                  0       PATHNAME
296 C                "/.a"                  "/[!a-z]a"             0       PATHNAME
297 C                "/.a/.b"               "/*/?b"                0       PATHNAME
298
299 # B.6 030(C)
300 C                "/"                    "?"                    NOMATCH PATHNAME
301 C                "/"                    "*"                    NOMATCH PATHNAME
302 C                "a/b"                  "a?b"                  NOMATCH PATHNAME
303 C                "/.a/.b"               "/*b"                  NOMATCH PATHNAME
304
305 # B.6 031(C)
306 C                "/$"                   "\\/\\$"               0
307 C                "/["                   "\\/\\["               0
308 C                "/["                   "\\/["                 NOMATCH
309
310 # B.6 032(C)
311 C                "/$"                   "\\/\\$"               NOMATCH NOESCAPE
312 C                "/\\$"                 "\\/\\$"               NOMATCH NOESCAPE
313 C                "\\/\\$"               "\\/\\$"               0       NOESCAPE
314
315 # B.6 033(C)
316 C                ".asd"                 ".*"                   0       PERIOD
317 C                "/.asd"                        "*"                    0       PERIOD
318 C                "/as/.df"              "*/?*f"                0       PERIOD
319 C                "..asd"                ".[!a-z]*"             0       PERIOD
320
321 # B.6 034(C)
322 C                ".asd"                 "*"                    NOMATCH PERIOD
323 C                ".asd"                 "?asd"                 NOMATCH PERIOD
324 C                ".asd"                 "[!a-z]*"              NOMATCH PERIOD
325
326 # B.6 035(C)
327 C                "/."                   "/."                   0       PATHNAME|PERIOD
328 C                "/.a./.b."             "/.*/.*"               0       PATHNAME|PERIOD
329 C                "/.a./.b."             "/.??/.??"             0       PATHNAME|PERIOD
330
331 # B.6 036(C)
332 C                "/."                   "*"                    NOMATCH PATHNAME|PERIOD
333 C                "/."                   "/*"                   NOMATCH PATHNAME|PERIOD
334 C                "/."                   "/?"                   NOMATCH PATHNAME|PERIOD
335 C                "/."                   "/[!a-z]"              NOMATCH PATHNAME|PERIOD
336 C                "/a./.b."              "/*/*"                 NOMATCH PATHNAME|PERIOD
337 C                "/a./.b."              "/??/???"              NOMATCH PATHNAME|PERIOD
338
339 # Following are tests outside the scope of IEEE 2003.2 since they are using
340 # locales other than the C locale.  The main focus of the tests is on the
341 # handling of ranges and the recognition of character (vs bytes).
342 de_DE.ISO-8859-1 "a"                    "[a-z]"                0
343 de_DE.ISO-8859-1 "z"                    "[a-z]"                0
344 de_DE.ISO-8859-1 "ä"                    "[a-z]"                0
345 de_DE.ISO-8859-1 "ö"                    "[a-z]"                0
346 de_DE.ISO-8859-1 "ü"                    "[a-z]"                0
347 de_DE.ISO-8859-1 "A"                    "[a-z]"                NOMATCH
348 de_DE.ISO-8859-1 "Z"                    "[a-z]"                NOMATCH
349 de_DE.ISO-8859-1 "Ä"                    "[a-z]"                NOMATCH
350 de_DE.ISO-8859-1 "Ö"                    "[a-z]"                NOMATCH
351 de_DE.ISO-8859-1 "Ü"                    "[a-z]"                NOMATCH
352 de_DE.ISO-8859-1 "a"                    "[A-Z]"                NOMATCH
353 de_DE.ISO-8859-1 "z"                    "[A-Z]"                NOMATCH
354 de_DE.ISO-8859-1 "ä"                    "[A-Z]"                NOMATCH
355 de_DE.ISO-8859-1 "ö"                    "[A-Z]"                NOMATCH
356 de_DE.ISO-8859-1 "ü"                    "[A-Z]"                NOMATCH
357 de_DE.ISO-8859-1 "A"                    "[A-Z]"                0
358 de_DE.ISO-8859-1 "Z"                    "[A-Z]"                0
359 de_DE.ISO-8859-1 "Ä"                    "[A-Z]"                0
360 de_DE.ISO-8859-1 "Ö"                    "[A-Z]"                0
361 de_DE.ISO-8859-1 "Ü"                    "[A-Z]"                0
362 de_DE.ISO-8859-1 "a"                    "[[:lower:]]"          0
363 de_DE.ISO-8859-1 "z"                    "[[:lower:]]"          0
364 de_DE.ISO-8859-1 "ä"                    "[[:lower:]]"          0
365 de_DE.ISO-8859-1 "ö"                    "[[:lower:]]"          0
366 de_DE.ISO-8859-1 "ü"                    "[[:lower:]]"          0
367 de_DE.ISO-8859-1 "A"                    "[[:lower:]]"          NOMATCH
368 de_DE.ISO-8859-1 "Z"                    "[[:lower:]]"          NOMATCH
369 de_DE.ISO-8859-1 "Ä"                    "[[:lower:]]"          NOMATCH
370 de_DE.ISO-8859-1 "Ö"                    "[[:lower:]]"          NOMATCH
371 de_DE.ISO-8859-1 "Ü"                    "[[:lower:]]"          NOMATCH
372 de_DE.ISO-8859-1 "a"                    "[[:upper:]]"          NOMATCH
373 de_DE.ISO-8859-1 "z"                    "[[:upper:]]"          NOMATCH
374 de_DE.ISO-8859-1 "ä"                    "[[:upper:]]"          NOMATCH
375 de_DE.ISO-8859-1 "ö"                    "[[:upper:]]"          NOMATCH
376 de_DE.ISO-8859-1 "ü"                    "[[:upper:]]"          NOMATCH
377 de_DE.ISO-8859-1 "A"                    "[[:upper:]]"          0
378 de_DE.ISO-8859-1 "Z"                    "[[:upper:]]"          0
379 de_DE.ISO-8859-1 "Ä"                    "[[:upper:]]"          0
380 de_DE.ISO-8859-1 "Ö"                    "[[:upper:]]"          0
381 de_DE.ISO-8859-1 "Ü"                    "[[:upper:]]"          0
382 de_DE.ISO-8859-1 "a"                    "[[:alpha:]]"          0
383 de_DE.ISO-8859-1 "z"                    "[[:alpha:]]"          0
384 de_DE.ISO-8859-1 "ä"                    "[[:alpha:]]"          0
385 de_DE.ISO-8859-1 "ö"                    "[[:alpha:]]"          0
386 de_DE.ISO-8859-1 "ü"                    "[[:alpha:]]"          0
387 de_DE.ISO-8859-1 "A"                    "[[:alpha:]]"          0
388 de_DE.ISO-8859-1 "Z"                    "[[:alpha:]]"          0
389 de_DE.ISO-8859-1 "Ä"                    "[[:alpha:]]"          0
390 de_DE.ISO-8859-1 "Ö"                    "[[:alpha:]]"          0
391 de_DE.ISO-8859-1 "Ü"                    "[[:alpha:]]"          0
392
393 de_DE.ISO-8859-1 "a"                    "[[=a=]b]"             0
394 de_DE.ISO-8859-1 "â"                    "[[=a=]b]"             0
395 de_DE.ISO-8859-1 "à"                    "[[=a=]b]"             0
396 de_DE.ISO-8859-1 "á"                    "[[=a=]b]"             0
397 de_DE.ISO-8859-1 "b"                    "[[=a=]b]"             0
398 de_DE.ISO-8859-1 "c"                    "[[=a=]b]"             NOMATCH
399 de_DE.ISO-8859-1 "a"                    "[[=â=]b]"             0
400 de_DE.ISO-8859-1 "â"                    "[[=â=]b]"             0
401 de_DE.ISO-8859-1 "à"                    "[[=â=]b]"             0
402 de_DE.ISO-8859-1 "á"                    "[[=â=]b]"             0
403 de_DE.ISO-8859-1 "b"                    "[[=â=]b]"             0
404 de_DE.ISO-8859-1 "c"                    "[[=â=]b]"             NOMATCH
405 de_DE.ISO-8859-1 "a"                    "[[=à=]b]"             0
406 de_DE.ISO-8859-1 "â"                    "[[=à=]b]"             0
407 de_DE.ISO-8859-1 "à"                    "[[=à=]b]"             0
408 de_DE.ISO-8859-1 "á"                    "[[=à=]b]"             0
409 de_DE.ISO-8859-1 "b"                    "[[=à=]b]"             0
410 de_DE.ISO-8859-1 "c"                    "[[=à=]b]"             NOMATCH
411 de_DE.ISO-8859-1 "a"                    "[[=á=]b]"             0
412 de_DE.ISO-8859-1 "â"                    "[[=á=]b]"             0
413 de_DE.ISO-8859-1 "à"                    "[[=á=]b]"             0
414 de_DE.ISO-8859-1 "á"                    "[[=á=]b]"             0
415 de_DE.ISO-8859-1 "b"                    "[[=á=]b]"             0
416 de_DE.ISO-8859-1 "c"                    "[[=á=]b]"             NOMATCH