103 passed, 4 ok, 17 known unimplemented, 7 known bugs, 9 failed, 0 skipped
| dash | 2 Bizarre recursive evaluation rule stdout: stderr: /bin/dash: 5: Illegal number: foo |
| osh | 2 Bizarre recursive evaluation rule [osh stdout] Expected b'6 6 6 6\n', got b'' stdout: stderr: ["Invalid integer constant 'foo'", ''] |
| dash | 6 Constant with quotes like '1' stdout: stderr: /bin/dash: 1: arithmetic expression: expecting primary: "'1' + 2" |
| bash | 6 Constant with quotes like '1' stdout: stderr: /bin/bash: line 1: '1' + 2: syntax error: operand expected (error token is "'1' + 2") |
| zsh | 6 Constant with quotes like '1' stdout: stderr: zsh: bad math expression: illegal character: ' |
| dash | 9 Bad variable substitution stdout: stderr: /bin/dash: 2: Illegal number: foo |
| bash | 9 Bad variable substitution stdout: 5stderr: |
| mksh | 9 Bad variable substitution stdout: 5stderr: |
| zsh | 9 Bad variable substitution stdout: 5stderr: |
| dash | 10 Two bad variable substitutions stdout: stderr: /bin/dash: 3: Illegal number: foo |
| bash | 10 Two bad variable substitutions stdout: 0stderr: |
| mksh | 10 Two bad variable substitutions stdout: 0stderr: |
| zsh | 10 Two bad variable substitutions stdout: 0stderr: |
| osh | 12 Ternary operator [osh stdout] Expected b'10\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 703, in _EvalWordPart
return self._EvalArithSub(part.anode)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 198, in _EvalArithSub
if arith_ev.Eval(anode):
File "/home/andy/git/oil/bin/../core/expr_eval.py", line 64, in Eval
result = self._Eval(node)
File "/home/andy/git/oil/bin/../core/expr_eval.py", line 202, in _Eval
lhs = self._Eval(node.cond)
File "/home/andy/git/oil/bin/../core/expr_eval.py", line 239, in _Eval
raise AssertionError("Shouldn't get here")
AssertionError: Shouldn't get here
|
| dash | 13 Preincrement stdout: 4 4stderr: |
| osh | 13 Preincrement [osh stdout] Expected b'5\n5\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 703, in _EvalWordPart
return self._EvalArithSub(part.anode)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 198, in _EvalArithSub
if arith_ev.Eval(anode):
File "/home/andy/git/oil/bin/../core/expr_eval.py", line 64, in Eval
result = self._Eval(node)
File "/home/andy/git/oil/bin/../core/expr_eval.py", line 239, in _Eval
raise AssertionError("Shouldn't get here")
AssertionError: Shouldn't get here
|
| dash | 14 Postincrement stdout: stderr: /bin/dash: 2: arithmetic expression: expecting primary: "a++" |
| osh | 14 Postincrement [osh stdout] Expected b'4\n5\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 703, in _EvalWordPart
return self._EvalArithSub(part.anode)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 198, in _EvalArithSub
if arith_ev.Eval(anode):
File "/home/andy/git/oil/bin/../core/expr_eval.py", line 64, in Eval
result = self._Eval(node)
File "/home/andy/git/oil/bin/../core/expr_eval.py", line 239, in _Eval
raise AssertionError("Shouldn't get here")
AssertionError: Shouldn't get here
|
| dash | 15 Comma operator (borrowed from C) stdout: stderr: /bin/dash: 3: arithmetic expression: expecting EOF: "a,(b+1)" |
| osh | 16 Mutating ops [osh stdout] Expected b'5\n5\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 703, in _EvalWordPart
return self._EvalArithSub(part.anode)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 198, in _EvalArithSub
if arith_ev.Eval(anode):
File "/home/andy/git/oil/bin/../core/expr_eval.py", line 64, in Eval
result = self._Eval(node)
File "/home/andy/git/oil/bin/../core/expr_eval.py", line 237, in _Eval
raise AssertionError("Invalid node %r" % node.id)
AttributeError: 'ArithAssign' object has no attribute 'id'
|
| osh | 17 Bitwise ops [osh stdout] Expected b'3\n0\n-4\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 703, in _EvalWordPart
return self._EvalArithSub(part.anode)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 198, in _EvalArithSub
if arith_ev.Eval(anode):
File "/home/andy/git/oil/bin/../core/expr_eval.py", line 64, in Eval
result = self._Eval(node)
File "/home/andy/git/oil/bin/../core/expr_eval.py", line 239, in _Eval
raise AssertionError("Shouldn't get here")
AssertionError: Shouldn't get here
|
| dash | 19 No floating point stdout: stderr: /bin/dash: 1: arithmetic expression: expecting EOF: "1 + 2.3" |
| zsh | 19 No floating point stdout: 3.2999999999999998stderr: |
| osh | 19 No floating point [osh status] Expected 1, got 2 stdout: stderr: Line 1 of '<stdin>'
echo $((1 + 2.3))
^
Unknown token in arith context: (token id:Unknown_Tok val:. span_id:8)
---
Line 1 of '<stdin>'
echo $((1 + 2.3))
^
Unknown token in arith context: (token id:Unknown_Tok val:. span_id:8)
---
Line 0 of '<unknown>'
<token had no position info>
NO COL
Error reading arith word in ArithParser
---
Line 0 of '<unknown>'
<token had no position info>
NO COL
---
Line 0 of '<unknown>'
<token had no position info>
NO COL
Error parsing arith sub part
---
Line 1 of '<stdin>'
echo $((1 + 2.3))
^
Error reading command word
---
Line 0 of '<unknown>'
<token had no position info>
NO COL
Error parsing AndOr in ParseCommandTerm
---
|
| dash | 20 Array indexing in arith stdout: stderr: /bin/dash: 1: Syntax error: "(" unexpected
|
| zsh | 20 Array indexing in arith stdout: 7stderr: |
| osh | 20 Array indexing in arith [osh stdout] Expected b'11\n', got b'' stdout: stderr: [''] |
| dash | 21 Constants in base 36 stdout: stderr: /bin/dash: 1: arithmetic expression: expecting EOF: "36#a" |
| dash | 22 Constants in bases 2 to 64 stdout: stderr: /bin/dash: 1: arithmetic expression: expecting EOF: "64#a" |
| mksh | 22 Constants in bases 2 to 64 stdout: stderr: /bin/mksh: <stdin>[1]: 64#a: bad number '64#a' |
| zsh | 22 Constants in bases 2 to 64 stdout: stderr: zsh: invalid base (must be 2 to 36 inclusive): 64 |
| dash | 23 Dynamic base constants stdout: stderr: /bin/dash: 2: arithmetic expression: expecting EOF: " 16#a " |
| mksh | 24 Octal constant stdout: 11stderr: |
| zsh | 24 Octal constant stdout: 11stderr: |
| mksh | 25 Dynamic octal constant stdout: 11stderr: |
| zsh | 25 Dynamic octal constant stdout: 11stderr: |
| osh | 27 Dynamic var names! [osh stdout] Expected b'11\n', got b'' stdout: stderr: ["Invalid integer constant 'foo'", ''] |