status | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | |
pass | 31 | 24 | 27 | 20 | 26 | 28 | 16 | 24 | 27 | 29 | |
N-I | 0 | 5 | 3 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | |
BUG | 1 | 3 | 2 | 0 | 5 | 0 | 0 | 0 | 0 | 0 | |
FAIL | 0 | 0 | 0 | 12 | 0 | 4 | 16 | 8 | 5 | 3 | |
total | 32 | 32 | 32 | 32 | 32 | 32 | 32 | 32 | 32 | 32 | |
case | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | description |
0 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | glob double quote escape |
1 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | glob single quote escape |
2 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | glob backslash escape |
3 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | 1 char glob |
details | |||||||||||
4 | pass | pass | pass | FAIL | pass | pass | pass | pass | pass | pass | 0 char glob -- does NOT work |
details | |||||||||||
5 | pass | pass | pass | FAIL | pass | pass | pass | pass | pass | pass | looks like glob at the start, but isn't |
details | |||||||||||
6 | pass | pass | pass | FAIL | pass | pass | pass | pass | pass | pass | looks like glob plus negation at the start, but isn't |
details | |||||||||||
7 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | glob can expand to command and arg |
details | |||||||||||
8 | pass | pass | pass | FAIL | pass | pass | FAIL | pass | pass | pass | glob after var expansion |
details | details | ||||||||||
9 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | quoted var expansion with glob meta characters |
10 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | glob after "$@" expansion |
11 | pass | pass | pass | FAIL | pass | pass | pass | pass | pass | pass | glob after $@ expansion |
details | |||||||||||
12 | pass | pass | pass | FAIL | pass | pass | pass | FAIL | pass | pass | no glob after ~ expansion |
details | details | ||||||||||
13 | pass | N-I | N-I | FAIL | pass | pass | FAIL | pass | pass | pass | store literal globs in array then expand |
details | details | details | details | ||||||||
14 | pass | N-I | N-I | pass | pass | pass | FAIL | pass | pass | pass | glob inside array |
details | details | details | |||||||||
15 | pass | pass | pass | FAIL | pass | pass | FAIL | FAIL | pass | pass | glob with escaped - in char class |
details | details | details | |||||||||
16 | pass | pass | pass | pass | BUG | pass | FAIL | pass | pass | pass | glob with char class expression |
details | details | ||||||||||
17 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | glob double quotes |
18 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | glob escaped |
19 | BUG | pass | BUG | FAIL | BUG | FAIL | FAIL | FAIL | pass | pass | : escaped |
details | details | details | details | details | details | details | |||||
20 | pass | pass | pass | FAIL | pass | pass | FAIL | pass | pass | pass | Glob after var manipulation |
details | details | ||||||||||
21 | pass | pass | pass | FAIL | pass | pass | FAIL | pass | pass | pass | Glob after part joining |
details | details | ||||||||||
22 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | Glob flags on file system |
23 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | set -o noglob |
details | |||||||||||
24 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | set -o noglob (bug #698) |
25 | pass | BUG | pass | pass | pass | pass | FAIL | pass | pass | pass | Splitting/Globbing doesn't happen on local assignment |
details | details | ||||||||||
26 | pass | pass | pass | FAIL | pass | pass | FAIL | FAIL | FAIL | pass | Glob of unescaped [[] and []] |
details | details | details | details | ||||||||
27 | pass | BUG | pass | pass | BUG | FAIL | pass | FAIL | FAIL | pass | Glob of negated unescaped [[] and []] |
details | details | details | details | details | |||||||
28 | pass | N-I | pass | pass | pass | pass | FAIL | FAIL | FAIL | FAIL | PatSub of unescaped [[] and []] |
details | details | details | details | details | |||||||
29 | pass | N-I | pass | pass | BUG | FAIL | FAIL | FAIL | FAIL | FAIL | PatSub of negated unescaped [[] and []] |
details | details | details | details | details | details | details | |||||
30 | pass | BUG | BUG | pass | BUG | pass | pass | pass | pass | pass | Glob unicode char |
details | details | details | |||||||||
31 | pass | N-I | N-I | pass | N-I | FAIL | FAIL | FAIL | FAIL | FAIL | Glob ordering respects LC_COLLATE (zsh respects this too) |
details | details | details | details | details | details | details | details |
252 passed, 0 OK, 9 not implemented, 11 BUG, 48 failed, 0 timeouts, 0 cases skipped 3 failed under osh
toysh | 3 1 char glob [toysh stdout] Expected 'bin\n', got '[b]in\n' stdout: [b]instderr: |
zsh | 4 0 char glob -- does NOT work [zsh stdout] Expected '[]bin\n', got '' [zsh status] Expected 0, got 1 stdout: stderr: zsh: no matches found: []bin |
zsh | 5 looks like glob at the start, but isn't [zsh stdout] Expected '[bin\n', got '' [zsh status] Expected 0, got 1 stdout: stderr: zsh: bad pattern: [bin |
zsh | 6 looks like glob plus negation at the start, but isn't [zsh stdout] Expected '[!bin\n', got '' [zsh status] Expected 0, got 1 stdout: stderr: zsh: bad pattern: [!bin |
toysh | 7 glob can expand to command and arg [toysh stdout] Expected 'spec/testdata/echo.sz\n', got '' [toysh status] Expected 0, got 127 stdout: stderr: sh: spec/testdata/echo.sz: Permission denied |
zsh | 8 glob after var expansion [zsh stdout] Expected '_tmp/a.A _tmp/aa.A _tmp/b.B\n', got '_tmp/*.A _tmp/*.B\n' stdout: _tmp/*.A _tmp/*.Bstderr: |
toysh | 8 glob after var expansion [toysh stdout] Expected '_tmp/a.A _tmp/aa.A _tmp/b.B\n', got '_tmp/aa.A _tmp/a.A _tmp/b.B\n' stdout: _tmp/aa.A _tmp/a.A _tmp/b.Bstderr: |
zsh | 11 glob after $@ expansion [zsh stdout] Expected '_tmp/b.B\n', got '_tmp/*.B\n' stdout: _tmp/*.Bstderr: |
zsh | 12 no glob after ~ expansion [zsh stdout] Expected '*/*.py\n', got '' [zsh status] Expected 0, got 1 stdout: stderr: zsh: no matches found: */*.py |
sush | 12 no glob after ~ expansion [sush stdout] Expected '*/*.py\n', got '_tmp/*.py\n' stdout: _tmp/*.pystderr: |
dash | 13 store literal globs in array then expand stdout: stderr: dash: 2: Syntax error: "(" unexpected |
ash | 13 store literal globs in array then expand stdout: stderr: ash: syntax error: unexpected "(" |
zsh | 13 store literal globs in array then expand [zsh stdout] Expected '_tmp/a.A _tmp/aa.A _tmp/b.B\n', got '_tmp/*.A _tmp/*.B\n' stdout: _tmp/*.A _tmp/*.Bstderr: |
toysh | 13 store literal globs in array then expand [toysh stdout] Expected '_tmp/a.A _tmp/aa.A _tmp/b.B\n', got '' [toysh status] Expected 0, got 2 stdout: stderr: main: line 2: sh: syntax error: "_tmp/*.A" |
dash | 14 glob inside array stdout: stderr: dash: 2: Syntax error: "(" unexpected |
ash | 14 glob inside array stdout: stderr: ash: syntax error: unexpected "(" |
toysh | 14 glob inside array [toysh stdout] Expected '_tmp/a.A _tmp/aa.A _tmp/b.B\n', got '' [toysh status] Expected 0, got 2 stdout: stderr: main: line 2: sh: syntax error: _tmp/*.A |
zsh | 15 glob with escaped - in char class [zsh stdout] Expected '_tmp/c.C _tmp/c.C _tmp/foo.-\n', got '_tmp/c.C _tmp/c.C\n' stdout: _tmp/c.C _tmp/c.Cstderr: |
toysh | 15 glob with escaped - in char class [toysh stdout] Expected '_tmp/c.C _tmp/c.C _tmp/foo.-\n', got '_tmp/c.C _tmp/c.C\n' stdout: _tmp/c.C _tmp/c.Cstderr: |
sush | 15 glob with escaped - in char class [sush stdout] Expected '_tmp/c.C _tmp/c.C _tmp/foo.-\n', got '_tmp/c.C _tmp/c.C\n' stdout: _tmp/c.C _tmp/c.Cstderr: |
mksh | 16 glob with char class expression stdout: _tmp/*.[[:punct:]E]stderr: |
toysh | 16 glob with char class expression [toysh stdout] Expected '_tmp/e.E _tmp/foo.-\n', got '_tmp/*.[[:punct:]E]\n' stdout: _tmp/*.[[:punct:]E]stderr: |
bash | 19 : escaped stdout: _tmp/foo.- _tmp/foo.-stderr: |
ash | 19 : escaped stdout: _tmp/foo.- _tmp/foo.-stderr: |
zsh | 19 : escaped [zsh stdout] Expected '_tmp/foo.- _tmp/*.[[:punct:]]\n', got '_tmp/foo.- _tmp/foo.-\n' stdout: _tmp/foo.- _tmp/foo.-stderr: |
mksh | 19 : escaped stdout: _tmp/*.[[:punct:]] _tmp/*.[[:punct:]]stderr: |
ksh | 19 : escaped [ksh stdout] Expected '_tmp/foo.- _tmp/*.[[:punct:]]\n', got '_tmp/foo.- _tmp/foo.-\n' stdout: _tmp/foo.- _tmp/foo.-stderr: |
toysh | 19 : escaped [toysh stdout] Expected '_tmp/foo.- _tmp/*.[[:punct:]]\n', got '_tmp/*.[[:punct:]] _tmp/*.[[:punct:]]\n' stdout: _tmp/*.[[:punct:]] _tmp/*.[[:punct:]]stderr: |
sush | 19 : escaped [sush stdout] Expected '_tmp/foo.- _tmp/*.[[:punct:]]\n', got '_tmp/foo.- _tmp/foo.-\n' stdout: _tmp/foo.- _tmp/foo.-stderr: |
zsh | 20 Glob after var manipulation [zsh stdout] Expected '_tmp/*.zzzZ _tmp/bar.zzz _tmp/foo.zzz\n', got '_tmp/*.zzzZ _tmp/*.zzz\n' stdout: _tmp/*.zzzZ _tmp/*.zzzstderr: |
toysh | 20 Glob after var manipulation [toysh stdout] Expected '_tmp/*.zzzZ _tmp/bar.zzz _tmp/foo.zzz\n', got '_tmp/*.zzzZ _tmp/foo.zzz _tmp/bar.zzz\n' stdout: _tmp/*.zzzZ _tmp/foo.zzz _tmp/bar.zzzstderr: |
zsh | 21 Glob after part joining [zsh stdout] Expected '_tmp/*.yy _tmp/bar.yyy _tmp/foo.yyy\n', got '_tmp/*.yy _tmp/*.yyy\n' stdout: _tmp/*.yy _tmp/*.yyystderr: |
toysh | 21 Glob after part joining [toysh stdout] Expected '_tmp/*.yy _tmp/bar.yyy _tmp/foo.yyy\n', got '_tmp/*.yy _tmp/foo.yyy _tmp/bar.yyy\n' stdout: _tmp/*.yy _tmp/foo.yyy _tmp/bar.yyystderr: |
toysh | 23 set -o noglob [toysh stdout] Expected '_tmp/spec-tmp/a.zz _tmp/spec-tmp/b.zz\n_tmp/spec-tmp/*.zz\n' Got '_tmp/spec-tmp/b.zz _tmp/spec-tmp/a.zz\n_tmp/spec-tmp/b.zz _tmp/spec-tmp/a.zz\n' stdout: _tmp/spec-tmp/b.zz _tmp/spec-tmp/a.zz _tmp/spec-tmp/b.zz _tmp/spec-tmp/a.zzstderr: set: bad -o noglob |
dash | 25 Splitting/Globbing doesn't happen on local assignment stdout: stderr: dash: 4: local: INSTALL-old.txt: bad variable name |
toysh | 25 Splitting/Globbing doesn't happen on local assignment [toysh stdout] Expected 'void *\n', got 'void\n' stdout: voidstderr: local: bad fastlex.so local: bad line_input.so local: bad fanos.so local: bad fastfunc.so local: bad NOTES-jshape.txt local: bad libc.so local: bad Python-2.7.13 local: bad shell.nix local: bad INSTALL-old.txt local: bad LICENSE.txt local: bad NOTES.txt local: bad oils-version.txt local: bad README-index.md local: bad local.sh local: bad configure-test.sh local: bad INSTALL.txt local: bad README.md local: bad Z.txt local: bad _soil-jobs local: bad Rplots.pdf local: bad posix_.so local: bad TODO.txt local: bad build.ninja local: bad README-native.txt local: bad NINJA-config.sh |
zsh | 26 Glob of unescaped [[] and []] [zsh stdout] Expected '[ ]\n[ ]\n', got '' [zsh status] Expected 0, got 1 stdout: stderr: zsh: bad pattern: /home/andy/git/oils-for-unix/oils/_tmp/spec-tmp/glob.test.sh/26-zsh/[ zsh: no matches found: [[z] |
toysh | 26 Glob of unescaped [[] and []] [toysh stdout] Expected '[ ]\n[ ]\n', got '[[z] []z]\n[[z] []z]\n' stdout: [[z] []z] [[z] []z]stderr: |
sush | 26 Glob of unescaped [[] and []] [sush stdout] Expected '[ ]\n[ ]\n', got '[ ]\n[ []z]\n' stdout: [ ] [ []z]stderr: |
brush | 26 Glob of unescaped [[] and []] [brush stdout] Expected '[ ]\n[ ]\n', got '[ []z]\n[ []z]\n' stdout: [ []z] [ []z]stderr: |
dash | 27 Glob of negated unescaped [[] and []] stdout: _[^[z] _[^]z] _[^[z] _[^]z]stderr: |
mksh | 27 Glob of negated unescaped [[] and []] stdout: _[^[z] _[^]z] _[^[z] _[^]z]stderr: |
ksh | 27 Glob of negated unescaped [[] and []] [ksh stdout] Expected '_G _G\n_G _G\n', got '_[^[z] _[^]z]\n_[^[z] _[^]z]\n' stdout: _[^[z] _[^]z] _[^[z] _[^]z]stderr: |
sush | 27 Glob of negated unescaped [[] and []] [sush stdout] Expected '_G _G\n_G _G\n', got '_G _G\n_G _[^]z]\n' stdout: _G _G _G _[^]z]stderr: |
brush | 27 Glob of negated unescaped [[] and []] [brush stdout] Expected '_G _G\n_G _G\n', got '_G _[^]z]\n_G _[^]z]\n' stdout: _G _[^]z] _G _[^]z]stderr: |
dash | 28 PatSub of unescaped [[] and []] stdout: stderr: dash: 2: Bad substitution |
toysh | 28 PatSub of unescaped [[] and []] [toysh stdout] Expected '<foo]\n[foo>\n<foo]\n[foo>\n', got '[foo]\n[foo]\n[foo]\n[foo]\n' stdout: [foo] [foo] [foo] [foo]stderr: |
sush | 28 PatSub of unescaped [[] and []] [sush stdout] Expected '<foo]\n[foo>\n<foo]\n[foo>\n', got '<foo]\n[foo]\n<foo]\n[foo]\n' stdout: <foo] [foo] <foo] [foo]stderr: |
brush | 28 PatSub of unescaped [[] and []] [brush stdout] Expected '<foo]\n[foo>\n<foo]\n[foo>\n', got '<foo]\n<foo]\n[foo]\n' stdout: <foo] <foo] [foo]stderr: [31mERROR[0m error: invalid regex: Parsing error at position 11: Invalid character class; expression: '(?ms)[\]z\]' |
osh | 28 PatSub of unescaped [[] and []] [osh stdout] Expected '<foo]\n[foo>\n<foo]\n[foo>\n', got '<foo]\n[foo>\n[foo]\n[foo>\n' stdout: <foo] [foo> [foo] [foo>stderr: |
dash | 29 PatSub of negated unescaped [[] and []] stdout: stderr: dash: 2: Bad substitution |
mksh | 29 PatSub of negated unescaped [[] and []] stdout: <foo] [foo> <foo]stderr: |
ksh | 29 PatSub of negated unescaped [[] and []] [ksh stdout] Expected '[<<<<\n>>>>]\n[<<<<\n', got '<foo]\n[foo>\n<foo]\n' stdout: <foo] [foo> <foo]stderr: |
toysh | 29 PatSub of negated unescaped [[] and []] [toysh stdout] Expected '[<<<<\n>>>>]\n[<<<<\n', got '[foo]\n[foo]\n[foo]\n' stdout: [foo] [foo] [foo]stderr: |
sush | 29 PatSub of negated unescaped [[] and []] [sush stdout] Expected '[<<<<\n>>>>]\n[<<<<\n', got '[<<<<\n[foo]\n[<<<<\n' stdout: [<<<< [foo] [<<<<stderr: |
brush | 29 PatSub of negated unescaped [[] and []] [brush stdout] Expected '[<<<<\n>>>>]\n[<<<<\n', got '[<<<<\n[<<<<\n' stdout: [<<<< [<<<<stderr: [31mERROR[0m error: invalid regex: Parsing error at position 12: Invalid character class; expression: '(?ms)[^\]z\]' |
osh | 29 PatSub of negated unescaped [[] and []] [osh stdout] Expected '[<<<<\n>>>>]\n[<<<<\n', got '[<<<<\n>>>>]\n[foo]\n' stdout: [<<<< >>>>] [foo]stderr: |
dash | 30 Glob unicode char stdout: __a__stderr: |
ash | 30 Glob unicode char stdout: __a__stderr: |
mksh | 30 Glob unicode char stdout: __a__stderr: |
dash | 31 Glob ordering respects LC_COLLATE (zsh respects this too) stdout: hello hello-test.sh hello.py hello_preamble.sh hello hello-test.sh hello.py hello_preamble.shstderr: |
ash | 31 Glob ordering respects LC_COLLATE (zsh respects this too) stdout: hello hello-test.sh hello.py hello_preamble.sh hello hello-test.sh hello.py hello_preamble.shstderr: |
mksh | 31 Glob ordering respects LC_COLLATE (zsh respects this too) stdout: hello hello-test.sh hello.py hello_preamble.sh hello hello-test.sh hello.py hello_preamble.shstderr: |
ksh | 31 Glob ordering respects LC_COLLATE (zsh respects this too) [ksh stdout] Expected 'hello hello-test.sh hello.py hello_preamble.sh\nhello hello_preamble.sh hello.py hello-test.sh\n' Got 'hello hello-test.sh hello.py hello_preamble.sh\nhello hello-test.sh hello.py hello_preamble.sh\n' stdout: hello hello-test.sh hello.py hello_preamble.sh hello hello-test.sh hello.py hello_preamble.shstderr: |
toysh | 31 Glob ordering respects LC_COLLATE (zsh respects this too) [toysh stdout] Expected 'hello hello-test.sh hello.py hello_preamble.sh\nhello hello_preamble.sh hello.py hello-test.sh\n' Got 'hello_preamble.sh hello-test.sh hello.py hello\nhello_preamble.sh hello-test.sh hello.py hello\n' [toysh status] Expected 0, got -6 stdout: hello_preamble.sh hello-test.sh hello.py hello hello_preamble.sh hello-test.sh hello.py hellostderr: free(): double free detected in tcache 2 |
sush | 31 Glob ordering respects LC_COLLATE (zsh respects this too) [sush stdout] Expected 'hello hello-test.sh hello.py hello_preamble.sh\nhello hello_preamble.sh hello.py hello-test.sh\n' Got 'hello hello-test.sh hello.py hello_preamble.sh\nhello hello-test.sh hello.py hello_preamble.sh\n' stdout: hello hello-test.sh hello.py hello_preamble.sh hello hello-test.sh hello.py hello_preamble.shstderr: |
brush | 31 Glob ordering respects LC_COLLATE (zsh respects this too) [brush stdout] Expected 'hello hello-test.sh hello.py hello_preamble.sh\nhello hello_preamble.sh hello.py hello-test.sh\n' Got 'hello hello-test.sh hello.py hello_preamble.sh\nhello hello-test.sh hello.py hello_preamble.sh\n' stdout: hello hello-test.sh hello.py hello_preamble.sh hello hello-test.sh hello.py hello_preamble.shstderr: |
osh | 31 Glob ordering respects LC_COLLATE (zsh respects this too) [osh stdout] Expected 'hello hello-test.sh hello.py hello_preamble.sh\nhello hello_preamble.sh hello.py hello-test.sh\n' Got 'hello hello-test.sh hello.py hello_preamble.sh\nhello hello-test.sh hello.py hello_preamble.sh\n' stdout: hello hello-test.sh hello.py hello_preamble.sh hello hello-test.sh hello.py hello_preamble.shstderr: |