fix: correct broken imports and fileno() guard after rebase

codex_auth.py was moved into contrib/codex/ but still used `.log`/
`.util` relative imports that resolved to the parent bot_bottle
package before the move — update to `...log` / `...util`.

_read_winsize() called sys.stdin.fileno() outside the OSError guard;
pytest's redirected stdin raises UnsupportedOperation (an OSError
subclass) there, breaking test_returns_first_tty_size. Move fileno()
inside the try block so any non-TTY stream is skipped cleanly.
This commit is contained in:
2026-06-04 18:18:26 +00:00
committed by didericis
parent 61b62261e9
commit 8f5b1dd548
2 changed files with 4 additions and 3 deletions
@@ -68,8 +68,9 @@ def _read_winsize() -> tuple[int, int] | None:
- tmux respawn-pane: tmux sets all three to the pane's PTY. - tmux respawn-pane: tmux sets all three to the pane's PTY.
- non-TTY (someone piped stdin in tests): none are; the - non-TTY (someone piped stdin in tests): none are; the
sync just no-ops, which is the right behavior.""" sync just no-ops, which is the right behavior."""
for fd in (sys.stdin.fileno(), sys.stdout.fileno(), sys.stderr.fileno()): for stream in (sys.stdin, sys.stdout, sys.stderr):
try: try:
fd = stream.fileno()
data = fcntl.ioctl(fd, termios.TIOCGWINSZ, b"\x00" * 8) data = fcntl.ioctl(fd, termios.TIOCGWINSZ, b"\x00" * 8)
except OSError: except OSError:
continue continue
+2 -2
View File
@@ -15,8 +15,8 @@ from datetime import datetime, timezone
from pathlib import Path from pathlib import Path
from typing import cast from typing import cast
from .log import die from ...log import die
from .util import expand_tilde from ...util import expand_tilde
def codex_auth_path(host_env: dict[str, str] | None = None) -> Path: def codex_auth_path(host_env: dict[str, str] | None = None) -> Path: