Results for var-op-bash.test.sh

statusbashoshosh_ALT
pass 977
FAIL 022
total999
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
6pass pass pass ${!prefix@} matches var name (regression)
7pass pass pass ${var@a} for attributes
8pass pass pass ${var@a} error conditions
23 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 1007, in <module>
    sys.exit(main(sys.argv))
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 953, in main
    return AppBundleMain(argv)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 926, in AppBundleMain
    status = ShellMain('osh', argv0, main_argv, login_shell)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 757, in ShellMain
    status = main_loop.Batch(cmd_ev, c_parser, arena, is_main=True)
  File "/home/andy/git/oilshell/oil/core/main_loop.py", line 165, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, optimize=optimize)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1450, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1334, in _Execute
    status, check_errexit = self._Dispatch(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 538, in _Dispatch
    cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1854, in EvalWordSequence2
    self._EvalWordToParts(w, False, part_vals)  # not double quoted
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1441, in _EvalWordToParts
    self._EvalWordPart(p, part_vals, quoted=quoted, is_subst=is_subst)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1334, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1087, in _EvalBracedVarSub
    val = self._ApplyUnarySuffixOp(val, op)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 751, in _ApplyUnarySuffixOp
    s = string_ops.DoUnarySuffixOp(val.s, op, arg_val.s, extglob)
  File "/home/andy/git/oilshell/oil/osh/string_ops.py", line 356, 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 982, in _cpython_main_hook
    sys.exit(main(sys.argv))
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 953, in main
    return AppBundleMain(argv)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 926, in AppBundleMain
    status = ShellMain('osh', argv0, main_argv, login_shell)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 757, in ShellMain
    status = main_loop.Batch(cmd_ev, c_parser, arena, is_main=True)
  File "/home/andy/git/oilshell/oil/core/main_loop.py", line 171, in Batch
    return status
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1450, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1334, in _Execute
    status, check_errexit = self._Dispatch(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 589, in _Dispatch
    self.mem.PopTemp()
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1854, in EvalWordSequence2
    self._EvalWordToParts(w, False, part_vals)  # not double quoted
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1441, in _EvalWordToParts
    self._EvalWordPart(p, part_vals, quoted=quoted, is_subst=is_subst)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1334, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1099, in _EvalBracedVarSub
    replace_str = replace_val.s
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 751, in _ApplyUnarySuffixOp
    s = string_ops.DoUnarySuffixOp(val.s, op, arg_val.s, extglob)
  File "/home/andy/git/oilshell/oil/osh/string_ops.py", line 356, 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.pre5/_bin/osh' (1)
Stripping the oil.ovm binary may cause this error.
See https://github.com/oilshell/oil/issues/47