No public description

PiperOrigin-RevId: 919083640
diff --git a/centipede/centipede_interface.cc b/centipede/centipede_interface.cc
index 9031169..c47d3a9 100644
--- a/centipede/centipede_interface.cc
+++ b/centipede/centipede_interface.cc
@@ -659,6 +659,7 @@
 
 int ListCrashIds(const Environment& env,
                  const fuzztest::internal::Configuration& target_config) {
+  fprintf(stderr, "[DEBUG_CENTIPEDE] ListCrashIds called!\n");
   FUZZTEST_CHECK(!env.list_crash_ids_file.empty())
       << "Need list_crash_ids_file to be set for listing crash IDs";
   FUZZTEST_CHECK_EQ(target_config.fuzz_tests_in_current_shard.size(), 1);
@@ -668,12 +669,22 @@
                          target_config.binary_identifier /
                          target_config.fuzz_tests_in_current_shard[0] /
                          "crashing";
+  fprintf(stderr, "[DEBUG_CENTIPEDE] crash_dir: '%s'\n", crash_dir.c_str());
+  fprintf(stderr, "[DEBUG_CENTIPEDE] RemotePathExists(crash_dir): %d\n",
+          RemotePathExists(crash_dir.string()));
   if (RemotePathExists(crash_dir.string())) {
+    fprintf(stderr, "[DEBUG_CENTIPEDE] RemotePathIsDirectory(crash_dir): %d\n",
+            RemotePathIsDirectory(crash_dir.string()));
     FUZZTEST_CHECK(RemotePathIsDirectory(crash_dir.string()))
         << "Crash dir " << crash_dir << " in the corpus database "
         << target_config.corpus_database << " is not a directory";
     crash_paths =
         ValueOrDie(RemoteListFiles(crash_dir.string(), /*recursively=*/false));
+    fprintf(stderr, "[DEBUG_CENTIPEDE] RemoteListFiles found %zu paths\n",
+            crash_paths.size());
+    for (const auto& path : crash_paths) {
+      fprintf(stderr, "  [DEBUG_CENTIPEDE] path: '%s'\n", path.c_str());
+    }
   }
   std::vector<std::string> results;
   results.reserve(crash_paths.size());
@@ -681,6 +692,8 @@
     std::string crash_id = std::filesystem::path{crash_path}.filename();
     results.push_back(std::move(crash_id));
   }
+  fprintf(stderr, "[DEBUG_CENTIPEDE] writing %zu results to %s\n",
+          results.size(), env.list_crash_ids_file.c_str());
   FUZZTEST_CHECK_OK(RemoteFileSetContents(env.list_crash_ids_file,
                                           absl::StrJoin(results, "\n")));
   return EXIT_SUCCESS;
diff --git a/fuzztest/internal/corpus_database.cc b/fuzztest/internal/corpus_database.cc
index d8221d1..67da20b 100644
--- a/fuzztest/internal/corpus_database.cc
+++ b/fuzztest/internal/corpus_database.cc
@@ -14,6 +14,7 @@
 
 #include "./fuzztest/internal/corpus_database.h"
 
+#include <cstdio>
 #include <string>
 #include <vector>
 
@@ -28,9 +29,23 @@
 std::vector<std::string> GetInputs(
     absl::string_view corpus_path_for_test_binary, absl::string_view test_name,
     absl::string_view subdir) {
-  if (corpus_path_for_test_binary.empty()) return {};
-  return ListDirectory(
-      absl::StrCat(corpus_path_for_test_binary, "/", test_name, "/", subdir));
+  if (corpus_path_for_test_binary.empty()) {
+    fprintf(
+        stderr,
+        "[DEBUG_CORPUS] GetInputs: corpus_path_for_test_binary is empty!\n");
+    return {};
+  }
+  std::string path =
+      absl::StrCat(corpus_path_for_test_binary, "/", test_name, "/", subdir);
+  fprintf(stderr, "[DEBUG_CORPUS] GetInputs: listing directory path: '%s'\n",
+          path.c_str());
+  auto results = ListDirectory(path);
+  fprintf(stderr, "[DEBUG_CORPUS] GetInputs: found %zu files in '%s'\n",
+          results.size(), path.c_str());
+  for (const auto& file : results) {
+    fprintf(stderr, "  [DEBUG_CORPUS] file: '%s'\n", file.c_str());
+  }
+  return results;
 }
 
 }  // namespace
diff --git a/fuzztest/internal/googletest_adaptor.cc b/fuzztest/internal/googletest_adaptor.cc
index d36d498..5698e89 100644
--- a/fuzztest/internal/googletest_adaptor.cc
+++ b/fuzztest/internal/googletest_adaptor.cc
@@ -71,20 +71,33 @@
       nullptr, test.file().c_str(), test.line(), std::move(fixture_factory));
 }
 
+#include <cstdio>
+
 template <typename T>
 void RegisterSeparateRegressionTestForEachCrashingInput(
     int* argc, char*** argv, FuzzTest& test,
     const Configuration& configuration) {
+  fprintf(stderr,
+          "[DEBUG_ADAPTOR] RegisterSeparateRegressionTestForEachCrashingInput "
+          "for test '%s'\n",
+          test.full_name().c_str());
+  fprintf(stderr, "[DEBUG_ADAPTOR] reproduce_findings_as_separate_tests: %d\n",
+          configuration.reproduce_findings_as_separate_tests);
   if (!configuration.reproduce_findings_as_separate_tests) return;
 #ifdef FUZZTEST_USE_CENTIPEDE
+  fprintf(stderr, "[DEBUG_ADAPTOR] FUZZTEST_USE_CENTIPEDE is defined\n");
   const std::vector<std::string> crash_inputs =
       ListCrashIdsUsingCentipede(configuration, test.full_name());
 #else
+  fprintf(stderr, "[DEBUG_ADAPTOR] FUZZTEST_USE_CENTIPEDE is NOT defined\n");
   CorpusDatabase corpus_database(configuration);
   const std::vector<std::string> crash_inputs =
       corpus_database.GetCrashingInputsIfAny(test.full_name());
 #endif
+  fprintf(stderr, "[DEBUG_ADAPTOR] found %zu crash inputs\n",
+          crash_inputs.size());
   for (const std::string& input : crash_inputs) {
+    fprintf(stderr, "  [DEBUG_ADAPTOR] crash input: '%s'\n", input.c_str());
     Configuration updated_configuration = configuration;
     updated_configuration.crashing_input_to_reproduce = input;
     RegisterFuzzTestAsGTest<T>(argc, argv, test, updated_configuration, input);