Skip to content

Commit 831b8a8

Browse files
test(cli): skip invalid-command snapshot on Python 3.12.0-3.12.6
Closes #1864. The reference snapshots for `test_invalid_command` reflect the no-quote argparse error format that landed in CPython 3.13 and was backported to 3.12.7 (gh-129019). On Python 3.12.0-3.12.6 argparse still prints quoted choices, so the snapshot diff fails for those patch releases. Skip the test on 3.12.0-3.12.6 with a precise `skipif` rather than maintaining a duplicate snapshot. The CI matrix already runs on recent 3.12.x where the test is exercised; users on older patches just see the test as `s` instead of a hard failure. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 4d99415 commit 831b8a8

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

tests/test_cli.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,15 @@ def test_no_argv(util: UtilFixture, capsys, file_regression):
3434
"invalidCommand",
3535
],
3636
)
37+
@pytest.mark.skipif(
38+
sys.version_info[:2] == (3, 12) and sys.version_info < (3, 12, 7),
39+
reason=(
40+
"argparse stopped quoting choices in 3.13 (CPython gh-129019), "
41+
"backported to 3.12.7. The reference snapshot reflects the "
42+
"no-quote format, so older 3.12.x patches (3.12.0-3.12.6) print "
43+
"quoted choices and fail. See commitizen-tools/commitizen#1864."
44+
),
45+
)
3746
@pytest.mark.usefixtures("python_version", "consistent_terminal_output")
3847
def test_invalid_command(util: UtilFixture, capsys, file_regression, arg):
3948
with pytest.raises(NoCommandFoundError):

0 commit comments

Comments
 (0)