84 passed, 8 ok, 8 known unimplemented, 6 known bugs, 22 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, cflow = ex.Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 857, in Execute
status, cflow = self._Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 755, in _Execute
status, cflow = self._Execute(child) # last status wins
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 655, 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: <core.base.ParseError object at 0x7f60db0810b8>
Line 2 of '<stdin>'
echo ${#v:1:3}
^
---
<core.base.ParseError object at 0x7f60db071f28>
Line 2 of '<stdin>'
echo ${#v:1:3}
^
---
<core.base.ParseError object at 0x7f60db071f98>
Line 0 of '<unknown>'
<token had no position info>
NO COL
---
stderr: Expected } after length expression, got (token id:VOp2_Colon val:":" span_id:8) Error reading command word 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, cflow = ex.Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 857, in Execute
status, cflow = self._Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 755, in _Execute
status, cflow = self._Execute(child) # last status wins
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 655, 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, cflow = ex.Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 857, in Execute
status, cflow = self._Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 755, in _Execute
status, cflow = self._Execute(child) # last status wins
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 655, 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, cflow = ex.Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 857, in Execute
status, cflow = self._Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 755, in _Execute
status, cflow = self._Execute(child) # last status wins
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 655, 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, cflow = ex.Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 857, in Execute
status, cflow = self._Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 755, in _Execute
status, cflow = self._Execute(child) # last status wins
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 655, 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, cflow = ex.Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 857, in Execute
status, cflow = self._Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 755, in _Execute
status, cflow = self._Execute(child) # last status wins
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 655, 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, cflow = ex.Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 857, in Execute
status, cflow = self._Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 755, in _Execute
status, cflow = self._Execute(child) # last status wins
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 655, 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, cflow = ex.Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 857, in Execute
status, cflow = self._Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 755, in _Execute
status, cflow = self._Execute(child) # last status wins
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 655, 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, cflow = ex.Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 857, in Execute
status, cflow = self._Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 755, in _Execute
status, cflow = self._Execute(child) # last status wins
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 655, 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, cflow = ex.Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 857, in Execute
status, cflow = self._Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 755, in _Execute
status, cflow = self._Execute(child) # last status wins
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 655, 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, cflow = ex.Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 857, in Execute
status, cflow = self._Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 755, in _Execute
status, cflow = self._Execute(child) # last status wins
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 655, 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, cflow = ex.Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 857, in Execute
status, cflow = self._Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 755, in _Execute
status, cflow = self._Execute(child) # last status wins
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 682, 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 |
| osh | 31 Here doc with bad "$@" delimiter [osh stdout] Expected b'', got b'<core.base.ParseError object at 0x7fadceaaef98>\nLine 2 of \'<stdin>\'\n cat << "$@"\n ^~\n---\n<core.base.ParseError object at 0x7fadceaaeef0>\nLine 0 of \'<unknown>\'\n <token had no position info>\nNO COL\n---\n<core.base.ParseError object at 0x7fadceaaec50>\nLine 0 of \'<unknown>\'\n <token had no position info>\nNO COL\n---\n' stdout: <core.base.ParseError object at 0x7fadceaaef98>
Line 2 of '<stdin>'
cat << "$@"
^~
---
<core.base.ParseError object at 0x7fadceaaeef0>
Line 0 of '<unknown>'
<token had no position info>
NO COL
---
<core.base.ParseError object at 0x7fadceaaec50>
Line 0 of '<unknown>'
<token had no position info>
NO COL
---
stderr: Error evaluating here doc delimiter: (CompoundWord
parts: [
(DoubleQuotedPart
parts: [(SimpleVarSub token:(token id:VSub_At val:"$@" span_id:12))]
spids: [11 13]
)
]
)
Error parsing AndOr in ParseCommandTerm
Error parsing AndOr in ParseCommandTerm
|