Results for oil-with-sh.test.sh

statusoil
FAIL 6
total6
caseoildescription
0FAIL Shell Append += with Oil Values (issue #840)
details
1FAIL Shell ${x:-default} with Oil values (issue #954)
details
2FAIL Shell ${a[0]} with Oil values (issue #1092)
details
3FAIL Splice nested List
details
4FAIL Splice nested Dict
details
5FAIL Concatenate shell arrays and ${#a}
details
0 passed, 0 OK, 0 not implemented, 0 BUG, 6 failed, 0 timeouts, 0 cases skipped
6 failed under osh

Details on runs that didn't PASS

oil0 Shell Append += with Oil Values (issue #840)

[oil stdout] Expected '', got 'g=2\n'
[oil status] Expected 0, got 2

stdout:
g=2
stderr:
  g+=1
  ^~~
[ stdin ]:5: Use const or var/setvar to assign in Oil (parse_sh_assign)
oil1 Shell ${x:-default} with Oil values (issue #954)

[oil status] Expected 0, got 1
[oil stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 225, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 200, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 144, in AppBundleMain
    return shell.Main('oil', arg_r, environ, login_shell, loader, readline)
  File "/home/uke/oil/core/shell.py", line 707, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 348, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 1720, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1544, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 708, in _Dispatch
    cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True)
  File "/home/uke/oil/osh/word_eval.py", line 2118, in EvalWordSequence2
    return self.SimpleEvalWordSequence2(words, allow_assign)
  File "/home/uke/oil/osh/word_eval.py", line 2078, in SimpleEvalWordSequence2
    self._EvalWordToParts(w, part_vals, 0)  # not quoted
  File "/home/uke/oil/osh/word_eval.py", line 1679, in _EvalWordToParts
    self._EvalWordPart(p, word_part_vals, eval_flags)
  File "/home/uke/oil/osh/word_eval.py", line 1573, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/uke/oil/osh/word_eval.py", line 1324, in _EvalBracedVarSub
    part.token):
  File "/home/uke/oil/osh/word_eval.py", line 602, in _ApplyTestOp
    raise NotImplementedError(val.tag_())
NotImplementedError: 12
oil2 Shell ${a[0]} with Oil values (issue #1092)

[oil status] Expected 0, got 2

stdout:
stderr: 
  echo first ${a[0]}
                 ^
[ stdin ]:2: POSIX shell arithmetic isn't allowed (parse_sh_arith)
oil3 Splice nested List

[oil status] Expected 0, got 3

stdout:
stderr: 
  @mylist
  ^~~~~~~
[ stdin ]:3: fatal: Expected string-like value (Bool, Int, Str), but got <class 'pylib.collections_.OrderedDict'>
oil4 Splice nested Dict

[oil status] Expected 0, got 1
[oil stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 225, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 200, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 144, in AppBundleMain
    return shell.Main('oil', arg_r, environ, login_shell, loader, readline)
  File "/home/uke/oil/core/shell.py", line 707, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 348, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 1720, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1544, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 708, in _Dispatch
    cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True)
  File "/home/uke/oil/osh/word_eval.py", line 2118, in EvalWordSequence2
    return self.SimpleEvalWordSequence2(words, allow_assign)
  File "/home/uke/oil/osh/word_eval.py", line 2100, in SimpleEvalWordSequence2
    strs.append(''.join(tmp))  # no split or glob
TypeError: sequence item 0: expected string, list found
oil5 Concatenate shell arrays and ${#a}

[oil stdout] Expected '', got "len a 1\nlen b 1\na = (cell exported:F readonly:F nameref:F val:(value.MaybeStrArray strs:[a]))\nc = (cell exported:F readonly:F nameref:F val:(value.Obj obj:['a', 'b']))\n"
[oil status] Expected 0, got 1
[oil stderr] Found 'Traceback (most recent'

stdout:
len a 1
len b 1
a = (cell exported:F readonly:F nameref:F val:(value.MaybeStrArray strs:[a]))
c = (cell exported:F readonly:F nameref:F val:(value.Obj obj:['a', 'b']))
stderr:
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 225, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 200, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 144, in AppBundleMain
    return shell.Main('oil', arg_r, environ, login_shell, loader, readline)
  File "/home/uke/oil/core/shell.py", line 707, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 348, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 1720, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1544, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 708, in _Dispatch
    cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True)
  File "/home/uke/oil/osh/word_eval.py", line 2118, in EvalWordSequence2
    return self.SimpleEvalWordSequence2(words, allow_assign)
  File "/home/uke/oil/osh/word_eval.py", line 2078, in SimpleEvalWordSequence2
    self._EvalWordToParts(w, part_vals, 0)  # not quoted
  File "/home/uke/oil/osh/word_eval.py", line 1679, in _EvalWordToParts
    self._EvalWordPart(p, word_part_vals, eval_flags)
  File "/home/uke/oil/osh/word_eval.py", line 1573, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/uke/oil/osh/word_eval.py", line 1274, in _EvalBracedVarSub
    val = self._Length(val, part.token)
  File "/home/uke/oil/osh/word_eval.py", line 716, in _Length
    raise AssertionError()
AssertionError