unsloth/unsloth_cli
Daniel Han 0ed26297ed
Run unsloth_cli/tests in Backend CI (#7598)
unsloth_cli/tests had no CI at all. unsloth_cli/** was a paths trigger and a
ruff target, so the Backend CI job already fired on CLI changes but never ran
these 673 tests, which cover the studio launcher, the pre-exposure gate and the
auth secret writers. Four had been failing on main unnoticed.

Two were stale rather than broken code:

- test_studio_default_exposes_parallel_option pinned the plain --parallel
  default to 1, but #7455 deliberately moved _PARALLEL_DEFAULT_PLAIN to 4 so a
  new chat does not queue behind the previous one. Assert against the constant
  so the two cannot drift again.
- test_reexec_forwards_api_only expected --secure --api-only to re-exec. The
  pre-exposure gate now refuses that combination, because api-only serves no
  login page and the bootstrap deadline does not apply, so a seeded password
  could never be changed. Drop the case and assert the refusal instead.

Two only passed when a built frontend dist happened to be present, which it is
not in a fresh clone or on a runner. Both reach a public-launch path where the
missing-dist gate exits first, so they never got to the backend check and the
run_server call they are about. Stub _find_frontend_dist the way their siblings
already do.

Own step rather than folding into the tests/ discovery: pyproject's testpaths is
tests/, and this suite needs no PYTHONPATH or CUDA spoof, importing neither
unsloth nor torch. Its deps are already installed by the job (pydantic and
uvicorn, which brings click, via studio.txt; pyyaml explicitly).
2026-07-29 01:15:06 -07:00
..
commands Studio: Write auth secret files with a trailing newline (#7576) 2026-07-29 00:50:19 -07:00
tests Run unsloth_cli/tests in Backend CI (#7598) 2026-07-29 01:15:06 -07:00
__init__.py tests: read checked-in files as UTF-8 instead of the platform default (#7438) 2026-07-26 23:31:56 -07:00
_inference.py Studio: detect an interrupted dependency install instead of launching a backend that cannot import (#7492) 2026-07-28 10:57:20 +02:00
_studio_deps.py Studio: detect an interrupted dependency install instead of launching a backend that cannot import (#7492) 2026-07-28 10:57:20 +02:00
_tool_policy.py Keep server-side tools enabled under --secure (#6403) 2026-06-18 05:52:40 -07:00
claude_subagent_mcp.py unsloth start: keep the local subagent unattended and out of plan mode (#7437) 2026-07-27 04:18:22 -07:00
codex_fallback_prompt.md Fix agent workspace isolation and Hermes one-shot resume (#7103) 2026-07-15 15:06:03 +02:00
codex_subagent_mcp.py Complete local subagent delegation for Codex, Claude plan mode, and Pi (#7329) 2026-07-23 20:48:30 -07:00
config.py feat(studio): add DoRA support to studio (#7315) 2026-07-24 03:24:16 -07:00
options.py CLI: fix --local-dataset being parsed as a string instead of a list (#6357) 2026-06-16 02:32:26 -07:00
pi_subagent.ts Add interactive Agents command builder (#7312) 2026-07-26 17:09:19 -07:00