85 passed, 8 ok, 8 known unimplemented, 6 known bugs, 21 failed, 0 skipped
dash | 1 Substring stdout: stderr: /bin/dash: 2: Bad substitution |
osh | 1 Substring [osh stdout] Expected b'bcd\n', got b'' stdout: stderr: Traceback (most recent call last): File "bin/osh", line 378, in <module> sys.exit(main(sys.argv)) File "bin/osh", line 368, in main return OshMain(main_argv) File "bin/osh", line 327, in OshMain status = ex.Execute(node) File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 900, in Execute status = self._Execute(node) File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 791, in _Execute status = self._Execute(child) # last status wins File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 677, in _Execute argv = self.ev.EvalWords(words) File "/home/andy/git/oil/bin/../core/word_eval.py", line 769, in EvalWords return self._EvalWords(words) File "/home/andy/git/oil/bin/../core/word_eval.py", line 759, in _EvalWords val = self._EvalCompoundWord(w, ifs=ifs, do_glob=do_glob) File "/home/andy/git/oil/bin/../core/word_eval.py", line 455, in _EvalCompoundWord val = self._EvalWordPart(p, quoted=False) # may raise File "/home/andy/git/oil/bin/../core/word_eval.py", line 691, in _EvalWordPart defined, val = self._ApplyVarOps(defined, val, part) File "/home/andy/git/oil/bin/../core/word_eval.py", line 289, in _ApplyVarOps if part.suffix_op and LookupKind(part.suffix_op.op_id) == Kind.VTest: AttributeError: 'Slice' object has no attribute 'op_id' |
dash | 2 Cannot take length of substring stdout: 5stderr: |
osh | 2 Cannot take length of substring [osh status] Expected 1, got 2 stdout: stderr: Line 2 of '<stdin>' echo ${#v:1:3} ^ Expected } after length expression, got (token id:VOp2_Colon val:":" span_id:8) --- Line 2 of '<stdin>' echo ${#v:1:3} ^ Error reading command word --- Line 0 of '<unknown>' <token had no position info> NO COL Error parsing AndOr in ParseCommandTerm --- |
dash | 3 Pattern replacement stdout: stderr: /bin/dash: 2: Bad substitution |
osh | 3 Pattern replacement [osh stdout] Expected b'abXX\n', got b'' stdout: stderr: Traceback (most recent call last): File "bin/osh", line 378, in <module> sys.exit(main(sys.argv)) File "bin/osh", line 368, in main return OshMain(main_argv) File "bin/osh", line 327, in OshMain status = ex.Execute(node) File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 900, in Execute status = self._Execute(node) File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 791, in _Execute status = self._Execute(child) # last status wins File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 677, in _Execute argv = self.ev.EvalWords(words) File "/home/andy/git/oil/bin/../core/word_eval.py", line 769, in EvalWords return self._EvalWords(words) File "/home/andy/git/oil/bin/../core/word_eval.py", line 759, in _EvalWords val = self._EvalCompoundWord(w, ifs=ifs, do_glob=do_glob) File "/home/andy/git/oil/bin/../core/word_eval.py", line 455, in _EvalCompoundWord val = self._EvalWordPart(p, quoted=False) # may raise File "/home/andy/git/oil/bin/../core/word_eval.py", line 691, in _EvalWordPart defined, val = self._ApplyVarOps(defined, val, part) File "/home/andy/git/oil/bin/../core/word_eval.py", line 289, in _ApplyVarOps if part.suffix_op and LookupKind(part.suffix_op.op_id) == Kind.VTest: AttributeError: 'PatSub' object has no attribute 'op_id' |
osh | 4 Remove smallest suffix [osh stdout] Expected b'aabbc\n', got b'' stdout: stderr: Traceback (most recent call last): File "bin/osh", line 378, in <module> sys.exit(main(sys.argv)) File "bin/osh", line 368, in main return OshMain(main_argv) File "bin/osh", line 327, in OshMain status = ex.Execute(node) File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 900, in Execute status = self._Execute(node) File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 791, in _Execute status = self._Execute(child) # last status wins File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 677, in _Execute argv = self.ev.EvalWords(words) File "/home/andy/git/oil/bin/../core/word_eval.py", line 769, in EvalWords return self._EvalWords(words) File "/home/andy/git/oil/bin/../core/word_eval.py", line 759, in _EvalWords val = self._EvalCompoundWord(w, ifs=ifs, do_glob=do_glob) File "/home/andy/git/oil/bin/../core/word_eval.py", line 455, in _EvalCompoundWord val = self._EvalWordPart(p, quoted=False) # may raise File "/home/andy/git/oil/bin/../core/word_eval.py", line 691, in _EvalWordPart defined, val = self._ApplyVarOps(defined, val, part) File "/home/andy/git/oil/bin/../core/word_eval.py", line 383, in _ApplyVarOps print(op.words) AttributeError: 'StringUnary' object has no attribute 'words' |
osh | 5 Remove longest suffix [osh stdout] Expected b'aabb\n', got b'aabbccdd\n' stdout: aabbccddstderr: |
osh | 6 Remove smallest prefix [osh stdout] Expected b'bccdd\n', got b'aabbccdd\n' stdout: aabbccddstderr: |
osh | 7 Remove longest prefix [osh stdout] Expected b'ccdd\n', got b'aabbccdd\n' stdout: aabbccddstderr: |
osh | 10 Assign default value when empty [osh stdout] Expected b'is empty\n', got b'' stdout: stderr: Traceback (most recent call last): File "bin/osh", line 378, in <module> sys.exit(main(sys.argv)) File "bin/osh", line 368, in main return OshMain(main_argv) File "bin/osh", line 327, in OshMain status = ex.Execute(node) File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 900, in Execute status = self._Execute(node) File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 791, in _Execute status = self._Execute(child) # last status wins File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 677, in _Execute argv = self.ev.EvalWords(words) File "/home/andy/git/oil/bin/../core/word_eval.py", line 769, in EvalWords return self._EvalWords(words) File "/home/andy/git/oil/bin/../core/word_eval.py", line 759, in _EvalWords val = self._EvalCompoundWord(w, ifs=ifs, do_glob=do_glob) File "/home/andy/git/oil/bin/../core/word_eval.py", line 455, in _EvalCompoundWord val = self._EvalWordPart(p, quoted=False) # may raise File "/home/andy/git/oil/bin/../core/word_eval.py", line 691, in _EvalWordPart defined, val = self._ApplyVarOps(defined, val, part) File "/home/andy/git/oil/bin/../core/word_eval.py", line 317, in _ApplyVarOps raise NotImplementedError(id) NotImplementedError: <built-in function id> |
osh | 11 Assign default value when unset [osh stdout] Expected b'is unset\n', got b'' stdout: stderr: Traceback (most recent call last): File "bin/osh", line 378, in <module> sys.exit(main(sys.argv)) File "bin/osh", line 368, in main return OshMain(main_argv) File "bin/osh", line 327, in OshMain status = ex.Execute(node) File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 900, in Execute status = self._Execute(node) File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 791, in _Execute status = self._Execute(child) # last status wins File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 677, in _Execute argv = self.ev.EvalWords(words) File "/home/andy/git/oil/bin/../core/word_eval.py", line 769, in EvalWords return self._EvalWords(words) File "/home/andy/git/oil/bin/../core/word_eval.py", line 759, in _EvalWords val = self._EvalCompoundWord(w, ifs=ifs, do_glob=do_glob) File "/home/andy/git/oil/bin/../core/word_eval.py", line 455, in _EvalCompoundWord val = self._EvalWordPart(p, quoted=False) # may raise File "/home/andy/git/oil/bin/../core/word_eval.py", line 691, in _EvalWordPart defined, val = self._ApplyVarOps(defined, val, part) File "/home/andy/git/oil/bin/../core/word_eval.py", line 317, in _ApplyVarOps raise NotImplementedError(id) NotImplementedError: <built-in function id> |
osh | 12 Alternative value when empty [osh stdout] Expected b'v is not empty\n', got b'' stdout: stderr: Traceback (most recent call last): File "bin/osh", line 378, in <module> sys.exit(main(sys.argv)) File "bin/osh", line 368, in main return OshMain(main_argv) File "bin/osh", line 327, in OshMain status = ex.Execute(node) File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 900, in Execute status = self._Execute(node) File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 791, in _Execute status = self._Execute(child) # last status wins File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 677, in _Execute argv = self.ev.EvalWords(words) File "/home/andy/git/oil/bin/../core/word_eval.py", line 769, in EvalWords return self._EvalWords(words) File "/home/andy/git/oil/bin/../core/word_eval.py", line 759, in _EvalWords val = self._EvalCompoundWord(w, ifs=ifs, do_glob=do_glob) File "/home/andy/git/oil/bin/../core/word_eval.py", line 455, in _EvalCompoundWord val = self._EvalWordPart(p, quoted=False) # may raise File "/home/andy/git/oil/bin/../core/word_eval.py", line 691, in _EvalWordPart defined, val = self._ApplyVarOps(defined, val, part) File "/home/andy/git/oil/bin/../core/word_eval.py", line 317, in _ApplyVarOps raise NotImplementedError(id) NotImplementedError: <built-in function id> |
osh | 13 Alternative value when unset [osh stdout] Expected b'v is not unset\n', got b'' stdout: stderr: Traceback (most recent call last): File "bin/osh", line 378, in <module> sys.exit(main(sys.argv)) File "bin/osh", line 368, in main return OshMain(main_argv) File "bin/osh", line 327, in OshMain status = ex.Execute(node) File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 900, in Execute status = self._Execute(node) File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 791, in _Execute status = self._Execute(child) # last status wins File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 677, in _Execute argv = self.ev.EvalWords(words) File "/home/andy/git/oil/bin/../core/word_eval.py", line 769, in EvalWords return self._EvalWords(words) File "/home/andy/git/oil/bin/../core/word_eval.py", line 759, in _EvalWords val = self._EvalCompoundWord(w, ifs=ifs, do_glob=do_glob) File "/home/andy/git/oil/bin/../core/word_eval.py", line 455, in _EvalCompoundWord val = self._EvalWordPart(p, quoted=False) # may raise File "/home/andy/git/oil/bin/../core/word_eval.py", line 691, in _EvalWordPart defined, val = self._ApplyVarOps(defined, val, part) File "/home/andy/git/oil/bin/../core/word_eval.py", line 317, in _ApplyVarOps raise NotImplementedError(id) NotImplementedError: <built-in function id> |
dash | 14 Error when empty stdout: stderr: /bin/dash: 2: empty: is empty |
dash | 15 Error when unset stdout: stderr: /bin/dash: 1: unset: is empty |
osh | 16 Error when unset [osh stdout] Expected b'v is not unset\n', got b'' stdout: stderr: Traceback (most recent call last): File "bin/osh", line 378, in <module> sys.exit(main(sys.argv)) File "bin/osh", line 368, in main return OshMain(main_argv) File "bin/osh", line 327, in OshMain status = ex.Execute(node) File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 900, in Execute status = self._Execute(node) File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 791, in _Execute status = self._Execute(child) # last status wins File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 677, in _Execute argv = self.ev.EvalWords(words) File "/home/andy/git/oil/bin/../core/word_eval.py", line 769, in EvalWords return self._EvalWords(words) File "/home/andy/git/oil/bin/../core/word_eval.py", line 759, in _EvalWords val = self._EvalCompoundWord(w, ifs=ifs, do_glob=do_glob) File "/home/andy/git/oil/bin/../core/word_eval.py", line 455, in _EvalCompoundWord val = self._EvalWordPart(p, quoted=False) # may raise File "/home/andy/git/oil/bin/../core/word_eval.py", line 691, in _EvalWordPart defined, val = self._ApplyVarOps(defined, val, part) File "/home/andy/git/oil/bin/../core/word_eval.py", line 317, in _ApplyVarOps raise NotImplementedError(id) NotImplementedError: <built-in function id> |
dash | 17 String slice stdout: stderr: /bin/dash: 2: Bad substitution |
osh | 17 String slice [osh stdout] Expected b'bcd\n', got b'' stdout: stderr: Traceback (most recent call last): File "bin/osh", line 378, in <module> sys.exit(main(sys.argv)) File "bin/osh", line 368, in main return OshMain(main_argv) File "bin/osh", line 327, in OshMain status = ex.Execute(node) File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 900, in Execute status = self._Execute(node) File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 791, in _Execute status = self._Execute(child) # last status wins File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 677, in _Execute argv = self.ev.EvalWords(words) File "/home/andy/git/oil/bin/../core/word_eval.py", line 769, in EvalWords return self._EvalWords(words) File "/home/andy/git/oil/bin/../core/word_eval.py", line 759, in _EvalWords val = self._EvalCompoundWord(w, ifs=ifs, do_glob=do_glob) File "/home/andy/git/oil/bin/../core/word_eval.py", line 455, in _EvalCompoundWord val = self._EvalWordPart(p, quoted=False) # may raise File "/home/andy/git/oil/bin/../core/word_eval.py", line 691, in _EvalWordPart defined, val = self._ApplyVarOps(defined, val, part) File "/home/andy/git/oil/bin/../core/word_eval.py", line 289, in _ApplyVarOps if part.suffix_op and LookupKind(part.suffix_op.op_id) == Kind.VTest: AttributeError: 'Slice' object has no attribute 'op_id' |
dash | 18 Negative string slice stdout: stderr: /bin/dash: 2: Bad substitution |
osh | 18 Negative string slice [osh stdout] Expected b'def\n', got b'' stdout: stderr: Traceback (most recent call last): File "bin/osh", line 378, in <module> sys.exit(main(sys.argv)) File "bin/osh", line 368, in main return OshMain(main_argv) File "bin/osh", line 327, in OshMain status = ex.Execute(node) File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 900, in Execute status = self._Execute(node) File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 791, in _Execute status = self._Execute(child) # last status wins File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 677, in _Execute argv = self.ev.EvalWords(words) File "/home/andy/git/oil/bin/../core/word_eval.py", line 769, in EvalWords return self._EvalWords(words) File "/home/andy/git/oil/bin/../core/word_eval.py", line 759, in _EvalWords val = self._EvalCompoundWord(w, ifs=ifs, do_glob=do_glob) File "/home/andy/git/oil/bin/../core/word_eval.py", line 455, in _EvalCompoundWord val = self._EvalWordPart(p, quoted=False) # may raise File "/home/andy/git/oil/bin/../core/word_eval.py", line 691, in _EvalWordPart defined, val = self._ApplyVarOps(defined, val, part) File "/home/andy/git/oil/bin/../core/word_eval.py", line 289, in _ApplyVarOps if part.suffix_op and LookupKind(part.suffix_op.op_id) == Kind.VTest: AttributeError: 'Slice' object has no attribute 'op_id' |
dash | 19 String slice with math stdout: stderr: /bin/dash: 3: Bad substitution |
osh | 19 String slice with math [osh stdout] Expected b'def\n', got b'' stdout: stderr: Traceback (most recent call last): File "bin/osh", line 378, in <module> sys.exit(main(sys.argv)) File "bin/osh", line 368, in main return OshMain(main_argv) File "bin/osh", line 327, in OshMain status = ex.Execute(node) File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 900, in Execute status = self._Execute(node) File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 791, in _Execute status = self._Execute(child) # last status wins File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 677, in _Execute argv = self.ev.EvalWords(words) File "/home/andy/git/oil/bin/../core/word_eval.py", line 769, in EvalWords return self._EvalWords(words) File "/home/andy/git/oil/bin/../core/word_eval.py", line 759, in _EvalWords val = self._EvalCompoundWord(w, ifs=ifs, do_glob=do_glob) File "/home/andy/git/oil/bin/../core/word_eval.py", line 455, in _EvalCompoundWord val = self._EvalWordPart(p, quoted=False) # may raise File "/home/andy/git/oil/bin/../core/word_eval.py", line 691, in _EvalWordPart defined, val = self._ApplyVarOps(defined, val, part) File "/home/andy/git/oil/bin/../core/word_eval.py", line 289, in _ApplyVarOps if part.suffix_op and LookupKind(part.suffix_op.op_id) == Kind.VTest: AttributeError: 'Slice' object has no attribute 'op_id' |
dash | 20 Var ref with ${!a} stdout: stderr: /bin/dash: 3: Bad substitution |
mksh | 20 Var ref with ${!a} stdout: ref astderr: |
osh | 20 Var ref with ${!a} [osh stdout] Expected b'ref c\n', got b'ref b\n' stdout: ref bstderr: |
dash | 21 Bad var ref with ${!a} stdout: stderr: /bin/dash: 2: Bad substitution |
mksh | 21 Bad var ref with ${!a} stdout: ref astderr: |
osh | 21 Bad var ref with ${!a} [osh stdout] Expected b'ref\n', got b'ref bad var name\n' stdout: ref bad var namestderr: |
bash | 24 Braced block inside ${} stdout: stderr: /bin/bash: line 1: syntax error near unexpected token `)' /bin/bash: line 1: `echo ${foo:-$({ which ls; })}' |
dash | 25 Assigning $@ to var stdout: stderr: /bin/dash: 2: local: 2: bad variable name |
dash | 26 Assigning "$@" to var stdout: stderr: /bin/dash: 2: local: 2 3: bad variable name |
osh | 26 Assigning "$@" to var [osh stdout] Expected b"['1', '2', '3']\n", got b"['1', '2 3']\n" stdout: ['1', '2 3']stderr: |
dash | 27 Assigning "$@" to var, then showing it quoted stdout: stderr: /bin/dash: 2: local: 2 3: bad variable name |
osh | 27 Assigning "$@" to var, then showing it quoted [osh stdout] Expected b"['1 2 3']\n", got b"['1', '2 3']\n" stdout: ['1', '2 3']stderr: |
dash | 28 Filename redirect with "$@" stdout: stderr: /bin/dash: 2: cannot create _tmp/var-sub1 _tmp/var-sub2: Directory nonexistent |
dash | 29 Filename redirect with split word stdout: histderr: |
mksh | 29 Filename redirect with split word stdout: histderr: rm: cannot remove '_tmp/1 2': No such file or directory |
osh | 29 Filename redirect with split word [osh status] Expected 1, got 0 stdout: histderr: |
bash | 30 Descriptor redirect to bad "$@" stdout: stderr: /bin/bash: line 2: "$@": ambiguous redirect |
mksh | 30 Descriptor redirect to bad "$@" stdout: stderr: /bin/mksh: <stdin>[2]: >&'2 3 c d' : illegal file descriptor name |
osh | 30 Descriptor redirect to bad "$@" [osh status] Expected 2, got 1 stdout: stderr: Traceback (most recent call last): File "bin/osh", line 378, in <module> sys.exit(main(sys.argv)) File "bin/osh", line 368, in main return OshMain(main_argv) File "bin/osh", line 327, in OshMain status = ex.Execute(node) File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 900, in Execute status = self._Execute(node) File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 791, in _Execute status = self._Execute(child) # last status wins File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 704, in _Execute for r in redirects: TypeError: 'bool' object is not iterable |
mksh | 31 Here doc with bad "$@" delimiter stdout: stderr: /bin/mksh: <stdin>[7]: here document '$@' unclosed |