Results for extended-glob.test.sh

statusbashmkshosh
pass 17122
ok 030
N-I 010
BUG 010
FAIL 0015
total171717
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 Two adjacent alternations
details
6pass pass FAIL Nested extended glob pattern
details
7pass pass FAIL Extended glob patterns with spaces
details
8pass pass FAIL Filenames with spaces
details
9pass BUG FAIL nullglob with extended glob
detailsdetails
10pass ok FAIL glob other punctuation chars (lexer mode)
detailsdetails
11pass N-I FAIL dynamic extglob from variable
detailsdetails
12pass pass pass Extended glob syntax in bad redirect context
13pass ok FAIL Extended glob as argument to ${undef:-} (dynamic globbing)
detailsdetails
14pass ok pass Extended glob in assignment builtin
details
15pass pass FAIL Extended glob in same word as array
details
16pass pass FAIL In Array Literal and for loop
details
31 passed, 3 OK, 1 not implemented, 1 BUG, 15 failed, 0 timeouts, 0 cases skipped
15 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 Two adjacent alternations

[osh stdout] Expected '2/ab 2/ac 2/cb 2/cc\n2/ab 2/ac 2/bb 2/bc 2/cb 2/cc\n2/ab 2/ac\n', got '2/!(b)@(b|c)\n2/!(b)?@(b|c)\n2/!(b)a@(b|c)\n'

stdout:
2/!(b)@(b|c)
2/!(b)?@(b|c)
2/!(b)a@(b|c)
stderr:
osh6 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:
osh7 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:
osh8 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:
mksh9 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
osh9 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
mksh10 glob other punctuation chars (lexer mode)

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

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

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

stdout:
eg3/@(foo|bar) eg3/@(foo|bar)
stderr:
mksh: <stdin>[1]: shopt: not found
osh11 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:
mksh13 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
osh13 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:
mksh14 Extended glob in assignment builtin

stdout:
status=1
stderr:
mksh: <stdin>[1]: shopt: not found
mksh: <stdin>[5]: typeset: -@: unknown option
osh15 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:
osh16 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: