spec test index / oilshell.org
63 passed, 1 OK, 1 not implemented, 6 BUG, 7 failed, 0 timeouts, 0 cases skipped 3 failed under osh
bash | 1 set associative array to indexed array literal (very surprising bash behavior) [bash stdout] Expected 'foo\nspam eggs\nk1\nk2\n[]\n[]\n', got "foo\nspam eggs\nk1\nk2\n['spam eggs']\n['foo']\n" stdout: foo spam eggs k1 k2 ['spam eggs'] ['foo']stderr: |
bash | 2 Can't initialize assoc array with indexed array stdout: status=0stderr: |
bash | 3 Initializing indexed array with assoc array stdout: status=0 ['3']stderr: |
osh | 8 coerce to string with ${A[*]}, etc. [osh stdout] Expected "['xx yy']\n['X X Y Y']\n['xx', 'yy']\n['X', 'X', 'Y', 'Y']\n" Got "['xx', 'yy']\n['X X Y Y']\n['xx', 'yy']\n['X', 'X', 'Y', 'Y']\n" stdout: ['xx', 'yy'] ['X X Y Y'] ['xx', 'yy'] ['X', 'X', 'Y', 'Y']stderr: |
bash | 17 lookup by unquoted string doesn't work in OSH because it's a variable stdout: cstderr: |
bash | 18 bash bug: "i+1" and i+1 are the same key stdout: array[i]=6 array[i+1]=7 assoc[i]=string assoc[i+1]=string+1 assoc[i]=string assoc[i+1]=string+1stderr: |
bash | 22 Slice of associative array doesn't make sense in bash [bash stdout] Expected "['2', '1', '5']\n['2', '1', '5']\n['1', '5', '4']\n['5', '4', '3']\n['4', '3']\n['3']\n" Got "['4', '1', '3']\n['4', '1', '3']\n['1', '3', '5']\n['3', '5', '2']\n['5', '2']\n['2']\n" stdout: ['4', '1', '3'] ['4', '1', '3'] ['1', '3', '5'] ['3', '5', '2'] ['5', '2'] ['2']stderr: |
osh | 23 bash variable can have an associative array part and a string part stdout: 1 2 1 2 zerostderr: echo ${assoc[1]} ${assoc[2]} ${assoc} ^~~~~ [ stdin ]:8: fatal: Can't index string 'assoc' with integer |
bash | 27 setting key to itself (from bash-bug mailing list) [bash stdout] Expected 'value1\nvalue2\n', got 'value1\nvalue1 value2\n' stdout: value1 value1 value2stderr: |
osh | 28 readonly associative array can't be modified stdout: stderr: A['x']=1 ^~ [ stdin ]:2: fatal: Can't assign to readonly associative array |
bash | 30 bash mangles array #1 stdout: v2 v2stderr: |
bash | 31 bash mangles array and brace #2 stdout: [k2]=-a-stderr: |
osh | 34 nameref and assoc array [osh stdout] Expected 'values: val\nbefore val\nafter val2\nvalues: val2\n---\nbefore val2\nafter val3\nvalues: val3\n' Got 'values: val\nbefore A["K"]\nafter val2\nvalues: val\n---\nbefore A[$key]\nafter val3\nvalues: val\n' stdout: values: val before A["K"] after val2 values: val --- before A[$key] after val3 values: valstderr: |
bash | 37 bash bug: (( A["$key"] = 1 )) doesn't work [bash stdout] Expected '[]\n[]\n', got "['\\\\']\n['42']\n" stdout: ['\\'] ['42']stderr: |
osh | 38 Implicit increment of keys [osh stdout] Expected "['30', '31', '40', '41']\n['a', 'b', 'x', 'y']\n" Got '' [osh status] Expected 0, got 2 stdout: stderr: declare -a arr=( [30]=a b [40]=x y) ^ [ stdin ]:1: Expected associative array pair |