spec test index / oilshell.org
case | dash | bash | mksh | osh | osh_ALT | description |
0 | pass | ok | ok | pass | pass | $- with -c |
details | details | |||||
1 | N-I | ok | ok | pass | pass | $- with pipefail |
details | details | details | ||||
2 | pass | pass | pass | pass | pass | sh -c |
3 | pass | pass | pass | pass | pass | empty -c input |
4 | pass | pass | pass | pass | pass | empty stdin |
5 | pass | pass | pass | pass | pass | args are passed |
6 | pass | pass | pass | pass | pass | args that look like flags are passed after script |
7 | pass | pass | pass | pass | pass | args that look like flags are passed after -c |
8 | pass | pass | pass | pass | pass | pass short options on command line |
9 | pass | pass | pass | pass | pass | pass long options on command line |
10 | BUG | pass | BUG | pass | pass | can continue after unknown option |
details | details | |||||
11 | pass | pass | pass | pass | pass | set with both options and argv |
12 | ok | pass | pass | pass | pass | nounset |
details | ||||||
13 | ok | pass | pass | pass | pass | -u is nounset |
details | ||||||
14 | pass | pass | pass | pass | pass | nounset with "$@" |
15 | pass | pass | pass | pass | pass | set -u -- clears argv |
16 | pass | pass | pass | pass | pass | set -u -- x y z |
17 | pass | pass | pass | pass | pass | reset option with long flag |
18 | pass | pass | pass | pass | pass | reset option with short flag |
19 | ok | pass | pass | pass | pass | set -eu (flag parsing) |
details | ||||||
20 | pass | pass | pass | FAIL | FAIL | -n for no execution (useful with --ast-output) |
details | details | |||||
21 | pass | pass | pass | FAIL | FAIL | xtrace |
details | details | |||||
22 | N-I | pass | pass | pass | pass | pipefail |
details | ||||||
23 | N-I | pass | N-I | pass | pass | shopt -p -o |
details | details | |||||
24 | N-I | pass | N-I | pass | pass | shopt -p |
details | details |
106 passed, 7 ok, 6 known unimplemented, 2 known bugs, 2 failed, 0 skipped
bash | 0 $- with -c stdout: huBcstderr: |
mksh | 0 $- with -c stdout: uhcstderr: |
dash | 1 $- with pipefail stdout: stderr: /bin/dash: 1: set: Illegal option -o pipefail |
bash | 1 $- with pipefail stdout: huBstderr: |
mksh | 1 $- with pipefail stdout: ushstderr: |
dash | 10 can continue after unknown option stdout: stderr: /bin/dash: 2: set: Illegal option -o STRICT |
mksh | 10 can continue after unknown option stdout: stderr: /bin/mksh: <stdin>[2]: set: STRICT: bad option |
dash | 12 nounset stdout: []stderr: /bin/dash: 3: unset: parameter not set |
dash | 13 -u is nounset stdout: []stderr: /bin/dash: 3: unset: parameter not set |
dash | 19 set -eu (flag parsing) stdout: stderr: /bin/dash: 2: unset: parameter not set |
osh | 20 -n for no execution (useful with --ast-output) [osh stdout] Expected u'1\n', got '1\n2\n3\n' stdout: 1 2 3stderr: |
osh_ALT | 20 -n for no execution (useful with --ast-output) [osh_ALT stdout] Expected u'1\n', got '1\n2\n3\n' stdout: 1 2 3stderr: |
osh | 21 xtrace [osh stderr] Expected '+ echo 2\n', got "+ ['echo', '2']\n" stdout: 1 2stderr: + ['echo', '2'] |
osh_ALT | 21 xtrace [osh_ALT stderr] Expected '+ echo 2\n', got "+ ['echo', '2']\n" stdout: 1 2stderr: + ['echo', '2'] |
dash | 22 pipefail stdout: 0stderr: /bin/dash: 3: set: Illegal option -o pipefail |
dash | 23 shopt -p -o stdout: stderr: /bin/dash: 1: shopt: not found /bin/dash: 3: shopt: not found |
mksh | 23 shopt -p -o stdout: stderr: /bin/mksh: <stdin>[1]: shopt: not found /bin/mksh: <stdin>[3]: shopt: not found |
dash | 24 shopt -p stdout: stderr: /bin/dash: 1: shopt: not found /bin/dash: 2: shopt: not found /bin/dash: 3: shopt: not found |
mksh | 24 shopt -p stdout: stderr: /bin/mksh: <stdin>[1]: shopt: not found /bin/mksh: <stdin>[2]: shopt: not found /bin/mksh: <stdin>[3]: shopt: not found |