Results for array-compat.test.sh

statusbashmkshkshtoyshsushbrushosh
pass 129901097
ok 0000003
N-I 0300000
FAIL 00312232
total12121212121212
casebashmkshkshtoyshsushbrushoshdescription
0pass pass pass FAIL pass pass pass Assignment Causes Array Decay
details
1pass pass pass FAIL pass FAIL pass Array Decay with IFS
detailsdetails
2pass pass pass FAIL pass pass pass User arrays decay
details
3pass pass pass FAIL pass pass ok strict_array: $array is not valid in OSH, is ${array[0]} in ksh/bash
detailsdetails
4pass pass pass FAIL pass pass ok strict_array: ${array} is not valid in OSH, is ${array[0]} in ksh/bash
detailsdetails
5pass pass pass FAIL pass pass pass Assign to array index without initialization
details
6pass pass pass FAIL pass pass pass a[40] grows array
details
7pass pass pass FAIL pass pass pass array decays to string when comparing with [[ a = b ]]
details
8pass pass pass FAIL pass pass ok ++ on a whole array increments the first element (disallowed with strict_array)
detailsdetails
9pass N-I FAIL FAIL pass pass pass Apply vectorized operations on ${a[*]}
detailsdetailsdetails
10pass N-I FAIL FAIL FAIL FAIL FAIL value.BashArray internal representation - Indexed
detailsdetailsdetailsdetailsdetailsdetails
11pass N-I FAIL FAIL FAIL FAIL FAIL value.BashArray internal representation - Assoc (ordering is a problem)
detailsdetailsdetailsdetailsdetailsdetails
56 passed, 3 OK, 3 not implemented, 0 BUG, 22 failed, 0 timeouts, 0 cases skipped
2 failed under osh

Details on runs that didn't PASS

toysh0 Assignment Causes Array Decay

[toysh stdout] Expected "['[x', 'y', 'z]']\n['[x y z]']\n", got "['[]']\n['[]']\n"

stdout:
['[]']
['[]']
stderr:
set: bad --
toysh1 Array Decay with IFS

[toysh stdout] Expected "['[x y z]']\n", got "['[]']\n"

stdout:
['[]']
stderr:
set: bad --
brush1 Array Decay with IFS

[brush stdout] Expected "['[x y z]']\n", got "['[y z]']\n"

stdout:
['[y z]']
stderr:
toysh2 User arrays decay

[toysh stdout] Expected "['x', 'y', 'z']\n['x y z']\n['x', 'YYY', 'z']\n" Got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 2: sh: syntax error: x
toysh3 strict_array: $array is not valid in OSH, is ${array[0]} in ksh/bash

[toysh stdout] Expected '1\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
sh: shopt: No such file or directory
main: line 3: sh: syntax error: 1
osh3 strict_array: $array is not valid in OSH, is ${array[0]} in ksh/bash

stdout:
stderr: 
  echo $a
       ^~
[ stdin ]:4: fatal: Array 'a' can't be referred to as a scalar (without @ or *)
toysh4 strict_array: ${array} is not valid in OSH, is ${array[0]} in ksh/bash

[toysh stdout] Expected '1\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
sh: shopt: No such file or directory
main: line 3: sh: syntax error: 1
osh4 strict_array: ${array} is not valid in OSH, is ${array[0]} in ksh/bash

stdout:
stderr: 
  echo ${a}
       ^~
[ stdin ]:4: fatal: Array 'a' can't be referred to as a scalar (without @ or *)
toysh5 Assign to array index without initialization

[toysh stdout] Expected '5 6 2\n', got ''
[toysh status] Expected 0, got 1

stdout:
stderr: 
sh: a[5]=5: No such file or directory
sh: a[6]=6: No such file or directory
main: line 3: sh: a: [@]}
toysh6 a[40] grows array

[toysh stdout] Expected '1 5 3 20 30 5\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: 1
toysh7 array decays to string when comparing with [[ a = b ]]

