Lines Matching refs:Options
54 Fuzzer::Fuzzer(UserSuppliedFuzzer &USF, FuzzingOptions Options)
55 : USF(USF), Options(Options) {
91 assert(Options.UnitTimeoutSec > 0);
95 if (Options.Verbosity >= 2)
97 if (Seconds >= (size_t)Options.UnitTimeoutSec) {
100 Options.UnitTimeoutSec);
119 if (Options.OutputCSV) {
131 if (!Options.Verbosity)
147 if (Options.OutputCorpus.empty()) return;
149 ReadDirToVectorOfUnits(Options.OutputCorpus.c_str(), &AdditionalCorpus,
155 if (!Options.Reload) return;
156 if (Options.Verbosity >= 2)
159 if (X.size() > (size_t)Options.MaxLen)
160 X.resize(Options.MaxLen);
173 bool PreferSmall = (Options.PreferSmallDuringInitialShuffle == 1 ||
174 (Options.PreferSmallDuringInitialShuffle == -1 &&
176 if (Options.Verbosity)
180 if (Options.ShuffleAtStartUp) {
191 size_t Last = std::min(First + Options.MaxLen, C.size());
193 if (Options.OnlyASCII)
197 if (Options.Verbosity >= 2)
223 TimeOfUnit >= Options.ReportSlowUnits) {
232 if (TotalNumberOfRuns >= Options.MaxNumberOfRuns)
234 if (Options.OnlyASCII)
256 if (!Options.UseIndirCalls)
265 if (Options.UseCounters) {
280 if (Options.UseCounters)
288 if (Options.OutputCorpus.empty()) return;
289 std::string Path = DirPlusFile(Options.OutputCorpus, Hash(U));
291 if (Options.Verbosity >= 2)
293 assert(!Options.OnlyASCII || IsASCII(U));
297 if (!Options.SaveArtifacts)
299 std::string Path = Options.ArtifactPrefix + Prefix + Hash(U);
300 if (!Options.ExactArtifactPath.empty())
301 Path = Options.ExactArtifactPath; // Overrides ArtifactPrefix.
304 Options.ArtifactPrefix.c_str(), Path.c_str());
310 if (Options.OutputCorpus.empty()) return;
312 WriteToFile(U, DirPlusFile(Options.OutputCorpus, Hash(U)));
313 if (Options.Verbosity)
315 Options.OutputCorpus.c_str());
319 if (!Options.PrintNEW)
322 if (Options.Verbosity) {
334 if (Options.ExitOnFirst)
376 for (int i = 0; i < Options.MutateDepth; i++) {
379 U.resize(Options.MaxLen);
382 assert(NewSize <= (size_t)Options.MaxLen &&
388 std::min((size_t)Options.TBMWidth, NumTraceBasedMutations);
390 std::min((size_t)Options.TBMDepth, NumTraceBasedMutations);
433 Options.PrintNEW = false; // Don't print NEW status lines when drilling.
447 SavedOutputCorpusPath.swap(Options.OutputCorpus);
453 SavedOutputCorpusPath.swap(Options.OutputCorpus);
457 Options.PrintNEW = true;
467 if (NumMerged && Options.Verbosity)
473 if (Options.DoCrossOver)
482 if (TotalNumberOfRuns >= Options.MaxNumberOfRuns)
484 if (Options.MaxTotalTimeSec > 0 &&
486 static_cast<size_t>(Options.MaxTotalTimeSec))
496 if (Options.SyncCommand.empty() || Options.OutputCorpus.empty()) return;
499 Options.SyncTimeout)
502 ExecuteCommand(Options.SyncCommand + " " + Options.OutputCorpus);