Menu

#254 test: extend the ASCII-only guarantee to cover the two characters that slipped through

closed
nobody
2026-08-08
2026-08-06
Anonymous
No

Originally created by: fu351

Doberman's CLI output is deliberately pure ASCII (see src/doberman/branding.py - it must render on a legacy cp1252 Windows console), and tests/unit/test_cli_encode_safe.py enforces it - but only for install-hooks --dry-run and setup --yes. Two violations slipped through elsewhere:

  • src/doberman/cli/main.py, the 2fa remove warning text: contains an em-dash (U+2014).
  • src/doberman/hosthooks/setup.py, parse_mode_choice: the error message says choose 1-4 with an en-dash (U+2013).

Task: replace both with plain hyphens, then extend test_cli_encode_safe.py so the ASCII guarantee actually covers these paths (the 2fa remove denial message and a bad mode choice). A test that would have caught these is the real deliverable; the two character fixes just make it pass.

Done when: the new assertions fail if you revert the character fixes, and CI is green.

Related

Tickets: #270
Tickets: #275
Tickets: #277

Discussion

  • Anonymous

    Anonymous - 2026-08-06

    Originally posted by: fu351

    Heads up: the parse_mode_choice en-dash named here is being fixed as a side effect of [#266] (setup-wizard slice, in review) - the re-prompt loop surfaces that message interactively, so it could not wait. Everything else stands: the 2fa remove em-dash and, more importantly, extending test_cli_encode_safe.py so both paths are covered by the ASCII guarantee. The test is still the real deliverable.

     

    Related

    Tickets: #266

  • Anonymous

    Anonymous - 2026-08-06

    Originally posted by: fu351

    Assigned to @Wsif123, who has the fix and tests ready to go up as a PR - see [#270] for the handoff notes.

     

    Related

    Tickets: #270

  • Anonymous

    Anonymous - 2026-08-08

    Ticket changed by: fu351

    • status: open --> closed
     

Log in to post a comment.