Results for builtin-vars.test.sh

statusbashmkshkshtoyshsushbrushosh
pass 35252519212537
ok 2400003
N-I 0800000
BUG 2400000
FAIL 20162220161
total41414141414141
casebashmkshkshtoyshsushbrushoshdescription
0pass pass pass pass pass pass pass Export sets a global variable
1pass N-I FAIL FAIL FAIL pass pass Export sets a global variable that persists after export -n
detailsdetailsdetailsdetails
2pass N-I FAIL pass pass pass pass export -n undefined is ignored
detailsdetails
3ok N-I FAIL FAIL FAIL FAIL pass export -n foo=bar not allowed
detailsdetailsdetailsdetailsdetailsdetails
4pass pass pass pass pass pass pass Export a global variable and unset it
5pass pass pass pass pass pass pass Export existing global variables
6pass pass pass pass FAIL pass pass Export existing local variable
details
7pass pass pass pass FAIL pass pass Export a local that shadows a global
details
8pass pass pass pass pass FAIL pass Export a variable before defining it
details
9pass pass pass pass pass FAIL pass Unset exported variable, then define it again. It's NOT still exported.
details
10pass pass pass pass pass pass pass Exporting a parent func variable (dynamic scope)
11pass pass pass pass FAIL pass pass Dependent export setting
details
12pass pass pass pass pass pass pass Exporting a variable doesn't change it
13pass BUG FAIL FAIL FAIL FAIL ok can't export array (strict_array)
detailsdetailsdetailsdetailsdetailsdetails
14pass N-I FAIL pass FAIL FAIL ok can't export associative array (strict_array)
detailsdetailsdetailsdetailsdetails
15BUG ok FAIL FAIL FAIL FAIL pass assign to readonly variable
detailsdetailsdetailsdetailsdetailsdetails
16pass ok FAIL FAIL pass pass pass Make an existing local variable readonly
detailsdetailsdetails
17pass ok FAIL FAIL FAIL FAIL pass assign to readonly variable - errexit
detailsdetailsdetailsdetailsdetails
18pass pass pass pass pass pass pass Unset a variable
19pass pass pass pass pass pass pass Unset exit status
20pass pass pass pass pass pass pass Unset nonexistent variable
21pass pass pass FAIL FAIL pass pass Unset readonly variable
detailsdetails
22pass N-I FAIL FAIL pass pass pass Unset a function without -f
detailsdetailsdetails
23pass pass pass pass pass pass pass Unset has dynamic scope
24pass pass pass FAIL FAIL pass pass Unset and scope (bug #653)
detailsdetails
25ok pass pass FAIL FAIL FAIL pass unset of local reveals variable in higher scope
detailsdetailsdetailsdetails
26FAIL ok FAIL FAIL FAIL FAIL pass Unset invalid variable name
detailsdetailsdetailsdetailsdetailsdetails
27pass pass pass pass pass pass pass Unset nonexistent variable
28pass pass pass pass pass pass pass Unset -v
29pass pass pass FAIL pass pass pass Unset -f
details
30pass pass pass FAIL pass pass pass Unset array member
details
31pass pass pass FAIL pass pass pass Unset errors
details
32FAIL N-I FAIL FAIL FAIL FAIL ok Unset wrong type
detailsdetailsdetailsdetailsdetailsdetailsdetails
33pass N-I FAIL FAIL FAIL FAIL pass unset -v assoc (related to issue #661)
detailsdetailsdetailsdetailsdetails
34pass N-I FAIL FAIL pass FAIL pass unset assoc errors
detailsdetailsdetailsdetails
35pass pass pass FAIL FAIL pass pass Unset array member with dynamic parsing
detailsdetails
36pass pass pass pass pass pass pass Use local twice
37pass pass pass FAIL FAIL FAIL pass Local without variable is still unset!
detailsdetailsdetails
38BUG BUG FAIL FAIL FAIL FAIL FAIL local after readonly
detailsdetailsdetailsdetailsdetailsdetailsdetails
39pass BUG FAIL FAIL FAIL FAIL pass unset a[-1] (bf.bash regression)
detailsdetailsdetailsdetailsdetails
40pass BUG FAIL FAIL FAIL FAIL pass unset a[-1] in sparse array (bf.bash regression)
detailsdetailsdetailsdetailsdetails
187 passed, 9 OK, 8 not implemented, 6 BUG, 77 failed, 0 timeouts, 0 cases skipped
1 failed under osh

Details on runs that didn't PASS

mksh1 Export sets a global variable that persists after export -n

stdout:
X
X
stderr:
mksh: <stdin>[5]: export: -n: unknown option
ksh1 Export sets a global variable that persists after export -n

[ksh stdout] Expected 'X\nX\nX\nNone\n', got 'X\nX\n'
[ksh status] Expected 0, got 1

stdout:
X
X
stderr:
E: ksh: <stdin>[5]: export: -n: unknown option
toysh1 Export sets a global variable that persists after export -n

[toysh stdout] Expected 'X\nX\nX\nNone\n', got 'X\nX\nX\nX\n'

stdout:
X
X
X
X
stderr:
sush1 Export sets a global variable that persists after export -n

[sush stdout] Expected 'X\nX\nX\nNone\n', got 'X\nX\nX\nX\n'

stdout:
X
X
X
X
stderr:
mksh2 export -n undefined is ignored

stdout:
stderr: 
mksh: <stdin>[2]: export: -n: unknown option
ksh2 export -n undefined is ignored

[ksh stdout] Expected 'status=0\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: export: -n: unknown option
bash3 export -n foo=bar not allowed

stdout:
status=0
new
stderr:
mksh3 export -n foo=bar not allowed

stdout:
stderr: 
mksh: <stdin>[2]: export: -n: unknown option
ksh3 export -n foo=bar not allowed

[ksh stdout] Expected 'status=2\nold\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: export: -n: unknown option
toysh3 export -n foo=bar not allowed

[toysh stdout] Expected 'status=2\nold\n', got 'status=0\nnew\n'

stdout:
status=0
new
stderr:
sush3 export -n foo=bar not allowed

[sush stdout] Expected 'status=2\nold\n', got 'status=0\nnew\n'

stdout:
status=0
new
stderr:
brush3 export -n foo=bar not allowed

[brush stdout] Expected 'status=2\nold\n', got 'status=0\nnew\n'

stdout:
status=0
new
stderr:
sush6 Export existing local variable

[sush stdout] Expected 'local1\nNone\n', got 'local1\nlocal1\n'

stdout:
local1
local1
stderr:
sush7 Export a local that shadows a global

[sush stdout] Expected 'local1\nNone\nglobal\n', got 'local1\nlocal1\nglobal\n'

stdout:
local1
local1
global
stderr:
brush8 Export a variable before defining it

[brush stdout] Expected 'u\n', got 'None\n'

stdout:
None
stderr:
brush9 Unset exported variable, then define it again. It's NOT still exported.

[brush stdout] Expected 'u\nNone\nnewvalue\nNone\n', got 'None\nNone\nnewvalue\nNone\n'

stdout:
None
None
newvalue
None
stderr:
sush11 Dependent export setting

[sush stdout] Expected 'v=None\n', got 'v=foo\n'

stdout:
v=foo
stderr:
mksh13 can't export array (strict_array)

stdout:
1
stderr:
mksh: <stdin>[1]: shopt: not found
ksh13 can't export array (strict_array)

[ksh stdout] Expected 'None\n', got '1\n'

stdout:
1
stderr:
E: ksh: <stdin>[1]: shopt: inaccessible or not found
toysh13 can't export array (strict_array)

[toysh stdout] Expected 'None\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
sh: shopt: No such file or directory
sh: typeset: No such file or directory
main: line 4: sh: syntax error: 1
sush13 can't export array (strict_array)

[sush stdout] Expected 'None\n', got '1\n'

stdout:
1
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: shopt: strict_array: not supported yet
brush13 can't export array (strict_array)

[brush stdout] Expected 'None\n', got '1\n'

stdout:
1
stderr:
shopt: strict_array: invalid shell option name
osh13 can't export array (strict_array)

stdout:
stderr: 
  export a
         ^
[ stdin ]:6: fatal: Only strings can be exported (strict_array)
mksh14 can't export associative array (strict_array)

stdout:
stderr: 
mksh: <stdin>[1]: shopt: not found
mksh: <stdin>[3]: typeset: -A: unknown option
mksh: <stdin>[4]: "foo": unexpected '"'
ksh14 can't export associative array (strict_array)

[ksh stdout] Expected 'None\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: shopt: inaccessible or not found
E: ksh: <stdin>[3]: typeset: -A: unknown option
W: ksh: <stdin>[4]: "foo": unexpected '"'
sush14 can't export associative array (strict_array)

[sush stdout] Expected 'None\n', got 'bar\n'

stdout:
bar
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: shopt: strict_array: not supported yet
brush14 can't export associative array (strict_array)

[brush stdout] Expected 'None\n', got '\n'

stdout:
stderr: 
shopt: strict_array: invalid shell option name
osh14 can't export associative array (strict_array)

stdout:
stderr: 
  export a
         ^
[ stdin ]:6: fatal: Only strings can be exported (strict_array)
bash15 assign to readonly variable

stdout:
status=1
stderr:
bash: line 2: foo: readonly variable
mksh15 assign to readonly variable

stdout:
stderr: 
mksh: <stdin>[2]: read-only: foo
ksh15 assign to readonly variable

[ksh status] Expected 1, got 2

stdout:
stderr: 
E: ksh: <stdin>[2]: read-only: foo
toysh15 assign to readonly variable

[toysh status] Expected 1, got 0

stdout:
status=0
stderr:
sh: readonly: No such file or directory
sush15 assign to readonly variable

[sush status] Expected 1, got 0

stdout:
status=1
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: foo: readonly variable
brush15 assign to readonly variable

[brush status] Expected 1, got 0

stdout:
status=1
stderr:
ERROR error: cannot mutate readonly variable
mksh16 Make an existing local variable readonly

stdout:
local
global
stderr:
mksh: read-only: x
ksh16 Make an existing local variable readonly

[ksh stdout] Expected 'local\nstatus=1\nglobal\n', got 'local\nglobal\n'

stdout:
local
global
stderr:
E: ksh: read-only: x
toysh16 Make an existing local variable readonly

[toysh stdout] Expected 'local\nstatus=1\nglobal\n', got 'local\nstatus=0\nglobal\n'

stdout:
local
status=0
global
stderr:
sh: readonly: No such file or directory
mksh17 assign to readonly variable - errexit

stdout:
stderr: 
mksh: <stdin>[3]: read-only: foo
ksh17 assign to readonly variable - errexit

[ksh status] Expected 1, got 2

stdout:
stderr: 
E: ksh: <stdin>[3]: read-only: foo
toysh17 assign to readonly variable - errexit

[toysh status] Expected 1, got 0

stdout:
status=0
stderr:
set: bad -o errexit
sh: readonly: No such file or directory
sush17 assign to readonly variable - errexit

[sush status] Expected 1, got 0

stdout:
status=1
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: errexit: invalid option name
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: foo: readonly variable
brush17 assign to readonly variable - errexit

[brush status] Expected 1, got 0

stdout:
status=1
stderr:
ERROR error: cannot mutate readonly variable
toysh21 Unset readonly variable

[toysh stdout] Expected 'status=1\n', got 'status=0\n'

stdout:
status=0
stderr:
sh: readonly: No such file or directory
sush21 Unset readonly variable

[sush stdout] Expected 'status=1\n', got 'status=0\n'

stdout:
status=0
stderr:
mksh22 Unset a function without -f

stdout:
foo
foo
stderr:
ksh22 Unset a function without -f

[ksh stdout] Expected 'foo\n', got 'foo\nfoo\n'
[ksh status] Expected 127, got 0

stdout:
foo
foo
stderr:
toysh22 Unset a function without -f

[toysh status] Expected 127, got -11

stdout:
foo
stderr:
toysh24 Unset and scope (bug #653)

[toysh stdout] Expected 'level2=yy\nlevel2=xx\nlevel1=xx\nlevel1=global\nlevel2=yy\nlevel2=global\n' Got 'level2=yy\nlevel2=\nlevel1=xx\nlevel1=\nlevel2=yy\nlevel2=\n'

stdout:
level2=yy
level2=
level1=xx
level1=
level2=yy
level2=
stderr:
sush24 Unset and scope (bug #653)

[sush stdout] Expected 'level2=yy\nlevel2=xx\nlevel1=xx\nlevel1=global\nlevel2=yy\nlevel2=global\n' Got 'level2=yy\nlevel2=\nlevel1=\nlevel1=\nlevel2=yy\nlevel2=\n'

stdout:
level2=yy
level2=
level1=
level1=
level2=yy
level2=
stderr:
bash25 unset of local reveals variable in higher scope

stdout:
x=foo
x=
stderr:
toysh25 unset of local reveals variable in higher scope

[toysh stdout] Expected 'x=foo\nx=global\n', got 'x=foo\nx=\n'

stdout:
x=foo
x=
stderr:
sush25 unset of local reveals variable in higher scope

[sush stdout] Expected 'x=foo\nx=global\n', got 'x=foo\nx=\n'

stdout:
x=foo
x=
stderr:
brush25 unset of local reveals variable in higher scope

[brush stdout] Expected 'x=foo\nx=global\n', got 'x=foo\nx=\n'

stdout:
x=foo
x=
stderr:
bash26 Unset invalid variable name

[bash stdout] Expected 'status=1\n', got 'status=0\n'

stdout:
status=0
stderr:
mksh26 Unset invalid variable name

stdout:
status=1
stderr:
mksh: <stdin>[1]: read-only: %
ksh26 Unset invalid variable name

[ksh stdout] Expected 'status=2\n', got 'status=1\n'

stdout:
status=1
stderr:
W: ksh: <stdin>[1]: read-only: %
toysh26 Unset invalid variable name

[toysh stdout] Expected 'status=2\n', got 'status=1\n'

stdout:
status=1
stderr:
unset: bad '%'
sush26 Unset invalid variable name

[sush stdout] Expected 'status=2\n', got 'status=0\n'

stdout:
status=0
stderr:
brush26 Unset invalid variable name

[brush stdout] Expected 'status=2\n', got 'status=1\n'

stdout:
status=1
stderr:
ERROR failed to parse parameter '%'
toysh29 Unset -f

[toysh stdout] Expected 'foo=bar\nstatus=127\n', got ''
[toysh status] Expected 0, got -11

stdout:
stderr: 
toysh30 Unset array member

[toysh stdout] Expected 'status=0\nx z len=2\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: x
toysh31 Unset errors

[toysh stdout] Expected 'status=0\nstatus=0\nstatus=0\n', got 'status=0\n'
[toysh status] Expected 0, got 2

stdout:
status=0
stderr:
main: line 4: sh: syntax error: x
bash32 Unset wrong type

[bash stdout] Expected 'undef 1\nundef 1\narray 0\narray 1\nassoc 0\nassoc 0\n' Got 'undef 1\nundef 0\narray 0\narray 0\nassoc 0\nassoc 0\n'

stdout:
undef 1
undef 0
array 0
array 0
assoc 0
assoc 0
stderr:
bash: line 4: unset: undef: not an array variable
mksh32 Unset wrong type

stdout:
stderr: 
ksh32 Unset wrong type

[ksh stdout] Expected 'undef 1\nundef 1\narray 0\narray 1\nassoc 0\nassoc 0\n' Got 'undef 0\n'
[ksh status] Expected 0, got 1

stdout:
undef 0
stderr:
E: ksh: <stdin>[3]: declare: inaccessible or not found
W: ksh: <stdin>[6]: "key": unexpected '"'
toysh32 Unset wrong type

[toysh stdout] Expected 'undef 1\nundef 1\narray 0\narray 1\nassoc 0\nassoc 0\n' Got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: (
sush32 Unset wrong type

[sush stdout] Expected 'undef 1\nundef 1\narray 0\narray 1\nassoc 0\nassoc 0\n' Got 'undef 0\nundef 0\narray 0\narray 0\nassoc 0\nassoc 0\n'

stdout:
undef 0
undef 0
array 0
array 0
assoc 0
assoc 0
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 16: 'key': syntax error: operand expected (error token is "'key'")
brush32 Unset wrong type

[brush stdout] Expected 'undef 1\nundef 1\narray 0\narray 1\nassoc 0\nassoc 0\n' Got 'undef 1\nundef 1\narray 0\narray 1\nassoc 0\nassoc 1\n'

stdout:
undef 1
undef 1
array 0
array 1
assoc 0
assoc 1
stderr:
ERROR variable is not an array
ERROR failed to parse arithmetic expression
ERROR failed to parse arithmetic expression
ERROR failed to parse arithmetic expression
osh32 Unset wrong type

stdout:
undef 1
undef 1
array 0
array 0
assoc 0
assoc 0
stderr:
  unset -v 'undef[1]'
           ^
[ stdin ]:4: 'undef' isn't an array
  unset -v 'undef["key"]'
           ^
[ stdin ]:6: 'undef' isn't an array
mksh33 unset -v assoc (related to issue #661)

stdout:
stderr: 
ksh33 unset -v assoc (related to issue #661)

[ksh stdout] Expected '1\nkeys=1],a[1\nvals=foo\n0\nkeys=\nvals=\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[3]: syntax error: unexpected '('
toysh33 unset -v assoc (related to issue #661)

[toysh stdout] Expected '1\nkeys=1],a[1\nvals=foo\n0\nkeys=\nvals=\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: (
sush33 unset -v assoc (related to issue #661)

[sush stdout] Expected '1\nkeys=1],a[1\nvals=foo\n0\nkeys=\nvals=\n', got '0\nkeys=\nvals=\n0\nkeys=\nvals=\n'

stdout:
0
keys=
vals=
0
keys=
vals=
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 5: 1],a: syntax error in expression (error token is "]")
brush33 unset -v assoc (related to issue #661)

[brush stdout] Expected '1\nkeys=1],a[1\nvals=foo\n0\nkeys=\nvals=\n', got '1\nkeys=1],a[1\nvals=foo\n1\nkeys=1],a[1\nvals=foo\n'

stdout:
1
keys=1],a[1
vals=foo
1
keys=1],a[1
vals=foo
stderr:
ERROR failed to parse arithmetic expression
mksh34 unset assoc errors

stdout:
stderr: 
ksh34 unset assoc errors

[ksh stdout] Expected 'status=0\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[3]: syntax error: unexpected '('
toysh34 unset assoc errors

[toysh stdout] Expected 'status=0\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: (
brush34 unset assoc errors

[brush stdout] Expected 'status=0\n', got 'status=1\n'

stdout:
status=1
stderr:
ERROR failed to parse arithmetic expression
toysh35 Unset array member with dynamic parsing

[toysh stdout] Expected 'status=0\nx z len=2\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 2: sh: syntax error: w
sush35 Unset array member with dynamic parsing

[sush stdout] Expected 'status=0\nx z len=2\n', got 'status=0\nx y z len=3\n'

stdout:
status=0
x y z len=3
stderr:
toysh37 Local without variable is still unset!

[toysh stdout] Expected u'', got '[]\n'
[toysh status] Expected 1, got 0

stdout:
[]
stderr:
set: bad -o nounset
sush37 Local without variable is still unset!

[sush stdout] Expected u'', got '[]\n'
[sush status] Expected 1, got 0

stdout:
[]
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: nounset: invalid option name
brush37 Local without variable is still unset!

[brush stdout] Expected u'', got '[]\n'
[brush status] Expected 1, got 0

stdout:
[]
stderr:
bash38 local after readonly

stdout:
y=
y=
stderr:
main: line 3: local: y: readonly variable
mksh38 local after readonly

stdout:
y=0
y=
stderr:
ksh38 local after readonly

[ksh stdout] Expected u'', got 'y=0\ny=\n'
[ksh status] Expected 1, got 0

stdout:
y=0
y=
stderr:
toysh38 local after readonly

[toysh stdout] Expected u'', got 'y=0\ny=\n'
[toysh status] Expected 1, got 0

stdout:
y=0
y=
stderr:
sh: readonly: No such file or directory
sush38 local after readonly

[sush stdout] Expected u'', got 'y=\ny=\n'
[sush status] Expected 1, got 0

stdout:
y=
y=
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: y: readonly variable
brush38 local after readonly

[brush stdout] Expected u'', got 'y=\ny=\n'
[brush status] Expected 1, got 0

stdout:
y=
y=
stderr:
ERROR cannot mutate readonly variable
osh38 local after readonly

[osh stdout] Expected u'', got 'y=0\ny=\n'
[osh status] Expected 1, got 0

stdout:
y=0
y=
stderr:
mksh39 unset a[-1] (bf.bash regression)

stdout:
len=3
last=
last=0
1 2 3 42
stderr:
ksh39 unset a[-1] (bf.bash regression)

[ksh stdout] Expected 'len=2\nlast=2\nlast=2\n1 42\n', got 'len=3\nlast=\nlast=0\n1 2 3 42\n'

stdout:
len=3
last=
last=0
1 2 3 42
stderr:
toysh39 unset a[-1] (bf.bash regression)

[toysh stdout] Expected 'len=2\nlast=2\nlast=2\n1 42\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: (
sush39 unset a[-1] (bf.bash regression)

[sush stdout] Expected 'len=2\nlast=2\nlast=2\n1 42\n', got 'len=3\nlast=\nlast=0\n1 2 3\n'

stdout:
len=3
last=
last=0
1 2 3
stderr:
brush39 unset a[-1] (bf.bash regression)

[brush stdout] Expected 'len=2\nlast=2\nlast=2\n1 42\n', got 'len=2\nlast=2\nlast=2\n42 2 3\n'

stdout:
len=2
last=2
last=2
42 2 3
stderr:
mksh40 unset a[-1] in sparse array (bf.bash regression)

stdout:
len=3 a=0 2 3
last= second= third=
---
len=2 a=0 2
last= second= third=
stderr:
ksh40 unset a[-1] in sparse array (bf.bash regression)

[ksh stdout] Expected 'len=3 a=0 2 3\nlast=3 second=2 third=\n---\nlen=2 a=0 2\nlast=2 second= third=0\n' Got 'len=3 a=0 2 3\nlast= second= third=\n---\nlen=2 a=0 2\nlast= second= third=\n'

stdout:
len=3 a=0 2 3
last= second= third=
---
len=2 a=0 2
last= second= third=
stderr:
toysh40 unset a[-1] in sparse array (bf.bash regression)

[toysh stdout] Expected 'len=3 a=0 2 3\nlast=3 second=2 third=\n---\nlen=2 a=0 2\nlast=2 second= third=0\n' Got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: (
sush40 unset a[-1] in sparse array (bf.bash regression)

[sush stdout] Expected 'len=3 a=0 2 3\nlast=3 second=2 third=\n---\nlen=2 a=0 2\nlast=2 second= third=0\n' Got 'len=3 a=0 2 3\nlast= second= third=\n---\nlen=2 a=0 2\nlast= second= third=\n'

stdout:
len=3 a=0 2 3
last= second= third=
---
len=2 a=0 2
last= second= third=
stderr:
brush40 unset a[-1] in sparse array (bf.bash regression)

[brush stdout] Expected 'len=3 a=0 2 3\nlast=3 second=2 third=\n---\nlen=2 a=0 2\nlast=2 second= third=0\n' Got 'len=3 a=0 2 3\nlast=2 second= third=0\n---\nlen=2 a=0 2\nlast= second=0 third=\n'

stdout:
len=3 a=0 2 3
last=2 second= third=0
---
len=2 a=0 2
last= second=0 third=
stderr: