Results for sh-usage.test.sh

statusbashdashmkshzshosh
pass 121091212
ok 01100
N-I 12310
FAIL 00001
total1313131313
casebashdashmkshzshoshdescription
0pass pass pass pass pass sh -c
1pass pass pass pass pass empty -c input
2pass pass N-I pass pass sh +c is accepted
details
3pass pass pass pass pass empty stdin
4pass N-I N-I pass FAIL shell obeys --help (regression for OSH)
detailsdetailsdetails
5pass pass pass pass pass args are passed
6pass pass pass pass pass args that look like flags are passed after script
7pass pass pass pass pass args that look like flags are passed after -c
8pass pass pass pass pass exit with explicit arg
9pass pass pass pass pass exit with no args
10N-I N-I N-I N-I pass --rcfile in non-interactive shell prints warnings
detailsdetailsdetailsdetails
11pass pass pass pass pass accepts -l flag
12pass ok ok pass pass accepts --login flag (dash and mksh don't accept long flags)
detailsdetails
55 passed, 2 OK, 7 not implemented, 0 BUG, 1 failed, 0 timeouts, 0 cases skipped
1 failed under osh

Details on runs that didn't PASS

mksh2 sh +c is accepted

stdout:
stderr: 
mksh: echo hi: No such file or directory
dash4 shell obeys --help (regression for OSH)

stdout:
stderr: 
dash: 0: Illegal option --
mksh4 shell obeys --help (regression for OSH)

stdout:
stderr: 
mksh: mksh: --: unknown option
osh4 shell obeys --help (regression for OSH)

[osh stderr] Found 'Traceback (most recent'

stdout:
yes
stderr:
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 198, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 170, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 140, in AppBundleMain
    return shell.Main('osh', arg_r, environ, login_shell, loader, readline)
  File "/home/uke/oil/core/shell.py", line 320, in Main
    util.HelpFlag(loader, '%s-usage' % lang, mylib.Stdout())
  File "/home/uke/oil/core/util.py", line 161, in HelpFlag
    assert found, 'Missing %s' % topic_id
AssertionError: Missing osh-usage
bash10 --rcfile in non-interactive shell prints warnings

stdout:
rc
==> interactive.txt <==
bash: cannot set terminal process group (2381): Inappropriate ioctl for device
bash: no job control in this shell
bash-5.2$ exit

==> non-interactive.txt <==
stderr:
warned=1
warned=1
dash10 --rcfile in non-interactive shell prints warnings

stdout:
==> interactive.txt <==
dash: 0: Illegal option --

==> non-interactive.txt <==
dash: 0: Illegal option --
stderr:
warned=1
warned=1
mksh10 --rcfile in non-interactive shell prints warnings

stdout:
==> interactive.txt <==
mksh: mksh: --: unknown option

==> non-interactive.txt <==
mksh: mksh: --: unknown option
stderr:
warned=1
warned=1
zsh10 --rcfile in non-interactive shell prints warnings

stdout:
==> interactive.txt <==
zsh: no such option: rcfile

==> non-interactive.txt <==
zsh: no such option: rcfile
stderr:
warned=1
warned=1
dash12 accepts --login flag (dash and mksh don't accept long flags)

stdout:
stderr: 
dash: 0: Illegal option --
mksh12 accepts --login flag (dash and mksh don't accept long flags)

stdout:
stderr: 
mksh: mksh: --: unknown option