add enforce option and pre-commit hook #22
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.
This PR adds an
-enforce
option to go-carpet that makes the executable return 1 if any file has coverage under the specified-mincov
value. It also adds a.pre-commit-hooks.yaml
file and a.pre-commit-runner.sh
which lets users perform coverage checks as a part of pre-commit.There's a funny quirk with how pre-commit passes arguments to executables: it just specifies a list of (space-separated) arguments, followed by a list of (space-separated) file names to check. If we want users to be able to customize the
-mincov
value (or pass any other arguments in) forgo-carpet
, we need to have some way to differentiate between an "argument" and a "filename".The best I've been able to come up with is to check for arguments that start with a
-
character. These are treated as arguments togo-carpet
, and everything else gets concatenated together as a list of files.Please let me know what you think, or if you have any suggestions/concerns!