Results for var-op-test.test.sh

statusbashdashmkshzshosh
pass 3420262331
ok 03153
N-I 012440
BUG 21542
total3636363636
casebashdashmkshzshoshdescription
0pass N-I pass pass pass Lazy Evaluation of Alternative
details
1pass pass pass pass pass Default value when empty
2pass pass pass pass pass Default value when unset
3pass pass pass ok ok Unquoted with array as default value
detailsdetails
4pass pass pass pass ok Quoted with array as default value
details
5pass pass pass ok ok Assign default with array
detailsdetails
6pass pass pass pass pass Assign default value when empty
7pass pass pass pass pass Assign default value when unset
8pass pass pass pass pass ${v:+foo} Alternative value when empty
9pass pass pass pass pass ${v+foo} Alternative value when unset
10pass pass pass pass pass "${x+foo}" quoted (regression)
11pass pass pass pass pass ${s+foo} and ${s:+foo} when set -u
12BUG N-I BUG pass pass "${array[@]} with set -u (bash is outlier)
detailsdetailsdetails
13pass N-I pass pass pass "${undefined[@]+foo}" and "${undefined[@]:+foo}", with set -u
details
14pass N-I BUG BUG pass "${a[@]+foo}" and "${a[@]:+foo}" - operators are equivalent on arrays?
detailsdetailsdetails
15pass ok ok ok pass Nix idiom ${!hooksSlice+"${!hooksSlice}"} - was workaround for obsolete bash 4.3 bug
detailsdetailsdetails
16pass pass pass pass pass ${v-foo} and ${v:-foo} when set -u
17pass N-I pass N-I pass array and - and +
detailsdetails
18pass BUG pass BUG pass $@ (empty) and - and +
detailsdetails
19pass pass pass ok pass $@ ("") and - and +
details
20pass pass pass pass pass $@ ("" "") and - and +
21pass pass BUG pass BUG $* ("" "") and - and + (IFS=)
detailsdetails
22pass pass pass pass pass "$*" ("" "") and - and + (IFS=)
23pass N-I N-I BUG pass assoc array and - and +
detailsdetailsdetails
24pass ok pass pass pass Error when empty
details
25pass ok pass pass pass Error when unset
details
26pass pass pass pass pass Error when unset
27pass pass pass pass pass ${var=x} dynamic scope
28pass N-I pass N-I pass array ${arr[0]=x}
detailsdetails
29pass N-I N-I pass pass assoc array ${arr["k"]=x}
detailsdetails
30pass pass pass pass pass "\z" as arg
31pass pass BUG BUG pass "\e" as arg
detailsdetails
32pass N-I pass ok pass op-test for ${a[@]} and ${a[*]}
detailsdetails
33pass N-I N-I N-I pass op-test for ${!array} with array="a" and array="a[0]"
detailsdetailsdetails
34BUG N-I N-I N-I pass op-test for ${!array} with array="a[@]" or array="a[*]"
detailsdetailsdetailsdetails
35pass N-I BUG pass BUG op-test for unquoted ${a[*]:-empty} with IFS=
detailsdetailsdetails
134 passed, 12 OK, 20 not implemented, 14 BUG, 0 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

dash0 Lazy Evaluation of Alternative

stdout:
x
0
stderr:
dash: 5: arithmetic expression: expecting primary: "i++"
zsh3 Unquoted with array as default value

stdout:
['Xx1 2 3 4xX']
['Xx1 2 3 4xX']
stderr:
osh3 Unquoted with array as default value

stdout:
['Xx1 2', '3 4xX']
['Xx1', '2', '3', '4xX']
stderr:
osh4 Quoted with array as default value

stdout:
['Xx1 2', '3 4xX']
['Xx1 2 3 4xX']
stderr:
zsh5 Assign default with array

stdout:
['Xx1 2 3 4xX']
['x1 2 3 4x']
stderr:
osh5 Assign default with array

stdout:
['Xx1 2', '3 4xX']
['x1 2 3 4x']
stderr:
bash12 "${array[@]} with set -u (bash is outlier)

stdout:
empty //
undefined //
stderr:
dash12 "${array[@]} with set -u (bash is outlier)

stdout:
stderr: 
mksh12 "${array[@]} with set -u (bash is outlier)

stdout:
stderr: 
mksh: <stdin>[8]: empty[@]: parameter not set
dash13 "${undefined[@]+foo}" and "${undefined[@]:+foo}", with set -u

stdout:
stderr: 
dash14 "${a[@]+foo}" and "${a[@]:+foo}" - operators are equivalent on arrays?

stdout:
stderr: 
mksh14 "${a[@]+foo}" and "${a[@]:+foo}" - operators are equivalent on arrays?

stdout:
+  //
+: //

+  //
+: //

+  /foo/
+: //

+  /foo/
+: /foo/

stderr:
zsh14 "${a[@]+foo}" and "${a[@]:+foo}" - operators are equivalent on arrays?

stdout:
+  //
+: //

+  /foo/
+: //

+  /foo/
+: /foo/

+  /foo/
+: /foo/

stderr:
dash15 Nix idiom ${!hooksSlice+"${!hooksSlice}"} - was workaround for obsolete bash 4.3 bug

stdout:
stderr: 
mksh15 Nix idiom ${!hooksSlice+"${!hooksSlice}"} - was workaround for obsolete bash 4.3 bug

stdout:
stderr: 
zsh15 Nix idiom ${!hooksSlice+"${!hooksSlice}"} - was workaround for obsolete bash 4.3 bug

stdout:
stderr: 
dash17 array and - and +

stdout:
stderr: 
zsh17 array and - and +

stdout:
empty=
a1=
stderr:
zsh: command not found: shopt
zsh: no matches found: a1[0]=minus
dash18 $@ (empty) and - and +

stdout:
argv=
argv=plus
argv=minus
argv=
stderr:
zsh18 $@ (empty) and - and +

stdout:
argv=
argv=plus
argv=minus
argv=
stderr:
zsh19 $@ ("") and - and +

stdout:
argv=
argv=plus
argv=
argv=plus
stderr:
mksh21 $* ("" "") and - and + (IFS=)

stdout:
argv=
argv=plus
argv=minus
argv=
stderr:
osh21 $* ("" "") and - and + (IFS=)

stdout:
argv=
argv=plus
argv=minus
argv=
stderr:
dash23 assoc array and - and +

stdout:
stderr: 
mksh23 assoc array and - and +

stdout:
stderr: 
zsh23 assoc array and - and +

stdout:
empty=
empty=plus
assoc=minus
assoc=
---
empty=minus
empty=
assoc=minus
assoc=
stderr:
zsh: no matches found: [k]=v
dash24 Error when empty

stdout:
stderr: 
dash: 2: empty: is empty
dash25 Error when unset

stdout:
stderr: 
dash: 1: unset: is empty
dash28 array ${arr[0]=x}

stdout:
stderr: 
dash: 1: Syntax error: "(" unexpected
zsh28 array ${arr[0]=x}

stdout:
0
stderr:
zsh: arr: assignment to invalid subscript range
dash29 assoc array ${arr["k"]=x}

stdout:
stderr: 
dash: 1: Syntax error: "(" unexpected
mksh29 assoc array ${arr["k"]=x}

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '(' unexpected
mksh31 "\e" as arg

stdout:

stderr:
zsh31 "\e" as arg

stdout:

stderr:
dash32 op-test for ${a[@]} and ${a[*]}

stdout:
stderr: 
zsh32 op-test for ${a[@]} and ${a[*]}

stdout:
a   : '' 'with-colon'
a[0]: 'no-colon' 'with-colon'
a[@]: '' 'with-colon'
a[*]: '' 'with-colon'
a   : '' 'with-colon'
a[0]: 'no-colon' 'with-colon'
a[@]: '' ''
a[*]: '' 'with-colon'
a   : ' ' ' '
a[0]: 'no-colon' 'with-colon'
a[@]: ' ' ' '
a[*]: ' ' ' '
a   : '' 'with-colon'
a[0]: 'no-colon' 'with-colon'
a[@]: ' ' ' '
a[*]: '' 'with-colon'
stderr:
dash33 op-test for ${!array} with array="a" and array="a[0]"

stdout:
stderr: 
mksh33 op-test for ${!array} with array="a" and array="a[0]"

stdout:
stderr: 
zsh33 op-test for ${!array} with array="a" and array="a[0]"

stdout:
stderr: 
bash34 op-test for ${!array} with array="a[@]" or array="a[*]"

stdout:
ref=a[@]: 'no-colon' 'with-colon'
ref=a[*]: 'no-colon' 'with-colon'
ref=a[@]: '' ''
ref=a[*]: '' ''
ref=a[@]: ' ' ' '
ref=a[*]: ' ' ' '
ref=a[@]: ' ' ' '
ref=a[*]: '' ''
stderr:
dash34 op-test for ${!array} with array="a[@]" or array="a[*]"

stdout:
stderr: 
mksh34 op-test for ${!array} with array="a[@]" or array="a[*]"

stdout:
stderr: 
zsh34 op-test for ${!array} with array="a[@]" or array="a[*]"

stdout:
stderr: 
dash35 op-test for unquoted ${a[*]:-empty} with IFS=

stdout:
stderr: 
mksh35 op-test for unquoted ${a[*]:-empty} with IFS=

stdout:
['empty']
stderr:
osh35 op-test for unquoted ${a[*]:-empty} with IFS=

stdout:
['empty']
stderr: