Results for builtin-vars.test.sh

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

Details on runs that didn't PASS

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

stdout:
X
X
stderr:
dash: 5: export: Illegal option -n
zsh1 Export sets a global variable that persists after export -n

stdout:
X
X
X
X
stderr:
zsh: bad option: -n
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:
dash2 export -n undefined is ignored

stdout:
stderr: 
dash: 2: export: Illegal option -n
zsh2 export -n undefined is ignored

stdout:
stderr: 
zsh: bad option: -n
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:
dash3 export -n foo=bar not allowed

stdout:
stderr: 
dash: 2: export: Illegal option -n
ash3 export -n foo=bar not allowed

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

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

stdout:
status=1
old
stderr:
zsh: bad option: -n
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:
dash13 can't export array (strict_array)

stdout:
stderr: 
dash: 1: shopt: not found
dash: 3: typeset: not found
dash: 4: Syntax error: "(" unexpected
ash13 can't export array (strict_array)

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

stdout:
stderr: 
ash: shopt: not found
ash: typeset: not found
ash: syntax error: unexpected "("
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
dash15 assign to readonly variable

stdout:
stderr: 
dash: 2: foo: is read only
ash15 assign to readonly variable

[ash status] Expected 1, got 2

stdout:
stderr: 
ash: foo: is read only
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
dash16 Make an existing local variable readonly

stdout:
local
stderr:
dash: 1: eval: x: is read only
ash16 Make an existing local variable readonly

[ash stdout] Expected 'local\nstatus=1\nglobal\n', got 'local\n'
[ash status] Expected 0, got 2

stdout:
local
stderr:
ash: eval: line 5: x: is read only
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
dash17 assign to readonly variable - errexit

stdout:
stderr: 
dash: 3: foo: is read only
ash17 assign to readonly variable - errexit

[ash status] Expected 1, got 2

stdout:
stderr: 
ash: foo: is read only
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
dash21 Unset readonly variable

stdout:
stderr: 
dash: 2: unset: R: is read only
ash21 Unset readonly variable

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

stdout:
stderr: 
ash: unset: line 2: R: is read only
zsh21 Unset readonly variable

stdout:
stderr: 
zsh: read-only variable: R
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:
dash22 Unset a function without -f

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

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

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

stdout:
foo
foo
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:
dash24 Unset and scope (bug #653)

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

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

stdout:
level2=yy
level2=
level1=xx
level1=
level2=yy
level2=
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:
dash25 unset of local reveals variable in higher scope

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

stdout:
x=foo
x=
stderr:
zsh25 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:
dash26 Unset invalid variable name

stdout:
stderr: 
dash: 1: unset: %: bad variable name
ash26 Unset invalid variable name

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

stdout:
stderr: 
ash: unset: line 1: %: bad variable name
zsh26 Unset invalid variable name

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: 
dash30 Unset array member

stdout:
stderr: 
dash: 1: Syntax error: "(" unexpected
ash30 Unset array member

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

stdout:
stderr: 
ash: syntax error: unexpected "("
zsh30 Unset array member

stdout:
status=0
 y z len=3
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
dash31 Unset errors

stdout:
status=0
stderr:
dash: 4: Syntax error: "(" unexpected
ash31 Unset errors

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

stdout:
status=0
stderr:
ash: syntax error: unexpected "("
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
dash32 Unset wrong type

stdout:
stderr: 
dash: 3: declare: not found
dash: 4: unset: undef[1]: bad variable name
ash32 Unset wrong type

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

stdout:
stderr: 
ash: declare: not found
ash: unset: line 4: undef[1]: bad variable name
zsh32 Unset wrong type

stdout:
undef 0
undef 1
array 0
array 1
assoc 0
assoc 0
stderr:
zsh: bad math expression: operand expected at `"key"'
zsh: bad math expression: operand expected at `"key"'
zsh: no matches found: [key]=val
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
dash33 unset -v assoc (related to issue #661)

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

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

stdout:
stderr: 
ash: syntax error: unexpected "("
zsh33 unset -v assoc (related to issue #661)

stdout:
stderr: 
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
dash34 unset assoc errors

stdout:
stderr: 
ash34 unset assoc errors

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

stdout:
stderr: 
ash: syntax error: unexpected "("
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
dash35 Unset array member with dynamic parsing

stdout:
stderr: 
dash: 2: Syntax error: "(" unexpected
ash35 Unset array member with dynamic parsing

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

stdout:
stderr: 
ash: syntax error: unexpected "("
zsh35 Unset array member with dynamic parsing

stdout:
stderr: 
zsh: no matches found: a[i+1]
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:
zsh36 Use local twice

stdout:
foo=bar
bar
stderr:
dash37 Local without variable is still unset!

stdout:
stderr: 
dash: 4: foo: parameter not set
ash37 Local without variable is still unset!

[ash status] Expected 1, got 2

stdout:
stderr: 
ash: foo: parameter not set
zsh37 Local without variable is still unset!

stdout:
[]
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
dash38 local after readonly

stdout:
stderr: 
dash: 3: local: y: is read only
ash38 local after readonly

[ash status] Expected 1, got 2

stdout:
stderr: 
ash: local: line 3: y: is read only
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:
dash39 unset a[-1] (bf.bash regression)

stdout:
stderr: 
ash39 unset a[-1] (bf.bash regression)

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

stdout:
stderr: 
ash: syntax error: unexpected "("
zsh39 unset a[-1] (bf.bash regression)

stdout:
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:
dash40 unset a[-1] in sparse array (bf.bash regression)

stdout:
stderr: 
ash40 unset a[-1] in sparse array (bf.bash regression)

[ash 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 ''
[ash status] Expected 0, got 2

stdout:
stderr: 
ash: syntax error: unexpected "("
zsh40 unset a[-1] in sparse array (bf.bash regression)

stdout:
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: