]> git.ipfire.org Git - thirdparty/glibc.git/blame - posix/tst-fnmatch.input
Update copyright notices with scripts/update-copyrights
[thirdparty/glibc.git] / posix / tst-fnmatch.input
CommitLineData
83b1b6d8 1# Tests for fnmatch.
d4697bc9 2# Copyright (C) 2000-2014 Free Software Foundation, Inc.
83b1b6d8
UD
3# This file is part of the GNU C Library.
4# Contributes by Ulrich Drepper <drepper@redhat.com>.
5#
41bdb6e2 6
83b1b6d8 7# The GNU C Library is free software; you can redistribute it and/or
41bdb6e2
AJ
8# modify it under the terms of the GNU Lesser General Public
9# License as published by the Free Software Foundation; either
10# version 2.1 of the License, or (at your option) any later version.
11
83b1b6d8
UD
12# The GNU C Library is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
41bdb6e2
AJ
15# Lesser General Public License for more details.
16
17# You should have received a copy of the GNU Lesser General Public
59ba27a6
PE
18# License along with the GNU C Library; if not, see
19# <http://www.gnu.org/licenses/>.
83b1b6d8
UD
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)
28C "!#%+,-./01234567889" "!#%+,-./01234567889" 0
29C ":;=@ABCDEFGHIJKLMNO" ":;=@ABCDEFGHIJKLMNO" 0
30C "PQRSTUVWXYZ]abcdefg" "PQRSTUVWXYZ]abcdefg" 0
31C "hijklmnopqrstuvwxyz" "hijklmnopqrstuvwxyz" 0
32C "^_{}~" "^_{}~" 0
33
34# B.6 005(C)
35C "\"$&'()" "\\\"\\$\\&\\'\\(\\)" 0
36C "*?[\\`|" "\\*\\?\\[\\\\\\`\\|" 0
37C "<>" "\\<\\>" 0
38
39# B.6 006(C)
40C "?*[" "[?*[][?*[][?*[]" 0
41C "a/b" "?/b" 0
42
43# B.6 007(C)
44C "a/b" "a?b" 0
45C "a/b" "a/?" 0
83b1b6d8
UD
46C "aa/b" "?/b" NOMATCH
47C "aa/b" "a?b" NOMATCH
48C "a/bb" "a/?" NOMATCH
49
50# B.6 009(C)
51C "abc" "[abc]" NOMATCH
52C "x" "[abc]" NOMATCH
53C "a" "[abc]" 0
54C "[" "[[abc]" 0
55C "a" "[][abc]" 0
56C "a]" "[]a]]" 0
57
58# B.6 010(C)
ab9afc21 59C "xyz" "[!abc]" NOMATCH
83b1b6d8
UD
60C "x" "[!abc]" 0
61C "a" "[!abc]" NOMATCH
62
63# B.6 011(C)
64C "]" "[][abc]" 0
65C "abc]" "[][abc]" NOMATCH
66C "[]abc" "[][]abc" NOMATCH
794c3ad3 67C "]" "[!]]" NOMATCH
83b1b6d8 68C "aa]" "[!]a]" NOMATCH
794c3ad3
UD
69C "]" "[!a]" 0
70C "]]" "[!a]]" 0
83b1b6d8
UD
71
72# B.6 012(C)
f3e29a1a
UD
73C "a" "[[.a.]]" 0
74C "-" "[[.-.]]" 0
75C "-" "[[.-.][.].]]" 0
76C "-" "[[.].][.-.]]" 0
77C "-" "[[.-.][=u=]]" 0
78C "-" "[[.-.][:alpha:]]" 0
79C "a" "[![.a.]]" NOMATCH
83b1b6d8
UD
80
81# B.6 013(C)
f3e29a1a
UD
82C "a" "[[.b.]]" NOMATCH
83C "a" "[[.b.][.c.]]" NOMATCH
84C "a" "[[.b.][=b=]]" NOMATCH
83b1b6d8 85
83b1b6d8
UD
86
87# B.6 015(C)
ecce00a9
UD
88C "a" "[[=a=]]" 0
89C "b" "[[=a=]b]" 0
90C "b" "[[=a=][=b=]]" 0
f3e29a1a
UD
91C "a" "[[=a=][=b=]]" 0
92C "a" "[[=a=][.b.]]" 0
93C "a" "[[=a=][:digit:]]" 0
83b1b6d8
UD
94
95# B.6 016(C)
ecce00a9
UD
96C "=" "[[=a=]b]" NOMATCH
97C "]" "[[=a=]b]" NOMATCH
f3e29a1a
UD
98C "a" "[[=b=][=c=]]" NOMATCH
99C "a" "[[=b=][.].]]" NOMATCH
100C "a" "[[=b=][:digit:]]" NOMATCH
83b1b6d8
UD
101
102# B.6 017(C)
ab9afc21
UD
103C "a" "[[:alnum:]]" 0
104C "a" "[![:alnum:]]" NOMATCH
105C "-" "[[:alnum:]]" NOMATCH
106C "a]a" "[[:alnum:]]a" NOMATCH
107C "-" "[[:alnum:]-]" 0
108C "aa" "[[:alnum:]]a" 0
109C "-" "[![:alnum:]]" 0
110C "]" "[!][:alnum:]]" NOMATCH
111C "[" "[![:alnum:][]" NOMATCH
112C "a" "[[:alnum:]]" 0
113C "b" "[[:alnum:]]" 0
114C "c" "[[:alnum:]]" 0
115C "d" "[[:alnum:]]" 0
116C "e" "[[:alnum:]]" 0
117C "f" "[[:alnum:]]" 0
118C "g" "[[:alnum:]]" 0
119C "h" "[[:alnum:]]" 0
120C "i" "[[:alnum:]]" 0
121C "j" "[[:alnum:]]" 0
122C "k" "[[:alnum:]]" 0
123C "l" "[[:alnum:]]" 0
124C "m" "[[:alnum:]]" 0
125C "n" "[[:alnum:]]" 0
126C "o" "[[:alnum:]]" 0
127C "p" "[[:alnum:]]" 0
128C "q" "[[:alnum:]]" 0
129C "r" "[[:alnum:]]" 0
130C "s" "[[:alnum:]]" 0
131C "t" "[[:alnum:]]" 0
132C "u" "[[:alnum:]]" 0
133C "v" "[[:alnum:]]" 0
134C "w" "[[:alnum:]]" 0
135C "x" "[[:alnum:]]" 0
136C "y" "[[:alnum:]]" 0
137C "z" "[[:alnum:]]" 0
138C "A" "[[:alnum:]]" 0
139C "B" "[[:alnum:]]" 0
140C "C" "[[:alnum:]]" 0
141C "D" "[[:alnum:]]" 0
142C "E" "[[:alnum:]]" 0
143C "F" "[[:alnum:]]" 0
144C "G" "[[:alnum:]]" 0
145C "H" "[[:alnum:]]" 0
146C "I" "[[:alnum:]]" 0
147C "J" "[[:alnum:]]" 0
148C "K" "[[:alnum:]]" 0
149C "L" "[[:alnum:]]" 0
150C "M" "[[:alnum:]]" 0
151C "N" "[[:alnum:]]" 0
152C "O" "[[:alnum:]]" 0
153C "P" "[[:alnum:]]" 0
154C "Q" "[[:alnum:]]" 0
155C "R" "[[:alnum:]]" 0
156C "S" "[[:alnum:]]" 0
157C "T" "[[:alnum:]]" 0
158C "U" "[[:alnum:]]" 0
159C "V" "[[:alnum:]]" 0
160C "W" "[[:alnum:]]" 0
161C "X" "[[:alnum:]]" 0
162C "Y" "[[:alnum:]]" 0
163C "Z" "[[:alnum:]]" 0
164C "0" "[[:alnum:]]" 0
165C "1" "[[:alnum:]]" 0
166C "2" "[[:alnum:]]" 0
167C "3" "[[:alnum:]]" 0
168C "4" "[[:alnum:]]" 0
169C "5" "[[:alnum:]]" 0
170C "6" "[[:alnum:]]" 0
171C "7" "[[:alnum:]]" 0
172C "8" "[[:alnum:]]" 0
173C "9" "[[:alnum:]]" 0
174C "!" "[[:alnum:]]" NOMATCH
175C "#" "[[:alnum:]]" NOMATCH
176C "%" "[[:alnum:]]" NOMATCH
177C "+" "[[:alnum:]]" NOMATCH
178C "," "[[:alnum:]]" NOMATCH
179C "-" "[[:alnum:]]" NOMATCH
180C "." "[[:alnum:]]" NOMATCH
181C "/" "[[:alnum:]]" NOMATCH
182C ":" "[[:alnum:]]" NOMATCH
183C ";" "[[:alnum:]]" NOMATCH
184C "=" "[[:alnum:]]" NOMATCH
185C "@" "[[:alnum:]]" NOMATCH
186C "[" "[[:alnum:]]" NOMATCH
187C "\\" "[[:alnum:]]" NOMATCH
188C "]" "[[:alnum:]]" NOMATCH
189C "^" "[[:alnum:]]" NOMATCH
190C "_" "[[:alnum:]]" NOMATCH
191C "{" "[[:alnum:]]" NOMATCH
192C "}" "[[:alnum:]]" NOMATCH
193C "~" "[[:alnum:]]" NOMATCH
194C "\"" "[[:alnum:]]" NOMATCH
195C "$" "[[:alnum:]]" NOMATCH
196C "&" "[[:alnum:]]" NOMATCH
197C "'" "[[:alnum:]]" NOMATCH
198C "(" "[[:alnum:]]" NOMATCH
199C ")" "[[:alnum:]]" NOMATCH
200C "*" "[[:alnum:]]" NOMATCH
201C "?" "[[:alnum:]]" NOMATCH
202C "`" "[[:alnum:]]" NOMATCH
203C "|" "[[:alnum:]]" NOMATCH
204C "<" "[[:alnum:]]" NOMATCH
205C ">" "[[:alnum:]]" NOMATCH
206C "\t" "[[:cntrl:]]" 0
207C "t" "[[:cntrl:]]" NOMATCH
208C "t" "[[:lower:]]" 0
209C "\t" "[[:lower:]]" NOMATCH
210C "T" "[[:lower:]]" NOMATCH
211C "\t" "[[:space:]]" 0
212C "t" "[[:space:]]" NOMATCH
213C "t" "[[:alpha:]]" 0
214C "\t" "[[:alpha:]]" NOMATCH
215C "0" "[[:digit:]]" 0
216C "\t" "[[:digit:]]" NOMATCH
217C "t" "[[:digit:]]" NOMATCH
218C "\t" "[[:print:]]" NOMATCH
219C "t" "[[:print:]]" 0
220C "T" "[[:upper:]]" 0
221C "\t" "[[:upper:]]" NOMATCH
222C "t" "[[:upper:]]" NOMATCH
223C "\t" "[[:blank:]]" 0
224C "t" "[[:blank:]]" NOMATCH
225C "\t" "[[:graph:]]" NOMATCH
226C "t" "[[:graph:]]" 0
227C "." "[[:punct:]]" 0
228C "t" "[[:punct:]]" NOMATCH
229C "\t" "[[:punct:]]" NOMATCH
230C "0" "[[:xdigit:]]" 0
231C "\t" "[[:xdigit:]]" NOMATCH
232C "a" "[[:xdigit:]]" 0
233C "A" "[[:xdigit:]]" 0
234C "t" "[[:xdigit:]]" NOMATCH
235C "a" "[[alpha]]" NOMATCH
236C "a" "[[alpha:]]" NOMATCH
237C "a]" "[[alpha]]" 0
238C "a]" "[[alpha:]]" 0
f3e29a1a
UD
239C "a" "[[:alpha:][.b.]]" 0
240C "a" "[[:alpha:][=b=]]" 0
241C "a" "[[:alpha:][:digit:]]" 0
242C "a" "[[:digit:][:alpha:]]" 0
83b1b6d8
UD
243
244# B.6 018(C)
ab9afc21
UD
245C "a" "[a-c]" 0
246C "b" "[a-c]" 0
247C "c" "[a-c]" 0
248C "a" "[b-c]" NOMATCH
249C "d" "[b-c]" NOMATCH
250C "B" "[a-c]" NOMATCH
251C "b" "[A-C]" NOMATCH
252C "" "[a-c]" NOMATCH
253C "as" "[a-ca-z]" NOMATCH
f3e29a1a
UD
254C "a" "[[.a.]-c]" 0
255C "a" "[a-[.c.]]" 0
256C "a" "[[.a.]-[.c.]]" 0
257C "b" "[[.a.]-c]" 0
258C "b" "[a-[.c.]]" 0
259C "b" "[[.a.]-[.c.]]" 0
260C "c" "[[.a.]-c]" 0
261C "c" "[a-[.c.]]" 0
262C "c" "[[.a.]-[.c.]]" 0
263C "d" "[[.a.]-c]" NOMATCH
264C "d" "[a-[.c.]]" NOMATCH
265C "d" "[[.a.]-[.c.]]" NOMATCH
83b1b6d8
UD
266
267# B.6 019(C)
f3e29a1a
UD
268C "a" "[c-a]" NOMATCH
269C "a" "[[.c.]-a]" NOMATCH
270C "a" "[c-[.a.]]" NOMATCH
271C "a" "[[.c.]-[.a.]]" NOMATCH
272C "c" "[c-a]" NOMATCH
273C "c" "[[.c.]-a]" NOMATCH
274C "c" "[c-[.a.]]" NOMATCH
275C "c" "[[.c.]-[.a.]]" NOMATCH
83b1b6d8
UD
276
277# B.6 020(C)
ab9afc21
UD
278C "a" "[a-c0-9]" 0
279C "d" "[a-c0-9]" NOMATCH
280C "B" "[a-c0-9]" NOMATCH
83b1b6d8
UD
281
282# B.6 021(C)
ab9afc21
UD
283C "-" "[-a]" 0
284C "a" "[-b]" NOMATCH
285C "-" "[!-a]" NOMATCH
286C "a" "[!-b]" 0
287C "-" "[a-c-0-9]" 0
288C "b" "[a-c-0-9]" 0
289C "a:" "a[0-9-a]" NOMATCH
290C "a:" "a[09-a]" 0
83b1b6d8
UD
291
292# B.6 024(C)
ab9afc21
UD
293C "" "*" 0
294C "asd/sdf" "*" 0
83b1b6d8
UD
295
296# B.6 025(C)
ab9afc21
UD
297C "as" "[a-c][a-z]" 0
298C "as" "??" 0
83b1b6d8
UD
299
300# B.6 026(C)
ab9afc21
UD
301C "asd/sdf" "as*df" 0
302C "asd/sdf" "as*" 0
303C "asd/sdf" "*df" 0
304C "asd/sdf" "as*dg" NOMATCH
305C "asdf" "as*df" 0
306C "asdf" "as*df?" NOMATCH
307C "asdf" "as*??" 0
308C "asdf" "a*???" 0
309C "asdf" "*????" 0
310C "asdf" "????*" 0
311C "asdf" "??*?" 0
83b1b6d8
UD
312
313# B.6 027(C)
ab9afc21
UD
314C "/" "/" 0
315C "/" "/*" 0
316C "/" "*/" 0
317C "/" "/?" NOMATCH
318C "/" "?/" NOMATCH
319C "/" "?" 0
320C "." "?" 0
321C "/." "??" 0
322C "/" "[!a-c]" 0
323C "." "[!a-c]" 0
f5c68a01
UD
324
325# B.6 029(C)
ab9afc21
UD
326C "/" "/" 0 PATHNAME
327C "//" "//" 0 PATHNAME
328C "/.a" "/*" 0 PATHNAME
329C "/.a" "/?a" 0 PATHNAME
330C "/.a" "/[!a-z]a" 0 PATHNAME
331C "/.a/.b" "/*/?b" 0 PATHNAME
f5c68a01
UD
332
333# B.6 030(C)
ab9afc21
UD
334C "/" "?" NOMATCH PATHNAME
335C "/" "*" NOMATCH PATHNAME
f5c68a01 336C "a/b" "a?b" NOMATCH PATHNAME
ab9afc21 337C "/.a/.b" "/*b" NOMATCH PATHNAME
f5c68a01
UD
338
339# B.6 031(C)
ab9afc21
UD
340C "/$" "\\/\\$" 0
341C "/[" "\\/\\[" 0
794c3ad3
UD
342C "/[" "\\/[" 0
343C "/[]" "\\/\\[]" 0
f5c68a01
UD
344
345# B.6 032(C)
ab9afc21
UD
346C "/$" "\\/\\$" NOMATCH NOESCAPE
347C "/\\$" "\\/\\$" NOMATCH NOESCAPE
348C "\\/\\$" "\\/\\$" 0 NOESCAPE
f5c68a01
UD
349
350# B.6 033(C)
ab9afc21 351C ".asd" ".*" 0 PERIOD
955994e1 352C "/.asd" "*" 0 PERIOD
ab9afc21
UD
353C "/as/.df" "*/?*f" 0 PERIOD
354C "..asd" ".[!a-z]*" 0 PERIOD
f5c68a01
UD
355
356# B.6 034(C)
ab9afc21
UD
357C ".asd" "*" NOMATCH PERIOD
358C ".asd" "?asd" NOMATCH PERIOD
359C ".asd" "[!a-z]*" NOMATCH PERIOD
f5c68a01
UD
360
361# B.6 035(C)
ab9afc21
UD
362C "/." "/." 0 PATHNAME|PERIOD
363C "/.a./.b." "/.*/.*" 0 PATHNAME|PERIOD
364C "/.a./.b." "/.??/.??" 0 PATHNAME|PERIOD
f5c68a01
UD
365
366# B.6 036(C)
ab9afc21
UD
367C "/." "*" NOMATCH PATHNAME|PERIOD
368C "/." "/*" NOMATCH PATHNAME|PERIOD
369C "/." "/?" NOMATCH PATHNAME|PERIOD
370C "/." "/[!a-z]" NOMATCH PATHNAME|PERIOD
371C "/a./.b." "/*/*" NOMATCH PATHNAME|PERIOD
372C "/a./.b." "/??/???" NOMATCH PATHNAME|PERIOD
373
955994e1
UD
374# Some home-grown tests.
375C "foobar" "foo*[abc]z" NOMATCH
376C "foobaz" "foo*[abc][xyz]" 0
377C "foobaz" "foo?*[abc][xyz]" 0
378C "foobaz" "foo?*[abc][x/yz]" 0
379C "foobaz" "foo?*[abc]/[xyz]" NOMATCH PATHNAME
380C "a" "a/" NOMATCH PATHNAME
381C "a/" "a" NOMATCH PATHNAME
382C "//a" "/a" NOMATCH PATHNAME
383C "/a" "//a" NOMATCH PATHNAME
95eaff64
UD
384C "az" "[a-]z" 0
385C "bz" "[ab-]z" 0
386C "cz" "[ab-]z" NOMATCH
387C "-z" "[ab-]z" 0
388C "az" "[-a]z" 0
389C "bz" "[-ab]z" 0
390C "cz" "[-ab]z" NOMATCH
391C "-z" "[-ab]z" 0
aae95a1b
UD
392C "\\" "[\\\\-a]" 0
393C "_" "[\\\\-a]" 0
394C "a" "[\\\\-a]" 0
395C "-" "[\\\\-a]" NOMATCH
396C "\\" "[\\]-a]" NOMATCH
397C "_" "[\\]-a]" 0
398C "a" "[\\]-a]" 0
399C "]" "[\\]-a]" 0
400C "-" "[\\]-a]" NOMATCH
401C "\\" "[!\\\\-a]" NOMATCH
402C "_" "[!\\\\-a]" NOMATCH
403C "a" "[!\\\\-a]" NOMATCH
404C "-" "[!\\\\-a]" 0
405C "!" "[\\!-]" 0
406C "-" "[\\!-]" 0
407C "\\" "[\\!-]" NOMATCH
408C "Z" "[Z-\\\\]" 0
409C "[" "[Z-\\\\]" 0
410C "\\" "[Z-\\\\]" 0
411C "-" "[Z-\\\\]" NOMATCH
412C "Z" "[Z-\\]]" 0
413C "[" "[Z-\\]]" 0
414C "\\" "[Z-\\]]" 0
415C "]" "[Z-\\]]" 0
416C "-" "[Z-\\]]" NOMATCH
955994e1 417
ab9afc21
UD
418# Following are tests outside the scope of IEEE 2003.2 since they are using
419# locales other than the C locale. The main focus of the tests is on the
420# handling of ranges and the recognition of character (vs bytes).
421de_DE.ISO-8859-1 "a" "[a-z]" 0
422de_DE.ISO-8859-1 "z" "[a-z]" 0
423