| // Copyright 2026 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/launcher.h" |
| |
| #include <fidl/fuchsia.component.decl/cpp/fidl.h> |
| #include <fidl/fuchsia.debugger/cpp/fidl.h> |
| |
| #include <gtest/gtest.h> |
| |
| namespace { |
| |
| TEST(DebugAgentLauncherTest, CreateChildDecl) { |
| fuchsia_debugger::LaunchOptions options_false; |
| options_false.monitor_root_job(false); |
| |
| auto decl_false = DebugAgentLauncher::CreateChildDecl("test_agent_false", options_false); |
| EXPECT_EQ(decl_false.name(), "test_agent_false"); |
| ASSERT_TRUE(decl_false.config_overrides().has_value()); |
| ASSERT_EQ(decl_false.config_overrides()->size(), 1u); |
| EXPECT_EQ(decl_false.config_overrides().value()[0].key(), "monitor_root_job"); |
| ASSERT_TRUE(decl_false.config_overrides().value()[0].value().has_value()); |
| ASSERT_TRUE(decl_false.config_overrides().value()[0].value()->single().has_value()); |
| ASSERT_TRUE(decl_false.config_overrides().value()[0].value()->single()->bool_().has_value()); |
| EXPECT_FALSE(decl_false.config_overrides().value()[0].value()->single()->bool_().value()); |
| |
| fuchsia_debugger::LaunchOptions options_true; |
| options_true.monitor_root_job(true); |
| |
| auto decl_true = DebugAgentLauncher::CreateChildDecl("test_agent_true", options_true); |
| EXPECT_EQ(decl_true.name(), "test_agent_true"); |
| ASSERT_TRUE(decl_true.config_overrides().has_value()); |
| ASSERT_EQ(decl_true.config_overrides()->size(), 1u); |
| EXPECT_EQ(decl_true.config_overrides().value()[0].key(), "monitor_root_job"); |
| ASSERT_TRUE(decl_true.config_overrides().value()[0].value().has_value()); |
| ASSERT_TRUE(decl_true.config_overrides().value()[0].value()->single().has_value()); |
| ASSERT_TRUE(decl_true.config_overrides().value()[0].value()->single()->bool_().has_value()); |
| EXPECT_TRUE(decl_true.config_overrides().value()[0].value()->single()->bool_().value()); |
| |
| fuchsia_debugger::LaunchOptions options_empty; |
| auto decl_empty = DebugAgentLauncher::CreateChildDecl("test_agent_empty", options_empty); |
| EXPECT_EQ(decl_empty.name(), "test_agent_empty"); |
| EXPECT_FALSE(decl_empty.config_overrides().has_value()); |
| } |
| |
| } // namespace |