Results for assign-extended.test.sh

statusbashmkshoshosh_ALT
pass 1471818
ok 5511
N-I 0711
BUG 1100
total20202020
casebashmkshoshosh_ALTdescription
0pass N-I pass pass local -a
details
1pass N-I pass pass declare -a
details
2pass pass N-I N-I indexed LHS with spaces (not allowed in OSH)
detailsdetails
3pass N-I pass pass declare -f exit code indicates function existence
details
4pass N-I pass pass declare -F prints function names
details
5pass N-I pass pass declare -p
details
6pass pass pass pass typeset -f
7pass BUG pass pass typeset -p
details
8ok ok pass pass typeset -r makes a string readonly
detailsdetails
9ok N-I pass pass typeset -ar makes it readonly
detailsdetails
10pass pass pass pass typeset -x makes it exported
11pass pass pass pass Multiple assignments / array assignments on a line
12ok ok pass pass Env bindings shouldn't contain array assignments
detailsdetails
13BUG ok pass pass syntax error in array assignment
detailsdetails
14pass N-I pass pass declare -g (bash-specific; bash-completion uses it)
details
15pass pass ok ok myvar=typeset (another form of dynamic assignment)
detailsdetails
16ok ok pass pass dynamic array parsing is not allowed
detailsdetails
17pass pass pass pass dynamic flag in array in assign builtin
18pass pass pass pass typeset +x
19ok ok pass pass typeset +r removes read-only attribute
detailsdetails
57 passed, 12 OK, 9 not implemented, 2 BUG, 0 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

mksh0 local -a

stdout:
stderr: 
/bin/mksh: <stdin>[2]: syntax error: '(' unexpected
mksh1 declare -a

stdout:
stderr: 
/bin/mksh: <stdin>[1]: syntax error: '(' unexpected
osh2 indexed LHS with spaces (not allowed in OSH)

stdout:
status=127
[]
stderr:
  a[1 * 1]=x a[ 1 + 2 ]=z
  ^~
[ stdin ]:1: 'a[1' not found
osh_ALT2 indexed LHS with spaces (not allowed in OSH)

stdout:
status=127
[]
stderr:
  a[1 * 1]=x a[ 1 + 2 ]=z
  ^~
[ stdin ]:1: 'a[1' not found
mksh3 declare -f exit code indicates function existence

stdout:
127
127
127
stderr:
/bin/mksh: <stdin>[2]: declare: not found
/bin/mksh: <stdin>[5]: declare: not found
/bin/mksh: <stdin>[8]: declare: not found
mksh4 declare -F prints function names

stdout:
stderr: 
/bin/mksh: <stdin>[6]: declare: not found
mksh5 declare -p

stdout:
127
127
127
stderr:
/bin/mksh: <stdin>[2]: declare: not found
/bin/mksh: <stdin>[5]: declare: not found
/bin/mksh: <stdin>[8]: declare: not found
mksh7 typeset -p

stdout:
0
0
0
stderr:
bash8 typeset -r makes a string readonly

stdout:
status=1
status=1
status=1
status=1
status=1
status=1
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 3: s1: readonly variable
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 5: s2: readonly variable
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 7: s1: readonly variable
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 9: s2: readonly variable
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 11: unset: s1: cannot unset: readonly variable
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 13: unset: s2: cannot unset: readonly variable
mksh8 typeset -r makes a string readonly

stdout:
stderr: 
/bin/mksh: <stdin>[3]: read-only: s1
bash9 typeset -ar makes it readonly

stdout:
status=1
status=1
status=1
status=1
status=1
status=1
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 3: array1: readonly variable
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 5: array2: readonly variable
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 7: array1: readonly variable
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 9: array2: readonly variable
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 11: unset: array1: cannot unset: readonly variable
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 13: unset: array2: cannot unset: readonly variable
mksh9 typeset -ar makes it readonly

stdout:
stderr: 
/bin/mksh: <stdin>[1]: syntax error: '(' unexpected
bash12 Env bindings shouldn't contain array assignments

stdout:
1
None
3
stderr:
mksh12 Env bindings shouldn't contain array assignments

stdout:
1
2
3
stderr:
bash13 syntax error in array assignment

stdout:
x
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 1: 0+: syntax error: operand expected (error token is "+")
mksh13 syntax error in array assignment

stdout:
stderr: 
/bin/mksh: <stdin>[1]: 0+: unexpected 'end of expression'
mksh14 declare -g (bash-specific; bash-completion uses it)

stdout:
['', '']
stderr:
/bin/mksh: <stdin>[11]: declare: not found
/bin/mksh: <stdin>[11]: declare: not found
/bin/mksh: <stdin>[11]: declare: not found
/bin/mksh: <stdin>[11]: "foo": unexpected '"'
/bin/mksh: <stdin>[13]: "foo": unexpected '"'
osh15 myvar=typeset (another form of dynamic assignment)

stdout:
a b
stderr:
osh_ALT15 myvar=typeset (another form of dynamic assignment)

stdout:
a b
stderr:
bash16 dynamic array parsing is not allowed

stdout:
status=0
['1']
stderr:
mksh16 dynamic array parsing is not allowed

stdout:
status=0
['(1 2 3)']
stderr:
bash19 typeset +r removes read-only attribute

stdout:
r=r1
r=r1
r=r1
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 3: typeset: r: readonly variable
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 5: r: readonly variable
mksh19 typeset +r removes read-only attribute

stdout:
r=r1
stderr:
/bin/mksh: <stdin>[3]: read-only: r