spec test index / oilshell.org
status | dash | bash | mksh | ash | osh | osh_ALT | |
pass | 28 | 28 | 31 | 28 | 31 | 31 | |
N-I | 1 | 0 | 0 | 1 | 0 | 0 | |
BUG | 2 | 3 | 0 | 2 | 0 | 0 | |
total | 31 | 31 | 31 | 31 | 31 | 31 | |
case | dash | bash | mksh | ash | osh | osh_ALT | description |
0 | pass | pass | pass | pass | pass | pass | errexit aborts early |
1 | pass | pass | pass | pass | pass | pass | errexit for nonexistent command |
2 | pass | pass | pass | pass | pass | pass | errexit aborts early on pipeline |
3 | pass | pass | pass | pass | pass | pass | errexit with { } |
4 | pass | pass | pass | pass | pass | pass | errexit with if and { } |
5 | pass | pass | pass | pass | pass | pass | errexit with || |
6 | pass | pass | pass | pass | pass | pass | errexit with && |
7 | pass | pass | pass | pass | pass | pass | errexit test && -- from gen-module-init |
8 | pass | pass | pass | pass | pass | pass | errexit test && and fail |
9 | pass | pass | pass | pass | pass | pass | errexit and loop |
10 | pass | pass | pass | pass | pass | pass | errexit and brace group { } |
11 | pass | pass | pass | pass | pass | pass | errexit and time { } |
12 | pass | pass | pass | pass | pass | pass | errexit with ! |
13 | pass | pass | pass | pass | pass | pass | errexit with ! and ; |
14 | pass | pass | pass | pass | pass | pass | errexit with while/until |
15 | N-I | pass | pass | N-I | pass | pass | errexit with (( )) |
details | details | ||||||
16 | pass | pass | pass | pass | pass | pass | errexit with subshell |
17 | pass | pass | pass | pass | pass | pass | set -o errexit while it's being ignored (moot with strict_errexit) |
18 | pass | pass | pass | pass | pass | pass | set +o errexit while it's being ignored (moot with strict_errexit) |
19 | pass | pass | pass | pass | pass | pass | set +o errexit with 2 levels of ignored |
20 | pass | pass | pass | pass | pass | pass | setting errexit in a subshell works but doesn't affect parent shell |
21 | pass | pass | pass | pass | pass | pass | set errexit while it's ignored in a subshell (moot with strict_errexit) |
22 | pass | pass | pass | pass | pass | pass | shopt -s strict:all || true while errexit is on |
23 | pass | pass | pass | pass | pass | pass | errexit double guard |
24 | pass | pass | pass | pass | pass | pass | background processes respect errexit |
25 | pass | pass | pass | pass | pass | pass | pipeline process respects errexit |
26 | BUG | BUG | pass | BUG | pass | pass | compound command |
details | details | details | |||||
27 | BUG | BUG | pass | BUG | pass | pass | while loop |
details | details | details | |||||
28 | pass | pass | pass | pass | pass | pass | set -e enabled in function (regression) |
29 | pass | BUG | pass | pass | pass | pass | set -e in function #2 |
details | |||||||
30 | pass | pass | pass | pass | pass | pass | Command sub exit code is lost |
177 passed, 0 OK, 2 not implemented, 7 BUG, 0 failed, 0 timeouts, 0 cases skipped
dash | 15 errexit with (( )) stdout: stderr: dash: 3: i++: not found |
ash | 15 errexit with (( )) stdout: stderr: ash: i++: not found |
dash | 26 compound command stdout: status=2 should not get herestderr: dash: 3: cannot open not_exist.txt: No such file |
bash | 26 compound command stdout: status=1 should not get herestderr: bash: line 3: not_exist.txt: No such file or directory |
ash | 26 compound command stdout: status=1 should not get herestderr: ash: can't open not_exist.txt: no such file |
dash | 27 while loop stdout: status=2 should not get herestderr: dash: 3: cannot open not_exist.txt: No such file |
bash | 27 while loop stdout: status=1 should not get herestderr: bash: line 5: not_exist.txt: No such file or directory |
ash | 27 while loop stdout: status=1 should not get herestderr: ash: can't open not_exist.txt: no such file |
bash | 29 set -e in function #2 stdout: stderr: |