Results for builtin-vars.test.sh

casedashbashmkshzshoshosh_ALTdescription
0pass pass pass pass pass pass Export sets a global variable
1N-I pass N-I N-I pass pass Export sets a global variable that persists after export -n
detailsdetailsdetails
2N-I pass N-I N-I pass pass export -n undefined is ignored
detailsdetailsdetails
3pass pass pass pass pass pass Export a global variable and unset it
4pass pass pass pass pass pass Export existing global variables
5pass pass pass pass pass pass Export existing local variable
6pass pass pass pass pass pass Export a local that shadows a global
7pass pass pass pass pass pass Export a variable before defining it
8pass pass pass pass FAIL FAIL Unset exported variable, then define it again. It's NOT still exported.
detailsdetails
9pass pass pass pass pass pass Exporting a parent func variable (dynamic scope)
10pass pass pass pass pass pass Dependent export setting
11pass pass pass pass pass pass Exporting a variable doesn't change it
12N-I pass BUG pass ok ok can't export array
detailsdetailsdetailsdetails
13pass pass N-I pass ok ok can't export associative array
detailsdetailsdetails
14ok BUG ok pass pass pass assign to readonly variable
detailsdetailsdetails
15ok pass ok pass pass pass assign to readonly variable - errexit
detailsdetails
16pass pass pass pass pass pass Unset a variable
17pass pass pass pass pass pass Unset exit status
18pass pass pass pass pass pass Unset nonexistent variable
19ok pass pass ok pass pass Unset readonly variable
detailsdetails
20N-I pass N-I N-I pass pass Unset a function without -f
detailsdetailsdetails
21pass pass pass pass pass pass Unset has dynamic scope
22ok ok ok BUG pass pass Unset invalid variable name
detailsdetailsdetailsdetails
23pass pass pass pass pass pass Unset nonexistent variable
24pass pass pass pass pass pass Unset -v
25pass pass pass pass pass pass Unset -f
26N-I pass pass ok N-I N-I Unset array member
detailsdetailsdetailsdetails
27N-I pass pass N-I N-I N-I Unset array member with expression
detailsdetailsdetailsdetails
28pass pass pass BUG pass pass Use local twice
details
29ok pass pass BUG pass pass Local without variable is still unset!
detailsdetails
30ok BUG BUG pass FAIL FAIL local after readonly
detailsdetailsdetailsdetailsdetails

141 passed, 16 ok, 18 known unimplemented, 7 known bugs, 2 failed, 0 skipped

Details on runs that didn't PASS

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

stdout:
X
X
stderr:
_tmp/spec-bin/dash: 5: export: Illegal option -n
mksh1 Export sets a global variable that persists after export -n

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

stdout:
X
X
X
X
stderr:
zsh: bad option: -n
dash2 export -n undefined is ignored

stdout:
stderr: 
_tmp/spec-bin/dash: 2: export: Illegal option -n
mksh2 export -n undefined is ignored

stdout:
stderr: 
_tmp/spec-bin/mksh: <stdin>[2]: export: -n: unknown option
zsh2 export -n undefined is ignored

stdout:
stderr: 
zsh: bad option: -n
osh8 Unset exported variable, then define it again. It's NOT still exported.

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

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

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

stdout:
u
None
newvalue
newvalue
stderr:
dash12 can't export array

stdout:
stderr: 
_tmp/spec-bin/dash: 1: typeset: not found
_tmp/spec-bin/dash: 2: Syntax error: "(" unexpected
mksh12 can't export array

stdout:
1
stderr:
osh12 can't export array

stdout:
stderr: 
  export a
  ^~~~~~
[ stdin ]:3: fatal: Can't export array
osh_ALT12 can't export array

stdout:
stderr: 
  export a
  ^~~~~~
[ stdin ]:3: fatal: Can't export array
mksh13 can't export associative array

stdout:
stderr: 
_tmp/spec-bin/mksh: <stdin>[1]: typeset: -A: unknown option
_tmp/spec-bin/mksh: <stdin>[2]: "foo": unexpected '"'
osh13 can't export associative array

stdout:
stderr: 
  export a
  ^~~~~~
[ stdin ]:3: fatal: Can't export array
osh_ALT13 can't export associative array

stdout:
stderr: 
  export a
  ^~~~~~
[ stdin ]:3: fatal: Can't export array
dash14 assign to readonly variable

stdout:
stderr: 
_tmp/spec-bin/dash: 2: foo: is read only
bash14 assign to readonly variable

stdout:
status=1
stderr:
_tmp/spec-bin/bash: line 2: foo: readonly variable
mksh14 assign to readonly variable

stdout:
stderr: 
_tmp/spec-bin/mksh: <stdin>[2]: read-only: foo
dash15 assign to readonly variable - errexit

stdout:
stderr: 
_tmp/spec-bin/dash: 3: foo: is read only
mksh15 assign to readonly variable - errexit

stdout:
stderr: 
_tmp/spec-bin/mksh: <stdin>[3]: read-only: foo
dash19 Unset readonly variable

stdout:
stderr: 
_tmp/spec-bin/dash: 2: unset: R: is read only
zsh19 Unset readonly variable

stdout:
stderr: 
zsh: read-only variable: R
dash20 Unset a function without -f

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

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

stdout:
foo
foo
stderr:
dash22 Unset invalid variable name

stdout:
stderr: 
_tmp/spec-bin/dash: 1: unset: %: bad variable name
bash22 Unset invalid variable name

stdout:
status=1
stderr:
_tmp/spec-bin/bash: line 1: unset: `%': not a valid identifier
mksh22 Unset invalid variable name

stdout:
status=1
stderr:
_tmp/spec-bin/mksh: <stdin>[1]: read-only: %
zsh22 Unset invalid variable name

stdout:
status=0
stderr:
dash26 Unset array member

stdout:
stderr: 
_tmp/spec-bin/dash: 1: Syntax error: "(" unexpected
zsh26 Unset array member

stdout:
status=0
 y z len=3
stderr:
osh26 Unset array member

stdout:
status=2
x y z len=3
stderr:
  unset 'a[1]'
        ^
[ stdin ]:2: 'unset' got invalid variable name 'a[1]'
osh_ALT26 Unset array member

stdout:
status=2
x y z len=3
stderr:
  unset 'a[1]'
        ^
[ stdin ]:2: 'unset' got invalid variable name 'a[1]'
dash27 Unset array member with expression

stdout:
stderr: 
_tmp/spec-bin/dash: 2: Syntax error: "(" unexpected
zsh27 Unset array member with expression

stdout:
stderr: 
zsh: no matches found: a[i+1]
osh27 Unset array member with expression

stdout:
status=2
w x y z len=4
stderr:
  unset 'a[ i - 1 ]' a[i+1]  # note: can't have space between a and [
        ^
[ stdin ]:3: 'unset' got invalid variable name 'a[ i - 1 ]'
osh_ALT27 Unset array member with expression

stdout:
status=2
w x y z len=4
stderr:
  unset 'a[ i - 1 ]' a[i+1]  # note: can't have space between a and [
        ^
[ stdin ]:3: 'unset' got invalid variable name 'a[ i - 1 ]'
zsh28 Use local twice

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

stdout:
stderr: 
_tmp/spec-bin/dash: 4: foo: parameter not set
zsh29 Local without variable is still unset!

stdout:
[]
stderr:
dash30 local after readonly

stdout:
stderr: 
_tmp/spec-bin/dash: 3: local: y: is read only
bash30 local after readonly

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

stdout:
y=0
stderr:
osh30 local after readonly

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

stdout:
y=1
stderr:
osh_ALT30 local after readonly

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

stdout:
y=1
stderr: