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

Fuzz test convert and twins scenario #98

Open
wants to merge 27 commits into
base: master
Choose a base branch
from

Conversation

abjeni
Copy link

@abjeni abjeni commented May 11, 2023

This is a new testing tool using google/gofuzz to create a random hotstuff.pb.go message, and uses functions in convert.go to create a message that will be used in a twins scenario test by replacing it with the first message sent from a node in the scenario test. Crashes accumulates over a series of tests with different random messages and gets output in an organized list after the test is run 1000 times.

made by Asbjørn Salhus and Magnus Brandsegg

cd fuzz
go test -run TestFuzz

abjeni and others added 15 commits May 11, 2023 14:30
This commit replaces the tostring.go file with the proto2.GoString()
function that takes a generic proto.Message and returns a Go struct
literal. This commit also replaces the interfaces AlmostFuzzMsg and
FuzzMsgInterface with two simple helpers extractProtoMsg() and
fuzzMsgToHotStuffMsg(). These are easier to use and IMO easier
to maintain. Additionally, there are a few smaller tweaks.
Also, there is no need to export these types at this point, since
they are not being used from outside the fuzz package.
@meling
Copy link
Member

meling commented Jun 29, 2023

Not ready to merge this yet or if it will be mergeable in the future..., but I've cleaned up some of the code, in particular related to printing protobuf messages as Go struct literals and replaced some of the confusing interface logic.

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.

2 participants