blob: 89451729508650b2eb2da415b119c580bd9f6d44 [file] [log] [blame]
// Copyright 2020 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 <fcntl.h>
#include <fidl/fuchsia.driver.development/cpp/fidl.h>
#include <lib/component/incoming/cpp/protocol.h>
#include <zircon/errors.h>
#include <iostream>
#include <zxtest/zxtest.h>
#include "lib/stdcompat/string_view.h"
constexpr char kAmlogicDecoderDriver[] =
"fuchsia-pkg://fuchsia.com/amlogic_decoder#meta/amlogic_video_decoder.cm";
// Test that unbinding and rebinding the driver works.
TEST(TestRunner, Rebind) {
auto manager = component::Connect<fuchsia_driver_development::Manager>();
fidl::WireSyncClient manager_client(*std::move(manager));
auto restart_result = manager_client->RestartDriverHosts(
fidl::StringView::FromExternal(kAmlogicDecoderDriver),
fuchsia_driver_development::wire::RestartRematchFlags::kRequested |
fuchsia_driver_development::wire::RestartRematchFlags::kCompositeSpec);
ASSERT_TRUE(restart_result.ok());
EXPECT_TRUE(restart_result->is_ok());
}