You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Property-based testing and fuzz testing allow us to automatically generate test input to cover a wider variety of cases than hard-coded input. Rapid allows us to create generators which can be used in both property-based and fuzz testing. Protobuf messages are a common source of input in the SDK and have a well-defined format. It would help testing in many places to have a good high-quality reusable generator.
Summary
Create a configurable generator that works with https://pkg.go.dev/pgregory.net/rapid to generate random protobuf messages for testing.
Problem Definition
Property-based testing and fuzz testing allow us to automatically generate test input to cover a wider variety of cases than hard-coded input. Rapid allows us to create generators which can be used in both property-based and fuzz testing. Protobuf messages are a common source of input in the SDK and have a well-defined format. It would help testing in many places to have a good high-quality reusable generator.
Specific use cases right now are:
Proposal
Create a configurable generator using rapid in
codec/v2
that uses the protoreflect API to generate random protobuf input. This can serve as a starting point: https://github.com/cosmos/cosmos-proto/blob/main/internal/fuzz/message.go.It should be possible to:
accepts_interface
/implements_interface
annotations to sensibly populateAny
sProtoGenerator[MsgSend]
)The text was updated successfully, but these errors were encountered: