Results for ble-idioms.test.sh

statusbashzshmkshashosh
pass 2399547
ok 30100
N-I 213536390
BUG 03130
total4747474747
casebashzshmkshashoshdescription
0pass pass pass pass pass recursive arith: one level
1pass pass pass pass pass recursive arith: two levels
2pass pass BUG BUG pass recursive arith: short circuit &&, ||
detailsdetails
3pass pass pass BUG pass recursive arith: short circuit ?:
details
4pass BUG pass BUG pass recursive arith: side effects
detailsdetails
5pass pass N-I N-I pass recursive arith: recursion
detailsdetails
6pass pass pass N-I pass recursive arith: array elements
details
7pass pass pass pass pass dynamic arith varname: assign
8pass pass pass pass pass dynamic arith varname: read
9pass pass pass pass pass dynamic arith varname: copy/add
10pass N-I N-I N-I pass is-array with ${var@a}
detailsdetailsdetails
11pass BUG pass N-I pass Sparse array with big index
detailsdetails
12pass BUG N-I N-I pass shift unshift reverse
detailsdetailsdetails
13N-I N-I N-I N-I pass SparseArray Performance demo
detailsdetailsdetailsdetails
14N-I N-I N-I N-I pass SparseArray: test length
detailsdetailsdetailsdetails
15ok N-I ok N-I pass SparseArray: test "declare -p sp"
detailsdetailsdetailsdetails
16N-I N-I N-I N-I pass SparseArray: +=
detailsdetailsdetailsdetails
17N-I N-I N-I N-I pass SparseArray: a[i]=v
detailsdetailsdetailsdetails
18N-I N-I N-I N-I pass SparseArray: Negative index with a[i]=v
detailsdetailsdetailsdetails
19pass N-I N-I N-I pass SparseArray: a[i]=v with BigInt
detailsdetailsdetails
20N-I N-I N-I N-I pass SparseArray: Negative out-of-bound index with a[i]=v (1/2)
detailsdetailsdetailsdetails
21N-I N-I N-I N-I pass SparseArray: Negative out-of-bound index with a[i]=v (2/2)
detailsdetailsdetailsdetails
22N-I N-I N-I N-I pass SparseArray: xtrace a+=()
detailsdetailsdetailsdetails
23N-I N-I N-I N-I pass SparseArray: unset -v a[i]
detailsdetailsdetailsdetails
24N-I N-I N-I N-I pass SparseArray: unset -v a[i] with out-of-bound negative index
detailsdetailsdetailsdetails
25N-I N-I N-I N-I pass SparseArray: unset -v a[i] for max index
detailsdetailsdetailsdetails
26N-I N-I N-I N-I pass SparseArray: [[ -v a[i] ]]
detailsdetailsdetailsdetails
27N-I N-I N-I N-I pass SparseArray: [[ -v a[i] ]] with invalid negative index
detailsdetailsdetailsdetails
28pass N-I N-I N-I pass SparseArray: ((sp[i])) and ((sp[i]++))
detailsdetailsdetails
29ok N-I N-I N-I pass SparseArray: ((sp[i])) and ((sp[i]++)) with invalid negative index
detailsdetailsdetailsdetails
30N-I N-I N-I N-I pass SparseArray: ${sp[i]}
detailsdetailsdetailsdetails
31N-I N-I N-I N-I pass SparseArray: ${sp[i]} with negative invalid index
detailsdetailsdetailsdetails
32N-I N-I N-I N-I pass SparseArray (YSH): @[sp] and @sp
detailsdetailsdetailsdetails
33pass N-I N-I N-I pass SparseArray: ${a[@]:offset:length}
detailsdetailsdetails
34pass N-I N-I N-I pass ${@:offset:length}
detailsdetailsdetails
35pass N-I N-I N-I pass SparseArray: ${a[@]:BigInt}
detailsdetailsdetails
36pass N-I N-I N-I pass SparseArray: ${a[@]}
detailsdetailsdetails
37pass N-I N-I N-I pass SparseArray: ${a[@]#...}
detailsdetailsdetails
38pass N-I N-I N-I pass SparseArray: ${a[@]/pat/rep}
detailsdetailsdetails
39ok N-I N-I N-I pass SparseArray: ${a[@]@P}, ${a[@]@Q}, and ${a[@]@a}
detailsdetailsdetailsdetails
40pass N-I N-I N-I pass SparseArray: ${a[@]-unset}, ${a[@]:-empty}, etc.
detailsdetailsdetails
41pass N-I N-I N-I pass SparseArray: compgen -F _set_COMPREPLY
detailsdetailsdetails
42N-I N-I N-I N-I pass SparseArray: compgen -F _set_COMPREPLY
detailsdetailsdetailsdetails
43N-I N-I N-I N-I pass SparseArray (YSH): $[a1 === a2]
detailsdetailsdetailsdetails
44N-I N-I N-I N-I pass SparseArray (YSH): append v1 v2... (a)
detailsdetailsdetailsdetails
45N-I N-I N-I N-I pass SparseArray (YSH): $[bool(a)]
detailsdetailsdetailsdetails
46N-I N-I N-I N-I pass SparseArray: crash dump
detailsdetailsdetailsdetails
93 passed, 4 OK, 131 not implemented, 7 BUG, 0 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

mksh2 recursive arith: short circuit &&, ||

stdout:
1:123
1:123
0:321
1:321
stderr:
ash2 recursive arith: short circuit &&, ||

stdout:
1:123
1:123
0:321
1:321
stderr:
ash3 recursive arith: short circuit ?:

stdout:
123:321
321:321
stderr:
zsh4 recursive arith: side effects

stdout:
0:123
stderr:
ash4 recursive arith: side effects

stdout:
0:123
stderr:
mksh5 recursive arith: recursion

stdout:
stderr: 
mksh: <stdin>[2]: i<=100&&(s+=i,i++,loop): expression recurses on parameter 'loop'
ash5 recursive arith: recursion

stdout:
stderr: 
ash: expression recursion loop detected
ash6 recursive arith: array elements

stdout:
stderr: 
ash: text[1]=d=123: not found
ash: text[2]=text[1]: not found
ash: text[3]=text[2]: not found
ash: arithmetic syntax error
zsh10 is-array with ${var@a}

stdout:
stderr: 
ble/is-array: bad substitution
mksh10 is-array with ${var@a}

stdout:
stderr: 
ash10 is-array with ${var@a}

stdout:
stderr: 
zsh11 Sparse array with big index

stdout:
len=1048576
stderr:
ash11 Sparse array with big index

stdout:
stderr: 
ash: syntax error: unexpected "("
zsh12 shift unshift reverse

stdout:
1 2 3 4 5 6
2 3 4 5 6
4 5 6
---
99 4 5 6
---
5 4 99
stderr:
(eval):4: a: assignment to invalid subscript range
mksh12 shift unshift reverse

stdout:
stderr: 
ash12 shift unshift reverse

stdout:
stderr: 
bash13 SparseArray Performance demo

stdout:
stderr: 
zsh13 SparseArray Performance demo

stdout:
stderr: 
mksh13 SparseArray Performance demo

stdout:
stderr: 
ash13 SparseArray Performance demo

stdout:
stderr: 
bash14 SparseArray: test length

stdout:
stderr: 
zsh14 SparseArray: test length

stdout:
stderr: 
mksh14 SparseArray: test length

stdout:
stderr: 
ash14 SparseArray: test length

stdout:
stderr: 
bash15 SparseArray: test "declare -p sp"

stdout:
declare -a a0=()
declare -a a1=([0]="1")
declare -a a2=([0]="1" [1]="2")
declare -a a=([0]="x" [1]="y" [2]="z" [3]="w" [500]="100" [1000]="100")
stderr:
zsh15 SparseArray: test "declare -p sp"

stdout:
stderr: 
mksh15 SparseArray: test "declare -p sp"

stdout:
set -A a1
typeset a1[0]=1
set -A a2
typeset a2[0]=1
typeset a2[1]=2
set -A a
typeset a[0]=x
typeset a[1]=y
typeset a[2]=z
typeset a[3]=w
typeset a[500]=100
typeset a[1000]=100
stderr:
ash15 SparseArray: test "declare -p sp"

stdout:
stderr: 
bash16 SparseArray: +=

stdout:
stderr: 
zsh16 SparseArray: +=

stdout:
stderr: 
mksh16 SparseArray: +=

stdout:
stderr: 
ash16 SparseArray: +=

stdout:
stderr: 
bash17 SparseArray: a[i]=v

stdout:
stderr: 
zsh17 SparseArray: a[i]=v

stdout:
stderr: 
mksh17 SparseArray: a[i]=v

stdout:
stderr: 
ash17 SparseArray: a[i]=v

stdout:
stderr: 
bash18 SparseArray: Negative index with a[i]=v

stdout:
stderr: 
zsh18 SparseArray: Negative index with a[i]=v

stdout:
stderr: 
mksh18 SparseArray: Negative index with a[i]=v

stdout:
stderr: 
ash18 SparseArray: Negative index with a[i]=v

stdout:
stderr: 
zsh19 SparseArray: a[i]=v with BigInt

stdout:
stderr: 
mksh19 SparseArray: a[i]=v with BigInt

stdout:
stderr: 
ash19 SparseArray: a[i]=v with BigInt

stdout:
stderr: 
bash20 SparseArray: Negative out-of-bound index with a[i]=v (1/2)

stdout:
stderr: 
zsh20 SparseArray: Negative out-of-bound index with a[i]=v (1/2)

stdout:
stderr: 
mksh20 SparseArray: Negative out-of-bound index with a[i]=v (1/2)

stdout:
stderr: 
ash20 SparseArray: Negative out-of-bound index with a[i]=v (1/2)

stdout:
stderr: 
bash21 SparseArray: Negative out-of-bound index with a[i]=v (2/2)

stdout:
stderr: 
zsh21 SparseArray: Negative out-of-bound index with a[i]=v (2/2)

stdout:
stderr: 
mksh21 SparseArray: Negative out-of-bound index with a[i]=v (2/2)

stdout:
stderr: 
ash21 SparseArray: Negative out-of-bound index with a[i]=v (2/2)

stdout:
stderr: 
bash22 SparseArray: xtrace a+=()

stdout:
stderr: 
zsh22 SparseArray: xtrace a+=()

stdout:
stderr: 
mksh22 SparseArray: xtrace a+=()

stdout:
stderr: 
ash22 SparseArray: xtrace a+=()

stdout:
stderr: 
bash23 SparseArray: unset -v a[i]

stdout:
stderr: 
zsh23 SparseArray: unset -v a[i]

stdout:
stderr: 
mksh23 SparseArray: unset -v a[i]

stdout:
stderr: 
ash23 SparseArray: unset -v a[i]

stdout:
stderr: 
bash24 SparseArray: unset -v a[i] with out-of-bound negative index

stdout:
stderr: 
zsh24 SparseArray: unset -v a[i] with out-of-bound negative index

stdout:
stderr: 
mksh24 SparseArray: unset -v a[i] with out-of-bound negative index

stdout:
stderr: 
ash24 SparseArray: unset -v a[i] with out-of-bound negative index

stdout:
stderr: 
bash25 SparseArray: unset -v a[i] for max index

stdout:
stderr: 
zsh25 SparseArray: unset -v a[i] for max index

stdout:
stderr: 
mksh25 SparseArray: unset -v a[i] for max index

stdout:
stderr: 
ash25 SparseArray: unset -v a[i] for max index

stdout:
stderr: 
bash26 SparseArray: [[ -v a[i] ]]

stdout:
stderr: 
zsh26 SparseArray: [[ -v a[i] ]]

stdout:
stderr: 
mksh26 SparseArray: [[ -v a[i] ]]

stdout:
stderr: 
ash26 SparseArray: [[ -v a[i] ]]

stdout:
stderr: 
bash27 SparseArray: [[ -v a[i] ]] with invalid negative index

stdout:
stderr: 
zsh27 SparseArray: [[ -v a[i] ]] with invalid negative index

stdout:
stderr: 
mksh27 SparseArray: [[ -v a[i] ]] with invalid negative index

stdout:
stderr: 
ash27 SparseArray: [[ -v a[i] ]] with invalid negative index

stdout:
stderr: 
zsh28 SparseArray: ((sp[i])) and ((sp[i]++))

stdout:
stderr: 
mksh28 SparseArray: ((sp[i])) and ((sp[i]++))

stdout:
stderr: 
ash28 SparseArray: ((sp[i])) and ((sp[i]++))

stdout:
stderr: 
bash29 SparseArray: ((sp[i])) and ((sp[i]++)) with invalid negative index

stdout:
0
stderr:
bash: line 7: a: bad array subscript
zsh29 SparseArray: ((sp[i])) and ((sp[i]++)) with invalid negative index

stdout:
stderr: 
mksh29 SparseArray: ((sp[i])) and ((sp[i]++)) with invalid negative index

stdout:
stderr: 
ash29 SparseArray: ((sp[i])) and ((sp[i]++)) with invalid negative index

stdout:
stderr: 
bash30 SparseArray: ${sp[i]}

stdout:
stderr: 
zsh30 SparseArray: ${sp[i]}

stdout:
stderr: 
mksh30 SparseArray: ${sp[i]}

stdout:
stderr: 
ash30 SparseArray: ${sp[i]}

stdout:
stderr: 
bash31 SparseArray: ${sp[i]} with negative invalid index

stdout:
stderr: 
zsh31 SparseArray: ${sp[i]} with negative invalid index

stdout:
stderr: 
mksh31 SparseArray: ${sp[i]} with negative invalid index

stdout:
stderr: 
ash31 SparseArray: ${sp[i]} with negative invalid index

stdout:
stderr: 
bash32 SparseArray (YSH): @[sp] and @sp

stdout:
stderr: 
zsh32 SparseArray (YSH): @[sp] and @sp

stdout:
stderr: 
mksh32 SparseArray (YSH): @[sp] and @sp

stdout:
stderr: 
ash32 SparseArray (YSH): @[sp] and @sp

stdout:
stderr: 
zsh33 SparseArray: ${a[@]:offset:length}

stdout:
stderr: 
mksh33 SparseArray: ${a[@]:offset:length}

stdout:
stderr: 
ash33 SparseArray: ${a[@]:offset:length}

stdout:
stderr: 
zsh34 ${@:offset:length}

stdout:
stderr: 
mksh34 ${@:offset:length}

stdout:
stderr: 
ash34 ${@:offset:length}

stdout:
stderr: 
zsh35 SparseArray: ${a[@]:BigInt}

stdout:
stderr: 
mksh35 SparseArray: ${a[@]:BigInt}

stdout:
stderr: 
ash35 SparseArray: ${a[@]:BigInt}

stdout:
stderr: 
zsh36 SparseArray: ${a[@]}

stdout:
stderr: 
mksh36 SparseArray: ${a[@]}

stdout:
stderr: 
ash36 SparseArray: ${a[@]}

stdout:
stderr: 
zsh37 SparseArray: ${a[@]#...}

stdout:
stderr: 
mksh37 SparseArray: ${a[@]#...}

stdout:
stderr: 
ash37 SparseArray: ${a[@]#...}

stdout:
stderr: 
zsh38 SparseArray: ${a[@]/pat/rep}

stdout:
stderr: 
mksh38 SparseArray: ${a[@]/pat/rep}

stdout:
stderr: 
ash38 SparseArray: ${a[@]/pat/rep}

stdout:
stderr: 
bash39 SparseArray: ${a[@]@P}, ${a[@]@Q}, and ${a[@]@a}

stdout:
['v0', 'v1', 'v5', 'v6', 'v8', 'v9']
['v0 v1 v5 v6 v8 v9']
["'v0'", "'v1'", "'v5'", "'v6'", "'v8'", "'v9'"]
["'v0' 'v1' 'v5' 'v6' 'v8' 'v9'"]
['a', 'a', 'a', 'a', 'a', 'a']
['a a a a a a']
stderr:
zsh39 SparseArray: ${a[@]@P}, ${a[@]@Q}, and ${a[@]@a}

stdout:
stderr: 
mksh39 SparseArray: ${a[@]@P}, ${a[@]@Q}, and ${a[@]@a}

stdout:
stderr: 
ash39 SparseArray: ${a[@]@P}, ${a[@]@Q}, and ${a[@]@a}

stdout:
stderr: 
zsh40 SparseArray: ${a[@]-unset}, ${a[@]:-empty}, etc.

stdout:
stderr: 
mksh40 SparseArray: ${a[@]-unset}, ${a[@]:-empty}, etc.

stdout:
stderr: 
ash40 SparseArray: ${a[@]-unset}, ${a[@]:-empty}, etc.

stdout:
stderr: 
zsh41 SparseArray: compgen -F _set_COMPREPLY

stdout:
stderr: 
mksh41 SparseArray: compgen -F _set_COMPREPLY

stdout:
stderr: 
ash41 SparseArray: compgen -F _set_COMPREPLY

stdout:
stderr: 
bash42 SparseArray: compgen -F _set_COMPREPLY

stdout:
stderr: 
zsh42 SparseArray: compgen -F _set_COMPREPLY

stdout:
stderr: 
mksh42 SparseArray: compgen -F _set_COMPREPLY

stdout:
stderr: 
ash42 SparseArray: compgen -F _set_COMPREPLY

stdout:
stderr: 
bash43 SparseArray (YSH): $[a1 === a2]

stdout:
stderr: 
zsh43 SparseArray (YSH): $[a1 === a2]

stdout:
stderr: 
mksh43 SparseArray (YSH): $[a1 === a2]

stdout:
stderr: 
ash43 SparseArray (YSH): $[a1 === a2]

stdout:
stderr: 
bash44 SparseArray (YSH): append v1 v2... (a)

stdout:
stderr: 
zsh44 SparseArray (YSH): append v1 v2... (a)

stdout:
stderr: 
mksh44 SparseArray (YSH): append v1 v2... (a)

stdout:
stderr: 
ash44 SparseArray (YSH): append v1 v2... (a)

stdout:
stderr: 
bash45 SparseArray (YSH): $[bool(a)]

stdout:
stderr: 
zsh45 SparseArray (YSH): $[bool(a)]

stdout:
stderr: 
mksh45 SparseArray (YSH): $[bool(a)]

stdout:
stderr: 
ash45 SparseArray (YSH): $[bool(a)]

stdout:
stderr: 
bash46 SparseArray: crash dump

stdout:
stderr: 
zsh46 SparseArray: crash dump

stdout:
stderr: 
mksh46 SparseArray: crash dump

stdout:
stderr: 
ash46 SparseArray: crash dump

stdout:
stderr: