spec test index / oilshell.org
5 passed, 0 OK, 0 not implemented, 0 BUG, 46 failed, 0 timeouts, 0 cases skipped 15 failed under osh
| osh | 0 @() 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_.py | 0 @() 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_.cc | 0 @() 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 |
| osh | 1 ?() matches 0 or 1 [osh stdout] Expected 'foo. foo.cc foo.h\n', got 'foo.?(cc|h)\n' stdout: foo.?(cc|h)stderr: |
| osh_.py | 1 ?() 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_.cc | 1 ?() 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 |
| osh | 2 *() 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_.py | 2 *() 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_.cc | 2 *() 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 |
| osh | 3 +() 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_.py | 3 +() 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_.cc | 3 +() 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 |
| osh | 4 !(*.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_.py | 4 !(*.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_.cc | 4 !(*.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 |
| osh | 5 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_.py | 5 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_.cc | 5 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 |
| osh | 6 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_.py | 6 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_.cc | 6 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 |
| osh | 7 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_.py | 7 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_.cc | 7 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 |
| osh | 8 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_.py | 8 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_.cc | 8 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 |
| osh | 9 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_.py | 9 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_.cc | 9 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 |
| osh | 10 glob other punctuation chars (lexer mode) [osh stdout] Expected "['__<>', '__|', '__{}', '__&&', '__#']\n", got "['@(__<>|__{}|__||__#|__&&)']\n" stdout: ['@(__<>|__{}|__||__#|__&&)']
stderr: |
| osh_.py | 10 glob other punctuation chars (lexer mode) [osh_.py stdout] Expected "['__<>', '__|', '__{}', '__&&', '__#']\n", got "['@(__<>|__{}|__||__#|__&&)']\n" stdout: ['@(__<>|__{}|__||__#|__&&)']
stderr: |
| osh_.cc | 10 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 |
| osh | 11 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_.py | 11 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_.cc | 11 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_.cc | 12 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. |
| osh | 13 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).pystderr: |
| osh_.py | 13 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).pystderr: |
| osh_.cc | 13 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).pystderr: dumb_alloc: gNumNew = 2704 gNumDelete = 294 gMemPos = 89488 gNumMalloc = 378 gNumFree = 0 gMemPos2 = 19472 |
| osh | 15 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_.py | 15 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_.cc | 15 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 |
| osh | 16 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).pystderr: |
| osh_.py | 16 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).pystderr: |
| osh_.cc | 16 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).pystderr: dumb_alloc: gNumNew = 3229 gNumDelete = 391 gMemPos = 104992 gNumMalloc = 528 gNumFree = 0 gMemPos2 = 21872 |