| // Copyright 2017 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 <fidl/fuchsia.sysinfo/cpp/wire.h> |
| #include <lib/component/incoming/cpp/protocol.h> |
| |
| #include <zxtest/zxtest.h> |
| |
| namespace sysinfo { |
| |
| TEST(SysinfoTest, GetBoardName) { |
| // Get the resource handle from the driver. |
| zx::result client_end = component::Connect<fuchsia_sysinfo::SysInfo>(); |
| ASSERT_OK(client_end.status_value()); |
| |
| // Test fuchsia::sysinfo::SysInfo.GetBoardName(). |
| const fidl::WireResult result = fidl::WireCall(client_end.value())->GetBoardName(); |
| ASSERT_OK(result.status()); |
| const fidl::WireResponse response = result.value(); |
| ASSERT_OK(response.status); |
| ASSERT_FALSE(response.name.empty()); |
| } |
| |
| TEST(SysinfoTest, GetBoardRevision) { |
| // Get the resource handle from the driver. |
| zx::result client_end = component::Connect<fuchsia_sysinfo::SysInfo>(); |
| ASSERT_OK(client_end.status_value()); |
| |
| // Test fuchsia::sysinfo::SysInfo.GetBoardRevision(). |
| const fidl::WireResult result = fidl::WireCall(client_end.value())->GetBoardRevision(); |
| ASSERT_OK(result.status()); |
| const fidl::WireResponse response = result.value(); |
| ASSERT_OK(response.status); |
| } |
| |
| TEST(SysinfoTest, GetBootloaderVendor) { |
| // Get the resource handle from the driver. |
| zx::result client_end = component::Connect<fuchsia_sysinfo::SysInfo>(); |
| ASSERT_OK(client_end.status_value()); |
| |
| // Test fuchsia::sysinfo::SysInfo.GetBootloaderVendor(). |
| const fidl::WireResult result = fidl::WireCall(client_end.value())->GetBootloaderVendor(); |
| ASSERT_OK(result.status()); |
| const fidl::WireResponse response = result.value(); |
| ASSERT_OK(response.status); |
| } |
| |
| TEST(SysinfoTest, GetInterruptControllerInfo) { |
| // Get the resource handle from the driver. |
| zx::result client_end = component::Connect<fuchsia_sysinfo::SysInfo>(); |
| ASSERT_OK(client_end.status_value()); |
| |
| // Test fuchsia::sysinfo::SysInfo.GetInterruptControllerInfo(). |
| const fidl::WireResult result = fidl::WireCall(client_end.value())->GetInterruptControllerInfo(); |
| ASSERT_OK(result.status()); |
| const fidl::WireResponse response = result.value(); |
| ASSERT_OK(response.status); |
| ASSERT_NOT_NULL(response.info.get(), "interrupt controller type is unknown"); |
| EXPECT_NE(response.info->type, fuchsia_sysinfo::wire::InterruptControllerType::kUnknown, |
| "interrupt controller type is unknown"); |
| } |
| |
| } // namespace sysinfo |