Results for ysh-list.test.sh

statusysh
pass 17
FAIL 1
total18
caseyshdescription
0pass shell array :| a 'b c' |
1pass empty array and simple_word_eval (regression test)
2pass Empty array and assignment builtin (regression)
3pass Shell arrays support tilde detection, static globbing, brace detection
4pass Basic List, a[42] a['42'] allowed
5pass Mutate List entries, a[42] a['42'] allowed
6FAIL string array with command sub, varsub, etc.
details
7pass Can print type of List with pp
8pass splice and stringify array
9pass List->extend()
10pass List append()/extend() should return null
11pass List pop()
12pass List remove() removes elements
13pass List remove() does nothing if element does not exist
14pass List insert()
15pass List insert() overflow
16pass List insert() negative
17pass List insert() negative overflow
17 passed, 0 OK, 0 not implemented, 0 BUG, 1 failed, 0 timeouts, 0 cases skipped
1 failed under osh

Details on runs that didn't PASS

ysh6 string array with command sub, varsub, etc.

[ysh stdout] Expected 'len=4\n1\nhi\nsq\ndq 1\n', got ''
[ysh status] Expected 0, got 1
[ysh 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 137, in AppBundleMain
    return shell.Main('ysh', 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 1768, in _Dispatch
    status = self._DoVarDecl(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 744, in _DoVarDecl
    right_val = self.expr_ev.EvalExpr(node.rhs, loc.Missing)
  File "/home/uke/oil/ysh/expr_eval.py", line 397, in EvalExpr
    val = self._EvalExpr(node)
  File "/home/uke/oil/ysh/expr_eval.py", line 1222, in _EvalExpr
    strs = self.word_ev.EvalWordSequence(words)
  File "/home/uke/oil/osh/word_eval.py", line 2598, in EvalWordSequence
    cmd_val = self.EvalWordSequence2(words, False)
  File "/home/uke/oil/osh/word_eval.py", line 2494, in EvalWordSequence2
    allow_assign)
  File "/home/uke/oil/osh/word_eval.py", line 2455, in SimpleEvalWordSequence2
    self._EvalWordToParts(w, part_vals, 0)  # not quoted
  File "/home/uke/oil/osh/word_eval.py", line 1989, in _EvalWordToParts
    self._EvalWordPart(p, word_part_vals, eval_flags)
  File "/home/uke/oil/osh/word_eval.py", line 1881, in _EvalWordPart
    quoted)  # type: part_value_t
  File "/home/uke/oil/osh/word_eval.py", line 2629, in _EvalCommandSub
    stdout_str = self.shell_ex.RunCommandSub(cs_part)
  File "/home/uke/oil/core/executor.py", line 691, in RunCommandSub
    status, stdout_str, stderr_str = self.CaptureStdout(node)
  File "/home/uke/oil/core/executor.py", line 619, in CaptureStdout
    fds, w, exc = select.select([r,r2], [], [r,r2], -1)
NameError: global name 'select' is not defined