spec test index / oilshell.org
| status | dash | bash | mksh | zsh | ash | osh | |
| pass | 21 | 29 | 20 | 23 | 22 | 29 | |
| ok | 0 | 0 | 2 | 1 | 0 | 0 | |
| N-I | 6 | 0 | 5 | 1 | 5 | 0 | |
| BUG | 2 | 0 | 2 | 4 | 2 | 0 | |
| total | 29 | 29 | 29 | 29 | 29 | 29 | |
| case | dash | bash | mksh | zsh | ash | osh | description |
| 0 | pass | pass | pass | pass | pass | pass | Remove const suffix |
| 1 | pass | pass | pass | pass | pass | pass | Remove const prefix |
| 2 | N-I | pass | N-I | pass | N-I | pass | Remove const suffix is vectorized on user array |
| details | details | details | |||||
| 3 | N-I | pass | N-I | pass | N-I | pass | Remove const suffix is vectorized on $@ array |
| details | details | details | |||||
| 4 | pass | pass | pass | pass | pass | pass | Remove const suffix from undefined |
| 5 | pass | pass | pass | pass | pass | pass | Remove shortest glob suffix |
| 6 | pass | pass | pass | pass | pass | pass | Remove longest glob suffix |
| 7 | pass | pass | pass | pass | pass | pass | Remove shortest glob prefix |
| 8 | pass | pass | pass | pass | pass | pass | Remove longest glob prefix |
| 9 | pass | pass | N-I | pass | pass | pass | Strip char class |
| details | |||||||
| 10 | BUG | pass | BUG | BUG | BUG | pass | Strip unicode prefix |
| details | details | details | details | ||||
| 11 | pass | pass | pass | pass | pass | pass | Bug fix: Test that you can remove everything with glob |
| 12 | pass | pass | pass | pass | pass | pass | Test that you can remove everything with const |
| 13 | N-I | pass | N-I | pass | N-I | pass | Prepend using replacement of # |
| details | details | details | |||||
| 14 | N-I | pass | N-I | pass | N-I | pass | Append using replacement of % |
| details | details | details | |||||
| 15 | pass | pass | ok | BUG | pass | pass | strip unquoted and quoted [ |
| details | details | ||||||
| 16 | pass | pass | ok | ok | pass | pass | strip unquoted and quoted [] |
| details | details | ||||||
| 17 | pass | pass | pass | pass | pass | pass | strip unquoted and quoted ? |
| 18 | pass | pass | pass | pass | pass | pass | strip unquoted and quoted [a] |
| 19 | N-I | pass | pass | pass | pass | pass | Nested % and # operators (bug reported by Crestwave) |
| details | |||||||
| 20 | pass | pass | pass | BUG | pass | pass | strip * (bug regression) |
| details | |||||||
| 21 | pass | pass | pass | pass | pass | pass | strip ? |
| 22 | pass | pass | pass | pass | pass | pass | strip all |
| 23 | pass | pass | pass | pass | pass | pass | strip none |
| 24 | BUG | pass | BUG | pass | BUG | pass | strip all unicode |
| details | details | details | |||||
| 25 | pass | pass | pass | pass | pass | pass | strip none unicode |
| 26 | pass | pass | pass | BUG | pass | pass | Strip Right Brace (#702) |
| details | |||||||
| 27 | pass | pass | pass | pass | pass | pass | \(\) in pattern (regression) |
| 28 | N-I | pass | pass | N-I | N-I | pass | extglob in pattern |
| details | details | details |
144 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: |