22 passed, 0 OK, 0 not implemented, 0 BUG, 14 failed, 0 timeouts, 0 cases skipped 7 failed under osh
ysh | 4 Command sub paren parsing bug (#1387) [ysh stdout] Expected 'true\n3\n125\n13\n', got '' [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 202, in <module> sys.exit(main(sys.argv)) File "/home/uke/oil/bin/oils_for_unix.py", line 171, 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 1266, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2285, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 2084, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1811, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1054, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2479, in EvalWordSequence2 allow_assign) File "/home/uke/oil/osh/word_eval.py", line 2440, in SimpleEvalWordSequence2 self._EvalWordToParts(w, part_vals, 0) # not quoted File "/home/uke/oil/osh/word_eval.py", line 1983, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1875, in _EvalWordPart quoted) # type: part_value_t File "/home/uke/oil/osh/word_eval.py", line 2623, in _EvalCommandSub stdout_str = self.shell_ex.RunCommandSub(cs_part) File "/home/uke/oil/core/executor.py", line 693, in RunCommandSub status, stdout_str, stderr_str = self.CaptureStdout(node) File "/home/uke/oil/core/executor.py", line 621, in CaptureStdout fds = pyos.WaitForInputs([r, r2]) File "/home/uke/oil/core/pyos.py", line 288, in WaitForInputs r, w, exc = select.select(fd, [], [fd]) TypeError: argument must be an int, or have a fileno() method |
ysh_ALT | 4 Command sub paren parsing bug (#1387) [ysh_ALT stdout] Expected 'true\n3\n125\n13\n', got '' [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 171, 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 1266, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2288, in ExecuteAndCatch raise # 'eval break' and 'source return.sh', etc. File "/home/uke/oil/osh/cmd_eval.py", line 2137, in _Execute errexit_loc = process_sub_st.locs[i] File "/home/uke/oil/osh/cmd_eval.py", line 1822, in _Dispatch self._LeafTick() File "/home/uke/oil/osh/cmd_eval.py", line 1054, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2479, in EvalWordSequence2 allow_assign) File "/home/uke/oil/osh/word_eval.py", line 2440, in SimpleEvalWordSequence2 self._EvalWordToParts(w, part_vals, 0) # not quoted File "/home/uke/oil/osh/word_eval.py", line 1983, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1875, in _EvalWordPart quoted) # type: part_value_t File "/home/uke/oil/osh/word_eval.py", line 2623, in _EvalCommandSub stdout_str = self.shell_ex.RunCommandSub(cs_part) File "/home/uke/oil/core/executor.py", line 693, in RunCommandSub status, stdout_str, stderr_str = self.CaptureStdout(node) File "/home/uke/oil/core/executor.py", line 621, in CaptureStdout fds = pyos.WaitForInputs([r, r2]) File "/home/uke/oil/core/pyos.py", line 288, in WaitForInputs r, w, exc = select.select(fd, [], [fd]) TypeError: argument must be an int, or have a fileno() method. FATAL: couldn't import from app bundle '/home/uke/oil/_tmp/oil-tar-test/oil-0.28.0/_bin/ysh' (1) Stripping the oil.ovm binary may cause this error. See https://github.com/oilshell/oil/issues/47 |
ysh | 5 More Command sub paren parsing [ysh stdout] Expected 'for\nwhile\nif\nelif\n', got '' [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 202, in <module> sys.exit(main(sys.argv)) File "/home/uke/oil/bin/oils_for_unix.py", line 171, 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 1266, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2285, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 2084, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1811, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1054, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2479, in EvalWordSequence2 allow_assign) File "/home/uke/oil/osh/word_eval.py", line 2440, in SimpleEvalWordSequence2 self._EvalWordToParts(w, part_vals, 0) # not quoted File "/home/uke/oil/osh/word_eval.py", line 1983, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1875, in _EvalWordPart quoted) # type: part_value_t File "/home/uke/oil/osh/word_eval.py", line 2623, in _EvalCommandSub stdout_str = self.shell_ex.RunCommandSub(cs_part) File "/home/uke/oil/core/executor.py", line 693, in RunCommandSub status, stdout_str, stderr_str = self.CaptureStdout(node) File "/home/uke/oil/core/executor.py", line 621, in CaptureStdout fds = pyos.WaitForInputs([r, r2]) File "/home/uke/oil/core/pyos.py", line 288, in WaitForInputs r, w, exc = select.select(fd, [], [fd]) TypeError: argument must be an int, or have a fileno() method |
ysh_ALT | 5 More Command sub paren parsing [ysh_ALT stdout] Expected 'for\nwhile\nif\nelif\n', got '' [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 171, 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 1266, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2288, in ExecuteAndCatch raise # 'eval break' and 'source return.sh', etc. File "/home/uke/oil/osh/cmd_eval.py", line 2137, in _Execute errexit_loc = process_sub_st.locs[i] File "/home/uke/oil/osh/cmd_eval.py", line 1822, in _Dispatch self._LeafTick() File "/home/uke/oil/osh/cmd_eval.py", line 1054, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2479, in EvalWordSequence2 allow_assign) File "/home/uke/oil/osh/word_eval.py", line 2440, in SimpleEvalWordSequence2 self._EvalWordToParts(w, part_vals, 0) # not quoted File "/home/uke/oil/osh/word_eval.py", line 1983, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1875, in _EvalWordPart quoted) # type: part_value_t File "/home/uke/oil/osh/word_eval.py", line 2623, in _EvalCommandSub stdout_str = self.shell_ex.RunCommandSub(cs_part) File "/home/uke/oil/core/executor.py", line 693, in RunCommandSub status, stdout_str, stderr_str = self.CaptureStdout(node) File "/home/uke/oil/core/executor.py", line 621, in CaptureStdout fds = pyos.WaitForInputs([r, r2]) File "/home/uke/oil/core/pyos.py", line 288, in WaitForInputs r, w, exc = select.select(fd, [], [fd]) TypeError: argument must be an int, or have a fileno() method. FATAL: couldn't import from app bundle '/home/uke/oil/_tmp/oil-tar-test/oil-0.28.0/_bin/ysh' (1) Stripping the oil.ovm binary may cause this error. See https://github.com/oilshell/oil/issues/47 |
ysh | 6 don't execute empty command [ysh status] Expected 127, got 1 [ysh stderr] Found 'Traceback (most recent' stdout: type -a returned 1stderr: . builtin try . builtin type -a '' : not found . builtin echo 'type -a returned 1' | command sub 3033 Traceback (most recent call last): File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module> sys.exit(main(sys.argv)) File "/home/uke/oil/bin/oils_for_unix.py", line 171, 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 1266, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2285, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 2084, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1811, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1054, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2479, in EvalWordSequence2 allow_assign) File "/home/uke/oil/osh/word_eval.py", line 2415, in SimpleEvalWordSequence2 strs0 = self._EvalWordToArgv(w) File "/home/uke/oil/osh/word_eval.py", line 2300, in _EvalWordToArgv self._EvalWordToParts(w, part_vals, 0) # not double quoted File "/home/uke/oil/osh/word_eval.py", line 1983, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1875, in _EvalWordPart quoted) # type: part_value_t File "/home/uke/oil/osh/word_eval.py", line 2623, in _EvalCommandSub stdout_str = self.shell_ex.RunCommandSub(cs_part) File "/home/uke/oil/core/executor.py", line 693, in RunCommandSub status, stdout_str, stderr_str = self.CaptureStdout(node) File "/home/uke/oil/core/executor.py", line 621, in CaptureStdout fds = pyos.WaitForInputs([r, r2]) File "/home/uke/oil/core/pyos.py", line 288, in WaitForInputs r, w, exc = select.select(fd, [], [fd]) TypeError: argument must be an int, or have a fileno() method |
ysh_ALT | 6 don't execute empty command [ysh_ALT status] Expected 127, got 1 [ysh_ALT stderr] Found 'Traceback (most recent' stdout: type -a returned 1stderr: . builtin try . builtin type -a '' : not found . builtin echo 'type -a returned 1' | command sub 3035 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 171, 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 1266, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2288, in ExecuteAndCatch raise # 'eval break' and 'source return.sh', etc. File "/home/uke/oil/osh/cmd_eval.py", line 2137, in _Execute errexit_loc = process_sub_st.locs[i] File "/home/uke/oil/osh/cmd_eval.py", line 1822, in _Dispatch self._LeafTick() File "/home/uke/oil/osh/cmd_eval.py", line 1054, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2479, in EvalWordSequence2 allow_assign) File "/home/uke/oil/osh/word_eval.py", line 2415, in SimpleEvalWordSequence2 strs0 = self._EvalWordToArgv(w) File "/home/uke/oil/osh/word_eval.py", line 2300, in _EvalWordToArgv self._EvalWordToParts(w, part_vals, 0) # not double quoted File "/home/uke/oil/osh/word_eval.py", line 1983, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1875, in _EvalWordPart quoted) # type: part_value_t File "/home/uke/oil/osh/word_eval.py", line 2623, in _EvalCommandSub stdout_str = self.shell_ex.RunCommandSub(cs_part) File "/home/uke/oil/core/executor.py", line 693, in RunCommandSub status, stdout_str, stderr_str = self.CaptureStdout(node) File "/home/uke/oil/core/executor.py", line 621, in CaptureStdout fds = pyos.WaitForInputs([r, r2]) File "/home/uke/oil/core/pyos.py", line 288, in WaitForInputs r, w, exc = select.select(fd, [], [fd]) TypeError: argument must be an int, or have a fileno() method. FATAL: couldn't import from app bundle '/home/uke/oil/_tmp/oil-tar-test/oil-0.28.0/_bin/ysh' (1) Stripping the oil.ovm binary may cause this error. See https://github.com/oilshell/oil/issues/47 |
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_ALT | 7 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) 42stderr: |
ysh | 11 func call inside proc call - error message attribution [ysh stdout] Expected '', got " eval (ident([1,2,3]))\n ^\n[ -c flag ]:11: 'eval' got unexpected typed args\n eval (ident([1,2,3]))\n ^~~~\n[ -c flag ]:11: errexit PID 3067: command.Simple failed with status 2\n" stdout: eval (ident([1,2,3])) ^ [ -c flag ]:11: 'eval' got unexpected typed args eval (ident([1,2,3])) ^~~~ [ -c flag ]:11: errexit PID 3067: command.Simple failed with status 2stderr: |
ysh_ALT | 11 func call inside proc call - error message attribution [ysh_ALT stdout] Expected '', got " eval (ident([1,2,3]))\n ^\n[ -c flag ]:11: 'eval' got unexpected typed args\n eval (ident([1,2,3]))\n ^~~~\n[ -c flag ]:11: errexit PID 3072: command.Simple failed with status 2\n" stdout: eval (ident([1,2,3])) ^ [ -c flag ]:11: 'eval' got unexpected typed args eval (ident([1,2,3])) ^~~~ [ -c flag ]:11: errexit PID 3072: command.Simple failed with status 2stderr: |
ysh | 16 Another "stealing stdin" issue with spec tests [ysh stdout] Expected '(Str) "1"\n(Str) "2"\n(Str) "3"\n(Str) "4"\n(Str) "5"\n' Got '(Str) ""\n(Str) ""\n(Str) ""\n(Str) "1"\n(Str) "2"\n(Str) "3"\n(Str) "4"\n(Str) "5"\n' stdout: (Str) "" (Str) "" (Str) "" (Str) "1" (Str) "2" (Str) "3" (Str) "4" (Str) "5"stderr: |
ysh_ALT | 16 Another "stealing stdin" issue with spec tests [ysh_ALT stdout] Expected '(Str) "1"\n(Str) "2"\n(Str) "3"\n(Str) "4"\n(Str) "5"\n' Got '(Str) ""\n(Str) ""\n(Str) ""\n(Str) "1"\n(Str) "2"\n(Str) "3"\n(Str) "4"\n(Str) "5"\n' stdout: (Str) "" (Str) "" (Str) "" (Str) "1" (Str) "2" (Str) "3" (Str) "4" (Str) "5"stderr: |
ysh | 17 Long boolean flags can't have attached values [ysh stdout] Expected '', got 'hi\nhi\nhi\nhi\n\n"hi"\n"hi"\n"hi"\n"hi"\n' [ysh status] Expected 1, got 2 stdout: hi hi hi hi "hi" "hi" "hi" "hi"stderr: write --json=Talse hi ^~~~~ [ stdin ]:12: 'write' got invalid argument to boolean flag: 'Talse' write --json=Talse hi ^~~~~ [ stdin ]:12: errexit PID 3096: command.Simple failed with status 2 |
ysh_ALT | 17 Long boolean flags can't have attached values [ysh_ALT stdout] Expected '', got 'hi\nhi\nhi\nhi\n\n"hi"\n"hi"\n"hi"\n"hi"\n' [ysh_ALT status] Expected 1, got 2 stdout: hi hi hi hi "hi" "hi" "hi" "hi"stderr: write --json=Talse hi ^~~~~ [ stdin ]:12: 'write' got invalid argument to boolean flag: 'Talse' write --json=Talse hi ^~~~~ [ stdin ]:12: errexit PID 3099: command.Simple failed with status 2 |