spec test index / oilshell.org
status | dash | bash | mksh | zsh | osh | osh_ALT | |
pass | 13 | 12 | 12 | 12 | 14 | 14 | |
ok | 1 | 2 | 2 | 3 | 1 | 1 | |
BUG | 1 | 1 | 1 | 0 | 0 | 0 | |
total | 15 | 15 | 15 | 15 | 15 | 15 | |
case | dash | bash | mksh | zsh | osh | osh_ALT | description |
0 | pass | pass | pass | pass | pass | pass | Command block |
1 | pass | pass | pass | pass | pass | pass | Permission denied |
2 | pass | pass | pass | pass | pass | pass | Not a dir |
3 | ok | ok | pass | pass | pass | pass | Name too long |
details | details | ||||||
4 | pass | pass | pass | pass | pass | pass | External programs don't have _OVM in environment |
5 | pass | pass | pass | pass | pass | pass | File with no shebang is executed |
6 | pass | pass | pass | pass | pass | pass | File with relative path and no shebang is executed |
7 | pass | pass | pass | pass | pass | pass | File in relative subdirectory and no shebang is executed |
8 | pass | pass | pass | pass | pass | pass | $PATH lookup |
9 | pass | pass | pass | ok | pass | pass | filling $PATH cache, then insert the same command earlier in cache |
details | |||||||
10 | pass | pass | ok | ok | pass | pass | filling $PATH cache, then deleting command |
details | details | ||||||
11 | pass | pass | pass | pass | pass | pass | Non-executable on $PATH |
12 | pass | ok | ok | ok | pass | pass | hash without args prints the cache |
details | details | details | |||||
13 | pass | pass | BUG | pass | pass | pass | hash with args |
details | |||||||
14 | BUG | BUG | pass | pass | ok | ok | hash -r doesn't allow additional args |
details | details | details | details |
77 passed, 10 OK, 0 not implemented, 3 BUG, 0 failed, 0 timeouts, 0 cases skipped
dash | 3 Name too long stdout: stderr: dash: 1: ./0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789: File name too long |
bash | 3 Name too long stdout: stderr: bash: line 1: ./0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789: File name too long |
zsh | 9 filling $PATH cache, then insert the same command earlier in cache stdout: two one onestderr: zsh: no matches found: one/* |
mksh | 10 filling $PATH cache, then deleting command stdout: two status=0 one status=0stderr: |
zsh | 10 filling $PATH cache, then deleting command stdout: two status=0 one status=0stderr: |
bash | 12 hash without args prints the cache stdout: hits command 1 /usr/bin/whoami status=0stderr: |
mksh | 12 hash without args prints the cache stdout: whoami=/usr/bin/whoami status=0stderr: |
zsh | 12 hash without args prints the cache stdout: whoami=/usr/bin/whoami status=0stderr: |
mksh | 13 hash with args stdout: status=0 /whoami status=0stderr: |
dash | 14 hash -r doesn't allow additional args stdout: status=0stderr: |
bash | 14 hash -r doesn't allow additional args stdout: status=0stderr: |
osh | 14 hash -r doesn't allow additional args stdout: status=2stderr: hash -r whoami >/dev/null # avoid weird output with mksh ^~~~ [ stdin ]:1: 'hash' got extra arguments after -r |
osh_ALT | 14 hash -r doesn't allow additional args stdout: status=2stderr: hash -r whoami >/dev/null # avoid weird output with mksh ^~~~ [ stdin ]:1: 'hash' got extra arguments after -r |