blob: 792e3c91b2af68e6647bffbcc4f9536bd49391f8 [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.
#ifndef SRC_DEVICES_BIN_DRIVER_MANAGER_COORDINATOR_TEST_H_
#define SRC_DEVICES_BIN_DRIVER_MANAGER_COORDINATOR_TEST_H_
#include <fuchsia/device/manager/c/fidl.h>
#include <fuchsia/driver/test/c/fidl.h>
#include <lib/async-loop/cpp/loop.h>
#include <lib/async-loop/default.h>
#include <lib/fdio/directory.h>
#include <lib/fidl/coding.h>
#include <lib/fidl/cpp/message.h>
#include <lib/fidl/cpp/message_builder.h>
#include <string.h>
#include <threads.h>
#include <ddk/binding.h>
#include <ddk/driver.h>
#include <fbl/algorithm.h>
#include "coordinator.h"
#include "devfs.h"
#include "driver_host.h"
#include "fdio.h"
constexpr char kSystemDriverPath[] = "/boot/driver/platform-bus.so";
class DummyFsProvider : public FsProvider {
~DummyFsProvider() {}
zx::channel CloneFs(const char* path) override { return zx::channel(); }
};
void CreateBootArgs(const char* config, size_t size, devmgr::BootArgs* boot_args);
CoordinatorConfig DefaultConfig(async_dispatcher_t* dispatcher, devmgr::BootArgs* boot_args);
void InitializeCoordinator(Coordinator* coordinator);
void CheckBindDriverReceived(const zx::channel& remote, const char* expected_driver);
#endif // SRC_DEVICES_BIN_DRIVER_MANAGER_COORDINATOR_TEST_H_