Documentation ¶
Index ¶
- Variables
- func IsDivisibleBy(n int, divisibleby int) bool
- func SetMaxTotalLen(newLen uint32)
- type ConsumeFuzzer
- func (f *ConsumeFuzzer) AddFuncs(fuzzFuncs []interface{})
- func (f *ConsumeFuzzer) AllowNonUTF8Strings()
- func (f *ConsumeFuzzer) AllowUnexportedFields()
- func (f *ConsumeFuzzer) CreateFiles(rootDir string) error
- func (f *ConsumeFuzzer) CreateSlice(targetSlice interface{}) error
- func (f *ConsumeFuzzer) DisallowNonUTF8Strings()
- func (f *ConsumeFuzzer) DisallowUnexportedFields()
- func (f *ConsumeFuzzer) FuzzMap(m interface{}) error
- func (f *ConsumeFuzzer) GenerateStruct(targetStruct interface{}) error
- func (f *ConsumeFuzzer) GenerateWithCustom(targetStruct interface{}) error
- func (f *ConsumeFuzzer) GetBool() (bool, error)
- func (f *ConsumeFuzzer) GetByte() (byte, error)
- func (f *ConsumeFuzzer) GetBytes() ([]byte, error)
- func (f *ConsumeFuzzer) GetFloat32() (float32, error)
- func (f *ConsumeFuzzer) GetFloat64() (float64, error)
- func (f *ConsumeFuzzer) GetInt() (int, error)
- func (f *ConsumeFuzzer) GetNBytes(numberOfBytes int) ([]byte, error)
- func (f *ConsumeFuzzer) GetRune() ([]rune, error)
- func (f *ConsumeFuzzer) GetSQLString() (string, error)
- func (f *ConsumeFuzzer) GetString() (string, error)
- func (f *ConsumeFuzzer) GetStringArray() (reflect.Value, error)
- func (f *ConsumeFuzzer) GetStringFrom(possibleChars string, length int) (string, error)
- func (f *ConsumeFuzzer) GetUint() (uint, error)
- func (f *ConsumeFuzzer) GetUint16() (uint16, error)
- func (f *ConsumeFuzzer) GetUint32() (uint32, error)
- func (f *ConsumeFuzzer) GetUint64() (uint64, error)
- func (f *ConsumeFuzzer) Split(minCalls, maxCalls int) error
- func (f *ConsumeFuzzer) TarBytes() ([]byte, error)
- func (f *ConsumeFuzzer) TarFiles() ([]*TarFile, error)
- type Continue
- type TarFile
Constants ¶
This section is empty.
Variables ¶
var (
MaxTotalLen uint32 = 2000000
)
Functions ¶
func IsDivisibleBy ¶
func SetMaxTotalLen ¶
func SetMaxTotalLen(newLen uint32)
Types ¶
type ConsumeFuzzer ¶
type ConsumeFuzzer struct { CommandPart []byte RestOfArray []byte NumberOfCalls int Funcs map[reflect.Type]reflect.Value // contains filtered or unexported fields }
func NewConsumer ¶
func NewConsumer(fuzzData []byte) *ConsumeFuzzer
func (*ConsumeFuzzer) AddFuncs ¶
func (f *ConsumeFuzzer) AddFuncs(fuzzFuncs []interface{})
func (*ConsumeFuzzer) AllowNonUTF8Strings ¶
func (f *ConsumeFuzzer) AllowNonUTF8Strings()
func (*ConsumeFuzzer) AllowUnexportedFields ¶
func (f *ConsumeFuzzer) AllowUnexportedFields()
func (*ConsumeFuzzer) CreateFiles ¶
func (f *ConsumeFuzzer) CreateFiles(rootDir string) error
CreateFiles creates pseudo-random files in rootDir. It creates subdirs and places the files there. It is the callers responsibility to ensure that rootDir exists.
func (*ConsumeFuzzer) CreateSlice ¶
func (f *ConsumeFuzzer) CreateSlice(targetSlice interface{}) error
func (*ConsumeFuzzer) DisallowNonUTF8Strings ¶
func (f *ConsumeFuzzer) DisallowNonUTF8Strings()
func (*ConsumeFuzzer) DisallowUnexportedFields ¶
func (f *ConsumeFuzzer) DisallowUnexportedFields()
func (*ConsumeFuzzer) FuzzMap ¶
func (f *ConsumeFuzzer) FuzzMap(m interface{}) error
func (*ConsumeFuzzer) GenerateStruct ¶
func (f *ConsumeFuzzer) GenerateStruct(targetStruct interface{}) error
func (*ConsumeFuzzer) GenerateWithCustom ¶
func (f *ConsumeFuzzer) GenerateWithCustom(targetStruct interface{}) error
func (*ConsumeFuzzer) GetBool ¶
func (f *ConsumeFuzzer) GetBool() (bool, error)
func (*ConsumeFuzzer) GetByte ¶
func (f *ConsumeFuzzer) GetByte() (byte, error)
func (*ConsumeFuzzer) GetBytes ¶
func (f *ConsumeFuzzer) GetBytes() ([]byte, error)
func (*ConsumeFuzzer) GetFloat32 ¶
func (f *ConsumeFuzzer) GetFloat32() (float32, error)
func (*ConsumeFuzzer) GetFloat64 ¶
func (f *ConsumeFuzzer) GetFloat64() (float64, error)
func (*ConsumeFuzzer) GetInt ¶
func (f *ConsumeFuzzer) GetInt() (int, error)
func (*ConsumeFuzzer) GetNBytes ¶
func (f *ConsumeFuzzer) GetNBytes(numberOfBytes int) ([]byte, error)
func (*ConsumeFuzzer) GetRune ¶
func (f *ConsumeFuzzer) GetRune() ([]rune, error)
func (*ConsumeFuzzer) GetSQLString ¶
func (f *ConsumeFuzzer) GetSQLString() (string, error)
GetSQLString is the API that users interact with.
Usage:
f := NewConsumer(data) sqlString, err := f.GetSQLString()
func (*ConsumeFuzzer) GetString ¶
func (f *ConsumeFuzzer) GetString() (string, error)
func (*ConsumeFuzzer) GetStringArray ¶
func (f *ConsumeFuzzer) GetStringArray() (reflect.Value, error)
func (*ConsumeFuzzer) GetStringFrom ¶
func (f *ConsumeFuzzer) GetStringFrom(possibleChars string, length int) (string, error)
GetStringFrom returns a string that can only consist of characters included in possibleChars. It returns an error if the created string does not have the specified length.
func (*ConsumeFuzzer) GetUint ¶
func (f *ConsumeFuzzer) GetUint() (uint, error)
func (*ConsumeFuzzer) GetUint16 ¶
func (f *ConsumeFuzzer) GetUint16() (uint16, error)
func (*ConsumeFuzzer) GetUint32 ¶
func (f *ConsumeFuzzer) GetUint32() (uint32, error)
func (*ConsumeFuzzer) GetUint64 ¶
func (f *ConsumeFuzzer) GetUint64() (uint64, error)
func (*ConsumeFuzzer) Split ¶
func (f *ConsumeFuzzer) Split(minCalls, maxCalls int) error
func (*ConsumeFuzzer) TarBytes ¶
func (f *ConsumeFuzzer) TarBytes() ([]byte, error)
TarBytes returns valid bytes for a tar archive
func (*ConsumeFuzzer) TarFiles ¶
func (f *ConsumeFuzzer) TarFiles() ([]*TarFile, error)
This is similar to TarBytes, but it returns a series of files instead of raw tar bytes. The advantage of this api is that it is cheaper in terms of cpu power to modify or check the files in the fuzzer with TarFiles() because it avoids creating a tar reader.
type Continue ¶
type Continue struct {
F *ConsumeFuzzer
}