-
Notifications
You must be signed in to change notification settings - Fork 1
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
Skip functions with trait reference
parameters from selection
#83
Merged
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
…ariant testing This commit introduces a new method called `isTraitReferenceFunction`. Its role is to recursively check a function's parameters to determine if it includes trait reference parameters, returning a boolean. Functions containing trait references are now excluded from the pool of functions available for fuzzing in invariant testing since trait references are not yet supported. Additionally, this commit improves the clarity of arbitraries' definitions and adds two unit tests to validate the new method.
This commit fixes comment inconsistencies in the `shared` file.
This commit excludes functions with trait references from the pool of test functions available for property testing since trait references are not yet supported. Additionally, this commit improves the clarity of arbitraries definitions.
This commit updates logs to display red or green based on run status. It also modifies trait reference handling to return early instead of throwing an error in both invariant and property testing.
moodmosaic
reviewed
Jan 8, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good! Makes the overall arbitrary setup cleaner also! Had some comments on the
- removal of getContractNameFromRendezvousId
- coverage of isTraitReferenceFunction
This commit adds a new method, `getContractNameFromContractId`, to replace the deprecated and removed `getContractNameFromRendezvousId`. The new method is now used throughout the app wherever needed.
BowTiedRadone
force-pushed
the
fix/skip-trait-references
branch
from
January 8, 2025 14:35
c20f748
to
500aa1a
Compare
Closed
BowTiedRadone
force-pushed
the
fix/skip-trait-references
branch
from
January 8, 2025 22:42
0a69753
to
580baaf
Compare
moodmosaic
approved these changes
Jan 9, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚀 💯
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.
This PR updates
rv
by gracefully handlingtrait references
. It skips functions withtrait reference
parameters from being selected for argument generation and random execution, which previously caused crashes. Currently,trait references
are not supported, but this feature is planned (see #65).Additionally, this PR follows The Boy Scout Rule, leaving the codebase cleaner than it was found. Apparently unrelated updates such as refined arbitrary definitions, refactored comments, and updated logging can be found in this PR.