Skip to content

Commit d594086

Browse files
Make test suite setup and teardown functions static (#33330)
* Make test suite setup and teardown functions static * Restyled by clang-format * Fixed bug in LoopbackTransport initialization --------- Co-authored-by: Restyled.io <commits@restyled.io>
1 parent 3219a5f commit d594086

28 files changed

+191
-197
lines changed

src/app/tests/AppTestContext.h

+4-4
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@ class AppContext : public LoopbackMessagingContext
2828
{
2929
public:
3030
// Performs shared setup for all tests in the test suite
31-
void SetUpTestSuite() override;
31+
static void SetUpTestSuite();
3232
// Performs shared teardown for all tests in the test suite
33-
void TearDownTestSuite() override;
33+
static void TearDownTestSuite();
3434
// Performs setup for each individual test in the test suite
35-
void SetUp() override;
35+
void SetUp();
3636
// Performs teardown for each individual test in the test suite
37-
void TearDown() override;
37+
void TearDown();
3838
};
3939

4040
} // namespace Test

src/app/tests/TestAclAttribute.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -259,10 +259,10 @@ const nlTest sTests[] = {
259259
nlTestSuite sSuite = {
260260
"TestAclAttribute",
261261
&sTests[0],
262-
TestAccessContext::nlTestSetUpTestSuite,
263-
TestAccessContext::nlTestTearDownTestSuite,
264-
TestAccessContext::nlTestSetUp,
265-
TestAccessContext::nlTestTearDown,
262+
NL_TEST_WRAP_FUNCTION(TestAccessContext::SetUpTestSuite),
263+
NL_TEST_WRAP_FUNCTION(TestAccessContext::TearDownTestSuite),
264+
NL_TEST_WRAP_METHOD(TestAccessContext, SetUp),
265+
NL_TEST_WRAP_METHOD(TestAccessContext, TearDown),
266266
};
267267

268268
} // namespace

src/app/tests/TestAclEvent.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -377,10 +377,10 @@ nlTestSuite sSuite =
377377
{
378378
"TestAclEvent",
379379
&sTests[0],
380-
TestContext::nlTestSetUpTestSuite,
381-
TestContext::nlTestTearDownTestSuite,
382-
TestContext::nlTestSetUp,
383-
TestContext::nlTestTearDown,
380+
NL_TEST_WRAP_FUNCTION(TestContext::SetUpTestSuite),
381+
NL_TEST_WRAP_FUNCTION(TestContext::TearDownTestSuite),
382+
NL_TEST_WRAP_METHOD(TestContext, SetUp),
383+
NL_TEST_WRAP_METHOD(TestContext, TearDown),
384384
};
385385
// clang-format on
386386

src/app/tests/TestBufferedReadCallback.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -610,10 +610,10 @@ nlTestSuite theSuite =
610610
{
611611
"TestBufferedReadCallback",
612612
&sTests[0],
613-
TestContext::nlTestSetUpTestSuite,
614-
TestContext::nlTestTearDownTestSuite,
615-
TestContext::nlTestSetUp,
616-
TestContext::nlTestTearDown,
613+
NL_TEST_WRAP_FUNCTION(TestContext::SetUpTestSuite),
614+
NL_TEST_WRAP_FUNCTION(TestContext::TearDownTestSuite),
615+
NL_TEST_WRAP_METHOD(TestContext, SetUp),
616+
NL_TEST_WRAP_METHOD(TestContext, TearDown),
617617
};
618618

619619
}

src/app/tests/TestClusterStateCache.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -695,10 +695,10 @@ nlTestSuite theSuite =
695695
{
696696
"TestClusterStateCache",
697697
&sTests[0],
698-
TestContext::nlTestSetUpTestSuite,
699-
TestContext::nlTestTearDownTestSuite,
700-
TestContext::nlTestSetUp,
701-
TestContext::nlTestTearDown,
698+
NL_TEST_WRAP_FUNCTION(TestContext::SetUpTestSuite),
699+
NL_TEST_WRAP_FUNCTION(TestContext::TearDownTestSuite),
700+
NL_TEST_WRAP_METHOD(TestContext, SetUp),
701+
NL_TEST_WRAP_METHOD(TestContext, TearDown),
702702
};
703703

