Results for var-ref.test.sh

statusbashoshosh_ALT
pass 192424
ok 322
N-I 200
BUG 200
total262626
casebashoshosh_ALTdescription
0pass pass pass var ref ${!a}
1pass pass pass ${!ref-default}
2pass pass pass ${!undef:-}
3pass pass pass comparison to ${!array[@]} keys (similar SYNTAX)
4BUG pass pass ${!a[@]-'default'} is illegal
details
5pass pass pass var ref to $@ with @
6pass pass pass var ref to $1 and $2 with 1 and 2
7pass pass pass var ref: 1, @, *
8pass pass pass var ref to special var BASH_SOURCE
9pass pass pass var ref to $? with '?'
10pass pass pass Var ref, then assignment with ${ := }
11pass pass pass Var ref, then error with ${ ? }
12pass pass pass Indirect expansion, THEN suffix operators
13ok pass pass var ref OF array var
details
14N-I pass pass array ref without eval_unsafe_arith
details
15N-I pass pass array ref without compat_array
details
16pass pass pass var ref TO array var
17pass pass pass var ref TO array var, with subscripts
18pass pass pass var ref TO assoc array a[key]
19pass pass pass var ref TO array with arbitrary subscripts
20BUG pass pass Bizarre tilde expansion in array index
details
21ok pass pass Indirect expansion TO fancy expansion features bash disallows
details
22pass ok ok Bad var ref
detailsdetails
23pass ok ok Bad var ref 2
detailsdetails
24pass pass pass ${!OPTIND} (used by bash completion
25ok pass pass var ref doesn't need cycle detection
details
67 passed, 7 OK, 2 not implemented, 2 BUG, 0 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

bash4 ${!a[@]-'default'} is illegal

stdout:
['default']
status=0
status=1
stderr:
bash: line 5: x y z: bad substitution
bash13 var ref OF array var

stdout:
bad=
stderr:
bash14 array ref without eval_unsafe_arith

stdout:
ale
stderr:
bash: line 1: shopt: compat_array: invalid shell option name
bash15 array ref without compat_array

stdout:
ale
stderr:
bash: line 1: shopt: eval_unsafe_arith: invalid shell option name
bash20 Bizarre tilde expansion in array index

stdout:
y
stderr:
bash21 Indirect expansion TO fancy expansion features bash disallows

stdout:
done
stderr:
bash: line 1: shopt: eval_unsafe_arith: invalid shell option name
main: line 4: a[0: bad substitution
main: line 4: aa[k: bad substitution
main: line 4: !x: bad substitution
main: line 4: !a[0]: bad substitution
main: line 4: x:-foo: bad substitution
main: line 4: x:=foo: bad substitution
main: line 4: x:?oops: bad substitution
main: line 4: x:+yy: bad substitution
main: line 4: x:0: bad substitution
main: line 4: x:0:1: bad substitution
main: line 4: !a@: bad substitution
main: line 4: #x: bad substitution
main: line 4: x#y: bad substitution
main: line 4: x/y/foo: bad substitution
main: line 4: x@Q: bad substitution
osh22 Bad var ref

stdout:
stderr: 
  bad var name
     ^
[ var 'a' at line 2 of [ stdin ] ]:1: Expected end of var ref
  echo ref ${!a}
              ^
[ stdin ]:2: fatal: Invalid var ref
osh_ALT22 Bad var ref

stdout:
stderr: 
  bad var name
     ^
[ var 'a' at line 2 of [ stdin ] ]:1: Expected end of var ref
  echo ref ${!a}
              ^
[ stdin ]:2: fatal: Invalid var ref
osh23 Bad var ref 2

stdout:
stderr: 
  /
  ^
[ var 'b' at line 2 of [ stdin ] ]:1: Invalid var ref
  echo ref ${!b}
              ^
[ stdin ]:2: fatal: Invalid var ref
osh_ALT23 Bad var ref 2

stdout:
stderr: 
  /
  ^
[ var 'b' at line 2 of [ stdin ] ]:1: Invalid var ref
  echo ref ${!b}
              ^
[ stdin ]:2: fatal: Invalid var ref
bash25 var ref doesn't need cycle detection

stdout:
cycle=x
cycle=
stderr:
bash: line 7: warning: a: circular name reference