Results for ysh-builtins.test.sh

statusosh
pass 34
FAIL 5
total39
caseoshdescription
0FAIL append onto BashArray a=(1 2)
details
1pass append onto var a = :| 1 2 |
2pass append onto var a = ['1', '2']
3pass append without typed arg
4pass append passed invalid type
5pass write --sep, --end, -n, varying flag syntax
6pass write --json
7pass write --j8
8pass write -e not supported
9pass write syntax error
10pass write --
11pass read flag usage
12pass read (&x) is usage error
13pass read --raw-line
14pass read --raw-line in a loop
15pass read --raw-line --with-eol in a loop
16pass Mixing read --raw-line with read -r
17pass read --raw-line --with-eol
18FAIL read --raw-line --j8
details
19pass echo builtin should disallow typed args - literal
20pass echo builtin should disallow typed args - variable
21FAIL read --all-lines
details
22FAIL read --all-lines --with-eol
details
23pass Can simulate read --all-lines with a proc and value.Place
24pass read --all
25pass read --all from directory is an error (EISDIR)
26pass read --num-bytes
27pass read -0 is like read -r -d ''
28pass read -0 myvar doesn't do anything with IFS
29pass simple_test_builtin
30pass long flags to test
31pass test --true; test --false
32pass More test --true --false
33pass Make sure [[ is not affected by --true --false
34FAIL push-registers
details
35pass push-registers usage
36pass redir
37pass type(x)
38pass source ///osh/two.sh and $LIB_OSH
34 passed, 0 OK, 0 not implemented, 0 BUG, 5 failed, 0 timeouts, 0 cases skipped
5 failed under osh

Details on runs that didn't PASS

osh0 append onto BashArray a=(1 2)

[osh stdout] Expected "['1', '2', '3 4', '5']\n['1', '2', '3 4', '5', '6']\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 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 1253, 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 2175, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple
    allow_assign=True)
  File "/home/uke/oil/osh/word_eval.py", line 2566, in EvalWordSequence2
    self._EvalWordToParts(w, part_vals, EXTGLOB_FILES)
  File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts
    self._EvalWordPart(p, word_part_vals, eval_flags)
  File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart
    self._EvalDoubleQuoted(part.parts, part_vals)
  File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted
    self._EvalWordPart(p, part_vals, QUOTED)
  File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/uke/oil/osh/word_eval.py", line 1750, in _EvalBracedVarSub
    part_val = _ValueToPartValue(val, quoted or quoted2, part)
  File "/home/uke/oil/osh/word_eval.py", line 235, in _ValueToPartValue
    return part_value.Array(bash_impl.BashArray_GetValues(val), quoted)
NameError: global name 'bash_impl' is not defined
osh18 read --raw-line --j8

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

stdout:
stderr: 
  echo $'u\'foo\'' | read --raw-line --j8
                                     ^~~~
[ stdin ]:1: 'read' got invalid flag '--j8'
osh21 read --all-lines

[osh stdout] Expected '1 2 3\n', got '@nums\n'

stdout:
@nums
stderr:
  seq 3 | read --all-lines :nums
               ^~~~~~~~~~~
[ stdin ]:1: 'read' got invalid flag '--all-lines'
osh22 read --all-lines --with-eol

[osh stdout] Expected '1\n2\n3\n', got '@nums\n'

stdout:
@nums
stderr:
  seq 3 | read --all-lines --with-eol :nums
               ^~~~~~~~~~~
[ stdin ]:1: 'read' got invalid flag '--all-lines'
osh34 push-registers

[osh stdout] Expected 'status=43\nbar bar\nstatus=42\nfoo foo\n', got 'status=43\n'
[osh status] Expected 0, got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
status=43
stderr:
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 1253, 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 2175, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 959, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 594, in _RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/vm.py", line 224, in RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/executor.py", line 446, in _RunSimpleCommand
    return self.RunBuiltin(builtin_id, cmd_val)
  File "/home/uke/oil/core/vm.py", line 240, in RunBuiltin
    return self._RunBuiltinProc(builtin_proc, cmd_val)
  File "/home/uke/oil/core/vm.py", line 250, in _RunBuiltinProc
    status = builtin_proc.Run(cmd_val)
  File "/home/uke/oil/builtin/pure_ysh.py", line 182, in Run
    unused = self.cmd_ev.EvalCommandFrag(cmd_frag)
  File "/home/uke/oil/osh/cmd_eval.py", line 2249, in EvalCommandFrag
    return self._Execute(frag)  # can raise FatalRuntimeError, etc.
  File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1820, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/uke/oil/osh/cmd_eval.py", line 2051, in _ExecuteList
    status = self._Execute(child)
  File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple
    allow_assign=True)
  File "/home/uke/oil/osh/word_eval.py", line 2519, in EvalWordSequence2
    allow_assign)
  File "/home/uke/oil/osh/word_eval.py", line 2480, in SimpleEvalWordSequence2
    self._EvalWordToParts(w, part_vals, 0)  # not quoted
  File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts
    self._EvalWordPart(p, word_part_vals, eval_flags)
  File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/uke/oil/osh/word_eval.py", line 1750, in _EvalBracedVarSub
    part_val = _ValueToPartValue(val, quoted or quoted2, part)
  File "/home/uke/oil/osh/word_eval.py", line 231, in _ValueToPartValue
    bash_impl.InternalStringArray_GetValues(val), quoted)
NameError: global name 'bash_impl' is not defined