Guard the v3 TUI test's textual import, as every other TUI test does

`textual` is not a declared dependency — not in dependencies, not an extra,
not in the dev group — so it is absent from any environment built from the
lockfile. Every other TUI test opens with pytest.importorskip("textual") and
skips. This file did not, so instead of skipping it failed COLLECTION, and a
collection error takes the whole run down: the entire Python suite went red
on Linux and macOS over a module no test here can rely on.

The guard is the immediate fix. The larger finding is recorded in TODO.md:
the whole TUI test surface has been passing by not running, and the step
meant to catch that — `seedpass tui2 --check` — uses find_spec and reports
"unavailable" with a zero exit, so it passes whether or not the TUI can
start. A fresh install from the lockfile ships a TUI that does not work and
nothing in CI says so. Which way to resolve that is a product call, so it is
written down rather than decided here.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01Vtx94nXDmNgXEeThUZP4QN
This commit is contained in:
thePR0M3TH3ANandClaude Opus 5 committed 2026-08-20 09:19:58 -04:00
1 parent 4204a23cab
commit dec2b0f677
2 files changed
+30

No files matched your search

+8
View File
@@ -1,5 +1,13 @@
from __future__ import annotations
import pytest
# textual is not a declared dependency, so it is absent from any environment
# built from the lockfile. Every other TUI test guards its import this way;
# this file did not, so instead of skipping it failed COLLECTION, which takes
# the whole run down with it -- the entire Python suite went red on Linux and
# macOS over a module no test here can rely on.
pytest.importorskip("textual")
from unittest.mock import MagicMock
from rich.text import Text
from textual.widgets import DataTable