Results for var-ref.test.sh

statusoshosh-cpp
pass 3127
FAIL 04
total3131
caseoshosh-cppdescription
0pass pass var ref ${!a}
1pass pass ${!ref-default}
2pass pass ${!undef:-}
3pass FAIL comparison to ${!array[@]} keys (similar SYNTAX)
details
4pass pass ${!a[@]-'default'} is legal but fails with more than one element
5pass pass var ref to $@ with @
6pass pass var ref to $1 and $2 with 1 and 2
7pass pass var ref: 1, @, *
8pass pass var ref to special var BASH_SOURCE
9pass pass var ref to $? with '?'
10pass pass Var ref, then assignment with ${ := }
11pass pass Var ref, then error with ${ ? }
12pass FAIL Indirect expansion, THEN suffix operators
details
13pass pass var ref OF array var -- silent a[0] decay
14pass pass array ref
15pass pass array ref with strict_array
16pass pass var ref TO array var
17pass pass var ref TO array var, with subscripts
18pass pass var ref TO assoc array a[key]
19pass FAIL var ref TO array with arbitrary subscripts
details
20pass pass Bizarre tilde expansion in array index
21pass FAIL Indirect expansion TO fancy expansion features bash disallows
details
22pass pass Bad var ref
23pass pass Bad var ref 2
24pass pass ${!OPTIND} (used by bash completion
25pass pass var ref doesn't need cycle detection
26pass pass Var Ref Code Injection $(tee PWNED)
27pass pass ${!array_ref:-set} and ${!array_ref:=assign}
28pass pass Array indirect expansion with suffix operators
29pass pass Array indirect expansion with replacements
30pass pass Array indirect expansion with @? conversion
58 passed, 0 OK, 0 not implemented, 0 BUG, 0 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

osh-cpp3 comparison to ${!array[@]} keys (similar SYNTAX)

[osh-cpp stdout] Expected "['0', '1']\na_keys=0\n['']\na_nobrackets=0\n---\n['A', 'B']\nA_keys=0\nA_nobrackets=1\n" Got "['0', '1']\na_keys=0\n['']\na_nobrackets=0\n---\n"
[osh-cpp status] Expected 0, got -6

stdout:
['0', '1']
a_keys=0
['']
a_nobrackets=0
---
stderr:
terminate called after throwing an instance of 'IndexError*'
timeout: the monitored command dumped core
osh-cpp12 Indirect expansion, THEN suffix operators

[osh-cpp stdout] Expected 'ok\n', got ''
[osh-cpp status] Expected 0, got -6

stdout:
stderr: 
terminate called after throwing an instance of 'IndexError*'
timeout: the monitored command dumped core
osh-cpp19 var ref TO array with arbitrary subscripts

[osh-cpp stdout] Expected 'works: a[1]\nworks: a[$b]\nworks: a[${c:-1}]\nworks: a[$(echo 1)]\nworks: a[$(( 3 - 2 ))]\n' Got ''
[osh-cpp status] Expected 0, got -6

stdout:
stderr: 
  shopt -s eval_unsafe_arith compat_array
  ^~~~~
[ stdin ]:1: 'shopt' got invalid option 'compat_array'
terminate called after throwing an instance of 'IndexError*'
timeout: the monitored command dumped core
osh-cpp21 Indirect expansion TO fancy expansion features bash disallows

[osh-cpp stdout] Expected 'done\n', got ''
[osh-cpp status] Expected 0, got -6

stdout:
stderr: 
  a[0
     ^
[ contents of var '1' at line 2 of [ stdin ] ]:1: Unexpected token after arithmetic expression (Id.Eof_Real != Id.Arith_RBracket)
      result="${!1}"
                 ^
[ stdin ]:2: Invalid var ref expression
terminate called after throwing an instance of 'IndexError*'
timeout: the monitored command dumped core