Skip to content
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

Add a fuzzing test #52

Merged
merged 3 commits into from May 2, 2022
Merged

Add a fuzzing test #52

merged 3 commits into from May 2, 2022

Conversation

ecton
Copy link
Member

@ecton ecton commented May 1, 2022

Refs #50

This implements our first fuzzer. It replicates the process that the bulik_compare_swap created, but in such a way that the fuzzer provides the batches. After a couple of hours across 8 cores, the fuzzer found a new bug. After fixing that bug (will be pushed in next commit to main), the fuzzer then ran for another 6 hours with no additional crashes. I'll be continuing to run it for the next day or two.

I'm not closing #50 because another fuzzer should be written that executes a wide variety of operations in a sequential manner. This test focuses on batching because that's where I discovered a bug this weekend. It would be nice to have some fuzzing validation against the remaining operations -- and it can be less restrictive due to not needing to be batched.

This commit also temporarily changes a few debug_asserts into asserts. This will be addressed in a follow up commit.

ecton added 3 commits May 1, 2022 16:21
Refs #50

This leverages cargo fuzz, but does not currently do anything in CI
--all-targets activates bins, even if they have test = false

Refs rust-lang/cargo#8338
@ecton ecton merged commit 635a348 into main May 2, 2022
@ecton ecton deleted the fuzz branch May 2, 2022 02:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant