wildmatch test: remove dead fnmatch() test code

Remove the unused fnmatch() test parameter from the wildmatch
test. The code that used to test this was removed in 70a8fc999d ("stop
using fnmatch (either native or compat)", 2014-02-15).

As a --word-diff shows the only change to the body of the tests is the
removal of the second out of four parameters passed to match().

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ævar Arnfjörð Bjarmason 2018-01-30 21:21:19 +00:00 committed by Junio C Hamano
parent 5684c2bc69
commit 50eafb1a27

View File

@ -7,13 +7,13 @@ test_description='wildmatch tests'
match() { match() {
if test "$1" = 1 if test "$1" = 1
then then
test_expect_success "wildmatch: match '$3' '$4'" " test_expect_success "wildmatch: match '$2' '$3'" "
test-wildmatch wildmatch '$3' '$4' test-wildmatch wildmatch '$2' '$3'
" "
elif test "$1" = 0 elif test "$1" = 0
then then
test_expect_success "wildmatch: no match '$3' '$4'" " test_expect_success "wildmatch: no match '$2' '$3'" "
! test-wildmatch wildmatch '$3' '$4' ! test-wildmatch wildmatch '$2' '$3'
" "
else else
test_expect_success "PANIC: Test framework error. Unknown matches value $1" 'false' test_expect_success "PANIC: Test framework error. Unknown matches value $1" 'false'
@ -53,176 +53,176 @@ pathmatch() {
} }
# Basic wildmat features # Basic wildmat features
match 1 1 foo foo match 1 foo foo
match 0 0 foo bar match 0 foo bar
match 1 1 '' "" match 1 '' ""
match 1 1 foo '???' match 1 foo '???'
match 0 0 foo '??' match 0 foo '??'
match 1 1 foo '*' match 1 foo '*'
match 1 1 foo 'f*' match 1 foo 'f*'
match 0 0 foo '*f' match 0 foo '*f'
match 1 1 foo '*foo*' match 1 foo '*foo*'
match 1 1 foobar '*ob*a*r*' match 1 foobar '*ob*a*r*'
match 1 1 aaaaaaabababab '*ab' match 1 aaaaaaabababab '*ab'
match 1 1 'foo*' 'foo\*' match 1 'foo*' 'foo\*'
match 0 0 foobar 'foo\*bar' match 0 foobar 'foo\*bar'
match 1 1 'f\oo' 'f\\oo' match 1 'f\oo' 'f\\oo'
match 1 1 ball '*[al]?' match 1 ball '*[al]?'
match 0 0 ten '[ten]' match 0 ten '[ten]'
match 0 1 ten '**[!te]' match 0 ten '**[!te]'
match 0 0 ten '**[!ten]' match 0 ten '**[!ten]'
match 1 1 ten 't[a-g]n' match 1 ten 't[a-g]n'
match 0 0 ten 't[!a-g]n' match 0 ten 't[!a-g]n'
match 1 1 ton 't[!a-g]n' match 1 ton 't[!a-g]n'
match 1 1 ton 't[^a-g]n' match 1 ton 't[^a-g]n'
match 1 x 'a]b' 'a[]]b' match 1 'a]b' 'a[]]b'
match 1 x a-b 'a[]-]b' match 1 a-b 'a[]-]b'
match 1 x 'a]b' 'a[]-]b' match 1 'a]b' 'a[]-]b'
match 0 x aab 'a[]-]b' match 0 aab 'a[]-]b'
match 1 x aab 'a[]a-]b' match 1 aab 'a[]a-]b'
match 1 1 ']' ']' match 1 ']' ']'
# Extended slash-matching features # Extended slash-matching features
match 0 0 'foo/baz/bar' 'foo*bar' match 0 'foo/baz/bar' 'foo*bar'
match 0 0 'foo/baz/bar' 'foo**bar' match 0 'foo/baz/bar' 'foo**bar'
match 0 1 'foobazbar' 'foo**bar' match 0 'foobazbar' 'foo**bar'
match 1 1 'foo/baz/bar' 'foo/**/bar' match 1 'foo/baz/bar' 'foo/**/bar'
match 1 0 'foo/baz/bar' 'foo/**/**/bar' match 1 'foo/baz/bar' 'foo/**/**/bar'
match 1 0 'foo/b/a/z/bar' 'foo/**/bar' match 1 'foo/b/a/z/bar' 'foo/**/bar'
match 1 0 'foo/b/a/z/bar' 'foo/**/**/bar' match 1 'foo/b/a/z/bar' 'foo/**/**/bar'
match 1 0 'foo/bar' 'foo/**/bar' match 1 'foo/bar' 'foo/**/bar'
match 1 0 'foo/bar' 'foo/**/**/bar' match 1 'foo/bar' 'foo/**/**/bar'
match 0 0 'foo/bar' 'foo?bar' match 0 'foo/bar' 'foo?bar'
match 0 0 'foo/bar' 'foo[/]bar' match 0 'foo/bar' 'foo[/]bar'
match 0 0 'foo/bar' 'foo[^a-z]bar' match 0 'foo/bar' 'foo[^a-z]bar'
match 0 0 'foo/bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' match 0 'foo/bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'
match 1 1 'foo-bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' match 1 'foo-bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'
match 1 0 'foo' '**/foo' match 1 'foo' '**/foo'
match 1 x 'XXX/foo' '**/foo' match 1 'XXX/foo' '**/foo'
match 1 0 'bar/baz/foo' '**/foo' match 1 'bar/baz/foo' '**/foo'
match 0 0 'bar/baz/foo' '*/foo' match 0 'bar/baz/foo' '*/foo'
match 0 0 'foo/bar/baz' '**/bar*' match 0 'foo/bar/baz' '**/bar*'
match 1 0 'deep/foo/bar/baz' '**/bar/*' match 1 'deep/foo/bar/baz' '**/bar/*'
match 0 0 'deep/foo/bar/baz/' '**/bar/*' match 0 'deep/foo/bar/baz/' '**/bar/*'
match 1 0 'deep/foo/bar/baz/' '**/bar/**' match 1 'deep/foo/bar/baz/' '**/bar/**'
match 0 0 'deep/foo/bar' '**/bar/*' match 0 'deep/foo/bar' '**/bar/*'
match 1 0 'deep/foo/bar/' '**/bar/**' match 1 'deep/foo/bar/' '**/bar/**'
match 0 0 'foo/bar/baz' '**/bar**' match 0 'foo/bar/baz' '**/bar**'
match 1 0 'foo/bar/baz/x' '*/bar/**' match 1 'foo/bar/baz/x' '*/bar/**'
match 0 0 'deep/foo/bar/baz/x' '*/bar/**' match 0 'deep/foo/bar/baz/x' '*/bar/**'
match 1 0 'deep/foo/bar/baz/x' '**/bar/*/*' match 1 'deep/foo/bar/baz/x' '**/bar/*/*'
# Various additional tests # Various additional tests
match 0 0 'acrt' 'a[c-c]st' match 0 'acrt' 'a[c-c]st'
match 1 1 'acrt' 'a[c-c]rt' match 1 'acrt' 'a[c-c]rt'
match 0 0 ']' '[!]-]' match 0 ']' '[!]-]'
match 1 x 'a' '[!]-]' match 1 'a' '[!]-]'
match 0 0 '' '\' match 0 '' '\'
match 0 x '\' '\' match 0 '\' '\'
match 0 x 'XXX/\' '*/\' match 0 'XXX/\' '*/\'
match 1 x 'XXX/\' '*/\\' match 1 'XXX/\' '*/\\'
match 1 1 'foo' 'foo' match 1 'foo' 'foo'
match 1 1 '@foo' '@foo' match 1 '@foo' '@foo'
match 0 0 'foo' '@foo' match 0 'foo' '@foo'
match 1 1 '[ab]' '\[ab]' match 1 '[ab]' '\[ab]'
match 1 1 '[ab]' '[[]ab]' match 1 '[ab]' '[[]ab]'
match 1 x '[ab]' '[[:]ab]' match 1 '[ab]' '[[:]ab]'
match 0 x '[ab]' '[[::]ab]' match 0 '[ab]' '[[::]ab]'
match 1 x '[ab]' '[[:digit]ab]' match 1 '[ab]' '[[:digit]ab]'
match 1 x '[ab]' '[\[:]ab]' match 1 '[ab]' '[\[:]ab]'
match 1 1 '?a?b' '\??\?b' match 1 '?a?b' '\??\?b'
match 1 1 'abc' '\a\b\c' match 1 'abc' '\a\b\c'
match 0 0 'foo' '' match 0 'foo' ''
match 1 0 'foo/bar/baz/to' '**/t[o]' match 1 'foo/bar/baz/to' '**/t[o]'
# Character class tests # Character class tests
match 1 x 'a1B' '[[:alpha:]][[:digit:]][[:upper:]]' match 1 'a1B' '[[:alpha:]][[:digit:]][[:upper:]]'
match 0 x 'a' '[[:digit:][:upper:][:space:]]' match 0 'a' '[[:digit:][:upper:][:space:]]'
match 1 x 'A' '[[:digit:][:upper:][:space:]]' match 1 'A' '[[:digit:][:upper:][:space:]]'
match 1 x '1' '[[:digit:][:upper:][:space:]]' match 1 '1' '[[:digit:][:upper:][:space:]]'
match 0 x '1' '[[:digit:][:upper:][:spaci:]]' match 0 '1' '[[:digit:][:upper:][:spaci:]]'
match 1 x ' ' '[[:digit:][:upper:][:space:]]' match 1 ' ' '[[:digit:][:upper:][:space:]]'
match 0 x '.' '[[:digit:][:upper:][:space:]]' match 0 '.' '[[:digit:][:upper:][:space:]]'
match 1 x '.' '[[:digit:][:punct:][:space:]]' match 1 '.' '[[:digit:][:punct:][:space:]]'
match 1 x '5' '[[:xdigit:]]' match 1 '5' '[[:xdigit:]]'
match 1 x 'f' '[[:xdigit:]]' match 1 'f' '[[:xdigit:]]'
match 1 x 'D' '[[:xdigit:]]' match 1 'D' '[[:xdigit:]]'
match 1 x '_' '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]' match 1 '_' '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]'
match 1 x '.' '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]' match 1 '.' '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]'
match 1 x '5' '[a-c[:digit:]x-z]' match 1 '5' '[a-c[:digit:]x-z]'
match 1 x 'b' '[a-c[:digit:]x-z]' match 1 'b' '[a-c[:digit:]x-z]'
match 1 x 'y' '[a-c[:digit:]x-z]' match 1 'y' '[a-c[:digit:]x-z]'
match 0 x 'q' '[a-c[:digit:]x-z]' match 0 'q' '[a-c[:digit:]x-z]'
# Additional tests, including some malformed wildmats # Additional tests, including some malformed wildmats
match 1 x ']' '[\\-^]' match 1 ']' '[\\-^]'
match 0 0 '[' '[\\-^]' match 0 '[' '[\\-^]'
match 1 x '-' '[\-_]' match 1 '-' '[\-_]'
match 1 x ']' '[\]]' match 1 ']' '[\]]'
match 0 0 '\]' '[\]]' match 0 '\]' '[\]]'
match 0 0 '\' '[\]]' match 0 '\' '[\]]'
match 0 0 'ab' 'a[]b' match 0 'ab' 'a[]b'
match 0 x 'a[]b' 'a[]b' match 0 'a[]b' 'a[]b'
match 0 x 'ab[' 'ab[' match 0 'ab[' 'ab['
match 0 0 'ab' '[!' match 0 'ab' '[!'
match 0 0 'ab' '[-' match 0 'ab' '[-'
match 1 1 '-' '[-]' match 1 '-' '[-]'
match 0 0 '-' '[a-' match 0 '-' '[a-'
match 0 0 '-' '[!a-' match 0 '-' '[!a-'
match 1 x '-' '[--A]' match 1 '-' '[--A]'
match 1 x '5' '[--A]' match 1 '5' '[--A]'
match 1 1 ' ' '[ --]' match 1 ' ' '[ --]'
match 1 1 '$' '[ --]' match 1 '$' '[ --]'
match 1 1 '-' '[ --]' match 1 '-' '[ --]'
match 0 0 '0' '[ --]' match 0 '0' '[ --]'
match 1 x '-' '[---]' match 1 '-' '[---]'
match 1 x '-' '[------]' match 1 '-' '[------]'
match 0 0 'j' '[a-e-n]' match 0 'j' '[a-e-n]'
match 1 x '-' '[a-e-n]' match 1 '-' '[a-e-n]'
match 1 x 'a' '[!------]' match 1 'a' '[!------]'
match 0 0 '[' '[]-a]' match 0 '[' '[]-a]'
match 1 x '^' '[]-a]' match 1 '^' '[]-a]'
match 0 0 '^' '[!]-a]' match 0 '^' '[!]-a]'
match 1 x '[' '[!]-a]' match 1 '[' '[!]-a]'
match 1 1 '^' '[a^bc]' match 1 '^' '[a^bc]'
match 1 x '-b]' '[a-]b]' match 1 '-b]' '[a-]b]'
match 0 0 '\' '[\]' match 0 '\' '[\]'
match 1 1 '\' '[\\]' match 1 '\' '[\\]'
match 0 0 '\' '[!\\]' match 0 '\' '[!\\]'
match 1 1 'G' '[A-\\]' match 1 'G' '[A-\\]'
match 0 0 'aaabbb' 'b*a' match 0 'aaabbb' 'b*a'
match 0 0 'aabcaa' '*ba*' match 0 'aabcaa' '*ba*'
match 1 1 ',' '[,]' match 1 ',' '[,]'
match 1 1 ',' '[\\,]' match 1 ',' '[\\,]'
match 1 1 '\' '[\\,]' match 1 '\' '[\\,]'
match 1 1 '-' '[,-.]' match 1 '-' '[,-.]'
match 0 0 '+' '[,-.]' match 0 '+' '[,-.]'
match 0 0 '-.]' '[,-.]' match 0 '-.]' '[,-.]'
match 1 1 '2' '[\1-\3]' match 1 '2' '[\1-\3]'
match 1 1 '3' '[\1-\3]' match 1 '3' '[\1-\3]'
match 0 0 '4' '[\1-\3]' match 0 '4' '[\1-\3]'
match 1 1 '\' '[[-\]]' match 1 '\' '[[-\]]'
match 1 1 '[' '[[-\]]' match 1 '[' '[[-\]]'
match 1 1 ']' '[[-\]]' match 1 ']' '[[-\]]'
match 0 0 '-' '[[-\]]' match 0 '-' '[[-\]]'
# Test recursion and the abort code (use "wildtest -i" to see iteration counts) # Test recursion and the abort code (use "wildtest -i" to see iteration counts)
match 1 1 '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' match 1 '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
match 0 0 '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' match 0 '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
match 0 0 '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' match 0 '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
match 1 1 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' match 1 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'
match 0 0 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' match 0 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'
match 1 0 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt' '**/*a*b*g*n*t' match 1 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt' '**/*a*b*g*n*t'
match 0 0 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz' '**/*a*b*g*n*t' match 0 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz' '**/*a*b*g*n*t'
match 0 x foo '*/*/*' match 0 foo '*/*/*'
match 0 x foo/bar '*/*/*' match 0 foo/bar '*/*/*'
match 1 x foo/bba/arr '*/*/*' match 1 foo/bba/arr '*/*/*'
match 0 x foo/bb/aa/rr '*/*/*' match 0 foo/bb/aa/rr '*/*/*'
match 1 x foo/bb/aa/rr '**/**/**' match 1 foo/bb/aa/rr '**/**/**'
match 1 x abcXdefXghi '*X*i' match 1 abcXdefXghi '*X*i'
match 0 x ab/cXd/efXg/hi '*X*i' match 0 ab/cXd/efXg/hi '*X*i'
match 1 x ab/cXd/efXg/hi '*/*X*/*/*i' match 1 ab/cXd/efXg/hi '*/*X*/*/*i'
match 1 x ab/cXd/efXg/hi '**/*X*/**/*i' match 1 ab/cXd/efXg/hi '**/*X*/**/*i'
pathmatch 1 foo foo pathmatch 1 foo foo
pathmatch 0 foo fo pathmatch 0 foo fo
@ -248,20 +248,20 @@ pathmatch 1 ab/cXd/efXg/hi '*/*X*/*/*i'
pathmatch 1 ab/cXd/efXg/hi '*Xg*i' pathmatch 1 ab/cXd/efXg/hi '*Xg*i'
# Case-sensitivity features # Case-sensitivity features
match 0 x 'a' '[A-Z]' match 0 'a' '[A-Z]'
match 1 x 'A' '[A-Z]' match 1 'A' '[A-Z]'
match 0 x 'A' '[a-z]' match 0 'A' '[a-z]'
match 1 x 'a' '[a-z]' match 1 'a' '[a-z]'
match 0 x 'a' '[[:upper:]]' match 0 'a' '[[:upper:]]'
match 1 x 'A' '[[:upper:]]' match 1 'A' '[[:upper:]]'
match 0 x 'A' '[[:lower:]]' match 0 'A' '[[:lower:]]'
match 1 x 'a' '[[:lower:]]' match 1 'a' '[[:lower:]]'
match 0 x 'A' '[B-Za]' match 0 'A' '[B-Za]'
match 1 x 'a' '[B-Za]' match 1 'a' '[B-Za]'
match 0 x 'A' '[B-a]' match 0 'A' '[B-a]'
match 1 x 'a' '[B-a]' match 1 'a' '[B-a]'
match 0 x 'z' '[Z-y]' match 0 'z' '[Z-y]'
match 1 x 'Z' '[Z-y]' match 1 'Z' '[Z-y]'
imatch 1 'a' '[A-Z]' imatch 1 'a' '[A-Z]'
imatch 1 'A' '[A-Z]' imatch 1 'A' '[A-Z]'