File::addMessage(): do not ignore Internal errors when scanning selectively #3915
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.
Description
ErrorSuppressionTest: prevent Internal errors
... about a mismatch in line endings when the code "template" is defined using a heredoc with Linux line endings, while the code snippets being inserted into the code "template" were using line endings matching the OS on which the tests were being run.
File::addMessage(): do not ignore Internal errors when scanning selectively
When either the
--sniffs=...
CLI parameter is used, or the--exclude=...
CLI parameter, theFile::addMessage()
method bows out when an error is passed which is not for one of the selected sniffs/is for one of the excluded sniffs.Unfortunately, this "bowing out" did not take
Internal
errors into account, meaning those were now hidden, while those - IMO - should always be thrown as they generally inform the end-user of something wrong with the file which impacts the scan results (mixed line endings/no code found etc).Fixed now.
Includes updating two test files to allow for seeing internal errors.
Suggested changelog entry
Internal errors will no longer be suppressed when the
--sniffs
or--exclude
CLI arguments are used.Types of changes
👉🏻 This could be considered a breaking change, though I'm not sure whether it should be. Opinions welcome.
Most typically, this change may impact tests for external standards which don't expect
Internal
errors.