94 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C++
		
	
	
	
| //
 | |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 | |
| // See https://llvm.org/LICENSE.txt for license information.
 | |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 | |
| //
 | |
| //===----------------------------------------------------------------------===//
 | |
| // fuzzer::FuzzingOptions
 | |
| //===----------------------------------------------------------------------===//
 | |
| 
 | |
| #ifndef LLVM_FUZZER_OPTIONS_H
 | |
| #define LLVM_FUZZER_OPTIONS_H
 | |
| 
 | |
| #include "FuzzerDefs.h"
 | |
| 
 | |
| namespace fuzzer {
 | |
| 
 | |
| struct FuzzingOptions {
 | |
|   int Verbosity = 1;
 | |
|   size_t MaxLen = 0;
 | |
|   size_t LenControl = 1000;
 | |
|   bool KeepSeed = false;
 | |
|   int UnitTimeoutSec = 300;
 | |
|   int TimeoutExitCode = 70;
 | |
|   int OOMExitCode = 71;
 | |
|   int InterruptExitCode = 72;
 | |
|   int ErrorExitCode = 77;
 | |
|   bool IgnoreTimeouts = true;
 | |
|   bool IgnoreOOMs = true;
 | |
|   bool IgnoreCrashes = false;
 | |
|   int MaxTotalTimeSec = 0;
 | |
|   int RssLimitMb = 0;
 | |
|   int MallocLimitMb = 0;
 | |
|   bool DoCrossOver = true;
 | |
|   bool CrossOverUniformDist = false;
 | |
|   int MutateDepth = 5;
 | |
|   bool ReduceDepth = false;
 | |
|   bool UseCounters = false;
 | |
|   bool UseMemmem = true;
 | |
|   bool UseCmp = false;
 | |
|   int UseValueProfile = false;
 | |
|   bool Shrink = false;
 | |
|   bool ReduceInputs = false;
 | |
|   int ReloadIntervalSec = 1;
 | |
|   bool ShuffleAtStartUp = true;
 | |
|   bool PreferSmall = true;
 | |
|   size_t MaxNumberOfRuns = -1L;
 | |
|   int ReportSlowUnits = 10;
 | |
|   bool OnlyASCII = false;
 | |
|   bool Entropic = true;
 | |
|   bool ForkCorpusGroups = false;
 | |
|   size_t EntropicFeatureFrequencyThreshold = 0xFF;
 | |
|   size_t EntropicNumberOfRarestFeatures = 100;
 | |
|   bool EntropicScalePerExecTime = false;
 | |
|   std::string OutputCorpus;
 | |
|   std::string ArtifactPrefix = "./";
 | |
|   std::string ExactArtifactPath;
 | |
|   std::string ExitOnSrcPos;
 | |
|   std::string ExitOnItem;
 | |
|   std::string FocusFunction;
 | |
|   std::string DataFlowTrace;
 | |
|   std::string CollectDataFlow;
 | |
|   std::string FeaturesDir;
 | |
|   std::string MutationGraphFile;
 | |
|   std::string StopFile;
 | |
|   bool SaveArtifacts = true;
 | |
|   bool PrintNEW = true; // Print a status line when new units are found;
 | |
|   bool PrintNewCovPcs = false;
 | |
|   int PrintNewCovFuncs = 0;
 | |
|   bool PrintFinalStats = false;
 | |
|   bool PrintCorpusStats = false;
 | |
|   bool PrintCoverage = false;
 | |
|   bool PrintFullCoverage = false;
 | |
|   bool DumpCoverage = false;
 | |
|   bool DetectLeaks = true;
 | |
|   int PurgeAllocatorIntervalSec = 1;
 | |
|   int  TraceMalloc = 0;
 | |
|   bool HandleAbrt = false;
 | |
|   bool HandleAlrm = false;
 | |
|   bool HandleBus = false;
 | |
|   bool HandleFpe = false;
 | |
|   bool HandleIll = false;
 | |
|   bool HandleInt = false;
 | |
|   bool HandleSegv = false;
 | |
|   bool HandleTerm = false;
 | |
|   bool HandleXfsz = false;
 | |
|   bool HandleUsr1 = false;
 | |
|   bool HandleUsr2 = false;
 | |
|   bool HandleWinExcept = false;
 | |
| };
 | |
| 
 | |
| }  // namespace fuzzer
 | |
| 
 | |
| #endif  // LLVM_FUZZER_OPTIONS_H
 |