diff --git a/kitty_tests/__init__.py b/kitty_tests/__init__.py index b5caea07b..f01b514c7 100644 --- a/kitty_tests/__init__.py +++ b/kitty_tests/__init__.py @@ -203,13 +203,13 @@ class PTY: self, argv=None, rows=25, columns=80, scrollback=100, cell_width=10, cell_height=20, cwd=None, env=None, stdin_fd=None, stdout_fd=None ): + self.is_child = False if isinstance(argv, str): argv = shlex.split(argv) self.write_buf = b'' if argv is None: from kitty.child import openpty self.master_fd, self.slave_fd = openpty() - self.is_child = False else: self.child_pid, self.master_fd = fork() self.is_child = self.child_pid == CHILD @@ -249,11 +249,12 @@ class PTY: def __del__(self): if not self.is_child: - os.close(self.master_fd) + if hasattr(self, 'master_fd'): + os.close(self.master_fd) + del self.master_fd if hasattr(self, 'slave_fd'): os.close(self.slave_fd) del self.slave_fd - del self.master_fd def write_to_child(self, data, flush=False): if isinstance(data, str): diff --git a/kitty_tests/main.py b/kitty_tests/main.py index b10b8e740..a9b8de9a3 100644 --- a/kitty_tests/main.py +++ b/kitty_tests/main.py @@ -155,7 +155,7 @@ def run_go(packages: Set[str], names: str) -> 'subprocess.Popen[bytes]': def reduce_go_pkgs(module: str, names: Sequence[str]) -> Set[str]: if not go_exe(): print('Skipping Go tests as go exe not found', file=sys.stderr) - return + return set() go_packages, go_functions = find_testable_go_packages() if module: go_packages &= {module}