diff options
author | Ulrich Drepper <drepper@redhat.com> | 2007-04-01 19:43:35 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2007-04-01 19:43:35 +0000 |
commit | ed09a96ca8b1b9c830343b977f317ca11d691a27 (patch) | |
tree | 2b22b97e35c69969b1f45859756d49d9a5720891 /posix/tst-fnmatch2.c | |
parent | 933dfe7baed6ad4b0f85f8f08a604e22cc23a8a8 (diff) | |
download | glibc-ed09a96ca8b1b9c830343b977f317ca11d691a27.tar glibc-ed09a96ca8b1b9c830343b977f317ca11d691a27.tar.gz glibc-ed09a96ca8b1b9c830343b977f317ca11d691a27.tar.bz2 glibc-ed09a96ca8b1b9c830343b977f317ca11d691a27.zip |
Test of fnmatch with patterns using lots of *.
Diffstat (limited to 'posix/tst-fnmatch2.c')
-rw-r--r-- | posix/tst-fnmatch2.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/posix/tst-fnmatch2.c b/posix/tst-fnmatch2.c new file mode 100644 index 0000000000..28a0871c1c --- /dev/null +++ b/posix/tst-fnmatch2.c @@ -0,0 +1,35 @@ +#include <fnmatch.h> +#include <stdio.h> + +int +do_test (void) +{ + char pattern[] = "a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*"; + const char *string = "aaaabbbbccccddddeeeeffffgggghhhhiiiijjjjkkkkllllmmmm" + "nnnnooooppppqqqqrrrrssssttttuuuuvvvvwwwwxxxxyyyy"; + if (fnmatch (pattern, string, 0) != FNM_NOMATCH) + { + puts ("First fnmatch didn't return FNM_NOMATCH"); + return 1; + } + pattern[(sizeof pattern) - 3] = '*'; + if (fnmatch (pattern, string, 0) != 0) + { + puts ("Second fnmatch didn't return 0"); + return 1; + } + if (fnmatch ("a*b/*", "abbb/.x", FNM_PATHNAME | FNM_PERIOD) != FNM_NOMATCH) + { + puts ("Third fnmatch didn't return FNM_NOMATCH"); + return 1; + } + if (fnmatch ("a*b/*", "abbb/xy", FNM_PATHNAME | FNM_PERIOD) != 0) + { + puts ("Fourth fnmatch didn't return 0"); + return 1; + } + return 0; +} + +#define TEST_FUNCTION do_test () +#include "../test-skeleton.c" |