mirror of
https://github.com/kovidgoyal/kitty.git
synced 2026-10-09 21:04:39 +00:00
Since coreutils 9.12, env shell-quotes values written to a terminal by default (a pty counts as one, see coreutils issue #355 for the history: https://github.com/coreutils/coreutils/issues/355). This makes the literal, unquoted match for TSET= in test_ssh_env_vars no longer find the value, so the test times out waiting for it and eventually surfaces as an EIO reading from the pty once the child has already exited. Accept the shlex-quoted form of the value as well, since the ssh kitten's own env-passing code does not use env and is unaffected. Observed failure (Fedora rawhide buildroot with coreutils-9.12-1.fc46): ====================================================================== ERROR: test_ssh_env_vars (kitty_tests.ssh.SSHKitten.test_ssh_env_vars) ---------------------------------------------------------------------- Traceback (most recent call last): File "kitty_tests/__init__.py", line 461, in wait_till self.process_input_from_child(timeout=end_time - time.monotonic()) File "kitty_tests/__init__.py", line 449, in process_input_from_child data = os.read(self.master_fd, io.DEFAULT_BUFFER_SIZE) OSError: [Errno 5] Input/output error The above exception was the direct cause of the following exception: Traceback (most recent call last): File "kitty_tests/__init__.py", line 250, in wrapper return func(*args, **kwargs) File "kitty_tests/ssh.py", line 146, in test_ssh_env_vars pty.wait_till(lambda: 'TSET={}'.format(tset.replace('$A', 'AAA')) in pty.screen_contents()) File "kitty_tests/__init__.py", line 464, in wait_till raise Exception(f'Failed to read from pty with error: {e}. {self.screen_contents_for_error()}') from e Exception: Failed to read from pty with error: [Errno 5] Input/output error. Screen contents as repr: '...\nA=AAA\nTSET=\'AAA-$(echo no)-`echo no2` !Q5 "something else"\'\n...' Ran 337 tests in 19.341s FAILED (errors=1, skipped=3) Assisted-By: Claude Sonnet 5 |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| atexit.py | ||
| base.py | ||
| CascadiaCode-Regular.otf | ||
| check_build.py | ||
| child.py | ||
| choose_files.py | ||
| clipboard.py | ||
| ComfyCode-Regular.ttf | ||
| command_palette.py | ||
| completion.py | ||
| crypto.py | ||
| datatypes.py | ||
| dnd.py | ||
| dnd_kitten.py | ||
| edit_in_kitty.py | ||
| file_transmission.py | ||
| FiraCode-Medium.otf | ||
| fonts.py | ||
| glfw.py | ||
| gr.py | ||
| GraphemeBreakTest.json | ||
| graphics.py | ||
| hints.py | ||
| iosevka-regular.ttf | ||
| iterable_arguments.py | ||
| keys.py | ||
| layout.py | ||
| LiberationMono-Regular.ttf | ||
| main.py | ||
| mouse.py | ||
| multicell.py | ||
| notifications.py | ||
| notify.py | ||
| open_actions.py | ||
| options.py | ||
| panels.py | ||
| parser.py | ||
| remote_control.py | ||
| screen.py | ||
| search_query_parser.py | ||
| selection_drag.py | ||
| shell_integration.py | ||
| shm.py | ||
| single_instance.py | ||
| slang.py | ||
| ssh.py | ||
| tab_bar.py | ||
| tab_drop.py | ||
| tui.py | ||
| twemoji_smiley-cff2_colr_1.otf | ||
| utmp.py | ||