Skip to content

Use command-line names in missing-argument errors - #1097

Open
Hugohong258 wants to merge 1 commit into
pyinvoke:2.2from
Hugohong258:fix-required-cli-argument-names
Open

Hugohong258 wants to merge 1 commit into
pyinvoke:2.2from
Hugohong258:fix-required-cli-argument-names

Conversation

@Hugohong258

Copy link
Copy Markdown

When a required param_1 argument is exposed as param-1 on the command line, omitting it reports the Python attribute name instead of the CLI name. Use the argument's first public name in that error. Regression coverage includes dashed names, an unrelated internal attribute name, and an untransformed-name control. Fixes #1017.

Validation: two new cases fail before the fix, with the control passing. On WSL Linux/Python 3.14.4, 216 related parser/task tests pass and 2 are skipped. Real CLI checks on Windows/Python 3.12.3 and Linux/Python 3.14.4 confirm both the missing-argument error and successful --param-1/--param-2 calls. Black 22.8, the pinned Flake8 4 checks, and mypy 0.971 over all 48 package source files pass. Flake8 used an external entry-point API adapter for this Python 3.12 host, excluding unrelated host plugins. The full unit suite, integrations and older-runtime CI matrix were not run. Based on the 2.2 release line per the contribution guide.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant