Results for toysh-posix.test.sh

statusoshosh-cpp
pass 1617
ok 22
FAIL 43
total2222
caseoshosh-cppdescription
0pass pass Fatal error
1ok ok setting readonly var (bash is only one where it's non-fatal)
detailsdetails
2ok ok readonly with temp binding
detailsdetails
3pass pass Failed redirect in assignment, vs. export
4FAIL FAIL Evaluation order of redirect and ${undef?error}
detailsdetails
5pass pass Function def in pipeline
6pass pass dynamic glob - http://landley.net/notes.html#08-05-2020
7pass pass no shebang
8pass pass IFS
9pass pass shift is fatal at top level?
10pass pass var and func - http://landley.net/notes.html#19-03-2020
11pass pass IFS - http://landley.net/notes.html#05-03-2020
12pass pass for loop parsing - http://landley.net/notes.html#04-03-2020
13pass pass Parsing $(( ))
14FAIL FAIL IFS - http://landley.net/notes.html#15-02-2020 (TODO: osh)
detailsdetails
15FAIL FAIL IFS 2 (TODO: osh)
detailsdetails
16pass pass IFS 3
17pass pass IFS 4
18FAIL pass IFS 5
details
19pass pass Can't parse extra }
20pass pass Command Sub Syntax Error
21pass pass Pipeline - http://landley.net/notes-2019.html#16-12-2019
33 passed, 4 OK, 0 not implemented, 0 BUG, 4 failed, 0 timeouts, 0 cases skipped
4 failed under osh

Details on runs that didn't PASS

osh1 setting readonly var (bash is only one where it's non-fatal)

stdout:
stderr: 
  abc=def
  ^~~~
[ stdin ]:2: fatal: Can't assign to readonly value 'abc'
osh-cpp1 setting readonly var (bash is only one where it's non-fatal)

stdout:
stderr: 
  abc=def
  ^~~~
[ stdin ]:2: fatal: Can't assign to readonly value 'abc'
osh2 readonly with temp binding

stdout:
one
status=0
hello
stderr:
  echo potato < /does/not/exist || echo hello
              ^
[ stdin ]:5: Can't open '/does/not/exist': No such file or directory
[ stdin ]:5: I/O error applying redirect: No such file or directory
osh-cpp2 readonly with temp binding

stdout:
one
status=0
hello
stderr:
  echo potato < /does/not/exist || echo hello
              ^
[ stdin ]:5: Can't open '/does/not/exist': No such file or directory
[ stdin ]:5: I/O error applying redirect: No such file or directory
osh4 Evaluation order of redirect and ${undef?error}

[osh stdout] Expected 'exists1\n', got 'exists1\nexists2\n'

stdout:
exists1
exists2
stderr:
rm: cannot remove '_tmp': Is a directory
  X=${x?bc} > walrus
      ^
[ -c flag ]:1: fatal: Var x is unset: 'bc'
  >walrus echo ${a?bc}
                 ^
[ -c flag ]:1: fatal: Var a is unset: 'bc'
osh-cpp4 Evaluation order of redirect and ${undef?error}

[osh-cpp stdout] Expected 'exists1\n', got 'exists1\nexists2\n'

stdout:
exists1
exists2
stderr:
rm: cannot remove '_tmp': Is a directory
  X=${x?bc} > walrus
      ^
[ -c flag ]:1: fatal: Var x is unset: 'bc'
  >walrus echo ${a?bc}
                 ^
[ -c flag ]:1: fatal: Var a is unset: 'bc'
osh14 IFS - http://landley.net/notes.html#15-02-2020 (TODO: osh)

[osh stdout] Expected '==\n=abc=\n==\n==\n=abc=\n=def=\n==\n', got '==\n=abc=\n==\n=abc=\n=def=\n'

stdout:
==
=abc=
==
=abc=
=def=
stderr:
osh-cpp14 IFS - http://landley.net/notes.html#15-02-2020 (TODO: osh)

[osh-cpp stdout] Expected '==\n=abc=\n==\n==\n=abc=\n=def=\n==\n', got '==\n=abc=\n==\n=abc=\n=def=\n'

stdout:
==
=abc=
==
=abc=
=def=
stderr:
osh15 IFS 2 (TODO: osh)

[osh stdout] Expected '=x=\n=abc=\n=def=\n==\n', got '=x=\n=abc=\n=def=\n'

stdout:
=x=
=abc=
=def=
stderr:
  this one appears different between osh and bash
  ^~~~
[ stdin ]:1: 'this' not found (OILS-ERR-100)
osh-cpp15 IFS 2 (TODO: osh)

[osh-cpp stdout] Expected '=x=\n=abc=\n=def=\n==\n', got '=x=\n=abc=\n=def=\n'

stdout:
=x=
=abc=
=def=
stderr:
  this one appears different between osh and bash
  ^~~~
[ stdin ]:1: 'this' not found (OILS-ERR-100)
osh18 IFS 5

[osh stdout] Expected '==\n', got ''
[osh status] Expected 0, got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
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 1125, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 364, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 1955, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1777, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1650, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/uke/oil/osh/cmd_eval.py", line 1854, in _ExecuteList
    status = self._Execute(child)
  File "/home/uke/oil/osh/cmd_eval.py", line 1777, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1537, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 827, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 518, in _RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/executor.py", line 301, in RunSimpleCommand
    status = self.cmd_ev.RunProc(proc_node, cmd_val)
  File "/home/uke/oil/osh/cmd_eval.py", line 2137, in RunProc
    status = self._Execute(proc.body)
  File "/home/uke/oil/osh/cmd_eval.py", line 1777, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1658, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/uke/oil/osh/cmd_eval.py", line 1854, in _ExecuteList
    status = self._Execute(child)
  File "/home/uke/oil/osh/cmd_eval.py", line 1777, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1548, in _Dispatch
    status = self._Execute(node.child)
  File "/home/uke/oil/osh/cmd_eval.py", line 1777, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1674, in _Dispatch
    status = self._DoForEach(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1212, in _DoForEach
    assert iter_list, iter_list
AssertionError: []