diff --git a/kitty_tests/__init__.py b/kitty_tests/__init__.py index 810d54ef9..103c231b1 100644 --- a/kitty_tests/__init__.py +++ b/kitty_tests/__init__.py @@ -391,7 +391,12 @@ class PTY: def wait_till(self, q, timeout=10, timeout_msg=None): end_time = time.monotonic() + timeout while not q() and time.monotonic() <= end_time: - self.process_input_from_child(timeout=end_time - time.monotonic()) + try: + self.process_input_from_child(timeout=end_time - time.monotonic()) + except OSError as e: + if not q(): + raise Exception(f'Failed to read from pty with error: {e}. Screen contents: \n {repr(self.screen_contents())}') from e + return if not q(): msg = 'The condition was not met' if timeout_msg is not None: