Fix handling of traits for coverage testing#572
Draft
LinqLover wants to merge 12 commits intohpi-swa:masterfrom
Draft
Fix handling of traits for coverage testing#572LinqLover wants to merge 12 commits intohpi-swa:masterfrom
LinqLover wants to merge 12 commits intohpi-swa:masterfrom
Conversation
Implement and test proper handling of class-side methods, extension methods, trait methods, and special message selectors.
Depends on Traits-eventualUsers.3.cs and complements SUnit coverage for traits.2.cs. [1] The implementation mostly follows the design of SUnit coverage for traits.2.cs [1], this implementation for smalltalkCI also makes the following changes: * Moves exclusion of methods derived from traits up from Pharo's overrides of #allClassesToCover to new SCICodeCoverage class>>#cannotBeCovered: * Moves check for abstract methods from SCICodeCoverage class>>#isExcluded: to SCICodeCoverage class>>#cannotBeCovered:. Consequently, abstract methods will no longer will be displayed as "ignored" but hidden at all from the coverage report. [1] https://lists.squeakfoundation.org/pipermail/squeak-dev/2022-September/222291.html
Lol, I had installed an extension that would automatically try to regenerate the TOC upon every save (markdown.extension.toc.updateOnSave) ...
Member
|
Is this ready for review? |
Member
|
After integrating #571, there are now some merge conflicts. Would be great if you could address them. Thanks! |
Collaborator
Author
|
This one is not yet ready. :-) It depends on SUnit coverage for traits.2.cs for Traits which is not yet merged but I still need to apply some feedback and then update this PR. I will ping you again when it is ready for review ... |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The implementation mostly follows the design of SUnit coverage for traits.2.cs1, this implementation for smalltalkCI also makes the following changes:
#allClassesToCoverto newSCICodeCoverage class>>#cannotBeCovered:SCICodeCoverage class>>#isExcluded:toSCICodeCoverage class>>#cannotBeCovered:. Consequently, abstract methods will no longer be displayed as "ignored" but hidden entirely from the coverage report.Also updates the relevant documentation.
To try it out, you can follow the steps from here.
Follow-up of #571. Complements
SUnit coverage for traits.2.csfor Squeak and depends onTraits-eventualUsers.3.cs. The dependency is non-technical, i.e., this PR is written without introducing a hard dependency on Traits, but no change in behavior will reveal before the changeset is merged into the Traits package, and I believe it's a better idea to wait for potential feedback on that patch before merging this PR.Footnotes
[squeak-dev] Review Request: TestCoverage-traits.1.cs ↩