Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ruleset::expandRulesetReference(): add tests #801

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

jrfnl
Copy link
Member

@jrfnl jrfnl commented Jan 29, 2025

Description

Ruleset::expandRulesetReference(): test handling "homepath" references

Ruleset::expandRulesetReference(): test handling "Internal" references

Ruleset::expandRulesetReference(): add miscellaneous tests

Note: test coverage for the Ruleset::expandRulesetReference() method will still not be 100% even after the addition of these tests.

  • There are some conditions which are specific to running PHPCS via a PHAR file. At this time, the tests are not run with a PHAR file, which means these lines cannot be covered via the tests.
  • As for the other uncovered lines/branches: my fantasy ran out and I couldn't come up with a situation which would trigger that code. (believe me, I've tried very very hard)
    Code archaeology (git blame) to find out why the code was introduced unfortunately didn't help.
    This may indicate the code is redundant and can be removed, but this is not certain at this time and leaving the code in place is not harming anyone for now.
    If over time, nobody can come up with a real life situation which would allow us to test those lines, it could be considered to remove them in a future major release to see what breaks....

Suggested changelog entry

N/A

Related issues/external references

This PR is part of a series of PRs expanding the tests for the Ruleset class.

jrfnl and others added 3 commits January 29, 2025 02:19
Note: test coverage for the `Ruleset::expandRulesetReference()` method will still not be 100% even after the addition of these tests.
* There are some conditions which are specific to running PHPCS via a PHAR file. At this time, the tests are not run with a PHAR file, which means these lines cannot be covered via the tests.
* As for the other uncovered lines/branches: my fantasy ran out and I couldn't come up with a situation which would trigger that code.
    Code archaeology (`git blame`) to find out why the code was introduced unfortunately didn't help.
    This may indicate the code is redundant and can be removed, but this is not certain at this time and leaving the code in place is not harming anyone for now.
    If over time, nobody can come up with a real life situation which would allow us to test those lines, it could be considered to remove them in a future major release to see what breaks....
@jrfnl
Copy link
Member Author

jrfnl commented Jan 29, 2025

  • As for the other uncovered lines/branches: my fantasy ran out and I couldn't come up with a situation which would trigger that code. (believe me, I've tried very very hard)
    Code archaeology (git blame) to find out why the code was introduced unfortunately didn't help.
    This may indicate the code is redundant and can be removed, but this is not certain at this time and leaving the code in place is not harming anyone for now.
    If over time, nobody can come up with a real life situation which would allow us to test those lines, it could be considered to remove them in a future major release to see what breaks....

Based on the code coverage report, nearly all those lines are covered via some pre-existing tests, most likely in the RuleInclusion* tests. Would still be interesting to document this better, but goes to show that these lines should not be removed.

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

Successfully merging this pull request may close these issues.

1 participant