704704
}

src/app/tests/TestCommandInteraction.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -2120,10 +2120,10 @@ nlTestSuite sSuite =
21202120
{
21212121
"TestCommandInteraction",
21222122
&sTests[0],
2123-
TestContext::nlTestSetUpTestSuite,
2124-
TestContext::nlTestTearDownTestSuite,
2125-
TestContext::nlTestSetUp,
2126-
TestContext::nlTestTearDown,
2123+
NL_TEST_WRAP_FUNCTION(TestContext::SetUpTestSuite),
2124+
NL_TEST_WRAP_FUNCTION(TestContext::TearDownTestSuite),
2125+
NL_TEST_WRAP_METHOD(TestContext, SetUp),
2126+
NL_TEST_WRAP_METHOD(TestContext, TearDown),
21272127
};
21282128
// clang-format on
21292129

src/app/tests/TestEventLogging.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -318,10 +318,10 @@ const nlTest sTests[] = {
318318
nlTestSuite sSuite = {
319319
"EventLogging",
320320
&sTests[0],
321-
TestContext::nlTestSetUpTestSuite,
322-
TestContext::nlTestTearDownTestSuite,
323-
TestContext::nlTestSetUp,
324-
TestContext::nlTestTearDown,
321+
NL_TEST_WRAP_FUNCTION(TestContext::SetUpTestSuite),
322+
NL_TEST_WRAP_FUNCTION(TestContext::TearDownTestSuite),
323+
NL_TEST_WRAP_METHOD(TestContext, SetUp),
324+
NL_TEST_WRAP_METHOD(TestContext, TearDown),
325325
};
326326

327327
} // namespace

src/app/tests/TestEventLoggingNoUTCTime.cpp

+11-9
Original file line numberDiff line numberDiff line change
@@ -84,16 +84,16 @@ class TestContext : public chip::Test::AppContext
8484
{
8585
public:
8686
// Performs shared setup for all tests in the test suite
87-
void SetUpTestSuite() override
87+
static void SetUpTestSuite()
8888
{
8989
chip::Test::AppContext::SetUpTestSuite();
90-
mClock.Emplace(chip::System::SystemClock());
90+
sClock.Emplace(chip::System::SystemClock());
9191
}
9292

9393
// Performs shared teardown for all tests in the test suite
94-
void TearDownTestSuite() override
94+
static void TearDownTestSuite()
9595
{
96-
mClock.ClearValue();
96+
sClock.ClearValue();
9797
chip::Test::AppContext::TearDownTestSuite();
9898
}
9999

@@ -125,9 +125,11 @@ class TestContext : public chip::Test::AppContext
125125

126126
private:
127127
chip::MonotonicallyIncreasingCounter<chip::EventNumber> mEventCounter;
128-
chip::Optional<MockClock> mClock;
128+
static chip::Optional<MockClock> sClock;
129129
};
130130

131+
chip::Optional<MockClock> TestContext::sClock;
132+
131133
void ENFORCE_FORMAT(1, 2) SimpleDumpWriter(const char * aFormat, ...)
132134
{
133135
va_list args;
@@ -370,10 +372,10 @@ const nlTest sTests[] = {
370372
nlTestSuite sSuite = {
371373
"EventLogging",
372374
&sTests[0],
373-
TestContext::nlTestSetUpTestSuite,
374-
TestContext::nlTestTearDownTestSuite,
375-
TestContext::nlTestSetUp,
376-
TestContext::nlTestTearDown,
375+
NL_TEST_WRAP_FUNCTION(TestContext::SetUpTestSuite),
376+
NL_TEST_WRAP_FUNCTION(TestContext::TearDownTestSuite),
377+
NL_TEST_WRAP_METHOD(TestContext, SetUp),
378+
NL_TEST_WRAP_METHOD(TestContext, TearDown),
377379
};
378380

379381
} // namespace

src/app/tests/TestEventOverflow.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -169,10 +169,10 @@ nlTestSuite sSuite =
169169
{
170170
"TestEventOverflow",
171171
&sTests[0],
172-
TestContext::nlTestSetUpTestSuite,
173-
TestContext::nlTestTearDownTestSuite,
174-
TestContext::nlTestSetUp,
175-
TestContext::nlTestTearDown,
172+
NL_TEST_WRAP_FUNCTION(TestContext::SetUpTestSuite),
173+
NL_TEST_WRAP_FUNCTION(TestContext::TearDownTestSuite),
174+
NL_TEST_WRAP_METHOD(TestContext, SetUp),
175+
NL_TEST_WRAP_METHOD(TestContext, TearDown),
176176
};
177177
// clang-format on
178178

src/app/tests/TestFabricScopedEventLogging.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -278,10 +278,10 @@ nlTestSuite sSuite =
278278
{
279279
"TestFabricScopedEventLogging",
280280
&sTests[0],
281-
TestContext::nlTestSetUpTestSuite,
282-
TestContext::nlTestTearDownTestSuite,
283-
TestContext::nlTestSetUp,
284-
TestContext::nlTestTearDown,
281+
NL_TEST_WRAP_FUNCTION(TestContext::SetUpTestSuite),
282+
NL_TEST_WRAP_FUNCTION(TestContext::TearDownTestSuite),
283+
NL_TEST_WRAP_METHOD(TestContext, SetUp),
284+
NL_TEST_WRAP_METHOD(TestContext, TearDown),
285285
};
286286
// clang-format on
287287

src/app/tests/TestInteractionModelEngine.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -773,10 +773,10 @@ nlTestSuite sSuite =
773773
{
774774
"TestInteractionModelEngine",
775775
&sTests[0],
776-
TestContext::nlTestSetUpTestSuite,
777-
TestContext::nlTestTearDownTestSuite,
778-
TestContext::nlTestSetUp,
779-
TestContext::nlTestTearDown,
776+
NL_TEST_WRAP_FUNCTION(TestContext::SetUpTestSuite),
777+
NL_TEST_WRAP_FUNCTION(TestContext::TearDownTestSuite),
778+
NL_TEST_WRAP_METHOD(TestContext, SetUp),
779+
NL_TEST_WRAP_METHOD(TestContext, TearDown),
780780
};
781781
// clang-format on
782782

src/app/tests/TestReadInteraction.cpp

+25-19
Original file line numberDiff line numberDiff line change
@@ -79,13 +79,13 @@ class TestContext : public chip::Test::AppContext
7979
{
8080
public:
8181
// Performs shared setup for all tests in the test suite
82-
void SetUpTestSuite() override
82+
static void SetUpTestSuite()
8383
{
8484
chip::Test::AppContext::SetUpTestSuite();
8585
gRealClock = &chip::System::SystemClock();
8686
chip::System::Clock::Internal::SetSystemClockForTesting(&gMockClock);
8787

88-
if (mSyncScheduler)
88+
if (sSyncScheduler)
8989
{
9090
gReportScheduler = chip::app::reporting::GetSynchronizedReportScheduler();
9191
sUsingSubSync = true;
@@ -96,14 +96,8 @@ class TestContext : public chip::Test::AppContext
9696
}
9797
}
9898

99-
static int nlTestSetUpTestSuite_Sync(void * context)
100-
{
101-
static_cast<TestContext *>(context)->mSyncScheduler = true;
102-
return nlTestSetUpTestSuite(context);
103-
}
104-
10599
// Performs shared teardown for all tests in the test suite
106-
void TearDownTestSuite() override
100+
static void TearDownTestSuite()
107101
{
108102
chip::System::Clock::Internal::SetSystemClockForTesting(gRealClock);
109103
chip::Test::AppContext::TearDownTestSuite();
@@ -133,9 +127,21 @@ class TestContext : public chip::Test::AppContext
133127
chip::Test::AppContext::TearDown();
134128
}
135129

136-
private:
130+
protected:
137131
chip::MonotonicallyIncreasingCounter<chip::EventNumber> mEventCounter;
138-
bool mSyncScheduler = false;
132+
static bool sSyncScheduler;
133+
};
134+
135+
bool TestContext::sSyncScheduler = false;
136+
137+
class TestSyncContext : public TestContext
138+
{
139+
public:
140+
static void SetUpTestSuite()
141+
{
142+
sSyncScheduler = true;
143+
TestContext::SetUpTestSuite();
144+
}
139145
};
140146

141147
class TestEventGenerator : public chip::app::EventLoggingDelegate
@@ -5146,19 +5152,19 @@ const nlTest sTests[] = {
51465152
nlTestSuite sSuite = {
51475153
"TestReadInteraction",
51485154
&sTests[0],
5149-
TestContext::nlTestSetUpTestSuite,
5150-
TestContext::nlTestTearDownTestSuite,
5151-
TestContext::nlTestSetUp,
5152-
TestContext::nlTestTearDown,
5155+
NL_TEST_WRAP_FUNCTION(TestContext::SetUpTestSuite),
5156+
NL_TEST_WRAP_FUNCTION(TestContext::TearDownTestSuite),
5157+
NL_TEST_WRAP_METHOD(TestContext, SetUp),
5158+
NL_TEST_WRAP_METHOD(TestContext, TearDown),
51535159
};
51545160

51555161
nlTestSuite sSyncSuite = {
51565162
"TestSyncReadInteraction",
51575163
&sTests[0],
5158-
TestContext::nlTestSetUpTestSuite_Sync,
5159-
TestContext::nlTestTearDownTestSuite,
5160-
TestContext::nlTestSetUp,
5161-
TestContext::nlTestTearDown,
5164+
NL_TEST_WRAP_FUNCTION(TestSyncContext::SetUpTestSuite),
5165+
NL_TEST_WRAP_FUNCTION(TestSyncContext::TearDownTestSuite),
5166+
NL_TEST_WRAP_METHOD(TestSyncContext, SetUp),
5167+
NL_TEST_WRAP_METHOD(TestSyncContext, TearDown),
51625168
};
51635169

51645170
} // namespace

src/app/tests/TestReportScheduler.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -821,10 +821,10 @@ static nlTest sTests[] = {
821821
nlTestSuite sSuite = {
822822
"TestReportScheduler",
823823
&sTests[0],
824-
TestContext::nlTestSetUpTestSuite,
825-
TestContext::nlTestTearDownTestSuite,
826-
TestContext::nlTestSetUp,
827-
TestContext::nlTestTearDown,
824+
NL_TEST_WRAP_FUNCTION(TestContext::SetUpTestSuite),
825+
NL_TEST_WRAP_FUNCTION(TestContext::TearDownTestSuite),
826+
NL_TEST_WRAP_METHOD(TestContext, SetUp),
827+
NL_TEST_WRAP_METHOD(TestContext, TearDown),
828828
};
829829

830830
} // namespace

src/app/tests/TestReportingEngine.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -350,10 +350,10 @@ nlTestSuite sSuite =
350350
{
351351
"TestReportingEngine",
352352
&sTests[0],
353-
TestContext::nlTestSetUpTestSuite,
354-
TestContext::nlTestTearDownTestSuite,
355-
TestContext::nlTestSetUp,
356-
TestContext::nlTestTearDown,
353+
NL_TEST_WRAP_FUNCTION(TestContext::SetUpTestSuite),
354+
NL_TEST_WRAP_FUNCTION(TestContext::TearDownTestSuite),
355+
NL_TEST_WRAP_METHOD(TestContext, SetUp),
356+
NL_TEST_WRAP_METHOD(TestContext, TearDown),
357357
};
358358
// clang-format on
359359

src/app/tests/TestTimedHandler.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -264,10 +264,10 @@ nlTestSuite sSuite =
264264
{
265265
"TestTimedHandler",
266266
&sTests[0],
267-
TestContext::nlTestSetUpTestSuite,
268-
TestContext::nlTestTearDownTestSuite,
269-
TestContext::nlTestSetUp,
270-
TestContext::nlTestTearDown,
267+
NL_TEST_WRAP_FUNCTION(TestContext::SetUpTestSuite),
268+
NL_TEST_WRAP_FUNCTION(TestContext::TearDownTestSuite),
269+
NL_TEST_WRAP_METHOD(TestContext, SetUp),
270+
NL_TEST_WRAP_METHOD(TestContext, TearDown),
271271
};
272272
// clang-format on
273273

src/app/tests/TestWriteInteraction.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -1063,10 +1063,10 @@ const nlTest sTests[] =
10631063
nlTestSuite sSuite = {
10641064
"TestWriteInteraction",
10651065
&sTests[0],
1066-
TestContext::nlTestSetUpTestSuite,
1067-
TestContext::nlTestTearDownTestSuite,
1068-
TestContext::nlTestSetUp,
1069-
TestContext::nlTestTearDown,
1066+
NL_TEST_WRAP_FUNCTION(TestContext::SetUpTestSuite),
1067+
NL_TEST_WRAP_FUNCTION(TestContext::TearDownTestSuite),
1068+
NL_TEST_WRAP_METHOD(TestContext, SetUp),
1069+
NL_TEST_WRAP_METHOD(TestContext, TearDown),
10701070
};
10711071

10721072
} // namespace

src/lib/support/UnitTestRegistration.h

+14
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,20 @@
4848
VerifyOrDie(chip::RegisterUnitTests(&FUNCTION) == CHIP_NO_ERROR); \
4949
}
5050

51+
// TODO: remove these once transition to pw_unit_test is completed
52+
#define NL_TEST_WRAP_FUNCTION(FUNCTION) \
53+
[](void * _context) -> int { \
54+
FUNCTION(); \
55+
return SUCCESS; \
56+
}
57+
58+
#define NL_TEST_WRAP_METHOD(CLASS, METHOD) \
59+
[](void * context) -> int { \
60+
auto ctx = static_cast<CLASS *>(context); \
61+
ctx->METHOD(); \
62+
return SUCCESS; \
63+
}
64+
5165
namespace chip {
5266

5367
typedef int (*UnitTestTriggerFunction)();

src/messaging/tests/MessagingContext.cpp

+7-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ CHIP_ERROR MessagingContext::Init(TransportMgrBase * transport, IOContext * ioCo
5858
ReturnErrorOnFailure(mExchangeManager.Init(&mSessionManager));
5959
ReturnErrorOnFailure(mMessageCounterManager.Init(&mExchangeManager));
6060

61-
if (mInitializeNodes)
61+
if (sInitializeNodes)
6262
{
6363
ReturnErrorOnFailure(CreateAliceFabric());
6464
ReturnErrorOnFailure(CreateBobFabric());
@@ -112,6 +112,8 @@ using namespace System::Clock::Literals;
112112
constexpr chip::System::Clock::Timeout MessagingContext::kResponsiveIdleRetransTimeout;
113113
constexpr chip::System::Clock::Timeout MessagingContext::kResponsiveActiveRetransTimeout;
114114

115+
bool MessagingContext::sInitializeNodes = true;
116+
115117
void MessagingContext::SetMRPMode(MRPMode mode)
116118
{
117119
if (mode == MRPMode::kDefault)
@@ -302,6 +304,10 @@ Messaging::ExchangeContext * MessagingContext::NewExchangeToBob(Messaging::Excha
302304
return mExchangeManager.NewContext(GetSessionAliceToBob(), delegate, isInitiator);
303305
}
304306

307+
LoopbackTransportManager LoopbackMessagingContext::sLoopbackTransportManager;
308+
309+
UDPTransportManager UDPMessagingContext::sUDPTransportManager;
310+
305311
void MessageCapturer::OnMessageReceived(const PacketHeader & packetHeader, const PayloadHeader & payloadHeader,
306312
const SessionHandle & session, DuplicateMessage isDuplicate,
307313
System::PacketBufferHandle && msgBuf)

0 commit comments

Comments
 (0)