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