status | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | |
pass | 4 | 0 | 0 | 0 | 1 | 3 | 0 | 1 | 2 | 1 | |
N-I | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | |
BUG | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | |
FAIL | 0 | 4 | 4 | 4 | 0 | 0 | 4 | 3 | 2 | 3 | |
total | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | |
case | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | description |
0 | pass | FAIL | FAIL | FAIL | pass | pass | FAIL | pass | pass | pass | K and V are variables in (( array[K] = V )) |
details | details | details | details | ||||||||
1 | pass | FAIL | FAIL | FAIL | BUG | pass | FAIL | FAIL | pass | FAIL | test -v with strings |
details | details | details | details | details | details | details | |||||
2 | pass | FAIL | FAIL | FAIL | BUG | pass | FAIL | FAIL | FAIL | FAIL | test -v with arrays |
details | details | details | details | details | details | details | details | ||||
3 | pass | FAIL | FAIL | FAIL | BUG | N-I | FAIL | FAIL | FAIL | FAIL | test -v with assoc arrays |
details | details | details | details | details | details | details | details | details |
12 passed, 0 OK, 1 not implemented, 3 BUG, 24 failed, 0 timeouts, 0 cases skipped 3 failed under osh
dash | 0 K and V are variables in (( array[K] = V )) [dash stdout] Expected 'array[5]=42\nkeys = 5\nvalues = 42\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 3: typeset: not found dash: 4: array[K]: not found dash: 6: Bad substitution |
ash | 0 K and V are variables in (( array[K] = V )) [ash stdout] Expected 'array[5]=42\nkeys = 5\nvalues = 42\n', got '' [ash status] Expected 0, got 2 stdout: stderr: ash: typeset: not found ash: array[K]: not found ash: syntax error: bad substitution |
zsh | 0 K and V are variables in (( array[K] = V )) [zsh stdout] Expected 'array[5]=42\nkeys = 5\nvalues = 42\n', got '' [zsh status] Expected 0, got 1 stdout: stderr: zsh: no matches found: array[5]=42 |
toysh | 0 K and V are variables in (( array[K] = V )) [toysh stdout] Expected 'array[5]=42\nkeys = 5\nvalues = 42\n', got 'array[5]=\nkeys =\nvalues =\n' stdout: array[5]= keys = values =stderr: sh: typeset: No such file or directory main: line 4: sh: bad math: array[K] = V @ 6 |
dash | 1 test -v with strings [dash stdout] Expected 'str=1\nstr=0\n', got 'str=2\nstr=2\n' stdout: str=2 str=2stderr: dash: 1: test: -v: unexpected operator dash: 6: test: -v: unexpected operator |
ash | 1 test -v with strings [ash stdout] Expected 'str=1\nstr=0\n', got 'str=2\nstr=2\n' stdout: str=2 str=2stderr: ash: str: unknown operand ash: str: unknown operand |
zsh | 1 test -v with strings [zsh stdout] Expected 'str=1\nstr=0\n', got 'str=2\nstr=2\n' stdout: str=2 str=2stderr: test: unknown condition: -v test: unknown condition: -v |
mksh | 1 test -v with strings stdout: str=2 str=2stderr: mksh: <stdin>[1]: test: str: unexpected operator/operand mksh: <stdin>[6]: test: str: unexpected operator/operand |
toysh | 1 test -v with strings [toysh stdout] Expected 'str=1\nstr=0\n', got 'str=2\nstr=2\n' stdout: str=2 str=2stderr: test: too many arguments test: too many arguments |
sush | 1 test -v with strings [sush stdout] Expected 'str=1\nstr=0\n', got 'str=2\nstr=2\n' stdout: str=2 str=2stderr: test: ‘-v’: unary operator expected test: ‘-v’: unary operator expected |
osh | 1 test -v with strings [osh stdout] Expected 'str=1\nstr=0\n', got 'str=0\nstr=0\n' stdout: str=0 str=0stderr: |
dash | 2 test -v with arrays [dash stdout] Expected 'a=1\na[0]=1\n\na=0\na[0]=0\n\na[1]=1\na[x]=0\n\n', got 'a=2\na[0]=2\n\na=2\na[0]=2\n\na[1]=2\na[x]=2\n\n' stdout: a=2 a[0]=2 a=2 a[0]=2 a[1]=2 a[x]=2stderr: dash: 1: typeset: not found dash: 3: test: -v: unexpected operator dash: 5: test: -v: unexpected operator dash: 9: a[0]=1: not found dash: 11: test: -v: unexpected operator dash: 13: test: -v: unexpected operator dash: 17: test: -v: unexpected operator dash: 20: test: -v: unexpected operator |
ash | 2 test -v with arrays [ash stdout] Expected 'a=1\na[0]=1\n\na=0\na[0]=0\n\na[1]=1\na[x]=0\n\n', got 'a=2\na[0]=2\n\na=2\na[0]=2\n\na[1]=2\na[x]=2\n\n' stdout: a=2 a[0]=2 a=2 a[0]=2 a[1]=2 a[x]=2stderr: ash: typeset: not found ash: a: unknown operand ash: a[0]: unknown operand ash: a[0]=1: not found ash: a: unknown operand ash: a[0]: unknown operand ash: a[1]: unknown operand ash: a[x]: unknown operand |
zsh | 2 test -v with arrays [zsh stdout] Expected 'a=1\na[0]=1\n\na=0\na[0]=0\n\na[1]=1\na[x]=0\n\n', got 'a=2\na[0]=2\n\n' [zsh status] Expected 0, got 1 stdout: a=2 a[0]=2stderr: test: unknown condition: -v test: unknown condition: -v zsh: a: assignment to invalid subscript range |
mksh | 2 test -v with arrays stdout: a=2 a[0]=2 a=2 a[0]=2 a[1]=2 a[x]=2stderr: mksh: <stdin>[3]: test: a: unexpected operator/operand mksh: <stdin>[5]: test: a[0]: unexpected operator/operand mksh: <stdin>[11]: test: a: unexpected operator/operand mksh: <stdin>[13]: test: a[0]: unexpected operator/operand mksh: <stdin>[17]: test: a[1]: unexpected operator/operand mksh: <stdin>[20]: test: a[x]: unexpected operator/operand |
toysh | 2 test -v with arrays [toysh stdout] Expected 'a=1\na[0]=1\n\na=0\na[0]=0\n\na[1]=1\na[x]=0\n\n', got 'a=2\na[0]=2\n\na=2\na[0]=2\n\na[1]=2\na[x]=2\n\n' stdout: a=2 a[0]=2 a=2 a[0]=2 a[1]=2 a[x]=2stderr: sh: typeset: No such file or directory test: too many arguments test: too many arguments sh: a[0]=1: No such file or directory test: too many arguments test: too many arguments test: too many arguments test: too many arguments |
sush | 2 test -v with arrays [sush stdout] Expected 'a=1\na[0]=1\n\na=0\na[0]=0\n\na[1]=1\na[x]=0\n\n', got 'a=2\na[0]=2\n\na=2\na[0]=2\n\na[1]=2\na[x]=2\n\n' stdout: a=2 a[0]=2 a=2 a[0]=2 a[1]=2 a[x]=2stderr: test: ‘-v’: unary operator expected test: ‘-v’: unary operator expected test: ‘-v’: unary operator expected test: ‘-v’: unary operator expected test: ‘-v’: unary operator expected test: ‘-v’: unary operator expected |
brush | 2 test -v with arrays [brush stdout] Expected 'a=1\na[0]=1\n\na=0\na[0]=0\n\na[1]=1\na[x]=0\n\n', got 'a=1\na[0]=1\n\na=0\na[0]=1\n\na[1]=1\na[x]=1\n\n' stdout: a=1 a[0]=1 a=0 a[0]=1 a[1]=1 a[x]=1stderr: |
osh | 2 test -v with arrays [osh stdout] Expected 'a=1\na[0]=1\n\na=0\na[0]=0\n\na[1]=1\na[x]=0\n\n', got 'a=0\na[0]=1\n\na=0\na[0]=0\n\na[1]=1\na[x]=1\n\n' stdout: a=0 a[0]=1 a=0 a[0]=0 a[1]=1 a[x]=1stderr: |
dash | 3 test -v with assoc arrays [dash stdout] Expected 'A=1\nA[0]=1\n\nA=0\nA[0]=0\n\nA[1]=1\nA[x]=1\n\n', got 'A=2\nA[0]=2\n\nA=2\nA[0]=2\n\nA[1]=2\nA[x]=2\n\n' stdout: A=2 A[0]=2 A=2 A[0]=2 A[1]=2 A[x]=2stderr: dash: 1: typeset: not found dash: 3: test: -v: unexpected operator dash: 5: test: -v: unexpected operator dash: 9: A[0]=x: not found dash: 11: test: -v: unexpected operator dash: 13: test: -v: unexpected operator dash: 17: test: -v: unexpected operator dash: 20: test: -v: unexpected operator |
ash | 3 test -v with assoc arrays [ash stdout] Expected 'A=1\nA[0]=1\n\nA=0\nA[0]=0\n\nA[1]=1\nA[x]=1\n\n', got 'A=2\nA[0]=2\n\nA=2\nA[0]=2\n\nA[1]=2\nA[x]=2\n\n' stdout: A=2 A[0]=2 A=2 A[0]=2 A[1]=2 A[x]=2stderr: ash: typeset: not found ash: A: unknown operand ash: A[0]: unknown operand ash: A[0]=x: not found ash: A: unknown operand ash: A[0]: unknown operand ash: A[1]: unknown operand ash: A[x]: unknown operand |
zsh | 3 test -v with assoc arrays [zsh stdout] Expected 'A=1\nA[0]=1\n\nA=0\nA[0]=0\n\nA[1]=1\nA[x]=1\n\n', got 'A=2\nA[0]=2\n\nA=2\nA[0]=2\n\nA[1]=2\nA[x]=2\n\n' stdout: A=2 A[0]=2 A=2 A[0]=2 A[1]=2 A[x]=2stderr: test: unknown condition: -v test: unknown condition: -v test: unknown condition: -v test: unknown condition: -v test: unknown condition: -v test: unknown condition: -v |
mksh | 3 test -v with assoc arrays stdout: A=2 A[0]=2 A=2 A[0]=2 A[1]=2 A[x]=2stderr: mksh: <stdin>[1]: typeset: -A: unknown option mksh: <stdin>[3]: test: A: unexpected operator/operand mksh: <stdin>[5]: test: A[0]: unexpected operator/operand mksh: <stdin>[11]: test: A: unexpected operator/operand mksh: <stdin>[13]: test: A[0]: unexpected operator/operand mksh: <stdin>[17]: test: A[1]: unexpected operator/operand mksh: <stdin>[20]: test: A[x]: unexpected operator/operand |
ksh | 3 test -v with assoc arrays stdout: A=1 A[0]=1 A=1 A[0]=1 A[1]=1 A[x]=1stderr: E: ksh: <stdin>[1]: typeset: -A: unknown option |
toysh | 3 test -v with assoc arrays [toysh stdout] Expected 'A=1\nA[0]=1\n\nA=0\nA[0]=0\n\nA[1]=1\nA[x]=1\n\n', got 'A=2\nA[0]=2\n\nA=2\nA[0]=2\n\nA[1]=2\nA[x]=2\n\n' stdout: A=2 A[0]=2 A=2 A[0]=2 A[1]=2 A[x]=2stderr: sh: typeset: No such file or directory test: too many arguments test: too many arguments sh: A[0]=x: No such file or directory test: too many arguments test: too many arguments test: too many arguments test: too many arguments |
sush | 3 test -v with assoc arrays [sush stdout] Expected 'A=1\nA[0]=1\n\nA=0\nA[0]=0\n\nA[1]=1\nA[x]=1\n\n', got 'A=2\nA[0]=2\n\nA=2\nA[0]=2\n\nA[1]=2\nA[x]=2\n\n' stdout: A=2 A[0]=2 A=2 A[0]=2 A[1]=2 A[x]=2stderr: test: ‘-v’: unary operator expected test: ‘-v’: unary operator expected /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 9: '0': syntax error: operand expected (error token is "'0'") test: ‘-v’: unary operator expected test: ‘-v’: unary operator expected test: ‘-v’: unary operator expected test: ‘-v’: unary operator expected |
brush | 3 test -v with assoc arrays [brush stdout] Expected 'A=1\nA[0]=1\n\nA=0\nA[0]=0\n\nA[1]=1\nA[x]=1\n\n', got 'A=1\nA[0]=1\n\nA=0\nA[0]=1\n\nA[1]=1\nA[x]=1\n\n' stdout: A=1 A[0]=1 A=0 A[0]=1 A[1]=1 A[x]=1stderr: |
osh | 3 test -v with assoc arrays [osh stdout] Expected 'A=1\nA[0]=1\n\nA=0\nA[0]=0\n\nA[1]=1\nA[x]=1\n\n', got 'A=0\nA[0]=1\n\nA=0\nA[0]=0\n\nA[1]=1\nA[x]=1\n\n' stdout: A=0 A[0]=1 A=0 A[0]=0 A[1]=1 A[x]=1stderr: |