Test lazy-import breakage with a writable cache dir and library entry points
When checking whether a CLI survives Python 3.15's PYTHON_LAZY_IMPORTS=all, the result can depend on the environment, not just the code. black 26.x fails ('pygram has no attribute python_grammar_async_keywords') only when its cache is disabled. With a working cache, main() calls pygram.initialize() itself and hides the missing import-time side effect from black.nodes. On a box with an unwritable ~/.cache it looked broken for every black --check; on a normal machine only --no-cache and library use (black.format_str) break. So point XDG_CACHE_HOME at a writable temp dir, and test library entry points as well as the CLI. Separately, set PYTHONHASHSEED=0 when diffing --help output between modes; argparse choices built from sets otherwise differ run to run.