19 passed, 4 OK, 20 not implemented, 3 BUG, 9 failed, 0 timeouts, 0 cases skipped 9 failed under osh
ash | 0 Indexed LHS without spaces, and += stdout: status=127stderr: ash: a[1]=x: not found ash: syntax error: bad substitution |
zsh | 1 Indexed LHS with spaces stdout: stderr: |
ash | 1 Indexed LHS with spaces stdout: stderr: |
osh | 1 Indexed LHS with spaces [osh stdout] Expected "status=0\n['x', 'z']\n", got 'status=127\n[]\n' stdout: status=127 []stderr: a[1 * 1]=x ^~ [ stdin ]:3: Command 'a[1' not found (OILS-ERR-100) a[ 1 + 2 ]=z ^~ [ stdin ]:4: Command 'a[' not found (OILS-ERR-100) |
zsh | 2 Nested a[i[0]]=0 stdout: stderr: |
ash | 2 Nested a[i[0]]=0 stdout: stderr: |
osh | 2 Nested a[i[0]]=0 [osh stdout] Expected "['0', '1', '2', '3']\n", got "['0']\n" stdout: ['0']stderr: a[ i[1] ]=1 ^~ [ stdin ]:6: Command 'a[' not found (OILS-ERR-100) a[ i[2] ]=2 ^~ [ stdin ]:7: Command 'a[' not found (OILS-ERR-100) a[ i[1]+i[2] ]=3 ^~ [ stdin ]:8: Command 'a[' not found (OILS-ERR-100) |
zsh | 3 Multiple LHS array words stdout: stderr: |
mksh | 3 Multiple LHS array words stdout: set -A a typeset a[0]=0 typeset a[1]= typeset a[2]=2 set -A b typeset b[0]=3 typeset b[1]=4 typeset b[2]=/home/spec-test/src --- ['b[2', '+', '0]=bar'] status=0 set -A a typeset a[0]=0 typeset a[1]= typeset a[2]=2 set -A b typeset b[0]=3 typeset b[1]=4 typeset b[2]=/home/spec-test/srcstderr: |
ash | 3 Multiple LHS array words stdout: stderr: |
osh | 3 Multiple LHS array words [osh stdout] Expected 'declare -a a=([0]="0" [1]="" [2]="2")\ndeclare -a b=([0]="3" [1]="4" [2]="/home/spec-test/src")\n---\n[\'b[2\', \'+\', \'0]=bar\']\nstatus=0\ndeclare -a a=([0]="0" [1]="" [2]="2")\ndeclare -a b=([0]="3" [1]="4" [2]="/home/spec-test/src")\n' Got 'declare -a a=(0 1 2)\ndeclare -a b=(3 4 5)\n---\nstatus=127\ndeclare -a a=(0 1 2)\ndeclare -a b=(3 4 5)\n' stdout: declare -a a=(0 1 2) declare -a b=(3 4 5) --- status=127 declare -a a=(0 1 2) declare -a b=(3 4 5)stderr: a[0 + 1]= b[2 + 0]=~/src ^~ [ stdin ]:9: Command 'a[0' not found (OILS-ERR-100) a[0 + 1]='foo' argv.py b[2 + 0]='bar' ^~ [ stdin ]:15: Command 'a[0' not found (OILS-ERR-100) |
zsh | 4 LHS array is protected with shopt -s eval_unsafe_arith, e.g. 'a[$(echo 2)]' stdout: stderr: |
mksh | 4 LHS array is protected with shopt -s eval_unsafe_arith, e.g. 'a[$(echo 2)]' stdout: set -A b typeset b[0]=3 typeset b[1]=4 typeset b[2]=5 get 5 set zzz set -A b typeset b[0]=3 typeset b[1]=4 typeset b[2]=zzzstderr: |
ash | 4 LHS array is protected with shopt -s eval_unsafe_arith, e.g. 'a[$(echo 2)]' stdout: stderr: |
osh | 4 LHS array is protected with shopt -s eval_unsafe_arith, e.g. 'a[$(echo 2)]' [osh stdout] Expected 'declare -a b=([0]="3" [1]="4" [2]="5")\nget 5\nset zzz\ndeclare -a b=([0]="3" [1]="4" [2]="zzz")\n' Got 'declare -a b=(3 4 5)\n' [osh status] Expected 0, got 1 stdout: declare -a b=(3 4 5)stderr: a[$(echo 2)] ^~ [ stdin ]:1: fatal: Command subs not allowed here because eval_unsafe_arith is off |
zsh | 5 file named a[ is not executed stdout: stderr: |
ash | 5 file named a[ is not executed stdout: stderr: |
osh | 5 file named a[ is not executed [osh stdout] Expected 'len=2\n', got 'hi from a[5: 2 args: + 1]=\nhi from a[5: 2 args: / 1]=y\nlen=0\nhi from a[5: 0 args:\n' [osh status] Expected 1, got 0 stdout: hi from a[5: 2 args: + 1]= hi from a[5: 2 args: / 1]=y len=0 hi from a[5: 0 args:stderr: |
bash | 6 More fragments like a[ a[5 a[5 + a[5 + 3] stdout: a[ status=2 a[5 status=2 a[5 + status=2 a[5 + 3] status=127 a[5 + 3]= status=0 a[5 + 3]+ status=127 a[5 + 3]+= status=0stderr: bash: -c: line 1: unexpected EOF while looking for matching `]' bash: -c: line 1: unexpected EOF while looking for matching `]' bash: -c: line 1: unexpected EOF while looking for matching `]' bash: line 1: a[5 + 3]: command not found bash: line 1: a[5 + 3]+: command not found |
zsh | 6 More fragments like a[ a[5 a[5 + a[5 + 3] stdout: a[ status=1 a[5 status=1 a[5 + status=1 a[5 + 3] status=1 a[5 + 3]= status=1 a[5 + 3]+ status=1 a[5 + 3]+= status=1stderr: zsh:1: bad pattern: a[ zsh:1: bad pattern: a[5 zsh:1: bad pattern: a[5 zsh:1: bad pattern: a[5 zsh:1: bad pattern: a[5 zsh:1: bad pattern: a[5 zsh:1: bad pattern: a[5 |
ash | 6 More fragments like a[ a[5 a[5 + a[5 + 3] stdout: a[ status=127 a[5 status=127 a[5 + status=127 a[5 + 3] status=127 a[5 + 3]= status=127 a[5 + 3]+ status=127 a[5 + 3]+= status=127stderr: ash: a[: not found ash: a[5: not found ash: a[5: not found ash: a[5: not found ash: a[5: not found ash: a[5: not found ash: a[5: not found |
osh | 6 More fragments like a[ a[5 a[5 + a[5 + 3] [osh stdout] Expected 'a[ status=127\na[5 status=127\na[5 + status=127\na[5 + 3] status=127\na[5 + 3]= status=0\na[5 + 3]+ status=127\na[5 + 3]+= status=0\n' Got 'a[ status=127\na[5 status=127\na[5 + status=127\na[5 + 3] status=127\na[5 + 3]= status=127\na[5 + 3]+ status=127\na[5 + 3]+= status=127\n' stdout: a[ status=127 a[5 status=127 a[5 + status=127 a[5 + 3] status=127 a[5 + 3]= status=127 a[5 + 3]+ status=127 a[5 + 3]+= status=127stderr: a[ ^~ [ -c flag ]:1: Command 'a[' not found (OILS-ERR-100) a[5 ^~ [ -c flag ]:1: Command 'a[5' not found (OILS-ERR-100) a[5 + ^~ [ -c flag ]:1: Command 'a[5' not found (OILS-ERR-100) a[5 + 3] ^~ [ -c flag ]:1: Command 'a[5' not found (OILS-ERR-100) a[5 + 3]= ^~ [ -c flag ]:1: Command 'a[5' not found (OILS-ERR-100) a[5 + 3]+ ^~ [ -c flag ]:1: Command 'a[5' not found (OILS-ERR-100) a[5 + 3]+= ^~ [ -c flag ]:1: Command 'a[5' not found (OILS-ERR-100) |
bash | 7 Are quotes allowed? stdout: status=0 len=1 status=1 len=1 status=0 len=2 status=1 len=2stderr: bash: line 4: '2': syntax error: operand expected (error token is "'2'") bash: line 10: 3 + '4': syntax error: operand expected (error token is "'4'") |
ash | 7 Are quotes allowed? stdout: stderr: ash: a[1]=2: not found ash: syntax error: bad substitution |
osh | 7 Are quotes allowed? [osh stdout] Expected '', got 'status=0 len=1\nstatus=0 len=2\nstatus=127 len=2\nstatus=127 len=2\n' [osh status] Expected 1, got 0 stdout: status=0 len=1 status=0 len=2 status=127 len=2 status=127 len=2stderr: a[2 + "3"]=5 ^~ [ stdin ]:7: Command 'a[2' not found (OILS-ERR-100) a[3 + '4']=5 ^~ [ stdin ]:10: Command 'a[3' not found (OILS-ERR-100) |
zsh | 8 Tricky parsing - a[ a[0]=1 ]=X a[ a[0]+=1 ]+=X stdout: stderr: |
mksh | 8 Tricky parsing - a[ a[0]=1 ]=X a[ a[0]+=1 ]+=X stdout: stderr: |
ash | 8 Tricky parsing - a[ a[0]=1 ]=X a[ a[0]+=1 ]+=X stdout: stderr: |
osh | 8 Tricky parsing - a[ a[0]=1 ]=X a[ a[0]+=1 ]+=X [osh stdout] Expected 'assign=42\ndeclare -a a=([0]="1" [1]="X")\ndeclare -a a=([0]="1" [1]="X" [2]="3" [3]="Y")\n---\ndeclare -a a=([0]="2" [1]="X" [2]="3X" [3]="Y")\n' Got 'assign=42\n' [osh status] Expected 0, got 2 stdout: assign=42stderr: a[a[0]=1]=X ^ [ array LHS in [ stdin ] ]:6: Parser expected Id.Arith_RBracket, got Id.Eof_Real |
zsh | 9 argv.py a[1 + 2]= stdout: stderr: |
ash | 9 argv.py a[1 + 2]= stdout: stderr: |
osh | 9 argv.py a[1 + 2]= [osh stdout] Expected "['a[1', '+', '2]=']\nstatus=0\n['a[1', '+', '2]+=']\nstatus=0\n['a[3', '+', '4]=']\n['a[3', '+', '4]+=']\n" Got "status=127\nstatus=127\n['a[3', '+', '4]=']\n['a[3', '+', '4]+=']\n" stdout: status=127 status=127 ['a[3', '+', '4]='] ['a[3', '+', '4]+=']stderr: a[1 + 2]= argv.py a[1 + 2]= ^~ [ stdin ]:4: Command 'a[1' not found (OILS-ERR-100) a[1 + 2]+= argv.py a[1 + 2]+= ^~ [ stdin ]:7: Command 'a[1' not found (OILS-ERR-100) |
zsh | 10 declare builtin doesn't allow spaces stdout: stderr: |
mksh | 10 declare builtin doesn't allow spaces stdout: stderr: |
ash | 10 declare builtin doesn't allow spaces stdout: stderr: |
osh | 10 declare builtin doesn't allow spaces stdout: stderr: declare a[a[0]=1]=X ^~ [ stdin ]:3: fatal: Assignment builtin expected NAME=value, got 'a[a[0]=1]=X' |