1- // Copyright 2024 Google LLC
1+ // Copyright 2025 Google LLC
22//
33// Licensed under the Apache License, Version 2.0 (the "License");
44// you may not use this file except in compliance with the License.
@@ -39,7 +39,9 @@ struct FakeStream : public StreamBase {
3939using Manager = MultiStreamManager<FakeStream, FakeRange>;
4040
4141struct MultiStreamManagerTest : public ::testing::Test {
42- static Manager MakeManager () { return Manager ([] { return std::make_shared<FakeStream>(); }); }
42+ static Manager MakeManager () {
43+ return Manager ([] { return std::make_shared<FakeStream>(); });
44+ }
4345};
4446
4547} // namespace
@@ -72,9 +74,10 @@ TEST(MultiStreamManagerTest, AddStreamAppendsAndGetLastReturnsNew) {
7274
7375TEST (MultiStreamManagerTest, GetLeastBusyPrefersFewestActiveRanges) {
7476 auto mgr = MultiStreamManagerTest::MakeManager ();
75-
76- // The manager starts with an initial stream (size 0).
77- // We must make it "busy" so it doesn't win the comparison against our test streams.
77+
78+ // The manager starts with an initial stream (size 0).
79+ // We must make it "busy" so it doesn't win the comparison against our test
80+ // streams.
7881 auto it_init = mgr.GetLastStream ();
7982 it_init->active_ranges .emplace (999 , std::make_shared<FakeRange>());
8083 it_init->active_ranges .emplace (998 , std::make_shared<FakeRange>());
@@ -87,23 +90,26 @@ TEST(MultiStreamManagerTest, GetLeastBusyPrefersFewestActiveRanges) {
8790 // s1 has 2 ranges.
8891 it1->active_ranges .emplace (1 , std::make_shared<FakeRange>());
8992 it1->active_ranges .emplace (2 , std::make_shared<FakeRange>());
90-
93+
9194 // s2 has 1 range.
9295 it2->active_ranges .emplace (3 , std::make_shared<FakeRange>());
93-
96+
9497 auto it_least = mgr.GetLeastBusyStream ();
95-
98+
9699 // Expect it2 (1 range) over it1 (2 ranges) and it_init (2 ranges).
97- EXPECT_EQ (it_least, it2);
100+ EXPECT_EQ (it_least, it2);
98101 EXPECT_EQ (it_least->active_ranges .size (), 1u );
99102}
100103
101104TEST (MultiStreamManagerTest, CleanupDoneRangesRemovesFinished) {
102105 auto mgr = MultiStreamManagerTest::MakeManager ();
103106 auto it = mgr.GetLastStream ();
104- auto r1 = std::make_shared<FakeRange>(); r1->done = false ;
105- auto r2 = std::make_shared<FakeRange>(); r2->done = true ;
106- auto r3 = std::make_shared<FakeRange>(); r3->done = true ;
107+ auto r1 = std::make_shared<FakeRange>();
108+ r1->done = false ;
109+ auto r2 = std::make_shared<FakeRange>();
110+ r2->done = true ;
111+ auto r3 = std::make_shared<FakeRange>();
112+ r3->done = true ;
107113 it->active_ranges .emplace (1 , r1);
108114 it->active_ranges .emplace (2 , r2);
109115 it->active_ranges .emplace (3 , r3);
@@ -142,26 +148,24 @@ TEST(MultiStreamManagerTest, ReuseIdleStreamToBackMovesElement) {
142148 auto factory_ptr = mgr.GetLastStream ()->stream .get ();
143149 auto s1 = std::make_shared<FakeStream>();
144150 mgr.AddStream (s1);
145- bool moved = mgr.ReuseIdleStreamToBack (
146- [](Manager::Stream const & s) {
147- auto fs = s.stream .get ();
148- return fs != nullptr && s.active_ranges .empty () && !fs->write_pending ;
149- });
151+ bool moved = mgr.ReuseIdleStreamToBack ([](Manager::Stream const & s) {
152+ auto fs = s.stream .get ();
153+ return fs != nullptr && s.active_ranges .empty () && !fs->write_pending ;
154+ });
150155 EXPECT_TRUE (moved);
151156 auto it_last = mgr.GetLastStream ();
152157 // After move, the factory stream should be last
153158 EXPECT_EQ (it_last->stream .get (), factory_ptr);
154159 EXPECT_NE (it_last->stream .get (), s1.get ());
155160}
156161
157- TEST (MultiStreamManagerTest, ReuseIdleStreamAlreadyAtBackReturnsTrueWithoutMove) {
162+ TEST (MultiStreamManagerTest,
163+ ReuseIdleStreamAlreadyAtBackReturnsTrueWithoutMove) {
158164 auto mgr = MultiStreamManagerTest::MakeManager ();
159165 // The manager starts with one stream. It is the last stream, and it is idle.
160166 auto initial_last = mgr.GetLastStream ();
161167 bool reused = mgr.ReuseIdleStreamToBack (
162- [](Manager::Stream const & s) {
163- return s.active_ranges .empty ();
164- });
168+ [](Manager::Stream const & s) { return s.active_ranges .empty (); });
165169 EXPECT_TRUE (reused);
166170 // Pointer should remain the same (it was already at the back)
167171 EXPECT_EQ (mgr.GetLastStream (), initial_last);
@@ -174,11 +178,10 @@ TEST(MultiStreamManagerTest, ReuseIdleStreamDoesNotMoveWhenWritePending) {
174178 auto s1 = std::make_shared<FakeStream>();
175179 s1->write_pending = true ; // also mark appended stream as not reusable
176180 mgr.AddStream (s1);
177- bool moved = mgr.ReuseIdleStreamToBack (
178- [](Manager::Stream const & s) {
179- auto fs = s.stream .get ();
180- return fs != nullptr && s.active_ranges .empty () && !fs->write_pending ;
181- });
181+ bool moved = mgr.ReuseIdleStreamToBack ([](Manager::Stream const & s) {
182+ auto fs = s.stream .get ();
183+ return fs != nullptr && s.active_ranges .empty () && !fs->write_pending ;
184+ });
182185 EXPECT_FALSE (moved);
183186 auto it_last = mgr.GetLastStream ();
184187 EXPECT_EQ (it_last->stream .get (), s1.get ());
@@ -206,10 +209,9 @@ TEST(MultiStreamManagerTest, GetLastStreamReflectsRecentAppendAndReuse) {
206209 auto s1 = std::make_shared<FakeStream>();
207210 mgr.AddStream (s1);
208211 EXPECT_EQ (mgr.GetLastStream ()->stream .get (), s1.get ());
209- bool moved = mgr.ReuseIdleStreamToBack (
210- [](Manager::Stream const & s) {
211- return s.stream != nullptr && s.active_ranges .empty ();
212- });
212+ bool moved = mgr.ReuseIdleStreamToBack ([](Manager::Stream const & s) {
213+ return s.stream != nullptr && s.active_ranges .empty ();
214+ });
213215 EXPECT_TRUE (moved);
214216 auto it_last = mgr.GetLastStream ();
215217 EXPECT_NE (it_last->stream .get (), s1.get ());
0 commit comments