Skip to content

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