-
Notifications
You must be signed in to change notification settings - Fork 68
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
Fix handling of traits for coverage testing #572
Draft
LinqLover
wants to merge
12
commits into
hpi-swa:master
Choose a base branch
from
LinqLover:fix-coverage-traits
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains 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
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) ...
Is this ready for review? |
After integrating #571, there are now some merge conflicts. Would be great if you could address them. Thanks! |
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 ... |
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:
#allClassesToCover
to 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.cs
for 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 ↩