blob: 30703ed68a2d0a4a85939a9ee372fa6ebc66388a [file] [log] [blame] [edit]
// Copyright 2022 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 "src/developer/debug/debug_agent/system_interface.h"
#include <gtest/gtest.h>
#include "src/developer/debug/debug_agent/mock_system_interface.h"
namespace debug_agent {
namespace {
TEST(SystemInterfaceTest, GetParentJobKoid) {
auto system_interface = MockSystemInterface::CreateWithData();
// j: 1 root
// j: 8 job1 /moniker fuchsia-pkg://devhost/package#meta/component.cm
// j: 13 job11
// j: 17 job12
// j: 18 job121
// p: 19 job121-p1
EXPECT_EQ(17ull, system_interface->GetParentJobKoid(18));
EXPECT_EQ(8ull, system_interface->GetParentJobKoid(17));
EXPECT_EQ(8ull, system_interface->GetParentJobKoid(13));
EXPECT_EQ(1ull, system_interface->GetParentJobKoid(8));
EXPECT_EQ(ZX_KOID_INVALID, system_interface->GetParentJobKoid(1));
EXPECT_EQ(ZX_KOID_INVALID, system_interface->GetParentJobKoid(19));
}
TEST(SystemInterfaceTest, GetComponentInfo) {
auto system_interface = MockSystemInterface::CreateWithData();
// j: 1 root
// j: 8 job1 /moniker fuchsia-pkg://devhost/package#meta/component.cm
// j: 17 job12
// j: 18 job121
// p: 19 job121-p1
auto component_info = system_interface->GetComponentManager().FindComponentInfo(8);
ASSERT_TRUE(component_info.has_value());
EXPECT_EQ("/moniker", component_info->moniker);
EXPECT_EQ("fuchsia-pkg://devhost/package#meta/component.cm", component_info->url);
component_info =
system_interface->GetComponentManager().FindComponentInfo(*system_interface->GetProcess(19));
ASSERT_TRUE(component_info.has_value());
EXPECT_EQ("/moniker", component_info->moniker);
EXPECT_EQ("fuchsia-pkg://devhost/package#meta/component.cm", component_info->url);
}
} // namespace
} // namespace debug_agent