@@ -25,117 +25,6 @@ TEST_F(DAPSessionManagerTest, GetInstanceReturnsSameSingleton) {
2525 EXPECT_EQ (&instance1, &instance2);
2626}
2727
28- TEST_F (DAPSessionManagerTest, StoreAndTakeTarget) {
29- DAPSessionManager &manager = DAPSessionManager::GetInstance ();
30-
31- SBDebugger debugger = SBDebugger::Create ();
32- ASSERT_TRUE (debugger.IsValid ());
33- // Create an empty target (no executable) since we're only testing session
34- // management functionality, not actual debugging operations.
35- SBTarget target = debugger.CreateTarget (" " );
36- ASSERT_TRUE (target.IsValid ());
37-
38- uint32_t target_id = target.GetGloballyUniqueID ();
39- manager.StoreTargetById (target_id, target);
40-
41- // Retrieval consumes the target (removes from map).
42- std::optional<SBTarget> retrieved = manager.TakeTargetById (target_id);
43- ASSERT_TRUE (retrieved.has_value ());
44- EXPECT_TRUE (retrieved->IsValid ());
45- // Verify we got the correct target back.
46- EXPECT_EQ (retrieved->GetDebugger ().GetID (), debugger.GetID ());
47- EXPECT_EQ (*retrieved, target);
48-
49- // Second retrieval should fail (one-time retrieval semantics).
50- std::optional<SBTarget> second_retrieval = manager.TakeTargetById (target_id);
51- EXPECT_FALSE (second_retrieval.has_value ());
52-
53- SBDebugger::Destroy (debugger);
54- }
55-
56- TEST_F (DAPSessionManagerTest, GetTargetWithInvalidId) {
57- DAPSessionManager &manager = DAPSessionManager::GetInstance ();
58-
59- std::optional<SBTarget> result = manager.TakeTargetById (99999 );
60-
61- EXPECT_FALSE (result.has_value ());
62- }
63-
64- TEST_F (DAPSessionManagerTest, MultipleTargetsWithDifferentIds) {
65- DAPSessionManager &manager = DAPSessionManager::GetInstance ();
66-
67- SBDebugger debugger1 = SBDebugger::Create ();
68- SBDebugger debugger2 = SBDebugger::Create ();
69- ASSERT_TRUE (debugger1.IsValid ());
70- ASSERT_TRUE (debugger2.IsValid ());
71- // Create empty targets (no executable) since we're only testing session
72- // management functionality, not actual debugging operations.
73- SBTarget target1 = debugger1.CreateTarget (" " );
74- SBTarget target2 = debugger2.CreateTarget (" " );
75- ASSERT_TRUE (target1.IsValid ());
76- ASSERT_TRUE (target2.IsValid ());
77-
78- uint32_t target_id_1 = target1.GetGloballyUniqueID ();
79- uint32_t target_id_2 = target2.GetGloballyUniqueID ();
80-
81- // Sanity check the targets have distinct IDs.
82- EXPECT_NE (target_id_1, target_id_2);
83-
84- manager.StoreTargetById (target_id_1, target1);
85- manager.StoreTargetById (target_id_2, target2);
86-
87- std::optional<SBTarget> retrieved1 = manager.TakeTargetById (target_id_1);
88- ASSERT_TRUE (retrieved1.has_value ());
89- EXPECT_TRUE (retrieved1->IsValid ());
90- // Verify we got the correct target by comparing debugger and target IDs.
91- EXPECT_EQ (retrieved1->GetDebugger ().GetID (), debugger1.GetID ());
92- EXPECT_EQ (*retrieved1, target1);
93-
94- std::optional<SBTarget> retrieved2 = manager.TakeTargetById (target_id_2);
95- ASSERT_TRUE (retrieved2.has_value ());
96- EXPECT_TRUE (retrieved2->IsValid ());
97- EXPECT_EQ (retrieved2->GetDebugger ().GetID (), debugger2.GetID ());
98- EXPECT_EQ (*retrieved2, target2);
99-
100- SBDebugger::Destroy (debugger1);
101- SBDebugger::Destroy (debugger2);
102- }
103-
104- TEST_F (DAPSessionManagerTest, CleanupSharedResources) {
105- DAPSessionManager &manager = DAPSessionManager::GetInstance ();
106-
107- SBDebugger debugger = SBDebugger::Create ();
108- ASSERT_TRUE (debugger.IsValid ());
109- // Create empty targets (no executable) since we're only testing session
110- // management functionality, not actual debugging operations.
111- SBTarget target1 = debugger.CreateTarget (" " );
112- SBTarget target2 = debugger.CreateTarget (" " );
113- ASSERT_TRUE (target1.IsValid ());
114- ASSERT_TRUE (target2.IsValid ());
115-
116- uint32_t target_id_1 = target1.GetGloballyUniqueID ();
117- uint32_t target_id_2 = target2.GetGloballyUniqueID ();
118-
119- // Sanity check the targets have distinct IDs.
120- EXPECT_NE (target_id_1, target_id_2);
121-
122- // Store multiple targets to verify cleanup removes them all.
123- manager.StoreTargetById (target_id_1, target1);
124- manager.StoreTargetById (target_id_2, target2);
125-
126- // Cleanup should remove all stored targets.
127- manager.CleanupSharedResources ();
128-
129- // Verify both targets are gone after cleanup.
130- std::optional<SBTarget> result1 = manager.TakeTargetById (target_id_1);
131- EXPECT_FALSE (result1.has_value ());
132-
133- std::optional<SBTarget> result2 = manager.TakeTargetById (target_id_2);
134- EXPECT_FALSE (result2.has_value ());
135-
136- SBDebugger::Destroy (debugger);
137- }
138-
13928// UnregisterSession uses std::notify_all_at_thread_exit, so it must be called
14029// from a separate thread to properly release the mutex on thread exit.
14130TEST_F (DAPSessionManagerTest, RegisterAndUnregisterSession) {
0 commit comments