Annotation of embedaddon/rsync/wildtest.txt, revision 1.1
1.1 ! misho 1: # Input is in the following format (all items white-space separated):
! 2: #
! 3: # The first two items are 1 or 0 indicating if the wildmat call is expected to
! 4: # succeed and if fnmatch works the same way as wildmat, respectively. After
! 5: # that is a text string for the match, and a pattern string. Strings can be
! 6: # quoted (if desired) in either double or single quotes, as well as backticks.
! 7: #
! 8: # MATCH FNMATCH_SAME "text to match" 'pattern to use'
! 9:
! 10: # Basic wildmat features
! 11: 1 1 foo foo
! 12: 0 1 foo bar
! 13: 1 1 '' ""
! 14: 1 1 foo ???
! 15: 0 1 foo ??
! 16: 1 1 foo *
! 17: 1 1 foo f*
! 18: 0 1 foo *f
! 19: 1 1 foo *foo*
! 20: 1 1 foobar *ob*a*r*
! 21: 1 1 aaaaaaabababab *ab
! 22: 1 1 foo* foo\*
! 23: 0 1 foobar foo\*bar
! 24: 1 1 f\oo f\\oo
! 25: 1 1 ball *[al]?
! 26: 0 1 ten [ten]
! 27: 1 1 ten **[!te]
! 28: 0 1 ten **[!ten]
! 29: 1 1 ten t[a-g]n
! 30: 0 1 ten t[!a-g]n
! 31: 1 1 ton t[!a-g]n
! 32: 1 1 ton t[^a-g]n
! 33: 1 1 a]b a[]]b
! 34: 1 1 a-b a[]-]b
! 35: 1 1 a]b a[]-]b
! 36: 0 1 aab a[]-]b
! 37: 1 1 aab a[]a-]b
! 38: 1 1 ] ]
! 39:
! 40: # Extended slash-matching features
! 41: 0 1 foo/baz/bar foo*bar
! 42: 1 1 foo/baz/bar foo**bar
! 43: 0 1 foo/bar foo?bar
! 44: 0 1 foo/bar foo[/]bar
! 45: 0 1 foo/bar f[^eiu][^eiu][^eiu][^eiu][^eiu]r
! 46: 1 1 foo-bar f[^eiu][^eiu][^eiu][^eiu][^eiu]r
! 47: 0 1 foo **/foo
! 48: 1 1 /foo **/foo
! 49: 1 1 bar/baz/foo **/foo
! 50: 0 1 bar/baz/foo */foo
! 51: 0 0 foo/bar/baz **/bar*
! 52: 1 1 deep/foo/bar/baz **/bar/*
! 53: 0 1 deep/foo/bar/baz/ **/bar/*
! 54: 1 1 deep/foo/bar/baz/ **/bar/**
! 55: 0 1 deep/foo/bar **/bar/*
! 56: 1 1 deep/foo/bar/ **/bar/**
! 57: 1 1 foo/bar/baz **/bar**
! 58: 1 1 foo/bar/baz/x */bar/**
! 59: 0 0 deep/foo/bar/baz/x */bar/**
! 60: 1 1 deep/foo/bar/baz/x **/bar/*/*
! 61:
! 62: # Various additional tests
! 63: 0 1 acrt a[c-c]st
! 64: 1 1 acrt a[c-c]rt
! 65: 0 1 ] [!]-]
! 66: 1 1 a [!]-]
! 67: 0 1 '' \
! 68: 0 1 \ \
! 69: 0 1 /\ */\
! 70: 1 1 /\ */\\
! 71: 1 1 foo foo
! 72: 1 1 @foo @foo
! 73: 0 1 foo @foo
! 74: 1 1 [ab] \[ab]
! 75: 1 1 [ab] [[]ab]
! 76: 1 1 [ab] [[:]ab]
! 77: 0 1 [ab] [[::]ab]
! 78: 1 1 [ab] [[:digit]ab]
! 79: 1 1 [ab] [\[:]ab]
! 80: 1 1 ?a?b \??\?b
! 81: 1 1 abc \a\b\c
! 82: 0 1 foo ''
! 83: 1 1 foo/bar/baz/to **/t[o]
! 84:
! 85: # Character class tests
! 86: 1 1 a1B [[:alpha:]][[:digit:]][[:upper:]]
! 87: 0 1 a [[:digit:][:upper:][:space:]]
! 88: 1 1 A [[:digit:][:upper:][:space:]]
! 89: 1 1 1 [[:digit:][:upper:][:space:]]
! 90: 0 1 1 [[:digit:][:upper:][:spaci:]]
! 91: 1 1 ' ' [[:digit:][:upper:][:space:]]
! 92: 0 1 . [[:digit:][:upper:][:space:]]
! 93: 1 1 . [[:digit:][:punct:][:space:]]
! 94: 1 1 5 [[:xdigit:]]
! 95: 1 1 f [[:xdigit:]]
! 96: 1 1 D [[:xdigit:]]
! 97: 1 1 _ [[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]
! 98: #1 1 … [^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]
! 99: 1 1 [^[:alnum:][:alpha:][:blank:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]
! 100: 1 1 . [^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]
! 101: 1 1 5 [a-c[:digit:]x-z]
! 102: 1 1 b [a-c[:digit:]x-z]
! 103: 1 1 y [a-c[:digit:]x-z]
! 104: 0 1 q [a-c[:digit:]x-z]
! 105:
! 106: # Additional tests, including some malformed wildmats
! 107: 1 1 ] [\\-^]
! 108: 0 1 [ [\\-^]
! 109: 1 1 - [\-_]
! 110: 1 1 ] [\]]
! 111: 0 1 \] [\]]
! 112: 0 1 \ [\]]
! 113: 0 1 ab a[]b
! 114: 0 1 a[]b a[]b
! 115: 0 1 ab[ ab[
! 116: 0 1 ab [!
! 117: 0 1 ab [-
! 118: 1 1 - [-]
! 119: 0 1 - [a-
! 120: 0 1 - [!a-
! 121: 1 1 - [--A]
! 122: 1 1 5 [--A]
! 123: 1 1 ' ' '[ --]'
! 124: 1 1 $ '[ --]'
! 125: 1 1 - '[ --]'
! 126: 0 1 0 '[ --]'
! 127: 1 1 - [---]
! 128: 1 1 - [------]
! 129: 0 1 j [a-e-n]
! 130: 1 1 - [a-e-n]
! 131: 1 1 a [!------]
! 132: 0 1 [ []-a]
! 133: 1 1 ^ []-a]
! 134: 0 1 ^ [!]-a]
! 135: 1 1 [ [!]-a]
! 136: 1 1 ^ [a^bc]
! 137: 1 1 -b] [a-]b]
! 138: 0 1 \ [\]
! 139: 1 1 \ [\\]
! 140: 0 1 \ [!\\]
! 141: 1 1 G [A-\\]
! 142: 0 1 aaabbb b*a
! 143: 0 1 aabcaa *ba*
! 144: 1 1 , [,]
! 145: 1 1 , [\\,]
! 146: 1 1 \ [\\,]
! 147: 1 1 - [,-.]
! 148: 0 1 + [,-.]
! 149: 0 1 -.] [,-.]
! 150: 1 1 2 [\1-\3]
! 151: 1 1 3 [\1-\3]
! 152: 0 1 4 [\1-\3]
! 153: 1 1 \ [[-\]]
! 154: 1 1 [ [[-\]]
! 155: 1 1 ] [[-\]]
! 156: 0 1 - [[-\]]
! 157:
! 158: # Test recursion and the abort code (use "wildtest -i" to see iteration counts)
! 159: 1 1 -adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1 -*-*-*-*-*-*-12-*-*-*-m-*-*-*
! 160: 0 1 -adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1 -*-*-*-*-*-*-12-*-*-*-m-*-*-*
! 161: 0 1 -adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1 -*-*-*-*-*-*-12-*-*-*-m-*-*-*
! 162: 1 1 /adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1 /*/*/*/*/*/*/12/*/*/*/m/*/*/*
! 163: 0 1 /adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1 /*/*/*/*/*/*/12/*/*/*/m/*/*/*
! 164: 1 1 abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt **/*a*b*g*n*t
! 165: 0 1 abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz **/*a*b*g*n*t
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>