Results for builtin-special.test.sh

statusdashbashmkshzshosh
pass 54643
ok 20000
BUG 03130
FAIL 00004
total77777
casedashbashmkshzshoshdescription
0pass pass pass BUG FAIL : is special and prefix assignments persist after special builtins
detailsdetails
1pass BUG pass pass pass readonly is special and prefix assignments persist
details
2pass pass pass pass pass true is not special
3ok BUG pass BUG FAIL Shift is special and the whole script exits if it returns non-zero
detailsdetailsdetailsdetails
4ok BUG pass pass FAIL set is special and fails, even if using || true
detailsdetailsdetails
5pass pass BUG BUG FAIL Special builtins can't be redefined as functions
detailsdetailsdetails
6pass pass pass pass pass Non-special builtins CAN be redefined as functions
22 passed, 2 OK, 0 not implemented, 7 BUG, 4 failed, 0 timeouts, 0 cases skipped
4 failed under osh

Details on runs that didn't PASS

zsh0 : is special and prefix assignments persist after special builtins

stdout:
foo=
stderr:
osh0 : is special and prefix assignments persist after special builtins

[osh stdout] Expected 'foo=bar\n', got 'foo=\n'

stdout:
foo=
stderr:
bash1 readonly is special and prefix assignments persist

stdout:
foo=bar
spam=eggs
bar
None
stderr:
dash3 Shift is special and the whole script exits if it returns non-zero

stdout:
stderr: 
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 3: shift: can't shift that many
bash3 Shift is special and the whole script exits if it returns non-zero

stdout:
status=1
stderr:
zsh3 Shift is special and the whole script exits if it returns non-zero

stdout:
status=1
stderr:
shift: shift count must be <= $#
osh3 Shift is special and the whole script exits if it returns non-zero

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

stdout:
status=1
stderr:
dash4 set is special and fails, even if using || true

stdout:
ok
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 1: shopt: not found
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 3: set: Illegal option -o invalid_
bash4 set is special and fails, even if using || true

stdout:
ok
should not get here
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 1: shopt: invalid_: invalid shell option name
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 3: set: invalid_: invalid option name
osh4 set is special and fails, even if using || true

[osh stdout] Expected 'ok\n', got 'ok\nshould not get here\n'
[osh status] Expected 1, got 0

stdout:
ok
should not get here
stderr:
  shopt -s invalid_ || true
  ^~~~~
[ stdin ]:1: 'shopt' got invalid option 'invalid_'
  set -o invalid_ || true
         ^~~~~~~~
[ stdin ]:3: 'set' got invalid option 'invalid_'
mksh5 Special builtins can't be redefined as functions

stdout:
status=0
stderr:
zsh5 Special builtins can't be redefined as functions

stdout:
status=0
stderr:
osh5 Special builtins can't be redefined as functions

[osh status] Expected 2, got 0

stdout:
status=0
stderr: