LLVM  4.0.0
Macros | Typedefs | Functions
FuzzerUnittest.cpp File Reference
#include "FuzzerCorpus.h"
#include "FuzzerInternal.h"
#include "FuzzerDictionary.h"
#include "FuzzerMerge.h"
#include "FuzzerMutate.h"
#include "FuzzerRandom.h"
#include "gtest/gtest.h"
#include <memory>
#include <set>
Include dependency graph for FuzzerUnittest.cpp:

Go to the source code of this file.

Macros

#define _LIBCPP_HAS_NO_ASAN
 

Typedefs

typedef size_t(MutationDispatcher::* Mutator )(uint8_t *Data, size_t Size, size_t MaxSize)
 

Functions

int LLVMFuzzerTestOneInput (const uint8_t *Data, size_t Size)
 
 TEST (Fuzzer, CrossOver)
 
 TEST (Fuzzer, Hash)
 
void TestEraseBytes (Mutator M, int NumIter)
 
 TEST (FuzzerMutate, EraseBytes1)
 
 TEST (FuzzerMutate, EraseBytes2)
 
void TestInsertByte (Mutator M, int NumIter)
 
 TEST (FuzzerMutate, InsertByte1)
 
 TEST (FuzzerMutate, InsertByte2)
 
void TestInsertRepeatedBytes (Mutator M, int NumIter)
 
 TEST (FuzzerMutate, InsertRepeatedBytes1)
 
 TEST (FuzzerMutate, InsertRepeatedBytes2)
 
void TestChangeByte (Mutator M, int NumIter)
 
 TEST (FuzzerMutate, ChangeByte1)
 
 TEST (FuzzerMutate, ChangeByte2)
 
void TestChangeBit (Mutator M, int NumIter)
 
 TEST (FuzzerMutate, ChangeBit1)
 
 TEST (FuzzerMutate, ChangeBit2)
 
void TestShuffleBytes (Mutator M, int NumIter)
 
 TEST (FuzzerMutate, ShuffleBytes1)
 
 TEST (FuzzerMutate, ShuffleBytes2)
 
void TestCopyPart (Mutator M, int NumIter)
 
 TEST (FuzzerMutate, CopyPart1)
 
 TEST (FuzzerMutate, CopyPart2)
 
void TestAddWordFromDictionary (Mutator M, int NumIter)
 
 TEST (FuzzerMutate, AddWordFromDictionary1)
 
 TEST (FuzzerMutate, AddWordFromDictionary2)
 
void TestAddWordFromDictionaryWithHint (Mutator M, int NumIter)
 
 TEST (FuzzerMutate, AddWordFromDictionaryWithHint1)
 
 TEST (FuzzerMutate, AddWordFromDictionaryWithHint2)
 
void TestChangeASCIIInteger (Mutator M, int NumIter)
 
 TEST (FuzzerMutate, ChangeASCIIInteger1)
 
 TEST (FuzzerMutate, ChangeASCIIInteger2)
 
void TestChangeBinaryInteger (Mutator M, int NumIter)
 
 TEST (FuzzerMutate, ChangeBinaryInteger1)
 
 TEST (FuzzerMutate, ChangeBinaryInteger2)
 
 TEST (FuzzerDictionary, ParseOneDictionaryEntry)
 
 TEST (FuzzerDictionary, ParseDictionaryFile)
 
 TEST (FuzzerUtil, Base64)
 
 TEST (Corpus, Distribution)
 
 TEST (Merge, Bad)
 
void EQ (const std::vector< uint32_t > &A, const std::vector< uint32_t > &B)
 
void EQ (const std::vector< std::string > &A, const std::vector< std::string > &B)
 
static void Merge (const std::string &Input, const std::vector< std::string > Result, size_t NumNewFeatures)
 
 TEST (Merge, Good)
 
 TEST (Merge, Merge)
 

Macro Definition Documentation

#define _LIBCPP_HAS_NO_ASAN

Definition at line 6 of file FuzzerUnittest.cpp.

Typedef Documentation

typedef size_t(MutationDispatcher::* Mutator)(uint8_t *Data, size_t Size, size_t MaxSize)

Definition at line 93 of file FuzzerUnittest.cpp.

Function Documentation

void EQ ( const std::vector< uint32_t > &  A,
const std::vector< uint32_t > &  B 
)

Definition at line 623 of file FuzzerUnittest.cpp.

Referenced by Merge(), and TEST().

void EQ ( const std::vector< std::string > &  A,
const std::vector< std::string > &  B 
)

Definition at line 627 of file FuzzerUnittest.cpp.

int LLVMFuzzerTestOneInput ( const uint8_t *  Data,
size_t  Size 
)

Definition at line 22 of file FuzzerUnittest.cpp.

static void Merge ( const std::string &  Input,
const std::vector< std::string >  Result,
size_t  NumNewFeatures 
)
static
TEST ( Fuzzer  ,
CrossOver   
)

Definition at line 26 of file FuzzerUnittest.cpp.

References A, B, C, fuzzer::EF, and t.

TEST ( Fuzzer  ,
Hash   
)

Definition at line 85 of file FuzzerUnittest.cpp.

References A, and fuzzer::Hash().

TEST ( FuzzerMutate  ,
EraseBytes1   
)
TEST ( FuzzerMutate  ,
EraseBytes2   
)

Definition at line 146 of file FuzzerUnittest.cpp.

References fuzzer::MutationDispatcher::Mutate(), and TestEraseBytes().

TEST ( FuzzerMutate  ,
InsertByte1   
)
TEST ( FuzzerMutate  ,
InsertByte2   
)

