Results for extglob-match.test.sh

statusoshosh_.pyosh_.cc
pass 252323
ok 333
N-I 111
FAIL 022
total292929
caseoshosh_.pyosh_.ccdescription
0pass pass pass @ matches exactly one
1pass pass pass @() with variable arms
2ok ok ok extglob in variable
detailsdetailsdetails
3pass pass pass Matching literal '@(cc)'
4pass pass pass nested @()
5pass pass pass nested @() with quotes and vars
6pass pass pass ? matches 0 or 1
7pass pass pass + matches 1 or more
8pass pass pass * matches 0 or more
9pass pass pass simple repetition with *(foo) and +(Foo)
10pass pass pass ! matches none
11pass pass pass match is anchored
12pass pass pass repeated match is anchored
13pass pass pass repetition with glob
14pass pass pass No brace expansion in ==
15pass pass pass adjacent extglob
16pass pass pass nested extglob
17pass pass pass extglob empty string
18pass pass pass extglob empty pattern
19pass pass pass case with extglob
20pass pass pass [[ $x == !($str) ]]
21ok ok ok Turning extglob on changes the meaning of [[ !(str) ]] in bash
detailsdetailsdetails
22pass pass pass With extglob on, !($str) on the left or right of == has different meanings
23ok ok ok extglob inside arg word
detailsdetailsdetails
24pass pass pass extglob is not detected in regex!
25pass FAIL FAIL regular glob of single unicode char
detailsdetails
26pass FAIL FAIL extended glob of single unicode char
detailsdetails
27N-I N-I N-I Extended glob in ${x//pat/replace}
detailsdetailsdetails
28pass pass pass Extended glob in ${x%PATTERN}
71 passed, 9 OK, 3 not implemented, 0 BUG, 4 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

osh2 extglob in variable

stdout:
stderr: 
  g=--@(help|verbose)
    ^~
[ stdin ]:3: fatal: extended glob not allowed in this word
osh_.py2 extglob in variable

stdout:
stderr: 
  g=--@(help|verbose)
    ^~
[ stdin ]:3: fatal: extended glob not allowed in this word
osh_.cc2 extglob in variable

stdout:
stderr: 
  g=--@(help|verbose)
  ^~
[ stdin ]:3: fatal: extended glob not allowed in this word
osh21 Turning extglob on changes the meaning of [[ !(str) ]] in bash

stdout:
stderr: 
  [[ !($empty) ]]  && echo TRUE   # test if $empty is empty
     ^~
[ stdin ]:3: fatal: extended glob not allowed in this word
osh_.py21 Turning extglob on changes the meaning of [[ !(str) ]] in bash

stdout:
stderr: 
  [[ !($empty) ]]  && echo TRUE   # test if $empty is empty
     ^~
[ stdin ]:3: fatal: extended glob not allowed in this word
osh_.cc21 Turning extglob on changes the meaning of [[ !(str) ]] in bash

stdout:
stderr: 
  [[ !($empty) ]]  && echo TRUE   # test if $empty is empty
  ^~
[ stdin ]:3: fatal: extended glob not allowed in this word
osh23 extglob inside arg word

stdout:
TRUE
stderr:
  [[ foo == ${unset:-@(foo|bar)} ]] && echo TRUE
                     ^~
[ stdin ]:3: fatal: Extended glob not allowed in this word
osh_.py23 extglob inside arg word

stdout:
TRUE
stderr:
  [[ foo == ${unset:-@(foo|bar)} ]] && echo TRUE
                     ^~
[ stdin ]:3: fatal: Extended glob not allowed in this word
osh_.cc23 extglob inside arg word

stdout:
TRUE
stderr:
  [[ foo == ${unset:-@(foo|bar)} ]] && echo TRUE
  ^~
[ stdin ]:3: fatal: Extended glob not allowed in this word
osh_.py25 regular glob of single unicode char

[osh_.py stdout] Expected '0\n0\n', got '0\n1\n'

stdout:
0
1
stderr:
osh_.cc25 regular glob of single unicode char

[osh_.cc stdout] Expected '0\n0\n', got '0\n1\n'

stdout:
0
1
stderr:
osh_.py26 extended glob of single unicode char

[osh_.py stdout] Expected '0\n0\n', got '0\n1\n'

stdout:
0
1
stderr:
osh_.cc26 extended glob of single unicode char

[osh_.cc stdout] Expected '0\n0\n', got '0\n1\n'

stdout:
0
1
stderr:
osh27 Extended glob in ${x//pat/replace}

stdout:
stderr: 
  echo ${x//@(?.py)/Z}
            ^~
[ stdin ]:3: fatal: extended globs not supported in ${x//GLOB/}
osh_.py27 Extended glob in ${x//pat/replace}

stdout:
stderr: 
  echo ${x//@(?.py)/Z}
            ^~
[ stdin ]:3: fatal: extended globs not supported in ${x//GLOB/}
osh_.cc27 Extended glob in ${x//pat/replace}

stdout:
stderr: 
  echo ${x//@(?.py)/Z}
  ^~~~
[ stdin ]:3: fatal: extended globs not supported in ${x//GLOB/}