fnmatch failure
Andreas Schwab
schwab@suse.de
Tue Jan 25 10:14:00 GMT 2000
This patch adds a new testcase to the fnmatch tests, which fnmatch is
currently failing. No fix for fnmatch yet, hopefully someone else finds
the time to work on it.
In case it is not obvious, the testcase matches "a/b" against "*a*" with
both the FNM_FILE_NAME and FNM_LEADING_DIR flags. This is supposed to
match since "*a*" matches "a" and "/b" is to be ignored. This is taken
from the tar-1.13.17 configure script.
Andreas.
2000-01-25 Andreas Schwab <schwab@suse.de>
* posix/testfnm.c: Add new test case. Use FNM_FILE_NAME instead
of FNM_PATHNAME consistently.
Index: posix/testfnm.c
===================================================================
RCS file: /cvs/glibc/libc/posix/testfnm.c,v
retrieving revision 1.8
diff -u -a -u -r1.8 posix/testfnm.c
--- posix/testfnm.c 1999/04/28 09:22:54 1.8
+++ posix/testfnm.c 2000/01/25 18:07:03
@@ -11,7 +11,7 @@
{ "lib", "*LIB*", FNM_PERIOD, FNM_NOMATCH },
{ "lib", "*LIB*", FNM_CASEFOLD|FNM_PERIOD, 0 },
{ "a/b", "a[/]b", 0, 0 },
- { "a/b", "a[/]b", FNM_PATHNAME, FNM_NOMATCH },
+ { "a/b", "a[/]b", FNM_FILE_NAME, FNM_NOMATCH },
{ "a/b", "[a-z]/[a-z]", 0, 0 },
{ "a/b", "*", FNM_FILE_NAME, FNM_NOMATCH },
{ "a/b", "*[/]b", FNM_FILE_NAME, FNM_NOMATCH },
@@ -30,27 +30,28 @@
{ "[/b", "\\[/b", 0, 0 },
{ "aa/b", "??/b", 0, 0 },
{ "aa/b", "???b", 0, 0 },
- { "aa/b", "???b", FNM_PATHNAME, FNM_NOMATCH },
- { ".a/b", "?a/b", FNM_PATHNAME|FNM_PERIOD, FNM_NOMATCH },
- { "a/.b", "a/?b", FNM_PATHNAME|FNM_PERIOD, FNM_NOMATCH },
- { ".a/b", "*a/b", FNM_PATHNAME|FNM_PERIOD, FNM_NOMATCH },
- { "a/.b", "a/*b", FNM_PATHNAME|FNM_PERIOD, FNM_NOMATCH },
- { ".a/b", "[.]a/b", FNM_PATHNAME|FNM_PERIOD, FNM_NOMATCH },
- { "a/.b", "a/[.]b", FNM_PATHNAME|FNM_PERIOD, FNM_NOMATCH },
- { "a/b", "*/?", FNM_PATHNAME|FNM_PERIOD, 0 },
- { "a/b", "?/*", FNM_PATHNAME|FNM_PERIOD, 0 },
- { ".a/b", ".*/?", FNM_PATHNAME|FNM_PERIOD, 0 },
- { "a/.b", "*/.?", FNM_PATHNAME|FNM_PERIOD, 0 },
- { "a/.b", "*/*", FNM_PATHNAME|FNM_PERIOD, FNM_NOMATCH },
+ { "aa/b", "???b", FNM_FILE_NAME, FNM_NOMATCH },
+ { ".a/b", "?a/b", FNM_FILE_NAME|FNM_PERIOD, FNM_NOMATCH },
+ { "a/.b", "a/?b", FNM_FILE_NAME|FNM_PERIOD, FNM_NOMATCH },
+ { ".a/b", "*a/b", FNM_FILE_NAME|FNM_PERIOD, FNM_NOMATCH },
+ { "a/.b", "a/*b", FNM_FILE_NAME|FNM_PERIOD, FNM_NOMATCH },
+ { ".a/b", "[.]a/b", FNM_FILE_NAME|FNM_PERIOD, FNM_NOMATCH },
+ { "a/.b", "a/[.]b", FNM_FILE_NAME|FNM_PERIOD, FNM_NOMATCH },
+ { "a/b", "*/?", FNM_FILE_NAME|FNM_PERIOD, 0 },
+ { "a/b", "?/*", FNM_FILE_NAME|FNM_PERIOD, 0 },
+ { ".a/b", ".*/?", FNM_FILE_NAME|FNM_PERIOD, 0 },
+ { "a/.b", "*/.?", FNM_FILE_NAME|FNM_PERIOD, 0 },
+ { "a/.b", "*/*", FNM_FILE_NAME|FNM_PERIOD, FNM_NOMATCH },
{ "a/.b", "*?*/*", FNM_PERIOD, 0 },
- { "a./b", "*[.]/b", FNM_PATHNAME|FNM_PERIOD, 0 },
- { "a/b", "*[[:alpha:]]/*[[:alnum:]]", FNM_PATHNAME, 0 },
- { "a/b", "*[![:digit:]]*/[![:d-d]", FNM_PATHNAME, 0 },
- { "a/[", "*[![:digit:]]*/[[:d-d]", FNM_PATHNAME, 0 },
- { "a/[", "*[![:digit:]]*/[![:d-d]", FNM_PATHNAME, FNM_NOMATCH },
- { "a.b", "a?b", FNM_PATHNAME|FNM_PERIOD, 0 },
- { "a.b", "a*b", FNM_PATHNAME|FNM_PERIOD, 0 },
- { "a.b", "a[.]b", FNM_PATHNAME|FNM_PERIOD, 0 },
+ { "a./b", "*[.]/b", FNM_FILE_NAME|FNM_PERIOD, 0 },
+ { "a/b", "*[[:alpha:]]/*[[:alnum:]]", FNM_FILE_NAME, 0 },
+ { "a/b", "*[![:digit:]]*/[![:d-d]", FNM_FILE_NAME, 0 },
+ { "a/[", "*[![:digit:]]*/[[:d-d]", FNM_FILE_NAME, 0 },
+ { "a/[", "*[![:digit:]]*/[![:d-d]", FNM_FILE_NAME, FNM_NOMATCH },
+ { "a.b", "a?b", FNM_FILE_NAME|FNM_PERIOD, 0 },
+ { "a.b", "a*b", FNM_FILE_NAME|FNM_PERIOD, 0 },
+ { "a.b", "a[.]b", FNM_FILE_NAME|FNM_PERIOD, 0 },
+ { "a/b", "*a*", FNM_FILE_NAME|FNM_LEADING_DIR, 0 },
};
int
--
Andreas Schwab "And now for something
SuSE Labs completely different."
schwab@suse.de
SuSE GmbH, Schanzäckerstr. 10, D-90443 Nürnberg
More information about the Libc-hacker
mailing list