status | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | |
pass | 6 | 1 | 1 | 1 | 6 | 6 | 0 | 4 | 5 | 4 | |
ok-2 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | |
ok | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
N-I | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
BUG | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | |
FAIL | 0 | 7 | 8 | 7 | 0 | 3 | 9 | 5 | 4 | 5 | |
total | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | |
case | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | description |
0 | pass | FAIL | FAIL | FAIL | pass | pass | FAIL | pass | pass | FAIL | typeset a[3]=4 |
details | details | details | details | details | |||||||
1 | pass | FAIL | FAIL | FAIL | pass | pass | FAIL | pass | FAIL | FAIL | typeset -a a[1]=a a[3]=c |
details | details | details | details | details | details | ||||||
2 | pass | FAIL | FAIL | FAIL | pass | pass | FAIL | pass | pass | FAIL | local a[3]=4 |
details | details | details | details | details | |||||||
3 | N-I | FAIL | FAIL | FAIL | pass | pass | FAIL | pass | pass | FAIL | readonly a[7]=8 |
details | details | details | details | details | details | ||||||
4 | pass | FAIL | FAIL | FAIL | BUG | FAIL | FAIL | FAIL | FAIL | FAIL | export a[7]=8 |
details | details | details | details | details | details | details | details | details | |||
5 | pass | N-I | FAIL | pass | pass | pass | FAIL | FAIL | pass | pass | 'builtin' prefix is allowed on assignments |
details | details | details | details | ||||||||
6 | pass | pass | pass | N-I | pass | pass | FAIL | FAIL | FAIL | pass | 'command' prefix is allowed on assignments |
details | details | details | details | ||||||||
7 | ok | FAIL | FAIL | FAIL | ok-2 | FAIL | FAIL | FAIL | pass | pass | is 'builtin' prefix and array allowed? OSH is smarter |
details | details | details | details | details | details | details | details | ||||
8 | ok | FAIL | FAIL | FAIL | ok-2 | FAIL | FAIL | FAIL | FAIL | pass | is 'command' prefix and array allowed? OSH is smarter |
details | details | details | details | details | details | details | details | details |
34 passed, 4 OK, 3 not implemented, 1 BUG, 48 failed, 0 timeouts, 0 cases skipped 5 failed under osh
dash | 0 typeset a[3]=4 [dash stdout] Expected "status=0\n['3', '5', '4', '6']\n", got 'status=127\n' [dash status] Expected 0, got 2 stdout: status=127stderr: dash: 1: typeset: not found dash: 3: Bad substitution |
ash | 0 typeset a[3]=4 [ash stdout] Expected "status=0\n['3', '5', '4', '6']\n", got 'status=127\n' [ash status] Expected 0, got 2 stdout: status=127stderr: ash: typeset: not found ash: syntax error: bad substitution |
zsh | 0 typeset a[3]=4 [zsh stdout] Expected "status=0\n['3', '5', '4', '6']\n", got 'status=0\n' [zsh status] Expected 0, got 1 stdout: status=0stderr: zsh: bad substitution |
toysh | 0 typeset a[3]=4 [toysh stdout] Expected "status=0\n['3', '5', '4', '6']\n", got "status=127\n['', '']\n" stdout: status=127 ['', '']stderr: sh: typeset: No such file or directory |
osh | 0 typeset a[3]=4 [osh stdout] Expected "status=0\n['3', '5', '4', '6']\n", got '' [osh status] Expected 0, got 1 stdout: stderr: typeset a[3]=4 a[5]=6 ^~ [ stdin ]:1: fatal: Assignment builtin expected NAME=value, got 'a[3]=4' |
dash | 1 typeset -a a[1]=a a[3]=c [dash stdout] Expected "['x', 'z']\n", got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 1: typeset: not found dash: 2: Bad substitution |
ash | 1 typeset -a a[1]=a a[3]=c [ash stdout] Expected "['x', 'z']\n", got '' [ash status] Expected 0, got 2 stdout: stderr: ash: typeset: not found ash: syntax error: bad substitution |
zsh | 1 typeset -a a[1]=a a[3]=c [zsh stdout] Expected "['x', 'z']\n", got '' [zsh status] Expected 0, got 1 stdout: stderr: typeset: a[1*1]: inconsistent type for assignment |
toysh | 1 typeset -a a[1]=a a[3]=c [toysh stdout] Expected "['x', 'z']\n", got "['']\n" stdout: ['']stderr: sh: typeset: No such file or directory |
brush | 1 typeset -a a[1]=a a[3]=c [brush stdout] Expected "['x', 'z']\n", got "['z']\n" stdout: ['z']stderr: |
osh | 1 typeset -a a[1]=a a[3]=c [osh stdout] Expected "['x', 'z']\n", got '' [osh status] Expected 0, got 1 stdout: stderr: typeset -a a[1*1]=x a[1+2]=z ^~ [ stdin ]:1: fatal: Assignment builtin expected NAME=value, got 'a[1*1]=x' |
dash | 2 local a[3]=4 [dash stdout] Expected "status=0\n['3', '5', '4', '6']\n", got 'status=0\n' [dash status] Expected 0, got 2 stdout: status=0stderr: dash: 4: Bad substitution dash: 4: a[5]: bad variable name |
ash | 2 local a[3]=4 [ash stdout] Expected "status=0\n['3', '5', '4', '6']\n", got 'status=0\n' [ash status] Expected 0, got 2 stdout: status=0stderr: ash: syntax error: bad substitution |
zsh | 2 local a[3]=4 [zsh stdout] Expected "status=0\n['3', '5', '4', '6']\n", got '' [zsh status] Expected 0, got 1 stdout: stderr: f:local:1: a[3]: can't create local array elements |
toysh | 2 local a[3]=4 [toysh stdout] Expected "status=0\n['3', '5', '4', '6']\n", got "status=1\n['', '']\n" stdout: status=1 ['', '']stderr: local: bad a[3]=4 local: bad a[5]=6 |
osh | 2 local a[3]=4 [osh stdout] Expected "status=0\n['3', '5', '4', '6']\n", got '' [osh status] Expected 0, got 1 stdout: stderr: local a[3]=4 a[5]=6 ^~ [ stdin ]:2: fatal: Assignment builtin expected NAME=value, got 'a[3]=4' |
bash | 3 readonly a[7]=8 stdout: status=1 []stderr: bash: line 1: readonly: `b[7]': not a valid identifier |
dash | 3 readonly a[7]=8 [dash stdout] Expected "status=0\n['7', '8']\n", got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 1: readonly: b[7]: bad variable name |
ash | 3 readonly a[7]=8 [ash stdout] Expected "status=0\n['7', '8']\n", got '' [ash status] Expected 0, got 2 stdout: stderr: ash: readonly: line 1: b[7]: bad variable name |
zsh | 3 readonly a[7]=8 [zsh stdout] Expected "status=0\n['7', '8']\n", got '' [zsh status] Expected 0, got 1 stdout: stderr: readonly: b[7]: can't create readonly array elements |
toysh | 3 readonly a[7]=8 [toysh stdout] Expected "status=0\n['7', '8']\n", got "status=127\n['', '']\n" stdout: status=127 ['', '']stderr: sh: readonly: No such file or directory |
osh | 3 readonly a[7]=8 [osh stdout] Expected "status=0\n['7', '8']\n", got '' [osh status] Expected 0, got 1 stdout: stderr: readonly b[7]=8 ^~ [ stdin ]:1: fatal: Assignment builtin expected NAME=value, got 'b[7]=8' |
dash | 4 export a[7]=8 [dash stdout] Expected 'status=1\n[]\nNone\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 1: export: a[7]: bad variable name |
ash | 4 export a[7]=8 [ash stdout] Expected 'status=1\n[]\nNone\n', got '' [ash status] Expected 0, got 2 stdout: stderr: ash: export: line 1: a[7]: bad variable name |
zsh | 4 export a[7]=8 [zsh stdout] Expected 'status=1\n[]\nNone\n', got 'status=0\n' [zsh status] Expected 0, got 1 stdout: status=0stderr: zsh: bad substitution |
mksh | 4 export a[7]=8 stdout: status=0 ['7', '8'] Nonestderr: |
ksh | 4 export a[7]=8 [ksh stdout] Expected 'status=1\n[]\nNone\n', got "status=0\n['7', '8']\nNone\n" stdout: status=0 ['7', '8'] Nonestderr: |
toysh | 4 export a[7]=8 [toysh stdout] Expected 'status=1\n[]\nNone\n', got "status=1\n['', '']\nNone\n" stdout: status=1 ['', ''] Nonestderr: export: bad a[7]=8 |
sush | 4 export a[7]=8 [sush stdout] Expected 'status=1\n[]\nNone\n', got "status=0\n['7', '8']\n\n" stdout: status=0 ['7', '8']stderr: |
brush | 4 export a[7]=8 [brush stdout] Expected 'status=1\n[]\nNone\n', got 'status=2\n[]\nNone\n' stdout: status=2 [] Nonestderr: not a valid variable name |
osh | 4 export a[7]=8 [osh stdout] Expected 'status=2\n[]\nNone\n', got '' [osh status] Expected 0, got 1 stdout: stderr: export a[7]=8 ^~ [ stdin ]:1: fatal: Assignment builtin expected NAME=value, got 'a[7]=8' |
dash | 5 'builtin' prefix is allowed on assignments stdout: e=stderr: dash: 1: builtin: not found |
ash | 5 'builtin' prefix is allowed on assignments [ash stdout] Expected 'e=E\n', got 'e=\n' stdout: e=stderr: ash: builtin: not found |
toysh | 5 'builtin' prefix is allowed on assignments [toysh stdout] Expected 'e=E\n', got 'e=\n' stdout: e=stderr: sh: builtin: No such file or directory |
sush | 5 'builtin' prefix is allowed on assignments [sush stdout] Expected 'e=E\n', got 'e=\n' stdout: e=stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: builtin: export: not a shell builtin |
zsh | 6 'command' prefix is allowed on assignments stdout: r1=R1 r2=stderr: zsh: command not found: readonly |
toysh | 6 'command' prefix is allowed on assignments [toysh stdout] Expected 'r1=R1\nr2=R2\n', got 'r1=\nr2=\n' stdout: r1= r2=stderr: sh: readonly: No such file or directory sh: command: No such file or directory |
sush | 6 'command' prefix is allowed on assignments [sush stdout] Expected 'r1=R1\nr2=R2\n', got 'declare -ar BASH_VERSINFO=([0]="1" [1]="1" [2]="8" [3]="rusty_bash" [4]="release" [5]="x86_64-unknown-linux")\ndeclare -r UID=1000\ndeclare -r r1=R1\nr1=R1\nr2=\n' stdout: declare -ar BASH_VERSINFO=([0]="1" [1]="1" [2]="8" [3]="rusty_bash" [4]="release" [5]="x86_64-unknown-linux") declare -r UID=1000 declare -r r1=R1 r1=R1 r2=stderr: |
brush | 6 'command' prefix is allowed on assignments [brush stdout] Expected 'r1=R1\nr2=R2\n', got 'r1=R1\nr2=\n' stdout: r1=R1 r2=stderr: |
bash | 7 is 'builtin' prefix and array allowed? OSH is smarter stdout: stderr: bash: line 1: syntax error near unexpected token `(' bash: line 1: `builtin typeset a=(1 2 3)' |
dash | 7 is 'builtin' prefix and array allowed? OSH is smarter [dash stdout] Expected 'len=3\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 1: Syntax error: "(" unexpected |
ash | 7 is 'builtin' prefix and array allowed? OSH is smarter [ash stdout] Expected 'len=3\n', got '' [ash status] Expected 0, got 2 stdout: stderr: ash: syntax error: unexpected "(" |
zsh | 7 is 'builtin' prefix and array allowed? OSH is smarter [zsh stdout] Expected 'len=3\n', got '' [zsh status] Expected 0, got 1 stdout: stderr: zsh: unknown file attribute: |
mksh | 7 is 'builtin' prefix and array allowed? OSH is smarter stdout: stderr: mksh: <stdin>[1]: syntax error: '(' unexpected |
ksh | 7 is 'builtin' prefix and array allowed? OSH is smarter [ksh stdout] Expected 'len=3\n', got '' [ksh status] Expected 0, got 1 stdout: stderr: E: ksh: <stdin>[1]: syntax error: unexpected '(' |
toysh | 7 is 'builtin' prefix and array allowed? OSH is smarter [toysh stdout] Expected 'len=3\n', got '' [toysh status] Expected 0, got 2 stdout: stderr: main: line 1: sh: syntax error: ) |
sush | 7 is 'builtin' prefix and array allowed? OSH is smarter [sush stdout] Expected 'len=3\n', got 'len=0\n' stdout: len=0stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: Unexpected token: (1 |
bash | 8 is 'command' prefix and array allowed? OSH is smarter stdout: stderr: bash: line 1: syntax error near unexpected token `(' bash: line 1: `command typeset a=(1 2 3)' |
dash | 8 is 'command' prefix and array allowed? OSH is smarter [dash stdout] Expected 'len=3\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 1: Syntax error: "(" unexpected |
ash | 8 is 'command' prefix and array allowed? OSH is smarter [ash stdout] Expected 'len=3\n', got '' [ash status] Expected 0, got 2 stdout: stderr: ash: syntax error: unexpected "(" |
zsh | 8 is 'command' prefix and array allowed? OSH is smarter [zsh stdout] Expected 'len=3\n', got 'len=0\n' stdout: len=0stderr: zsh: unknown file attribute: |
mksh | 8 is 'command' prefix and array allowed? OSH is smarter stdout: stderr: mksh: <stdin>[1]: syntax error: '(' unexpected |
ksh | 8 is 'command' prefix and array allowed? OSH is smarter [ksh stdout] Expected 'len=3\n', got '' [ksh status] Expected 0, got 1 stdout: stderr: E: ksh: <stdin>[1]: syntax error: unexpected '(' |
toysh | 8 is 'command' prefix and array allowed? OSH is smarter [toysh stdout] Expected 'len=3\n', got '' [toysh status] Expected 0, got 2 stdout: stderr: main: line 1: sh: syntax error: ) |
sush | 8 is 'command' prefix and array allowed? OSH is smarter [sush stdout] Expected 'len=3\n', got 'len=0\n' stdout: len=0stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: Unexpected token: (1 |
brush | 8 is 'command' prefix and array allowed? OSH is smarter [brush stdout] Expected 'len=3\n', got 'len=0\n' stdout: len=0stderr: |