spec test index / oilshell.org
status | dash | bash | mksh | zsh | ash | osh | osh_ALT | |
pass | 21 | 29 | 20 | 23 | 22 | 29 | 29 | |
ok | 0 | 0 | 2 | 1 | 0 | 0 | 0 | |
N-I | 6 | 0 | 5 | 1 | 5 | 0 | 0 | |
BUG | 2 | 0 | 2 | 4 | 2 | 0 | 0 | |
total | 29 | 29 | 29 | 29 | 29 | 29 | 29 | |
case | dash | bash | mksh | zsh | ash | osh | osh_ALT | description |
0 | pass | pass | pass | pass | pass | pass | pass | Remove const suffix |
1 | pass | pass | pass | pass | pass | pass | pass | Remove const prefix |
2 | N-I | pass | N-I | pass | N-I | pass | pass | Remove const suffix is vectorized on user array |
details | details | details | ||||||
3 | N-I | pass | N-I | pass | N-I | pass | pass | Remove const suffix is vectorized on $@ array |
details | details | details | ||||||
4 | pass | pass | pass | pass | pass | pass | pass | Remove const suffix from undefined |
5 | pass | pass | pass | pass | pass | pass | pass | Remove shortest glob suffix |
6 | pass | pass | pass | pass | pass | pass | pass | Remove longest glob suffix |
7 | pass | pass | pass | pass | pass | pass | pass | Remove shortest glob prefix |
8 | pass | pass | pass | pass | pass | pass | pass | Remove longest glob prefix |
9 | pass | pass | N-I | pass | pass | pass | pass | Strip char class |
details | ||||||||
10 | BUG | pass | BUG | BUG | BUG | pass | pass | Strip unicode prefix |
details | details | details | details | |||||
11 | pass | pass | pass | pass | pass | pass | pass | Bug fix: Test that you can remove everything with glob |
12 | pass | pass | pass | pass | pass | pass | pass | Test that you can remove everything with const |
13 | N-I | pass | N-I | pass | N-I | pass | pass | Prepend using replacement of # |
details | details | details | ||||||
14 | N-I | pass | N-I | pass | N-I | pass | pass | Append using replacement of % |
details | details | details | ||||||
15 | pass | pass | ok | BUG | pass | pass | pass | strip unquoted and quoted [ |
details | details | |||||||
16 | pass | pass | ok | ok | pass | pass | pass | strip unquoted and quoted [] |
details | details | |||||||
17 | pass | pass | pass | pass | pass | pass | pass | strip unquoted and quoted ? |
18 | pass | pass | pass | pass | pass | pass | pass | strip unquoted and quoted [a] |
19 | N-I | pass | pass | pass | pass | pass | pass | Nested % and # operators (bug reported by Crestwave) |
details | ||||||||
20 | pass | pass | pass | BUG | pass | pass | pass | strip * (bug regression) |
details | ||||||||
21 | pass | pass | pass | pass | pass | pass | pass | strip ? |
22 | pass | pass | pass | pass | pass | pass | pass | strip all |
23 | pass | pass | pass | pass | pass | pass | pass | strip none |
24 | BUG | pass | BUG | pass | BUG | pass | pass | strip all unicode |
details | details | details | ||||||
25 | pass | pass | pass | pass | pass | pass | pass | strip none unicode |
26 | pass | pass | pass | BUG | pass | pass | pass | Strip Right Brace (#702) |
details | ||||||||
27 | pass | pass | pass | pass | pass | pass | pass | \(\) in pattern (regression) |
28 | N-I | pass | pass | N-I | N-I | pass | pass | extglob in pattern |
details | details | details |
173 passed, 3 OK, 17 not implemented, 10 BUG, 0 failed, 0 timeouts, 0 cases skipped
dash | 2 Remove const suffix is vectorized on user array stdout: stderr: dash: 1: Syntax error: "(" unexpected |
mksh | 2 Remove const suffix is vectorized on user array stdout: stderr: mksh: <stdin>[2]: ${a[@]%a}: bad substitution |
ash | 2 Remove const suffix is vectorized on user array stdout: stderr: ash: syntax error: unexpected "(" |
dash | 3 Remove const suffix is vectorized on $@ array stdout: ['1a', '2a', '3']stderr: |
mksh | 3 Remove const suffix is vectorized on $@ array stdout: stderr: mksh: <stdin>[2]: ${@%a}: bad substitution |
ash | 3 Remove const suffix is vectorized on $@ array stdout: ['1a', '2a', '3']stderr: |
mksh | 9 Strip char class stdout: abcstderr: |
dash | 10 Strip unicode prefix stdout: '\xbc-\n\xbc-\n-\xce\n-\xce\n'stderr: |
mksh | 10 Strip unicode prefix stdout: '\xbc-\n\xbc-\n-\xce\n-\xce\n'stderr: |
zsh | 10 Strip unicode prefix stdout: stderr: |
ash | 10 Strip unicode prefix stdout: '\xbc-\n\xbc-\n-\xce\n-\xce\n'stderr: |
dash | 13 Prepend using replacement of # stdout: stderr: dash: 1: Syntax error: "(" unexpected |
mksh | 13 Prepend using replacement of # stdout: stderr: mksh: <stdin>[2]: ${array[@]/#/prefix-}: bad substitution |
ash | 13 Prepend using replacement of # stdout: stderr: ash: syntax error: unexpected "(" |
dash | 14 Append using replacement of % stdout: stderr: dash: 1: Syntax error: "(" unexpected |
mksh | 14 Append using replacement of % stdout: stderr: mksh: <stdin>[2]: ${array[@]/%/-suffix}: bad substitution |
ash | 14 Append using replacement of % stdout: stderr: ash: syntax error: unexpected "(" |
mksh | 15 strip unquoted and quoted [ stdout: [foo] foo] [foo] foo]stderr: |
zsh | 15 strip unquoted and quoted [ stdout: stderr: zsh: bad pattern: [ |
mksh | 16 strip unquoted and quoted [] stdout: []foo[] foo[] []foo[] foo[]stderr: |
zsh | 16 strip unquoted and quoted [] stdout: []foo[] foo[] []foo[] foo[]stderr: |
dash | 19 Nested % and # operators (bug reported by Crestwave) stdout: ['\\n'] ['$\\n'] ['$'] [''] ['a'] ['a']stderr: |
zsh | 20 strip * (bug regression) stdout: ['abc'] [''] ['ab'] ['']stderr: |
dash | 24 strip all unicode stdout: μabcμ μabcμ μabcμ μabcμstderr: |
mksh | 24 strip all unicode stdout: μabcμ μabcμ μabcμ μabcμstderr: |
ash | 24 strip all unicode stdout: μabcμ μabcμ μabcμ μabcμstderr: |
zsh | 26 Strip Right Brace (#702) stdout: 1 $foo 2 10 }} 11 12 }'} 13stderr: |
dash | 28 extglob in pattern stdout: stderr: |
zsh | 28 extglob in pattern stdout: stderr: |
ash | 28 extglob in pattern stdout: stderr: |