Integrate Tool Parameter Modeling into Linting (for Planemo) #19073
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Builds on #19027 - only the last commit is adding functionality beyond that.
Adds two new linters so far. One runs the test case validation added in #18679. So basically it indicates if the tool test case are already passing the best practices required for profile 24.2 tools - allowing disambiguation and stronger typing. The other linter builds assertion models for the outputs and runs them against the Pydantic validators added in #18787. There is a test case added the shows this provides checks beyond the XSD.
The way I originally defined the linting levels - errors would prevent the tool from loading. The test linting added since then by others have recorded a bunch of test case issues as errors instead of warnings - I stuck by my original classification but maybe the assertion problems should be errors the way things have drifted?
The pydantic errors are an unfortunate combination of much wordier and less precise than the existing linters (all the context is stripped out - what output, what line number, etc...) so I'm contemplating hiding some of the output behind a verbose flag.
How to test the changes?
(Select all options that apply)
License