Skip to content

Commit bf73003

Browse files
[tests] Fix build error with -Wstack-usage=8192 (#33312)
Allocate large test objects on heap rather than on stack. Otherwise, the build may fail on certain platforms when using certain toolchains. Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
1 parent c4e37c2 commit bf73003

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

src/lib/dnssd/minimal_mdns/tests/TestResponseSender.cpp

+18-18
Original file line numberDiff line numberDiff line change
@@ -286,34 +286,34 @@ TEST_F(TestResponseSender, AddManyQueryResponders)
286286

287287
TEST_F(TestResponseSender, PtrSrvTxtMultipleRespondersToInstance)
288288
{
289-
CommonTestElements common1("test1");
290-
CommonTestElements common2("test2");
289+
auto common1 = std::make_unique<CommonTestElements>("test1");
290+
auto common2 = std::make_unique<CommonTestElements>("test2");
291291

292292
// Just use the server from common1.
293-
ResponseSender responseSender(&common1.server);
293+
ResponseSender responseSender(&common1->server);
294294

295-
EXPECT_EQ(responseSender.AddQueryResponder(&common1.queryResponder), CHIP_NO_ERROR);
296-
common1.queryResponder.AddResponder(&common1.ptrResponder).SetReportInServiceListing(true);
297-
common1.queryResponder.AddResponder(&common1.srvResponder);
298-
common1.queryResponder.AddResponder(&common1.txtResponder);
295+
EXPECT_EQ(responseSender.AddQueryResponder(&common1->queryResponder), CHIP_NO_ERROR);
296+
common1->queryResponder.AddResponder(&common1->ptrResponder).SetReportInServiceListing(true);
297+
common1->queryResponder.AddResponder(&common1->srvResponder);
298+
common1->queryResponder.AddResponder(&common1->txtResponder);
299299

300-
EXPECT_EQ(responseSender.AddQueryResponder(&common2.queryResponder), CHIP_NO_ERROR);
301-
common2.queryResponder.AddResponder(&common2.ptrResponder).SetReportInServiceListing(true);
302-
common2.queryResponder.AddResponder(&common2.srvResponder);
303-
common2.queryResponder.AddResponder(&common2.txtResponder);
300+
EXPECT_EQ(responseSender.AddQueryResponder(&common2->queryResponder), CHIP_NO_ERROR);
301+
common2->queryResponder.AddResponder(&common2->ptrResponder).SetReportInServiceListing(true);
302+
common2->queryResponder.AddResponder(&common2->srvResponder);
303+
common2->queryResponder.AddResponder(&common2->txtResponder);
304304

305305
// Build a query for the second instance.
306-
common2.recordWriter.WriteQName(common2.instance);
307-
QueryData queryData = QueryData(QType::ANY, QClass::IN, false, common2.requestNameStart, common2.requestBytesRange);
306+
common2->recordWriter.WriteQName(common2->instance);
307+
QueryData queryData = QueryData(QType::ANY, QClass::IN, false, common2->requestNameStart, common2->requestBytesRange);
308308

309309
// Should get back answers from second instance only.
310-
common1.server.AddExpectedRecord(&common2.srvRecord);
311-
common1.server.AddExpectedRecord(&common2.txtRecord);
310+
common1->server.AddExpectedRecord(&common2->srvRecord);
311+
common1->server.AddExpectedRecord(&common2->txtRecord);
312312

313-
responseSender.Respond(1, queryData, &common1.packetInfo, ResponseConfiguration());
313+
responseSender.Respond(1, queryData, &common1->packetInfo, ResponseConfiguration());
314314

315-
EXPECT_TRUE(common1.server.GetSendCalled());
316-
EXPECT_TRUE(common1.server.GetHeaderFound());
315+
EXPECT_TRUE(common1->server.GetSendCalled());
316+
EXPECT_TRUE(common1->server.GetHeaderFound());
317317
}
318318

319319
TEST_F(TestResponseSender, PtrSrvTxtMultipleRespondersToServiceListing)

0 commit comments

Comments
 (0)