fuzzgen: Generate multiple functions per testcase#5765
fuzzgen: Generate multiple functions per testcase#5765afonso360 merged 2 commits intobytecodealliance:mainfrom
Conversation
Subscribe to Label Actioncc @fitzgen DetailsThis issue or pull request has been labeled: "cranelift", "fuzzing"Thus the following users have been cc'd because of the following labels:
To subscribe or unsubscribe from this label, edit the |
|
I'm very excited to merge this, but I'm holding off on reviewing it until we merge #5764. |
cc30cb8 to
263b973
Compare
jameysharp
left a comment
There was a problem hiding this comment.
This looks great and I'm so excited to start actually fuzzing function calls. After rebasing this (and fixing the one typo I noticed) please run both fuzzers for a bit, but then feel free to merge!
f136708 to
e1c150e
Compare
|
Well, this has been running for the past 8 hours successfully on x64 and AArch64 without crashing. I'm going to try to fix that one, otherwise if it ends up being complicated we can disable the colocated flag for RISC-V. |
Co-authored-by: Jamey Sharp <jamey@minilop.net>
e1c150e to
5c0adfd
Compare
|
Rebased this on top of main, and given the amount of fuzzgen changes since this was first posted I'm going to give this a few hours of fuzzing again before merging. Edit: Nothing so far that's related to calls. I'm going to call that good enough. |
👋 Hey,
This PR is a follow up to #5764, so we probably should merge that first before reviewing this. (Or just review the last 2 commits).
This changes fuzzgen to generate multiple functions in a testcase 🥳
Functions are only allowed to call previously generated functions, so we never generate loops or recursive calls. Though that is probably something we should reconsider at some point.
We always pass all allowed functions into
FunctionGeneratorand so the function headers are somewhat poluted with definitions, maybe this is something we want to improve.Example Testcase:
Ran this on AArch64 and x86 for a while and it didn't complain.