Results for toysh.test.sh

statusbashmkshosh
pass 814
ok 021
N-I 030
BUG 020
FAIL 003
total888
casebashmkshoshdescription
0pass N-I ok @Q
detailsdetails
1pass ok FAIL extglob $IFS 1
detailsdetails
2pass pass FAIL extglob $IFS 2
details
3pass BUG FAIL char class / extglob
detailsdetails
4pass BUG pass patsub of $* - http://landley.net/notes.html#23-04-2020
details
5pass ok pass Brace Expansion
details
6pass N-I pass {abc}<<< - http://landley.net/notes-2019.html#09-12-2019
details
7pass N-I pass slice of @ and @ - http://landley.net/notes.html#23-04-2020
details
13 passed, 3 OK, 3 not implemented, 2 BUG, 3 failed, 0 timeouts, 0 cases skipped
3 failed under osh

Details on runs that didn't PASS

mksh0 @Q

stdout:
stderr: 
osh0 @Q

stdout:
a b c d
a b c d
stderr:
mksh1 extglob $IFS 1

stdout:
abc)d
ab+(  ?d)
_tmp abc)d
stderr:
rm: cannot remove '_tmp': Is a directory
mksh: <stdin>[2]: shopt: not found
osh1 extglob $IFS 1

[osh stdout] Expected 'abc)d\nab+( ?d)\n_tmp abc)d\n', got 'abc)d\nabc)d\n_tmp abc)d\n'

stdout:
abc)d
abc)d
_tmp abc)d
stderr:
rm: cannot remove '_tmp': Is a directory
osh2 extglob $IFS 2

[osh stdout] Expected '=+(c=\n=d)=\n', got '=+(c d)=\n'

stdout:
=+(c d)=
stderr:
mksh3 char class / extglob

stdout:
[hello]
b
[+()]
[+(])
stderr:
mksh: <stdin>[1]: shopt: not found
rm: cannot remove '_tmp': Is a directory
osh3 char class / extglob

[osh stdout] Expected '[hello]\nb\n+\n[+(])\n', got '[hello]\n'
[osh status] Expected 0, got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
[hello]
stderr:
rm: cannot remove '_tmp': Is a directory
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain
    return shell.Main('osh', arg_r, environ, login_shell, loader, readline)
  File "/home/uke/oil/core/shell.py", line 1266, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2285, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 2084, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1811, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1054, in _DoSimple
    allow_assign=True)
  File "/home/uke/oil/osh/word_eval.py", line 2529, in EvalWordSequence2
    self._EvalWordToParts(w, part_vals, EXTGLOB_FILES)
  File "/home/uke/oil/osh/word_eval.py", line 1983, in _EvalWordToParts
    self._EvalWordPart(p, word_part_vals, eval_flags)
  File "/home/uke/oil/osh/word_eval.py", line 1875, in _EvalWordPart
    quoted)  # type: part_value_t
  File "/home/uke/oil/osh/word_eval.py", line 2623, in _EvalCommandSub
    stdout_str = self.shell_ex.RunCommandSub(cs_part)
  File "/home/uke/oil/core/executor.py", line 693, in RunCommandSub
    status, stdout_str, stderr_str = self.CaptureStdout(node)
  File "/home/uke/oil/core/executor.py", line 621, in CaptureStdout
    fds = pyos.WaitForInputs([r, r2])
  File "/home/uke/oil/core/pyos.py", line 288, in WaitForInputs
    r, w, exc = select.select(fd, [], [fd])
TypeError: argument must be an int, or have a fileno() method
mksh4 patsub of $* - http://landley.net/notes.html#23-04-2020

stdout:
stderr: 
mksh: <stdin>[1]: ${*/b c/ghi}: bad substitution
mksh5 Brace Expansion

stdout:
~/pwd ~root/pwd
{~,~root}/pwd
~/pwd ~root/pwd
stderr:
mksh6 {abc}<<< - http://landley.net/notes-2019.html#09-12-2019

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '{abc}' unexpected
mksh7 slice of @ and @ - http://landley.net/notes.html#23-04-2020

stdout:
stderr: 
mksh: b: not found
mksh: <stdin>[3]: ${@: 3:5}: bad substitution
mksh: <stdin>[5]: ${*: 3:5}: bad substitution