Results for extended-glob.test.sh

statusbashmkshosh
pass 16112
ok 030
N-I 010
BUG 010
FAIL 0014
total161616
casebashmkshoshdescription
0pass pass FAIL @() matches exactly one of the patterns
details
1pass pass FAIL ?() matches 0 or 1
details
2pass pass FAIL *() matches 0 or more
details
3pass pass FAIL +() matches 1 or more
details
4pass pass FAIL !(*.h|*.cc) to match everything except C++
details
5pass pass FAIL Nested extended glob pattern
details
6pass pass FAIL Extended glob patterns with spaces
details
7pass pass FAIL Filenames with spaces
details
8pass BUG FAIL nullglob with extended glob
detailsdetails
9pass ok FAIL glob other punctuation chars (lexer mode)
detailsdetails
10pass N-I FAIL dynamic extglob from variable
detailsdetails
11pass pass pass Extended glob syntax in bad redirect context
12pass ok FAIL Extended glob as argument to ${undef:-} (dynamic globbing)
detailsdetails
13pass ok pass Extended glob in assignment builtin
details
14pass pass FAIL Extended glob in same word as array
details
15pass pass FAIL In Array Literal and for loop
details
29 passed, 3 OK, 1 not implemented, 1 BUG, 14 failed, 0 timeouts, 0 cases skipped
14 failed under osh

Details on runs that didn't PASS

osh0 @() matches exactly one of the patterns

[osh stdout] Expected 'bar.cc bar.h baz.h foo.cc foo.h\n', got '@(*.cc|*.h)\n'

stdout:
@(*.cc|*.h)
stderr:
osh1 ?() matches 0 or 1

[osh stdout] Expected 'foo. foo.cc foo.h\n', got 'foo.?(cc|h)\n'

stdout:
foo.?(cc|h)
stderr:
osh2 *() matches 0 or more

[osh stdout] Expected 'eg1/_ eg1/_One eg1/_OneOne eg1/_OneTwo eg1/_TwoTwo\n', got 'eg1/_*(One|Two)\n'

stdout:
eg1/_*(One|Two)
stderr:
osh3 +() matches 1 or more

[osh stdout] Expected 'eg2/_One eg2/_OneOne eg2/_OneTwo eg2/_TwoTwo\n', got 'eg2/_+(One|Two)\n'

stdout:
eg2/_+(One|Two)
stderr:
osh4 !(*.h|*.cc) to match everything except C++

[osh stdout] Expected 'extglob2/bar.py extglob2/baz.py extglob2/foo.py\n', got 'extglob2/!(*.h|*.cc)\n'

stdout:
extglob2/!(*.h|*.cc)
stderr:
osh5 Nested extended glob pattern

[osh stdout] Expected 'eg6/ab eg6/az\neg6/ac eg6/ad eg6/az\n', got 'eg6/a@(!(c|d))\neg6/a!(@(ab|b*))\n'

stdout:
eg6/a@(!(c|d))
eg6/a!(@(ab|b*))
stderr:
osh6 Extended glob patterns with spaces

[osh stdout] Expected "['eg4/a b', 'eg4/foo']\n", got "['eg4/@(a b|foo)']\n"

stdout:
['eg4/@(a b|foo)']
stderr:
osh7 Filenames with spaces

[osh stdout] Expected "['eg5/a bcd', 'eg5/a bde']\n", got "['eg5/a @(bcd|bde|zzz)']\n"

stdout:
['eg5/a @(bcd|bde|zzz)']
stderr:
mksh8 nullglob with extended glob

stdout:
['eg6/@(no|matches)']
stderr:
mksh: <stdin>[1]: shopt: not found
mksh: <stdin>[2]: shopt: not found
mkdir: cannot create directory ‘eg6’: File exists
osh8 nullglob with extended glob

[osh stdout] Expected '[]\n', got "['eg6/@(no|matches)']\n"

stdout:
['eg6/@(no|matches)']
stderr:
mkdir: cannot create directory ‘eg6’: File exists
mksh9 glob other punctuation chars (lexer mode)

stdout:
['__#', '__&&', '__<>', '__{}', '__|']
stderr:
mksh: <stdin>[1]: shopt: not found
osh9 glob other punctuation chars (lexer mode)

[osh stdout] Expected "['__<>', '__|', '__{}', '__&&', '__#']\n", got "['@(__<>|__{}|__||__#|__&&)']\n"

stdout:
['@(__<>|__{}|__||__#|__&&)']
stderr:
mksh10 dynamic extglob from variable

stdout:
eg3/@(foo|bar) eg3/@(foo|bar)
stderr:
mksh: <stdin>[1]: shopt: not found
osh10 dynamic extglob from variable

[osh stdout] Expected 'eg3/bar eg3/foo eg3/@(foo|bar)\n', got 'eg3/@(foo|bar) eg3/@(foo|bar)\n'

stdout:
eg3/@(foo|bar) eg3/@(foo|bar)
stderr:
mksh12 Extended glob as argument to ${undef:-} (dynamic globbing)

stdout:
bar.py foo.py spam.py
@(foo|bar).py
stderr:
mksh: <stdin>[1]: shopt: not found
osh12 Extended glob as argument to ${undef:-} (dynamic globbing)

[osh stdout] Expected 'bar.py foo.py spam.py\nbar.py foo.py\n', got 'bar.py foo.py spam.py\n@(foo|bar).py\n'

stdout:
bar.py foo.py spam.py
@(foo|bar).py
stderr:
mksh13 Extended glob in assignment builtin

stdout:
status=1
stderr:
mksh: <stdin>[1]: shopt: not found
mksh: <stdin>[5]: typeset: -@: unknown option
osh14 Extended glob in same word as array

[osh stdout] Expected "['a b', 'c']\n['star', 'glob', 'a b c.py']\n['star', 'extglob', 'a b c.cc', 'a b c.py']\n['at', 'extglob', 'a b', 'cee.cc', 'cee.py']\n", got "['a b', 'c']\n['star', 'glob', 'a b c.py']\n['star', 'extglob', 'a b c*@(.py|cc)']\n['at', 'extglob', 'a b', 'c*@(.py|cc)']\n"

stdout:
['a b', 'c']
['star', 'glob', 'a b c.py']
['star', 'extglob', 'a b c*@(.py|cc)']
['at', 'extglob', 'a b', 'c*@(.py|cc)']
stderr:
osh15 In Array Literal and for loop

[osh stdout] Expected 'bar.py\nfoo.py\n---\nzzz bar.py foo.py\n', got '@(fo*|bar).py\n---\nzzz @(fo*|bar).py\n'

stdout:
@(fo*|bar).py
---
zzz @(fo*|bar).py
stderr: