Results for extended-glob.test.sh

statusoshosh_.pyosh_.cc
pass 221
FAIL 151516
total171717
caseoshosh_.pyosh_.ccdescription
0FAIL FAIL FAIL @() matches exactly one of the patterns
detailsdetailsdetails
1FAIL FAIL FAIL ?() matches 0 or 1
detailsdetailsdetails
2FAIL FAIL FAIL *() matches 0 or more
detailsdetailsdetails
3FAIL FAIL FAIL +() matches 1 or more
detailsdetailsdetails
4FAIL FAIL FAIL !(*.h|*.cc) to match everything except C++
detailsdetailsdetails
5FAIL FAIL FAIL Two adjacent alternations
detailsdetailsdetails
6FAIL FAIL FAIL Nested extended glob pattern
detailsdetailsdetails
7FAIL FAIL FAIL Extended glob patterns with spaces
detailsdetailsdetails
8FAIL FAIL FAIL Filenames with spaces
detailsdetailsdetails
9FAIL FAIL FAIL nullglob with extended glob
detailsdetailsdetails
10FAIL FAIL FAIL glob other punctuation chars (lexer mode)
detailsdetailsdetails
11FAIL FAIL FAIL dynamic extglob from variable
detailsdetailsdetails
12pass pass FAIL Extended glob syntax in bad redirect context
details
13FAIL FAIL FAIL Extended glob as argument to ${undef:-} (dynamic globbing)
detailsdetailsdetails
14pass pass pass Extended glob in assignment builtin
15FAIL FAIL FAIL Extended glob in same word as array
detailsdetailsdetails
16FAIL FAIL FAIL In Array Literal and for loop
detailsdetailsdetails
5 passed, 0 OK, 0 not implemented, 0 BUG, 46 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:
osh_.py0 @() matches exactly one of the patterns

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

stdout:
@(*.cc|*.h)
stderr:
osh_.cc0 @() matches exactly one of the patterns

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

stdout:
@(*.cc|*.h)
stderr:
dumb_alloc:
	gNumNew = 2675
	gNumDelete = 307
	gMemPos = 88544

	gNumMalloc = 365
	gNumFree = 0
	gMemPos2 = 19264
osh1 ?() matches 0 or 1

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

stdout:
foo.?(cc|h)
stderr:
osh_.py1 ?() matches 0 or 1

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

stdout:
foo.?(cc|h)
stderr:
osh_.cc1 ?() matches 0 or 1

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

stdout:
foo.?(cc|h)
stderr:
dumb_alloc:
	gNumNew = 2749
	gNumDelete = 315
	gMemPos = 90736

	gNumMalloc = 407
	gNumFree = 0
	gMemPos2 = 19936
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:
osh_.py2 *() matches 0 or more

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

stdout:
eg1/_*(One|Two)
stderr:
osh_.cc2 *() matches 0 or more

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

stdout:
eg1/_*(One|Two)
stderr:
dumb_alloc:
	gNumNew = 2545
	gNumDelete = 250
	gMemPos = 85904

	gNumMalloc = 397
	gNumFree = 0
	gMemPos2 = 15600
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:
osh_.py3 +() matches 1 or more

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

stdout:
eg2/_+(One|Two)
stderr:
osh_.cc3 +() matches 1 or more

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

stdout:
eg2/_+(One|Two)
stderr:
dumb_alloc:
	gNumNew = 2553
	gNumDelete = 250
	gMemPos = 86160

	gNumMalloc = 406
	gNumFree = 0
	gMemPos2 = 15744
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:
osh_.py4 !(*.h|*.cc) to match everything except C++

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

stdout:
extglob2/!(*.h|*.cc)
stderr:
osh_.cc4 !(*.h|*.cc) to match everything except C++

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

stdout:
extglob2/!(*.h|*.cc)
stderr:
dumb_alloc:
	gNumNew = 3050
	gNumDelete = 371
	gMemPos = 101328

	gNumMalloc = 696
	gNumFree = 0
	gMemPos2 = 20544
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:
osh_.py5 Two adjacent alternations

[osh_.py 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:
osh_.cc5 Two adjacent alternations

[osh_.cc 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:
dumb_alloc:
	gNumNew = 3087
	gNumDelete = 390
	gMemPos = 102032

	gNumMalloc = 566
	gNumFree = 0
	gMemPos2 = 18256
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:
osh_.py6 Nested extended glob pattern

[osh_.py 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:
osh_.cc6 Nested extended glob pattern

[osh_.cc 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:
dumb_alloc:
	gNumNew = 2819
	gNumDelete = 326
	gMemPos = 92944

	gNumMalloc = 481
	gNumFree = 0
	gMemPos2 = 16944
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:
osh_.py7 Extended glob patterns with spaces

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

stdout:
['eg4/@(a b|foo)']
stderr:
osh_.cc7 Extended glob patterns with spaces

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

stdout:
['eg4/@(a b|foo)']
stderr:
dumb_alloc:
	gNumNew = 2425
	gNumDelete = 241
	gMemPos = 82000

	gNumMalloc = 298
	gNumFree = 0
	gMemPos2 = 13968
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:
osh_.py8 Filenames with spaces

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

stdout:
['eg5/a @(bcd|bde|zzz)']
stderr:
osh_.cc8 Filenames with spaces

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

stdout:
['eg5/a @(bcd|bde|zzz)']
stderr:
dumb_alloc:
	gNumNew = 2612
	gNumDelete = 299
	gMemPos = 88608

	gNumMalloc = 397
	gNumFree = 0
	gMemPos2 = 15584
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
osh_.py9 nullglob with extended glob

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

stdout:
['eg6/@(no|matches)']
stderr:
mkdir: cannot create directory ‘eg6’: File exists
osh_.cc9 nullglob with extended glob

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

stdout:
['eg6/@(no|matches)']
stderr:
mkdir: cannot create directory 'eg6': File exists

dumb_alloc:
	gNumNew = 2379
	gNumDelete = 229
	gMemPos = 80720

	gNumMalloc = 285
	gNumFree = 0
	gMemPos2 = 13808
osh10 glob other punctuation chars (lexer mode)

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

stdout:
['@(__<>|__{}|__||__#|__&&)']
stderr:
osh_.py10 glob other punctuation chars (lexer mode)

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

stdout:
['@(__<>|__{}|__||__#|__&&)']
stderr:
osh_.cc10 glob other punctuation chars (lexer mode)

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

stdout:
['@(__<>|__{}|__||__#|__&&)']
stderr:
dumb_alloc:
	gNumNew = 2798
	gNumDelete = 324
	gMemPos = 93600

	gNumMalloc = 439
	gNumFree = 0
	gMemPos2 = 20496
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:
osh_.py11 dynamic extglob from variable

[osh_.py 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:
osh_.cc11 dynamic extglob from variable

[osh_.cc 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:
dumb_alloc:
	gNumNew = 2470
	gNumDelete = 258
	gMemPos = 82640

	gNumMalloc = 301
	gNumFree = 0
	gMemPos2 = 14016
osh_.cc12 Extended glob syntax in bad redirect context

[osh_.cc stdout] Expected 'bad_@(*.cc|*.h)\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:143: void posix::dup2(int, int): Assertion `0' failed.
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:
osh_.py13 Extended glob as argument to ${undef:-} (dynamic globbing)

[osh_.py 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:
osh_.cc13 Extended glob as argument to ${undef:-} (dynamic globbing)

[osh_.cc 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:
dumb_alloc:
	gNumNew = 2704
	gNumDelete = 294
	gMemPos = 89488

	gNumMalloc = 378
	gNumFree = 0
	gMemPos2 = 19472
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:
osh_.py15 Extended glob in same word as array

[osh_.py 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:
osh_.cc15 Extended glob in same word as array

[osh_.cc 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:
dumb_alloc:
	gNumNew = 3694
	gNumDelete = 526
	gMemPos = 120288

	gNumMalloc = 800
	gNumFree = 0
	gMemPos2 = 26240
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:
osh_.py16 In Array Literal and for loop

[osh_.py 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:
osh_.cc16 In Array Literal and for loop

[osh_.cc 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:
dumb_alloc:
	gNumNew = 3229
	gNumDelete = 391
	gMemPos = 104992

	gNumMalloc = 528
	gNumFree = 0
	gMemPos2 = 21872