Home | History | Annotate | Line # | Download | only in fuzzer
      1  1.1  kamil //
      2  1.1  kamil //                     The LLVM Compiler Infrastructure
      3  1.1  kamil //
      4  1.1  kamil // This file is distributed under the University of Illinois Open Source
      5  1.1  kamil // License. See LICENSE.TXT for details.
      6  1.1  kamil //
      7  1.1  kamil //===----------------------------------------------------------------------===//
      8  1.1  kamil // fuzzer::FuzzingOptions
      9  1.1  kamil //===----------------------------------------------------------------------===//
     10  1.1  kamil 
     11  1.1  kamil #ifndef LLVM_FUZZER_OPTIONS_H
     12  1.1  kamil #define LLVM_FUZZER_OPTIONS_H
     13  1.1  kamil 
     14  1.1  kamil #include "FuzzerDefs.h"
     15  1.1  kamil 
     16  1.1  kamil namespace fuzzer {
     17  1.1  kamil 
     18  1.1  kamil struct FuzzingOptions {
     19  1.1  kamil   int Verbosity = 1;
     20  1.1  kamil   size_t MaxLen = 0;
     21  1.1  kamil   size_t LenControl = 1000;
     22  1.1  kamil   int UnitTimeoutSec = 300;
     23  1.1  kamil   int TimeoutExitCode = 77;
     24  1.1  kamil   int ErrorExitCode = 77;
     25  1.1  kamil   int MaxTotalTimeSec = 0;
     26  1.1  kamil   int RssLimitMb = 0;
     27  1.1  kamil   int MallocLimitMb = 0;
     28  1.1  kamil   bool DoCrossOver = true;
     29  1.1  kamil   int MutateDepth = 5;
     30  1.1  kamil   bool ReduceDepth = false;
     31  1.1  kamil   bool UseCounters = false;
     32  1.1  kamil   bool UseMemmem = true;
     33  1.1  kamil   bool UseCmp = false;
     34  1.1  kamil   int UseValueProfile = false;
     35  1.1  kamil   bool Shrink = false;
     36  1.1  kamil   bool ReduceInputs = false;
     37  1.1  kamil   int ReloadIntervalSec = 1;
     38  1.1  kamil   bool ShuffleAtStartUp = true;
     39  1.1  kamil   bool PreferSmall = true;
     40  1.1  kamil   size_t MaxNumberOfRuns = -1L;
     41  1.1  kamil   int ReportSlowUnits = 10;
     42  1.1  kamil   bool OnlyASCII = false;
     43  1.1  kamil   std::string OutputCorpus;
     44  1.1  kamil   std::string ArtifactPrefix = "./";
     45  1.1  kamil   std::string ExactArtifactPath;
     46  1.1  kamil   std::string ExitOnSrcPos;
     47  1.1  kamil   std::string ExitOnItem;
     48  1.1  kamil   std::string FocusFunction;
     49  1.1  kamil   std::string DataFlowTrace;
     50  1.1  kamil   bool SaveArtifacts = true;
     51  1.1  kamil   bool PrintNEW = true; // Print a status line when new units are found;
     52  1.1  kamil   bool PrintNewCovPcs = false;
     53  1.1  kamil   int PrintNewCovFuncs = 0;
     54  1.1  kamil   bool PrintFinalStats = false;
     55  1.1  kamil   bool PrintCorpusStats = false;
     56  1.1  kamil   bool PrintCoverage = false;
     57  1.1  kamil   bool PrintUnstableStats = false;
     58  1.1  kamil   int HandleUnstable = 0;
     59  1.1  kamil   bool DumpCoverage = false;
     60  1.1  kamil   bool DetectLeaks = true;
     61  1.1  kamil   int PurgeAllocatorIntervalSec = 1;
     62  1.1  kamil   int  TraceMalloc = 0;
     63  1.1  kamil   bool HandleAbrt = false;
     64  1.1  kamil   bool HandleBus = false;
     65  1.1  kamil   bool HandleFpe = false;
     66  1.1  kamil   bool HandleIll = false;
     67  1.1  kamil   bool HandleInt = false;
     68  1.1  kamil   bool HandleSegv = false;
     69  1.1  kamil   bool HandleTerm = false;
     70  1.1  kamil   bool HandleXfsz = false;
     71  1.1  kamil   bool HandleUsr1 = false;
     72  1.1  kamil   bool HandleUsr2 = false;
     73  1.1  kamil };
     74  1.1  kamil 
     75  1.1  kamil }  // namespace fuzzer
     76  1.1  kamil 
     77  1.1  kamil #endif  // LLVM_FUZZER_OPTIONS_H
     78