spec test index / oilshell.org
| status | ysh | |
| pass | 9 | |
| FAIL | 4 | |
| total | 13 | |
| case | ysh | description |
| 0 | pass | fastlex: NUL byte not allowed inside char literal #' ' |
| 1 | pass | fastlex: NUL byte inside shebang line |
| 2 | pass | Tea keywords don't interfere with YSH expressions |
| 3 | pass | Catch AttributeError |
| 4 | pass | Command sub paren parsing bug (#1387) |
| 5 | pass | More Command sub paren parsing |
| 6 | pass | don't execute empty command |
| 7 | FAIL | Do && || with YSH constructs make sense/ |
| details | ||
| 8 | pass | shvar then replace - bug #1986 context manager crash |
| 9 | pass | Parsing crash - bug #2003 |
| 10 | FAIL | proc with IFS= read -r line - dynamic scope - issue #2012 |
| details | ||
| 11 | FAIL | func call inside proc call - error message attribution |
| details | ||
| 12 | FAIL | Crash in parsing case - issue #2037 |
| details |
9 passed, 0 OK, 0 not implemented, 0 BUG, 4 failed, 0 timeouts, 0 cases skipped 4 failed under osh
| ysh | 7 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) 42stderr: |
| ysh | 10 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: zzstderr: write $line
^~~~~
[ stdin ]:8: fatal: Undefined variable 'line'
echo yy | p-ifs
^~~~~
[ stdin ]:14: errexit PID 34435: command.Pipeline failed with status 1
|
| ysh | 11 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 | 12 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'
|