Definition at line 182 of file FuzzerUnittest.cpp.

References fuzzer::MutationDispatcher::Mutate(), and TestInsertByte().

TEST ( FuzzerMutate  ,
InsertRepeatedBytes1   
)
TEST ( FuzzerMutate  ,
InsertRepeatedBytes2   
)
TEST ( FuzzerMutate  ,
ChangeByte1   
)
TEST ( FuzzerMutate  ,
ChangeByte2   
)

Definition at line 262 of file FuzzerUnittest.cpp.

References fuzzer::MutationDispatcher::Mutate(), and TestChangeByte().

TEST ( FuzzerMutate  ,
ChangeBit1   
)
TEST ( FuzzerMutate  ,
ChangeBit2   
)

Definition at line 298 of file FuzzerUnittest.cpp.

References fuzzer::MutationDispatcher::Mutate(), and TestChangeBit().

TEST ( FuzzerMutate  ,
ShuffleBytes1   
)
TEST ( FuzzerMutate  ,
ShuffleBytes2   
)

Definition at line 328 of file FuzzerUnittest.cpp.

References fuzzer::MutationDispatcher::Mutate(), and TestShuffleBytes().

TEST ( FuzzerMutate  ,
CopyPart1   
)
TEST ( FuzzerMutate  ,
CopyPart2   
)

Definition at line 376 of file FuzzerUnittest.cpp.

References fuzzer::MutationDispatcher::Mutate(), and TestCopyPart().

TEST ( FuzzerMutate  ,
AddWordFromDictionary1   
)
TEST ( FuzzerMutate  ,
AddWordFromDictionary2   
)
TEST ( FuzzerMutate  ,
AddWordFromDictionaryWithHint1   
)
TEST ( FuzzerMutate  ,
AddWordFromDictionaryWithHint2   
)
TEST ( FuzzerMutate  ,
ChangeASCIIInteger1   
)
TEST ( FuzzerMutate  ,
ChangeASCIIInteger2   
)
TEST ( FuzzerMutate  ,
ChangeBinaryInteger1   
)
TEST ( FuzzerMutate  ,
ChangeBinaryInteger2   
)
TEST ( FuzzerDictionary  ,
ParseOneDictionaryEntry   
)

Definition at line 524 of file FuzzerUnittest.cpp.

References fuzzer::ParseOneDictionaryEntry().

TEST ( FuzzerDictionary  ,
ParseDictionaryFile   
)

Definition at line 552 of file FuzzerUnittest.cpp.

References fuzzer::ParseDictionaryFile().

TEST ( FuzzerUtil  ,
Base64   
)

Definition at line 572 of file FuzzerUnittest.cpp.

References fuzzer::Base64().

TEST ( Corpus  ,
Distribution   
)

Definition at line 585 of file FuzzerUnittest.cpp.

References fuzzer::InputCorpus::AddToCorpus(), C, i, and N.

TEST ( Merge  ,
Bad   
)

Definition at line 603 of file FuzzerUnittest.cpp.

References fuzzer::Merger::Parse().

TEST ( Merge  ,
Good   
)
TEST ( Merge  ,
Merge   
)

Definition at line 711 of file FuzzerUnittest.cpp.

References Merge().

void TestAddWordFromDictionary ( Mutator  M,
int  NumIter 
)

Definition at line 380 of file FuzzerUnittest.cpp.

References fuzzer::MutationDispatcher::AddWordToManualDictionary(), fuzzer::EF, i, and t.

Referenced by TEST().

void TestAddWordFromDictionaryWithHint ( Mutator  M,
int  NumIter 
)

Definition at line 422 of file FuzzerUnittest.cpp.

References fuzzer::MutationDispatcher::AddWordToAutoDictionary(), fuzzer::EF, i, and t.

Referenced by TEST().

void TestChangeASCIIInteger ( Mutator  M,
int  NumIter 
)

Definition at line 451 of file FuzzerUnittest.cpp.

References fuzzer::EF, i, and t.

Referenced by TEST().

void TestChangeBinaryInteger ( Mutator  M,
int  NumIter 
)

Definition at line 483 of file FuzzerUnittest.cpp.

References fuzzer::EF, i, and t.

Referenced by TEST().

void TestChangeBit ( Mutator  M,
int  NumIter 
)

Definition at line 266 of file FuzzerUnittest.cpp.

References fuzzer::EF, i, and t.

Referenced by TEST().

void TestChangeByte ( Mutator  M,
int  NumIter 
)

Definition at line 230 of file FuzzerUnittest.cpp.

References fuzzer::EF, i, and t.

Referenced by TEST().

void TestCopyPart ( Mutator  M,
int  NumIter 
)

Definition at line 332 of file FuzzerUnittest.cpp.

References fuzzer::EF, i, and t.

Referenced by TEST().

void TestEraseBytes ( Mutator  M,
int  NumIter 
)

Definition at line 96 of file FuzzerUnittest.cpp.

References fuzzer::EF, i, t, and T.

Referenced by TEST().

void TestInsertByte ( Mutator  M,
int  NumIter 
)

Definition at line 150 of file FuzzerUnittest.cpp.

References fuzzer::EF, i, and t.

Referenced by TEST().

void TestInsertRepeatedBytes ( Mutator  M,
int  NumIter 
)

Definition at line 186 of file FuzzerUnittest.cpp.

References fuzzer::EF, i, and t.

Referenced by TEST().

void TestShuffleBytes ( Mutator  M,
int  NumIter 
)

Definition at line 302 of file FuzzerUnittest.cpp.

References fuzzer::EF, i, and t.

Referenced by TEST().