blob: 58b2213cb86452ccc1a5f396e1f72c557576e037 [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include <fuchsia/cobalt/cpp/fidl.h>
#include <lib/fidl/cpp/fuzzing/server_provider.h>
#include "src/cobalt/bin/app/system_data_updater_impl.h"
#include "third_party/cobalt/src/system_data/system_data.h"
namespace {
cobalt::encoder::SystemData system_data("a", "b", cobalt::ReleaseStage::GA, "c");
} // namespace
// Use the provided macro to instantiate a `ServerProvider` and associated C symbols for linking
// against a FIDL server implementation fuzzer.
FIDL_FUZZER_DEFINITION(
// Use the default `ServerProvider`; no overrides needed to fuzz this serviice implementation.
::fidl::fuzzing::ServerProvider,
// Define a fuzzer for the abstract FIDL server class `SystemDataUpdater`.
::fuchsia::cobalt::SystemDataUpdater,
// Define a fuzzer for the concrete FIDL server implementation `SystemDataUpdaterImpl`.
::cobalt::SystemDataUpdaterImpl,
// Use the thread/loop/dispatcher from the `ServerProvider.Connect()` caller; that is, dispatch
// client and server work from the same thread/loop/dispatcher.
::fidl::fuzzing::ServerProviderDispatcherMode::kFromCaller,
// All remaining parameters forwarded to the `SystemDataUpdaterImpl` constructor.
&system_data, "/tmp/cache");