Results for ysh-bugs.test.sh

statusyshysh_ALT
pass 99
FAIL 44
total1313
caseyshysh_ALTdescription
0pass pass fastlex: NUL byte not allowed inside char literal #' '
1pass pass fastlex: NUL byte inside shebang line
2pass pass Tea keywords don't interfere with YSH expressions
3pass pass Catch AttributeError
4pass pass Command sub paren parsing bug (#1387)
5pass pass More Command sub paren parsing
6pass pass don't execute empty command
7FAIL FAIL Do && || with YSH constructs make sense/
detailsdetails
8pass pass shvar then replace - bug #1986 context manager crash
9pass pass Parsing crash - bug #2003
10FAIL FAIL proc with IFS= read -r line - dynamic scope - issue #2012
detailsdetails
11FAIL FAIL func call inside proc call - error message attribution
detailsdetails
12FAIL FAIL Crash in parsing case - issue #2037
detailsdetails
18 passed, 0 OK, 0 not implemented, 0 BUG, 8 failed, 0 timeouts, 0 cases skipped
4 failed under osh

Details on runs that didn't PASS

ysh7 Do && || with YSH constructs make sense/

[ysh stdout] Expected '', got '(List) [42]\n(Int) 42\n(Int) 42\n'

stdout:
(List)   [42]
(Int)   42
(Int)   42
stderr:
ysh_ALT7 Do && || with YSH constructs make sense/

[ysh_ALT stdout] Expected '', got '(List) [42]\n(Int) 42\n(Int) 42\n'

stdout:
(List)   [42]
(Int)   42
(Int)   42
stderr:
ysh10 proc with IFS= read -r line - dynamic scope - issue #2012

[ysh stdout] Expected 'zz\nyy\n', got 'zz\n'
[ysh status] Expected 0, got 1

stdout:
zz
stderr:
    write $line
          ^~~~~
[ stdin ]:8: fatal: Undefined variable 'line'
  echo yy | p-ifs
            ^~~~~
[ stdin ]:14: errexit PID 32000: command.Pipeline failed with status 1
ysh_ALT10 proc with IFS= read -r line - dynamic scope - issue #2012

[ysh_ALT stdout] Expected 'zz\nyy\n', got 'zz\n'
[ysh_ALT status] Expected 0, got 1

stdout:
zz
stderr:
    write $line
          ^~~~~
[ stdin ]:8: fatal: Undefined variable 'line'
  echo yy | p-ifs
            ^~~~~
[ stdin ]:14: errexit PID 32005: command.Pipeline failed with status 1
ysh11 func call inside proc call - error message attribution

[ysh stdout] Expected '', got ' eval (ident([1,2,3]))\n ^\n[ -c flag ]:11: fatal: Arg 1 should be a Command, got List\n'

stdout:
  eval (ident([1,2,3]))
             ^
[ -c flag ]:11: fatal: Arg 1 should be a Command, got List
stderr:
ysh_ALT11 func call inside proc call - error message attribution

[ysh_ALT stdout] Expected '', got ' eval (ident([1,2,3]))\n ^\n[ -c flag ]:11: fatal: Arg 1 should be a Command, got List\n'

stdout:
  eval (ident([1,2,3]))
             ^
[ -c flag ]:11: fatal: Arg 1 should be a Command, got List
stderr:
ysh12 Crash in parsing case - issue #2037

[ysh status] Expected 0, got 1
[ysh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 198, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 170, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 137, in AppBundleMain
    return shell.Main('ysh', arg_r, environ, login_shell, loader, readline)
  File "/home/uke/oil/core/shell.py", line 1138, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 340, in Batch
    node = c_parser.ParseLogicalLine()  # can raise ParseError
  File "/home/uke/oil/osh/cmd_parse.py", line 2774, in ParseLogicalLine
    node = self._ParseCommandLine()
  File "/home/uke/oil/osh/cmd_parse.py", line 2633, in _ParseCommandLine
    child = self.ParseAndOr()
  File "/home/uke/oil/osh/cmd_parse.py", line 2557, in ParseAndOr
    return self._ParseAndOr()
  File "/home/uke/oil/osh/cmd_parse.py", line 2568, in _ParseAndOr
    child = self.ParsePipeline()
  File "/home/uke/oil/osh/cmd_parse.py", line 2516, in ParsePipeline
    child = self.ParseCommand()
  File "/home/uke/oil/osh/cmd_parse.py", line 2434, in ParseCommand
    return self.ParseCompoundCommand()
  File "/home/uke/oil/osh/cmd_parse.py", line 2063, in ParseCompoundCommand
    n5 = self.ParseCase()
  File "/home/uke/oil/osh/cmd_parse.py", line 1854, in ParseCase
    return self.ParseYshCase(case_kw)
  File "/home/uke/oil/osh/cmd_parse.py", line 1779, in ParseYshCase
    discriminant = self.w_parser.NewlineOkForYshCase()
  File "/home/uke/oil/osh/word_parse.py", line 1422, in NewlineOkForYshCase
    next_id = self.lexer.LookAheadOne(lex_mode_e.Expr)
  File "/home/uke/oil/frontend/lexer.py", line 337, in LookAheadOne
    return self.line_lexer.LookAheadOne(lex_mode)
  File "/home/uke/oil/frontend/lexer.py", line 178, in LookAheadOne
    line_str = self.src_line.content
AttributeError: 'NoneType' object has no attribute 'content'
ysh_ALT12 Crash in parsing case - issue #2037

[ysh_ALT status] Expected 0, got 1
[ysh_ALT stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oil.py", line 34, in _cpython_main_hook
    sys.exit(oils_for_unix.main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 170, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 137, in AppBundleMain
    return shell.Main('ysh', arg_r, environ, login_shell, loader, readline)
  File "/home/uke/oil/core/shell.py", line 1138, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 340, in Batch
    node = c_parser.ParseLogicalLine()  # can raise ParseError
  File "/home/uke/oil/osh/cmd_parse.py", line 2774, in ParseLogicalLine
    node = self._ParseCommandLine()
  File "/home/uke/oil/osh/cmd_parse.py", line 2633, in _ParseCommandLine
    child = self.ParseAndOr()
  File "/home/uke/oil/osh/cmd_parse.py", line 2557, in ParseAndOr
    return self._ParseAndOr()
  File "/home/uke/oil/osh/cmd_parse.py", line 2568, in _ParseAndOr
    child = self.ParsePipeline()
  File "/home/uke/oil/osh/cmd_parse.py", line 2516, in ParsePipeline
    child = self.ParseCommand()
  File "/home/uke/oil/osh/cmd_parse.py", line 2434, in ParseCommand
    return self.ParseCompoundCommand()
  File "/home/uke/oil/osh/cmd_parse.py", line 2063, in ParseCompoundCommand
    n5 = self.ParseCase()
  File "/home/uke/oil/osh/cmd_parse.py", line 1854, in ParseCase
    return self.ParseYshCase(case_kw)
  File "/home/uke/oil/osh/cmd_parse.py", line 1779, in ParseYshCase
    discriminant = self.w_parser.NewlineOkForYshCase()
  File "/home/uke/oil/osh/word_parse.py", line 1422, in NewlineOkForYshCase
    next_id = self.lexer.LookAheadOne(lex_mode_e.Expr)
  File "/home/uke/oil/frontend/lexer.py", line 337, in LookAheadOne
    return self.line_lexer.LookAheadOne(lex_mode)
  File "/home/uke/oil/frontend/lexer.py", line 178, in LookAheadOne
    line_str = self.src_line.content
AttributeError: 'NoneType' object has no attribute 'content'
FATAL: couldn't import from app bundle '/home/uke/oil/_tmp/oil-tar-test/oil-0.22.0/_bin/ysh' (1)
Stripping the oil.ovm binary may cause this error.
See https://github.com/oilshell/oil/issues/47