#include "./fuzztest/init_fuzztest.h"
#if defined(__linux__)
#include <unistd.h>
#endif
#include <algorithm>
#include <cctype>
#include <cerrno>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <optional>
#include <string>
#include <string_view>
#include <vector>
#include "gtest/gtest.h"
#include "absl/algorithm/container.h"
#include "absl/base/no_destructor.h"
#include "absl/container/flat_hash_set.h"
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include "absl/flags/reflection.h"
#include "absl/strings/match.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/str_format.h"
#include "absl/strings/str_join.h"
#include "absl/strings/string_view.h"
#include "absl/strings/strip.h"
#include "absl/time/time.h"
#include "./fuzztest/internal/configuration.h"
#include "./fuzztest/internal/flag_name.h"
#include "./fuzztest/internal/googletest_adaptor.h"
#include "./fuzztest/internal/io.h"
#include "./fuzztest/internal/logging.h"
#include "./fuzztest/internal/registry.h"
#include "./fuzztest/internal/runtime.h"
#define FUZZTEST_DEFINE_FLAG(type, name, default_value, description) …
FUZZTEST_DEFINE_FLAG(…);
static constexpr absl::string_view kUnspecified = …;
FUZZTEST_DEFINE_FLAG(…);
FUZZTEST_DEFINE_FLAG(…);
FUZZTEST_DEFINE_FLAG(…);
FUZZTEST_DEFINE_FLAG(…);
FUZZTEST_DEFINE_FLAG(…);
FUZZTEST_DEFINE_FLAG(…);
FUZZTEST_DEFINE_FLAG(…);
FUZZTEST_DEFINE_FLAG(…);
namespace fuzztest {
std::vector<std::string> ListRegisteredTests() { … }
std::string GetMatchingFuzzTestOrExit(std::string_view name) { … }
namespace {
internal::Configuration CreateConfigurationsFromFlags(
absl::string_view binary_identifier) { … }
#if defined(__linux__)
void ExecvToCentipede(const char* centipede_binary, int argc, char** argv) { … }
#else
void ExecvToCentipede(const char*, int, char**) {
FUZZTEST_INTERNAL_CHECK(
false,
"Switching to Centipede via FUZZTEST_CENTIPEDE_BINARY only works on "
"Linux. Please run Centipede manually and use the --binary flag to pass "
"the current binary.");
}
#endif
}
void RunSpecifiedFuzzTest(std::string_view binary_id, std::string_view name) { … }
void InitFuzzTest(int* argc, char*** argv) { … }
void ParseAbslFlags(int argc, char** argv) { … }
}