Results for extglob-files.test.sh

statusbashmkshosh
pass 231918
ok 023
N-I 122
BUG 010
FAIL 001
total242424
casebashmkshoshdescription
0pass pass pass @() matches exactly one of the patterns
1pass pass pass ?() matches 0 or 1
2pass pass pass *() matches 0 or more
3pass pass pass +() matches 1 or more
4pass pass pass !(*.h|*.cc) to match everything except C++
5pass pass pass Two adjacent alternations
6pass pass pass Nested extended glob pattern
7pass pass pass Extended glob patterns with spaces
8pass pass pass Filenames with spaces
9pass BUG pass nullglob with extended glob
details
10pass pass pass Glob other punctuation chars (lexer mode)
11pass pass pass More glob escaping
12pass pass FAIL Escaping of pipe (glibc bug, see demo/glibc_fnmatch.c)
details
13pass pass ok Extended glob syntax in bad redirect context
details
14pass ok ok Extended glob as argument to ${undef:-} (dynamic globbing)
detailsdetails
15pass ok ok Extended glob in assignment builtin
detailsdetails
16pass pass N-I Extended glob in same word as array
details
17pass pass N-I Extended glob with word splitting
details
18pass pass pass In Array Literal and for loop
19pass pass pass No extended glob with simple_word_eval (Oil evaluation)
20pass pass pass no match
21N-I N-I pass dashglob
detailsdetails
22pass pass pass noglob
23pass N-I pass failglob
details
60 passed, 5 OK, 5 not implemented, 1 BUG, 1 failed, 0 timeouts, 0 cases skipped
1 failed under osh

Details on runs that didn't PASS

mksh9 nullglob with extended glob

stdout:
['eg6/@(no|matches)']
['eg6/@(no|matches)']
stderr:
mksh: <stdin>[1]: shopt: not found
mkdir: cannot create directory ‘eg6’: File exists
mksh: <stdin>[4]: shopt: not found
osh12 Escaping of pipe (glibc bug, see demo/glibc_fnmatch.c)

[osh stdout] Expected "['__|', 'foo']\n['__|', 'foo']\n", got "['foo']\n['foo']\n"

stdout:
['foo']
['foo']
stderr:
osh13 Extended glob syntax in bad redirect context

stdout:
stderr: 
  echo foo > bad_@(*.cc|*.h)
             ^~~~
[ stdin ]:4: fatal: extended glob not allowed in this word
mksh14 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
osh14 Extended glob as argument to ${undef:-} (dynamic globbing)

stdout:
bar.py foo.py spam.py
stderr:
  echo ${undef:-@(foo|bar).py}
                ^~
[ stdin ]:9: fatal: Extended glob not allowed in this word
mksh15 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 assignment builtin

stdout:
stderr: 
  typeset -@(*.py) myvar
          ^
[ stdin ]:5: fatal: Extended glob not allowed in this word
osh16 Extended glob in same word as array

stdout:
['a b', 'c']
['star', 'glob', 'a b c.py']
['star', 'extglob', 'a b c.cc', 'a b c.py']
stderr:
  argv.py at extglob "$@"*@(.py|cc)
                     ^
[ stdin ]:13: fatal: Extended globs and arrays can't appear in the same word
osh17 Extended glob with word splitting

stdout:
['a b*.@(cc|h)']
stderr:
bash21 dashglob

stdout:
-dash bar foo
-dash bar foo
stderr:
bash: line 8: shopt: dashglob: invalid shell option name
mksh21 dashglob

stdout:
-dash bar foo
-dash bar foo
stderr:
mksh: <stdin>[1]: shopt: not found
mksh: <stdin>[8]: shopt: not found
mksh23 failglob

stdout:
@(*)
status=0
foo
status=0
stderr:
mksh: <stdin>[1]: shopt: not found
mksh: <stdin>[7]: shopt: not found