Fix compatibility mode.
PiperOrigin-RevId: 506900511
diff --git a/fuzztest/internal/compatibility_mode.cc b/fuzztest/internal/compatibility_mode.cc
index a76d82f..8566a2b 100644
--- a/fuzztest/internal/compatibility_mode.cc
+++ b/fuzztest/internal/compatibility_mode.cc
@@ -75,9 +75,9 @@
GetExternalEngineCallback() == nullptr,
"External engine callback is already set while running a fuzz test.");
SetExternalEngineCallback(this);
- run_mode = RunMode::kFuzz;
+ runtime_.SetRunMode(RunMode::kFuzz);
auto& impl = GetFuzzerImpl();
- on_failure.Enable(&impl.stats_, [] { return absl::Now(); });
+ runtime_.EnableReporter(&impl.stats_, [] { return absl::Now(); });
FUZZTEST_INTERNAL_CHECK(impl.fixture_driver_ != nullptr,
"Invalid fixture driver!");
@@ -109,11 +109,11 @@
FUZZTEST_INTERNAL_CHECK(impl.fixture_driver_ != nullptr,
"Invalid fixture driver!");
impl.fixture_driver_->TearDownFuzzTest();
- on_failure.PrintFinalStatsOnDefaultSink();
+ runtime_.PrintFinalStatsOnDefaultSink();
// Use _Exit instead of exit so libFuzzer does not treat it as a crash.
std::_Exit(0);
}
- on_failure.SetCurrentTest(&impl.test_);
+ runtime_.SetCurrentTest(&impl.test_);
if (auto input = impl.TryParse(data)) {
impl.RunOneInput({*std::move(input)});
}
diff --git a/fuzztest/internal/compatibility_mode.h b/fuzztest/internal/compatibility_mode.h
index b3edd9e..e2d0ba7 100644
--- a/fuzztest/internal/compatibility_mode.h
+++ b/fuzztest/internal/compatibility_mode.h
@@ -95,6 +95,8 @@
// nullptr.
std::unique_ptr<Driver> fixture_driver_staging_;
std::unique_ptr<FuzzerImpl> fuzzer_impl_;
+
+ Runtime& runtime_ = Runtime::instance();
};
#endif // FUZZTEST_COMPATIBILITY_MODE