Results for var-op-bash.test.sh

statusbashoshosh_ALT
pass 1688
ok 055
FAIL 033
total161616
casebashoshosh_ALTdescription
0pass pass pass Lower Case with , and ,,
1pass pass pass Upper Case with ^ and ^^
2pass FAIL FAIL Lower Case with constant string (VERY WEIRD)
detailsdetails
3pass FAIL FAIL Lower Case glob
detailsdetails
4pass pass pass ${x@Q}
5pass ok ok ${array@Q} and ${array[@]@Q}
detailsdetails
6pass pass pass ${!prefix@} ${!prefix*} yields sorted array of var names
7pass pass pass ${!prefix@} matches var name (regression)
8pass pass pass ${var@a} for attributes
9pass pass pass ${var@a} error conditions
10pass ok ok undef and @P @Q @a
detailsdetails
11pass ok ok argv array and @P @Q @a
detailsdetails
12pass ok ok assoc array and @P @Q @a
detailsdetails
13pass ok ok ${!var[@]@X}
detailsdetails
14pass pass pass ${#var@X} is a parse error
15pass FAIL FAIL ${!A@a} and ${!A[@]@a}
detailsdetails
32 passed, 10 OK, 0 not implemented, 0 BUG, 3 failed, 0 timeouts, 0 cases skipped
3 failed under osh

Details on runs that didn't PASS

osh2 Lower Case with constant string (VERY WEIRD)

[osh stdout] Expected 'aAA ABC DEF\naaa aBC DEF\n', got ''
[osh status] Expected 0, got 1

stdout:
stderr: 
  echo ${x,A}
  ^~~~
[ stdin ]:2: fatal: Id.VOp1_Comma can't have an argument
osh_ALT2 Lower Case with constant string (VERY WEIRD)

[osh_ALT stdout] Expected 'aAA ABC DEF\naaa aBC DEF\n', got ''
[osh_ALT status] Expected 0, got 1

stdout:
stderr: 
  echo ${x,A}
  ^~~~
[ stdin ]:2: fatal: Id.VOp1_Comma can't have an argument
osh3 Lower Case glob

[osh stdout] Expected 'ABC DEF\nABC deF\n', got ''
[osh status] Expected 0, got 1

stdout:
stderr: 
FATAL: NotImplementedError('Id.VOp1_Comma',)
osh_ALT3 Lower Case glob

[osh_ALT stdout] Expected 'ABC DEF\nABC deF\n', got ''
[osh_ALT status] Expected 0, got 1

stdout:
stderr: 
FATAL: NotImplementedError('Id.VOp1_Comma',)
osh5 ${array@Q} and ${array[@]@Q}

stdout:
x $'y\\nz'
x
stderr:
  echo ${array@Q}
       ^~
[ stdin ]:6: fatal: Array 'array' can't be referred to as a scalar (without @ or *)
osh_ALT5 ${array@Q} and ${array[@]@Q}

stdout:
x $'y\\nz'
x
stderr:
  echo ${array@Q}
       ^~
[ stdin ]:6: fatal: Array 'array' can't be referred to as a scalar (without @ or *)
osh10 undef and @P @Q @a

stdout:
status=0
''
status=0

status=0
stderr:
osh_ALT10 undef and @P @Q @a

stdout:
status=0
''
status=0

status=0
stderr:
osh11 argv array and @P @Q @a

stdout:
status=1
a $'b\\nc'
status=0
a
status=0
stderr:
  echo ${@@P}
  ^~~~
[ -c flag ]:1: fatal: Can't use @P on value.MaybeStrArray
osh_ALT11 argv array and @P @Q @a

stdout:
status=1
a $'b\\nc'
status=0
a
status=0
stderr:
  echo ${@@P}
  ^~~~
[ -c flag ]:1: fatal: Can't use @P on value.MaybeStrArray
osh12 assoc array and @P @Q @a

stdout:
status=1
status=1
A - A
status=0
stderr:
  declare -A A=(["x"]="y"); echo ${A@P} - ${A[@]@P}
                                 ^~
[ -c flag ]:1: fatal: Array 'A' can't be referred to as a scalar (without @ or *)
  declare -A A=(["x"]="y"); echo ${A@Q} - ${A[@]@Q}
                                 ^~
[ -c flag ]:1: fatal: Array 'A' can't be referred to as a scalar (without @ or *)
osh_ALT12 assoc array and @P @Q @a

stdout:
status=1
status=1
A - A
status=0
stderr:
  declare -A A=(["x"]="y"); echo ${A@P} - ${A[@]@P}
                                 ^~
[ -c flag ]:1: fatal: Array 'A' can't be referred to as a scalar (without @ or *)
  declare -A A=(["x"]="y"); echo ${A@Q} - ${A[@]@Q}
                                 ^~
[ -c flag ]:1: fatal: Array 'A' can't be referred to as a scalar (without @ or *)
osh13 ${!var[@]@X}

stdout:
fail
'x y'
a
stderr:
  declare -A A=(["x"]="y"); echo ${!A[@]@P}
                            ^~~~
[ -c flag ]:1: fatal: Can't use @P on value.MaybeStrArray
osh_ALT13 ${!var[@]@X}

stdout:
fail
'x y'
a
stderr:
  declare -A A=(["x"]="y"); echo ${!A[@]@P}
                            ^~~~
[ -c flag ]:1: fatal: Can't use @P on value.MaybeStrArray
osh15 ${!A@a} and ${!A[@]@a}

[osh stdout] Expected 'x=\nx=\n', got 'x=a\nx=a\n'

stdout:
x=a
x=a
stderr:
osh_ALT15 ${!A@a} and ${!A[@]@a}

[osh_ALT stdout] Expected 'x=\nx=\n', got 'x=a\nx=a\n'

stdout:
x=a
x=a
stderr: