-
Notifications
You must be signed in to change notification settings - Fork 39
tools: added a port of dust
#979
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
base: devel
Are you sure you want to change the base?
Conversation
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.
I did a first pass and left some minor style suggestions.
tools/dust/pass.nim
Outdated
# yield the next available permutation (once) | ||
result = pop(remains) | ||
assert result.kind == nkStmtList | ||
c.ignore = true |
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.
I'm not entirely sure, but since the process procedure is called for every fragment, wouldn't this mean that everything beyond and including the first declarative statement would be thrown away?
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.
yeah, seeing as this code seems to be unused, it looks to be an incomplete implementation.
also there is a bug when it comes to debugging types... sigh
added to to `tools` build in `koch`
Co-authored-by: Clyybber <[email protected]>
Co-authored-by: zerbina <[email protected]>
Co-authored-by: zerbina <[email protected]>
Co-authored-by: zerbina <[email protected]>
Co-authored-by: zerbina <[email protected]>
2a5cb71
to
79b0995
Compare
the problem is that right now we generate more and more errors over time, so the minimization process diverges, rather than converging.
right now there is a bug in `semcall.semResolvedCall` where a `tyError` from a faux match doesn't have an error and is being wrapped I'm guessing this will require removing a bunch of unwrapping logic to fix, but not quite sure.
Wrapping nodes is no longer necesssary as they're reported immediately. This was resulting in attempting to wrap nodes that no longer contain errors but resulted in them.
#excludeAllNotes(result, hintConf) | ||
#excludeAllNotes(result, hintLineTooLong) |
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.
Re-add if possible
Dust now works and successfully reduces the broken code in Another thing that will likely help a fair bit is a breadth first search and early elimination of the search space, but I'm not sure how to implement that (besides the breadth first) just yet. |
Summary
dust
is an automatic test case minimizer written by @disruptekDetails
Notes for Reviewers
discardCheck
fix