status | osh | osh-cpp | |
pass | 1 | 1 | |
ok | 1 | 1 | |
FAIL | 9 | 9 | |
total | 11 | 11 | |
case | osh | osh-cpp | description |
0 | pass | pass | Indexed LHS without spaces, and += |
1 | FAIL | FAIL | Indexed LHS with spaces |
details | details | ||
2 | FAIL | FAIL | Nested a[i[0]]=0 |
details | details | ||
3 | FAIL | FAIL | Multiple LHS array words |
details | details | ||
4 | FAIL | FAIL | LHS array is protected with shopt -s eval_unsafe_arith, e.g. 'a[$(echo 2)]' |
details | details | ||
5 | FAIL | FAIL | file named a[ is not executed |
details | details | ||
6 | FAIL | FAIL | More fragments like a[ a[5 a[5 + a[5 + 3] |
details | details | ||
7 | FAIL | FAIL | Are quotes allowed? |
details | details | ||
8 | FAIL | FAIL | Tricky parsing - a[ a[0]=1 ]=X a[ a[0]+=1 ]+=X |
details | details | ||
9 | FAIL | FAIL | argv.py a[1 + 2]= |
details | details | ||
10 | ok | ok | declare builtin doesn't allow spaces |
details | details |
2 passed, 2 OK, 0 not implemented, 0 BUG, 9 failed, 0 timeouts, 0 cases skipped 9 failed under osh
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) |
osh-cpp | 1 Indexed LHS with spaces [osh-cpp 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) |
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) |
osh-cpp | 2 Nested a[i[0]]=0 [osh-cpp 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) |
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) |
osh-cpp | 3 Multiple LHS array words [osh-cpp 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) |
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 |
osh-cpp | 4 LHS array is protected with shopt -s eval_unsafe_arith, e.g. 'a[$(echo 2)]' [osh-cpp 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-cpp 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 |
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: |
osh-cpp | 5 file named a[ is not executed [osh-cpp 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-cpp 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: |
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) |
osh-cpp | 6 More fragments like a[ a[5 a[5 + a[5 + 3] [osh-cpp 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) |
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) |
osh-cpp | 7 Are quotes allowed? [osh-cpp stdout] Expected '', got 'status=0 len=1\nstatus=0 len=2\nstatus=127 len=2\nstatus=127 len=2\n' [osh-cpp 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) |
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 |
osh-cpp | 8 Tricky parsing - a[ a[0]=1 ]=X a[ a[0]+=1 ]+=X [osh-cpp 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-cpp 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 |
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) |
osh-cpp | 9 argv.py a[1 + 2]= [osh-cpp 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) |
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' |
osh-cpp | 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' |