spec test index / oilshell.org
43 passed, 4 OK, 1 not implemented, 3 BUG, 3 failed, 0 timeouts, 0 cases skipped 3 failed under osh
bash-4 | 4 ${!a[@]-'default'} is illegal stdout: ['default'] status=0 status=1stderr: bash-4.4: line 5: x y z: bad substitution |
osh | 5 var ref to $@ with @ [osh stdout] Expected 'ref=one two\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 1213, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 375, in Batch is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2093, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1892, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1619, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 851, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2390, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 1859, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1767, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/uke/oil/osh/word_eval.py", line 1494, in _EvalBracedVarSub vtest_place) File "/home/uke/oil/osh/word_eval.py", line 892, in _EvalVarRef vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1350, in _VarRefValue val = self._EvalSpecialVar(part.nake_tok.id, quoted, vsub_state) AttributeError: 'BracedVarSub' object has no attribute 'nake_tok' |
osh | 7 var ref: 1, @, * [osh stdout] Expected "['x']\n['x', 'y']\n['x y']\n", got "['x']\n" [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: ['x']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 1213, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 375, in Batch is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2093, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1892, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1730, in _Dispatch status = self._ExecuteList(node.children) File "/home/uke/oil/osh/cmd_eval.py", line 1969, in _ExecuteList status = self._Execute(child) File "/home/uke/oil/osh/cmd_eval.py", line 1892, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1619, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 851, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2390, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 1859, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1743, in _EvalWordPart self._EvalDoubleQuoted(part.parts, part_vals) File "/home/uke/oil/osh/word_eval.py", line 1262, in _EvalDoubleQuoted self._EvalWordPart(p, part_vals, QUOTED) File "/home/uke/oil/osh/word_eval.py", line 1767, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/uke/oil/osh/word_eval.py", line 1494, in _EvalBracedVarSub vtest_place) File "/home/uke/oil/osh/word_eval.py", line 892, in _EvalVarRef vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1350, in _VarRefValue val = self._EvalSpecialVar(part.nake_tok.id, quoted, vsub_state) AttributeError: 'BracedVarSub' object has no attribute 'nake_tok' |
osh | 9 var ref to $? with '?' [osh stdout] Expected 'myfunc\n0\n', got 'myfunc\n' [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: myfuncstderr: 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 1213, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 375, in Batch is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2093, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1892, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1619, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 906, in _DoSimple status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags) File "/home/uke/oil/osh/cmd_eval.py", line 567, in _RunSimpleCommand run_flags) File "/home/uke/oil/core/executor.py", line 420, in RunSimpleCommand status = self.cmd_ev.RunProc(proc, cmd_val) File "/home/uke/oil/osh/cmd_eval.py", line 2289, in RunProc status = self._Execute(proc.body) File "/home/uke/oil/osh/cmd_eval.py", line 1892, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1738, in _Dispatch status = self._ExecuteList(node.children) File "/home/uke/oil/osh/cmd_eval.py", line 1969, in _ExecuteList status = self._Execute(child) File "/home/uke/oil/osh/cmd_eval.py", line 1892, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1619, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 851, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2390, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 1859, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1767, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/uke/oil/osh/word_eval.py", line 1494, in _EvalBracedVarSub vtest_place) File "/home/uke/oil/osh/word_eval.py", line 892, in _EvalVarRef vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1350, in _VarRefValue val = self._EvalSpecialVar(part.nake_tok.id, quoted, vsub_state) AttributeError: 'BracedVarSub' object has no attribute 'nake_tok' |
bash-4 | 15 array ref with strict_array stdout: alestderr: bash-4.4: line 1: shopt: strict_array: invalid shell option name |
bash-4 | 20 Bizarre tilde expansion in array index stdout: ystderr: |
bash-4 | 21 Indirect expansion TO fancy expansion features bash disallows stdout: donestderr: main: line 2: a[0: bad substitution main: line 2: aa[k: bad substitution main: line 2: !x: bad substitution main: line 2: !a[0]: bad substitution main: line 2: x:-foo: bad substitution main: line 2: x:=foo: bad substitution main: line 2: x:?oops: bad substitution main: line 2: x:+yy: bad substitution main: line 2: x:0: bad substitution main: line 2: x:0:1: bad substitution main: line 2: !a@: bad substitution main: line 2: #x: bad substitution main: line 2: x#y: bad substitution main: line 2: x/y/foo: bad substitution main: line 2: x@Q: bad substitution |
osh | 22 Bad var ref stdout: stderr: bad var name ^ [ contents of var 'a' at line 2 of [ stdin ] ]:1: Expected end of var ref expression echo ref ${!a} ^ [ stdin ]:2: fatal: Invalid var ref expression |
osh | 23 Bad var ref 2 stdout: stderr: / ^ [ contents of var 'b' at line 2 of [ stdin ] ]:1: Expected var name echo ref ${!b} ^ [ stdin ]:2: fatal: Invalid var ref expression |
bash-4 | 25 var ref doesn't need cycle detection stdout: cycle=x cycle=stderr: bash-4.4: line 7: warning: a: circular name reference |
bash-4 | 26 Var Ref Code Injection $(tee PWNED) stdout: 42 PWNED 0stderr: |