Results for var-op-bash.test.sh

statusbashoshosh_ALT
pass 644
FAIL 022
total666
casebashoshosh_ALTdescription
0pass pass pass Lower Case with , and ,,
1pass pass pass Upper Case with ^ and ^^
2pass FAIL FAIL Lower Case with constant string (VERY WEIRD)
detailsdetails
3pass FAIL FAIL Lower Case glob
detailsdetails
4pass pass pass ${x@Q}
5pass pass pass ${!prefix@} ${!prefix*} yields sorted array of var names
14 passed, 0 OK, 0 not implemented, 0 BUG, 2 failed, 0 timeouts, 0 cases skipped
2 failed under osh

Details on runs that didn't PASS

osh2 Lower Case with constant string (VERY WEIRD)

[osh stdout] Expected 'aAA ABC DEF\naaa aBC DEF\n', got ''
[osh status] Expected 0, got 1

stdout:
stderr: 
  echo ${x,A}
  ^~~~
[ stdin ]:2: fatal: Id.VOp1_Comma can't have an argument
osh_ALT2 Lower Case with constant string (VERY WEIRD)

[osh_ALT stdout] Expected 'aAA ABC DEF\naaa aBC DEF\n', got ''
[osh_ALT status] Expected 0, got 1

stdout:
stderr: 
  echo ${x,A}
  ^~~~
[ stdin ]:2: fatal: Id.VOp1_Comma can't have an argument
osh3 Lower Case glob

[osh stdout] Expected 'ABC DEF\nABC deF\n', got ''
[osh status] Expected 0, got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 969, in <module>
    sys.exit(main(sys.argv))
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 915, in main
    return AppBundleMain(argv)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 888, in AppBundleMain
    status = ShellMain('osh', argv0, main_argv, login_shell)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 704, in ShellMain
    status = main_loop.Batch(ex, c_parser, arena, nodes_out=nodes_out)
  File "/home/andy/git/oilshell/oil/core/main_loop.py", line 166, in Batch
    is_return, is_fatal = ex.ExecuteAndCatch(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1873, in ExecuteAndCatch
    status = self._Execute(node, fork_external=fork_external)
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1818, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1037, in _Dispatch
    cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1761, in EvalWordSequence2
    self._EvalWordToParts(w, False, part_vals)  # not double quoted
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1376, in _EvalWordToParts
    self._EvalWordPart(p, part_vals, quoted=quoted, is_subst=is_subst)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1269, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1014, in _EvalBracedVarSub
    val = self._ApplyUnarySuffixOp(val, op)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 688, in _ApplyUnarySuffixOp
    s = string_ops.DoUnarySuffixOp(val.s, op, arg_val.s)
  File "/home/andy/git/oilshell/oil/osh/string_ops.py", line 354, in DoUnarySuffixOp
    raise NotImplementedError(ui.PrettyId(op.op_id))
NotImplementedError: Id.VOp1_Comma
osh_ALT3 Lower Case glob

[osh_ALT stdout] Expected 'ABC DEF\nABC deF\n', got ''
[osh_ALT status] Expected 0, got 1
[osh_ALT stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 944, in _cpython_main_hook
    sys.exit(main(sys.argv))
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 915, in main
    return AppBundleMain(argv)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 888, in AppBundleMain
    status = ShellMain('osh', argv0, main_argv, login_shell)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 704, in ShellMain
    status = main_loop.Batch(ex, c_parser, arena, nodes_out=nodes_out)
  File "/home/andy/git/oilshell/oil/core/main_loop.py", line 172, in Batch
    return status
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1873, in ExecuteAndCatch
    status = self._Execute(node, fork_external=fork_external)
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1818, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1088, in _Dispatch
    self.mem.PopTemp()
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1761, in EvalWordSequence2
    self._EvalWordToParts(w, False, part_vals)  # not double quoted
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1376, in _EvalWordToParts
    self._EvalWordPart(p, part_vals, quoted=quoted, is_subst=is_subst)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1269, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1027, in _EvalBracedVarSub
    replace_str = replace_val.s
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 688, in _ApplyUnarySuffixOp
    s = string_ops.DoUnarySuffixOp(val.s, op, arg_val.s)
  File "/home/andy/git/oilshell/oil/osh/string_ops.py", line 354, in DoUnarySuffixOp
    raise NotImplementedError(ui.PrettyId(op.op_id))
NotImplementedError: Id.VOp1_Comma
FATAL: couldn't import from app bundle '/home/andy/git/oilshell/oil/_tmp/oil-tar-test/oil-0.8.pre3/_bin/osh' (1)
Stripping the oil.ovm binary may cause this error.
See https://github.com/oilshell/oil/issues/47