[toysh stdout] Expected '2 7\nEQUAL\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: '1 2'
toysh8 ++ on a whole array increments the first element (disallowed with strict_array)

[toysh stdout] Expected '2 10\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
sh: shopt: No such file or directory
main: line 3: sh: syntax error: 1
osh8 ++ on a whole array increments the first element (disallowed with strict_array)

stdout:
stderr: 
  (( a++ ))  # doesn't make sense
     ^
[ stdin ]:4: fatal: Expected a value convertible to integer, got BashArray
mksh9 Apply vectorized operations on ${a[*]}

stdout:
stderr: 
mksh: <stdin>[3]: ${a[*]#-}: bad substitution
ksh9 Apply vectorized operations on ${a[*]}

[ksh stdout] Expected "['x- y-y z-']\n", got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[3]: ${a[*]#-}: bad substitution
toysh9 Apply vectorized operations on ${a[*]}

[toysh stdout] Expected "['x- y-y z-']\n", got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: '-x-'
mksh10 value.BashArray internal representation - Indexed

stdout:
stderr: 
ksh10 value.BashArray internal representation - Indexed

[ksh stdout] Expected 'declare -a z=()\ndeclare -a z=([0]="b" [1]="c")\ndeclare -a z=([0]="b" [1]="c" [5]="d")\ndeclare -a z=([0]="b" [1]="ZZZ" [5]="d")\ndeclare -a z=([0]="b" [1]="ZZZ" [5]="d" [6]="f" [7]="g")\ndeclare -a z=([0]="b-mystr" [1]="ZZZ" [5]="d" [6]="f" [7]="g")\ndeclare -a z=([0]="b-mystr" [1]="ZZZ-append" [5]="d" [6]="f" [7]="g")\n[\'keys\', \'0\', \'1\', \'5\', \'6\', \'7\']\n[\'values\', \'b-mystr\', \'ZZZ-append\', \'d\', \'f\', \'g\']\nstatus=1\n' Got "['keys', '0', '1', '5', '6', '7']\n['values', 'b-mystr', 'ZZZ-append', 'd', 'f', 'g']\nstatus=1\n"

stdout:
['keys', '0', '1', '5', '6', '7']
['values', 'b-mystr', 'ZZZ-append', 'd', 'f', 'g']
status=1
stderr:
E: ksh: <stdin>[4]: declare: inaccessible or not found
E: ksh: <stdin>[7]: declare: inaccessible or not found
E: ksh: <stdin>[10]: declare: inaccessible or not found
E: ksh: <stdin>[13]: declare: inaccessible or not found
E: ksh: <stdin>[16]: declare: inaccessible or not found
E: ksh: <stdin>[19]: declare: inaccessible or not found
E: ksh: <stdin>[22]: declare: inaccessible or not found
E: ksh: <stdin>[27]: declare: inaccessible or not found
E: ksh: <stdin>[28]: declare: inaccessible or not found
toysh10 value.BashArray internal representation - Indexed

[toysh stdout] Expected 'declare -a z=()\ndeclare -a z=([0]="b" [1]="c")\ndeclare -a z=([0]="b" [1]="c" [5]="d")\ndeclare -a z=([0]="b" [1]="ZZZ" [5]="d")\ndeclare -a z=([0]="b" [1]="ZZZ" [5]="d" [6]="f" [7]="g")\ndeclare -a z=([0]="b-mystr" [1]="ZZZ" [5]="d" [6]="f" [7]="g")\ndeclare -a z=([0]="b-mystr" [1]="ZZZ-append" [5]="d" [6]="f" [7]="g")\n[\'keys\', \'0\', \'1\', \'5\', \'6\', \'7\']\n[\'values\', \'b-mystr\', \'ZZZ-append\', \'d\', \'f\', \'g\']\nstatus=1\n' Got ''
[toysh status] Expected 0, got -6

stdout:
stderr: 
munmap_chunk(): invalid pointer
sush10 value.BashArray internal representation - Indexed

[sush stdout] Expected 'declare -a z=()\ndeclare -a z=([0]="b" [1]="c")\ndeclare -a z=([0]="b" [1]="c" [5]="d")\ndeclare -a z=([0]="b" [1]="ZZZ" [5]="d")\ndeclare -a z=([0]="b" [1]="ZZZ" [5]="d" [6]="f" [7]="g")\ndeclare -a z=([0]="b-mystr" [1]="ZZZ" [5]="d" [6]="f" [7]="g")\ndeclare -a z=([0]="b-mystr" [1]="ZZZ-append" [5]="d" [6]="f" [7]="g")\n[\'keys\', \'0\', \'1\', \'5\', \'6\', \'7\']\n[\'values\', \'b-mystr\', \'ZZZ-append\', \'d\', \'f\', \'g\']\nstatus=1\n' Got 'declare -a z=([0]="b" [1]="c")\ndeclare -a z=([0]="b" [1]="c" [5]="d")\ndeclare -a z=([0]="b" [1]="ZZZ" [5]="d")\ndeclare -a z=([0]="b" [1]="ZZZ" [2]="d" [3]="f" [4]="g")\ndeclare -a z=([0]="b-mystr" [1]="ZZZ" [2]="d" [3]="f" [4]="g")\ndeclare -a z=([0]="b-mystr" [1]="-append" [2]="d" [3]="f" [4]="g")\n[\'keys\', \'0\', \'1\', \'2\', \'3\', \'4\']\n[\'values\', \'b-mystr\', \'-append\', \'d\', \'f\', \'g\']\ndeclare -A z=([0]="b-mystr" )\nstatus=0\n'

stdout:
declare -a z=([0]="b" [1]="c")
declare -a z=([0]="b" [1]="c" [5]="d")
declare -a z=([0]="b" [1]="ZZZ" [5]="d")
declare -a z=([0]="b" [1]="ZZZ" [2]="d" [3]="f" [4]="g")
declare -a z=([0]="b-mystr" [1]="ZZZ" [2]="d" [3]="f" [4]="g")
declare -a z=([0]="b-mystr" [1]="-append" [2]="d" [3]="f" [4]="g")
['keys', '0', '1', '2', '3', '4']
['values', 'b-mystr', '-append', 'd', 'f', 'g']
declare -A z=([0]="b-mystr" )
status=0
stderr:
brush10 value.BashArray internal representation - Indexed

[brush stdout] Expected 'declare -a z=()\ndeclare -a z=([0]="b" [1]="c")\ndeclare -a z=([0]="b" [1]="c" [5]="d")\ndeclare -a z=([0]="b" [1]="ZZZ" [5]="d")\ndeclare -a z=([0]="b" [1]="ZZZ" [5]="d" [6]="f" [7]="g")\ndeclare -a z=([0]="b-mystr" [1]="ZZZ" [5]="d" [6]="f" [7]="g")\ndeclare -a z=([0]="b-mystr" [1]="ZZZ-append" [5]="d" [6]="f" [7]="g")\n[\'keys\', \'0\', \'1\', \'5\', \'6\', \'7\']\n[\'values\', \'b-mystr\', \'ZZZ-append\', \'d\', \'f\', \'g\']\nstatus=1\n' Got 'z=()\nz=([0]="b" [1]="c")\nz=([0]="b" [1]="c" [5]="d")\nz=([0]="b" [1]="ZZZ" [5]="d")\nz=([0]="b" [1]="ZZZ" [5]="d" [6]="f" [7]="g")\nz=([0]="b-mystr" [1]="ZZZ" [5]="d" [6]="f" [7]="g")\nz=([0]="b-mystr" [1]="ZZZ-append" [5]="d" [6]="f" [7]="g")\n[\'keys\', \'0\', \'1\', \'5\', \'6\', \'7\']\n[\'values\', \'b-mystr\', \'ZZZ-append\', \'d\', \'f\', \'g\']\nstatus=0\n'

stdout:
z=()
z=([0]="b" [1]="c")
z=([0]="b" [1]="c" [5]="d")
z=([0]="b" [1]="ZZZ" [5]="d")
z=([0]="b" [1]="ZZZ" [5]="d" [6]="f" [7]="g")
z=([0]="b-mystr" [1]="ZZZ" [5]="d" [6]="f" [7]="g")
z=([0]="b-mystr" [1]="ZZZ-append" [5]="d" [6]="f" [7]="g")
['keys', '0', '1', '5', '6', '7']
['values', 'b-mystr', 'ZZZ-append', 'd', 'f', 'g']
status=0
stderr:
ERROR cannot convert indexed array to associative array
osh10 value.BashArray internal representation - Indexed

[osh stdout] Expected 'declare -a z=()\ndeclare -a z=([0]="b" [1]="c")\ndeclare -a z=([0]="b" [1]="c" [5]="d")\ndeclare -a z=([0]="b" [1]="ZZZ" [5]="d")\ndeclare -a z=([0]="b" [1]="ZZZ" [5]="d" [6]="f" [7]="g")\ndeclare -a z=([0]="b-mystr" [1]="ZZZ" [5]="d" [6]="f" [7]="g")\ndeclare -a z=([0]="b-mystr" [1]="ZZZ-append" [5]="d" [6]="f" [7]="g")\n[\'keys\', \'0\', \'1\', \'5\', \'6\', \'7\']\n[\'values\', \'b-mystr\', \'ZZZ-append\', \'d\', \'f\', \'g\']\nstatus=1\n' Got 'z=()\nz=(b c)\nz=([0]=b [1]=c [5]=d)\nz=([0]=b [1]=ZZZ [5]=d)\nz=([0]=b [1]=ZZZ [5]=d [6]=f [7]=g)\n'
[osh status] Expected 0, got 1

stdout:
z=()
z=(b c)
z=([0]=b [1]=c [5]=d)
z=([0]=b [1]=ZZZ [5]=d)
z=([0]=b [1]=ZZZ [5]=d [6]=f [7]=g)
stderr:
  z+=-mystr
  ^~~
[ stdin ]:18: fatal: Can't append string to array
mksh11 value.BashArray internal representation - Assoc (ordering is a problem)

stdout:
stderr: 
ksh11 value.BashArray internal representation - Assoc (ordering is a problem)

[ksh stdout] Expected 'declare -A A=([k]="v" )\n[\'keys\', \'k\']\n[\'values\', \'v\']\n' Got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[3]: syntax error: unexpected '('
toysh11 value.BashArray internal representation - Assoc (ordering is a problem)

[toysh stdout] Expected 'declare -A A=([k]="v" )\n[\'keys\', \'k\']\n[\'values\', \'v\']\n' Got ''
[toysh status] Expected 0, got -6

stdout:
stderr: 
munmap_chunk(): invalid pointer
sush11 value.BashArray internal representation - Assoc (ordering is a problem)

[sush stdout] Expected 'declare -A A=([k]="v" )\n[\'keys\', \'k\']\n[\'values\', \'v\']\n' Got "['keys', '0']\n['values', 'v']\n"

stdout:
['keys', '0']
['values', 'v']
stderr:
brush11 value.BashArray internal representation - Assoc (ordering is a problem)

[brush stdout] Expected 'declare -A A=([k]="v" )\n[\'keys\', \'k\']\n[\'values\', \'v\']\n' Got 'A=([k]="v" )\n[\'keys\', \'k\']\n[\'values\', \'v\']\n'

stdout:
A=([k]="v" )
['keys', 'k']
['values', 'v']
stderr:
osh11 value.BashArray internal representation - Assoc (ordering is a problem)

[osh stdout] Expected 'declare -A A=([k]="v" )\n[\'keys\', \'k\']\n[\'values\', \'v\']\n' Got "A=(['k']=v)\n['keys', 'k']\n['values', 'v']\n"

stdout:
A=(['k']=v)
['keys', 'k']
['values', 'v']
stderr: