Results for tilde.test.sh

statusbashdashmkshzshosh
pass 129121112
ok 00021
N-I 13110
BUG 12100
FAIL 00001
total1414141414
casebashdashmkshzshoshdescription
0pass pass pass pass pass ~ expansion in assignment
1pass BUG pass pass pass ~ expansion in readonly assignment
details
2pass pass pass pass pass No ~ expansion in dynamic assignment
3BUG pass BUG pass pass No tilde expansion in word that looks like assignment but isn't
detailsdetails
4pass pass pass pass pass tilde expansion of word after redirect
5pass pass pass ok pass other user
details
6pass pass pass pass pass ${undef:-~}
7pass N-I pass pass pass ${x//~/~root}
details
8pass pass pass pass pass x=foo:~ has tilde expansion
9pass N-I pass N-I FAIL a[x]=foo:~ has tilde expansion
detailsdetailsdetails
10pass BUG pass pass pass tilde expansion an assignment keyword
details
11pass pass pass pass ok x=${undef-~:~}
details
12N-I N-I N-I ok pass strict tilde
detailsdetailsdetailsdetails
13pass pass pass pass pass temp assignment x=~ env
56 passed, 3 OK, 6 not implemented, 4 BUG, 1 failed, 0 timeouts, 0 cases skipped
1 failed under osh

Details on runs that didn't PASS

dash1 ~ expansion in readonly assignment

stdout:
~/src
stderr:
bash3 No tilde expansion in word that looks like assignment but isn't

stdout:
x=/home/bob
stderr:
mksh3 No tilde expansion in word that looks like assignment but isn't

stdout:
x=/home/bob
stderr:
zsh5 other user

stdout:
stderr: 
zsh: no such user or named directory: nonexistent
dash7 ${x//~/~root}

stdout:
stderr: 
dash: 3: Bad substitution
dash9 a[x]=foo:~ has tilde expansion

stdout:
stderr: 
zsh9 a[x]=foo:~ has tilde expansion

stdout:
stderr: 
osh9 a[x]=foo:~ has tilde expansion

[osh stdout] Expected 'foo:/home/bar\nfoo:/home/bar\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 1956, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/uke/oil/osh/word_eval.py", line 1661, in _EvalBracedVarSub
    val = self._EvalBracketOp(val, part, quoted, vsub_state, vtest_place)
  File "/home/uke/oil/osh/word_eval.py", line 1524, in _EvalBracketOp
    val = self._ArrayIndex(val, part, vtest_place)
  File "/home/uke/oil/osh/word_eval.py", line 1390, in _ArrayIndex
    s, error_code = bash_impl.BashArray_GetElement(
NameError: global name 'bash_impl' is not defined
dash10 tilde expansion an assignment keyword

stdout:
foo:~
stderr:
osh11 x=${undef-~:~}

stdout:
/home/bar:~:~
stderr:
bash12 strict tilde

stdout:
~nonexistent
~nonexistent
status=0
stderr:
bash: line 3: shopt: strict_tilde: invalid shell option name
dash12 strict tilde

stdout:
~nonexistent
~nonexistent
status=0
stderr:
dash: 3: shopt: not found
mksh12 strict tilde

stdout:
~nonexistent
~nonexistent
status=0
stderr:
mksh: <stdin>[3]: shopt: not found
zsh12 strict tilde

stdout:
stderr: 
zsh: no such user or named directory: nonexistent