Skip to content

Commit 5e2bf15

Browse files
pw_unit_test migration: setup_payload batch #2 (with fixtures) (#33112)
* pw_unit_test migration: setup_payload batch #2 (with fixtures) * restyle fix * integrating comments * restyle * Update test_components_nl.txt --------- Co-authored-by: Andrei Litvin <andy314@gmail.com>
1 parent 7cdea9b commit 5e2bf15

File tree

5 files changed

+127
-284
lines changed

5 files changed

+127
-284
lines changed

src/BUILD.gn

-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@ if (chip_build_tests) {
8686
chip_device_platform != "efr32") {
8787
tests += [
8888
"${chip_root}/src/setup_payload/tests",
89-
"${chip_root}/src/setup_payload/tests:tests_nltest",
9089
"${chip_root}/src/transport/raw/tests",
9190
]
9291
}

src/setup_payload/tests/BUILD.gn

+1-19
Original file line numberDiff line numberDiff line change
@@ -23,25 +23,9 @@ chip_test_suite("tests") {
2323
output_name = "libSetupPayloadTests"
2424

2525
test_sources = [
26+
"TestAdditionalDataPayload.cpp",
2627
"TestManualCode.cpp",
2728
"TestQRCode.cpp",
28-
]
29-
30-
sources = [ "TestHelpers.h" ]
31-
32-
cflags = [ "-Wconversion" ]
33-
34-
public_deps = [
35-
"${chip_root}/src/platform",
36-
"${chip_root}/src/setup_payload",
37-
]
38-
}
39-
40-
chip_test_suite_using_nltest("tests_nltest") {
41-
output_name = "libSetupPayloadTestsNL"
42-
43-
test_sources = [
44-
"TestAdditionalDataPayload.cpp",
4529
"TestQRCodeTLV.cpp",
4630
]
4731

@@ -50,9 +34,7 @@ chip_test_suite_using_nltest("tests_nltest") {
5034
cflags = [ "-Wconversion" ]
5135

5236
public_deps = [
53-
"${chip_root}/src/lib/support:testing_nlunit",
5437
"${chip_root}/src/platform",
5538
"${chip_root}/src/setup_payload",
56-
"${nlunit_test_root}:nlunit-test",
5739
]
5840
}

src/setup_payload/tests/TestAdditionalDataPayload.cpp

+55-128
Original file line numberDiff line numberDiff line change
@@ -24,22 +24,20 @@
2424

2525
#include <math.h>
2626
#include <memory>
27-
#include <nlunit-test.h>
2827
#include <stdio.h>
2928

29+
#include <gtest/gtest.h>
30+
3031
#include <lib/support/BytesToHex.h>
3132
#include <lib/support/CHIPMem.h>
3233
#include <lib/support/CHIPMemString.h>
3334
#include <lib/support/CHIPPlatformMemory.h>
34-
#include <lib/support/UnitTestContext.h>
35+
#include <lib/support/verhoeff/Verhoeff.h>
3536
#include <setup_payload/AdditionalDataPayloadGenerator.h>
3637
#include <setup_payload/AdditionalDataPayloadParser.h>
3738
#include <setup_payload/SetupPayload.h>
3839
#include <system/SystemPacketBuffer.h>
3940

40-
#include <lib/support/UnitTestRegistration.h>
41-
#include <lib/support/verhoeff/Verhoeff.h>
42-
4341
using namespace chip;
4442

4543
namespace {
@@ -59,7 +57,7 @@ constexpr uint16_t kLifetimeCounter
5957
constexpr uint16_t kShortRotatingIdLength = 5;
6058
#endif // CHIP_ENABLE_ROTATING_DEVICE_ID
6159

62-
CHIP_ERROR GenerateAdditionalDataPayload(nlTestSuite * inSuite, AdditionalDataPayloadGeneratorParams & additionalDataPayloadParams,
60+
CHIP_ERROR GenerateAdditionalDataPayload(AdditionalDataPayloadGeneratorParams & additionalDataPayloadParams,
6361
BitFlags<AdditionalDataFields> additionalDataFields, char * additionalDataPayloadOutput)
6462
{
6563
CHIP_ERROR err = CHIP_NO_ERROR;
@@ -69,7 +67,7 @@ CHIP_ERROR GenerateAdditionalDataPayload(nlTestSuite * inSuite, AdditionalDataPa
6967
additionalDataFields);
7068
if (err == CHIP_NO_ERROR)
7169
{
72-
NL_TEST_ASSERT(inSuite, !bufferHandle.IsNull());
70+
EXPECT_FALSE(bufferHandle.IsNull());
7371
}
7472
else
7573
{
@@ -99,20 +97,25 @@ CHIP_ERROR ParseAdditionalDataPayload(const char * additionalDataPayload, size_t
9997
return AdditionalDataPayloadParser(additionalDataPayloadBytes.get(), bufferSize).populatePayload(outPayload);
10098
}
10199

102-
void TestGeneratingAdditionalDataPayloadWithoutRotatingDeviceId(nlTestSuite * inSuite, void * inContext)
100+
class TestAdditionalDataPayload : public ::testing::Test
101+
{
102+
public:
103+
static void SetUpTestSuite() { ASSERT_EQ(chip::Platform::MemoryInit(), CHIP_NO_ERROR); }
104+
static void TearDownTestSuite() { chip::Platform::MemoryShutdown(); }
105+
};
106+
107+
TEST_F(TestAdditionalDataPayload, TestGeneratingAdditionalDataPayloadWithoutRotatingDeviceId)
103108
{
104109
BitFlags<AdditionalDataFields> additionalDataFields;
105110
char output[kAdditionalDataPayloadLength];
106111
AdditionalDataPayloadGeneratorParams additionalDataPayloadParams;
107112

108-
NL_TEST_ASSERT(inSuite,
109-
GenerateAdditionalDataPayload(inSuite, additionalDataPayloadParams, additionalDataFields, output) ==
110-
CHIP_NO_ERROR);
111-
NL_TEST_ASSERT(inSuite, strcmp(output, kAdditionalDataPayloadWithoutRotatingDeviceId) == 0);
113+
EXPECT_EQ(GenerateAdditionalDataPayload(additionalDataPayloadParams, additionalDataFields, output), CHIP_NO_ERROR);
114+
EXPECT_STREQ(output, kAdditionalDataPayloadWithoutRotatingDeviceId);
112115
}
113116

114117
#if CHIP_ENABLE_ROTATING_DEVICE_ID
115-
void TestGeneratingAdditionalDataPayloadWithRotatingDeviceId(nlTestSuite * inSuite, void * inContext)
118+
TEST_F(TestAdditionalDataPayload, TestGeneratingAdditionalDataPayloadWithRotatingDeviceId)
116119
{
117120
BitFlags<AdditionalDataFields> additionalDataFields;
118121
additionalDataFields.Set(AdditionalDataFields::RotatingDeviceId);
@@ -121,13 +124,11 @@ void TestGeneratingAdditionalDataPayloadWithRotatingDeviceId(nlTestSuite * inSui
121124
additionalDataPayloadParams.rotatingDeviceIdUniqueId = ByteSpan(kUniqueId);
122125

123126
char output[kAdditionalDataPayloadLength];
124-
NL_TEST_ASSERT(inSuite,
125-
GenerateAdditionalDataPayload(inSuite, additionalDataPayloadParams, additionalDataFields, output) ==
126-
CHIP_NO_ERROR);
127-
NL_TEST_ASSERT(inSuite, strcmp(output, kAdditionalDataPayloadWithRotatingDeviceId) == 0);
127+
EXPECT_EQ(GenerateAdditionalDataPayload(additionalDataPayloadParams, additionalDataFields, output), CHIP_NO_ERROR);
128+
EXPECT_STREQ(output, kAdditionalDataPayloadWithRotatingDeviceId);
128129
}
129130

130-
void TestGeneratingAdditionalDataPayloadWithRotatingDeviceIdAndMaxLifetimeCounter(nlTestSuite * inSuite, void * inContext)
131+
TEST_F(TestAdditionalDataPayload, TestGeneratingAdditionalDataPayloadWithRotatingDeviceIdAndMaxLifetimeCounter)
131132
{
132133
BitFlags<AdditionalDataFields> additionalDataFields;
133134
additionalDataFields.Set(AdditionalDataFields::RotatingDeviceId);
@@ -136,25 +137,22 @@ void TestGeneratingAdditionalDataPayloadWithRotatingDeviceIdAndMaxLifetimeCounte
136137
additionalDataPayloadParams.rotatingDeviceIdUniqueId = ByteSpan(kUniqueId);
137138

138139
char output[kAdditionalDataPayloadLength];
139-
NL_TEST_ASSERT(inSuite,
140-
GenerateAdditionalDataPayload(inSuite, additionalDataPayloadParams, additionalDataFields, output) ==
141-
CHIP_NO_ERROR);
142-
NL_TEST_ASSERT(inSuite, strcmp(output, kAdditionalDataPayloadWithRotatingDeviceIdAndMaxLifetimeCounter) == 0);
140+
EXPECT_EQ(GenerateAdditionalDataPayload(additionalDataPayloadParams, additionalDataFields, output), CHIP_NO_ERROR);
141+
EXPECT_STREQ(output, kAdditionalDataPayloadWithRotatingDeviceIdAndMaxLifetimeCounter);
143142
}
144143

145-
void TestGeneratingAdditionalDataPayloadWithRotatingDeviceIdWithNullInputs(nlTestSuite * inSuite, void * inContext)
144+
TEST_F(TestAdditionalDataPayload, TestGeneratingAdditionalDataPayloadWithRotatingDeviceIdWithNullInputs)
146145
{
147146
BitFlags<AdditionalDataFields> additionalDataFields;
148147
additionalDataFields.Set(AdditionalDataFields::RotatingDeviceId);
149148
AdditionalDataPayloadGeneratorParams additionalDataPayloadParams;
150149

151150
char output[kAdditionalDataPayloadLength];
152-
NL_TEST_ASSERT(inSuite,
153-
GenerateAdditionalDataPayload(inSuite, additionalDataPayloadParams, additionalDataFields, output) ==
154-
CHIP_ERROR_INVALID_ARGUMENT);
151+
EXPECT_EQ(GenerateAdditionalDataPayload(additionalDataPayloadParams, additionalDataFields, output),
152+
CHIP_ERROR_INVALID_ARGUMENT);
155153
}
156154

157-
void TestGeneratingRotatingDeviceIdAsString(nlTestSuite * inSuite, void * inContext)
155+
TEST_F(TestAdditionalDataPayload, TestGeneratingRotatingDeviceIdAsString)
158156
{
159157
CHIP_ERROR err = CHIP_NO_ERROR;
160158
char rotatingDeviceIdHexBuffer[RotatingDeviceId::kHexMaxLength];
@@ -165,19 +163,19 @@ void TestGeneratingRotatingDeviceIdAsString(nlTestSuite * inSuite, void * inCont
165163
err = AdditionalDataPayloadGenerator().generateRotatingDeviceIdAsHexString(
166164
additionalDataPayloadParams, rotatingDeviceIdHexBuffer, ArraySize(rotatingDeviceIdHexBuffer),
167165
rotatingDeviceIdValueOutputSize);
168-
NL_TEST_ASSERT(inSuite, err == CHIP_NO_ERROR);
169-
NL_TEST_ASSERT(inSuite, strcmp(rotatingDeviceIdHexBuffer, kRotatingDeviceId) == 0);
166+
EXPECT_EQ(err, CHIP_NO_ERROR);
167+
EXPECT_STREQ(rotatingDeviceIdHexBuffer, kRotatingDeviceId);
170168
// Parsing out the lifetime counter value
171169
long lifetimeCounter;
172170
char lifetimeCounterStr[3];
173171
Platform::CopyString(lifetimeCounterStr, rotatingDeviceIdHexBuffer);
174172

175173
char * parseEnd;
176174
lifetimeCounter = strtol(lifetimeCounterStr, &parseEnd, 16);
177-
NL_TEST_ASSERT(inSuite, lifetimeCounter == kLifetimeCounter);
175+
EXPECT_EQ(lifetimeCounter, kLifetimeCounter);
178176
}
179177

180-
void TestGeneratingRotatingDeviceIdAsStringWithNullInputs(nlTestSuite * inSuite, void * inContext)
178+
TEST_F(TestAdditionalDataPayload, TestGeneratingRotatingDeviceIdAsStringWithNullInputs)
181179
{
182180
CHIP_ERROR err = CHIP_NO_ERROR;
183181
char rotatingDeviceIdHexBuffer[RotatingDeviceId::kHexMaxLength];
@@ -188,10 +186,10 @@ void TestGeneratingRotatingDeviceIdAsStringWithNullInputs(nlTestSuite * inSuite,
188186
err = AdditionalDataPayloadGenerator().generateRotatingDeviceIdAsHexString(
189187
additionalDataPayloadParams, rotatingDeviceIdHexBuffer, ArraySize(rotatingDeviceIdHexBuffer),
190188
rotatingDeviceIdValueOutputSize);
191-
NL_TEST_ASSERT(inSuite, err == CHIP_ERROR_INVALID_ARGUMENT);
189+
EXPECT_EQ(err, CHIP_ERROR_INVALID_ARGUMENT);
192190
}
193191

194-
void TestGeneratingRotatingDeviceIdWithSmallBuffer(nlTestSuite * inSuite, void * inContext)
192+
TEST_F(TestAdditionalDataPayload, TestGeneratingRotatingDeviceIdWithSmallBuffer)
195193
{
196194
CHIP_ERROR err = CHIP_NO_ERROR;
197195
char rotatingDeviceIdHexBuffer[kShortRotatingIdLength];
@@ -202,122 +200,51 @@ void TestGeneratingRotatingDeviceIdWithSmallBuffer(nlTestSuite * inSuite, void *
202200
err = AdditionalDataPayloadGenerator().generateRotatingDeviceIdAsHexString(
203201
additionalDataPayloadParams, rotatingDeviceIdHexBuffer, ArraySize(rotatingDeviceIdHexBuffer),
204202
rotatingDeviceIdValueOutputSize);
205-
NL_TEST_ASSERT(inSuite, err == CHIP_ERROR_BUFFER_TOO_SMALL);
203+
EXPECT_EQ(err, CHIP_ERROR_BUFFER_TOO_SMALL);
206204
}
207205
#endif // CHIP_ENABLE_ROTATING_DEVICE_ID
208206

209-
void TestParsingAdditionalDataPayloadWithRotatingDeviceId(nlTestSuite * inSuite, void * inContext)
207+
TEST_F(TestAdditionalDataPayload, TestParsingAdditionalDataPayloadWithRotatingDeviceId)
210208
{
211209
chip::SetupPayloadData::AdditionalDataPayload resultPayload;
212-
NL_TEST_ASSERT(inSuite,
213-
ParseAdditionalDataPayload(kAdditionalDataPayloadWithRotatingDeviceId,
214-
strlen(kAdditionalDataPayloadWithRotatingDeviceId), resultPayload) == CHIP_NO_ERROR);
215-
NL_TEST_ASSERT(inSuite, strcmp(resultPayload.rotatingDeviceId.c_str(), kRotatingDeviceId) == 0);
210+
EXPECT_EQ(ParseAdditionalDataPayload(kAdditionalDataPayloadWithRotatingDeviceId,
211+
strlen(kAdditionalDataPayloadWithRotatingDeviceId), resultPayload),
212+
CHIP_NO_ERROR);
213+
EXPECT_STREQ(resultPayload.rotatingDeviceId.c_str(), kRotatingDeviceId);
216214
}
217215

218-
void TestParsingAdditionalDataPayloadWithoutRotatingDeviceId(nlTestSuite * inSuite, void * inContext)
216+
TEST_F(TestAdditionalDataPayload, TestParsingAdditionalDataPayloadWithoutRotatingDeviceId)
219217
{
220218
chip::SetupPayloadData::AdditionalDataPayload resultPayload;
221-
NL_TEST_ASSERT(inSuite,
222-
ParseAdditionalDataPayload(kAdditionalDataPayloadWithoutRotatingDeviceId,
223-
strlen(kAdditionalDataPayloadWithoutRotatingDeviceId),
224-
resultPayload) == CHIP_NO_ERROR);
225-
NL_TEST_ASSERT(inSuite, strcmp(resultPayload.rotatingDeviceId.c_str(), "") == 0);
219+
EXPECT_EQ(ParseAdditionalDataPayload(kAdditionalDataPayloadWithoutRotatingDeviceId,
220+
strlen(kAdditionalDataPayloadWithoutRotatingDeviceId), resultPayload),
221+
CHIP_NO_ERROR);
222+
EXPECT_STREQ(resultPayload.rotatingDeviceId.c_str(), "");
226223
}
227224

228-
void TestParsingAdditionalDataPayloadWithInvalidRotatingDeviceIdLength(nlTestSuite * inSuite, void * inContext)
225+
TEST_F(TestAdditionalDataPayload, TestParsingAdditionalDataPayloadWithInvalidRotatingDeviceIdLength)
229226
{
230227
chip::SetupPayloadData::AdditionalDataPayload resultPayload;
231-
NL_TEST_ASSERT(inSuite,
232-
ParseAdditionalDataPayload(kAdditionalDataPayloadWithInvalidRotatingDeviceIdLength,
233-
strlen(kAdditionalDataPayloadWithInvalidRotatingDeviceIdLength),
234-
resultPayload) == CHIP_ERROR_TLV_UNDERRUN);
228+
EXPECT_EQ(ParseAdditionalDataPayload(kAdditionalDataPayloadWithInvalidRotatingDeviceIdLength,
229+
strlen(kAdditionalDataPayloadWithInvalidRotatingDeviceIdLength), resultPayload),
230+
CHIP_ERROR_TLV_UNDERRUN);
235231
}
236232

237-
void TestParsingAdditionalDataPayloadWithLongRotatingDeviceId(nlTestSuite * inSuite, void * inContext)
233+
TEST_F(TestAdditionalDataPayload, TestParsingAdditionalDataPayloadWithLongRotatingDeviceId)
238234
{
239235
chip::SetupPayloadData::AdditionalDataPayload resultPayload;
240-
NL_TEST_ASSERT(inSuite,
241-
ParseAdditionalDataPayload(kAdditionalDataPayloadWithLongRotatingDeviceId,
242-
strlen(kAdditionalDataPayloadWithLongRotatingDeviceId),
243-
resultPayload) == CHIP_ERROR_INVALID_STRING_LENGTH);
236+
EXPECT_EQ(ParseAdditionalDataPayload(kAdditionalDataPayloadWithLongRotatingDeviceId,
237+
strlen(kAdditionalDataPayloadWithLongRotatingDeviceId), resultPayload),
238+
CHIP_ERROR_INVALID_STRING_LENGTH);
244239
}
245240

246-
void TestParsingAdditionalDataPayloadWithShortRotatingDeviceId(nlTestSuite * inSuite, void * inContext)
241+
TEST_F(TestAdditionalDataPayload, TestParsingAdditionalDataPayloadWithShortRotatingDeviceId)
247242
{
248243
chip::SetupPayloadData::AdditionalDataPayload resultPayload;
249-
NL_TEST_ASSERT(inSuite,
250-
ParseAdditionalDataPayload(kAdditionalDataPayloadWithShortRotatingDeviceId,
251-
strlen(kAdditionalDataPayloadWithShortRotatingDeviceId),
252-
resultPayload) == CHIP_NO_ERROR);
253-
NL_TEST_ASSERT(inSuite, strcmp(resultPayload.rotatingDeviceId.c_str(), kShortRotatingDeviceId) == 0);
244+
EXPECT_EQ(ParseAdditionalDataPayload(kAdditionalDataPayloadWithShortRotatingDeviceId,
245+
strlen(kAdditionalDataPayloadWithShortRotatingDeviceId), resultPayload),
246+
CHIP_NO_ERROR);
247+
EXPECT_STREQ(resultPayload.rotatingDeviceId.c_str(), kShortRotatingDeviceId);
254248
}
255249

256-
/**
257-
* Test Suite that lists all the Test functions.
258-
*/
259-
// clang-format off
260-
const nlTest sTests[] =
261-
{
262-
NL_TEST_DEF("Test Generating Additional Data Payload without Rotatin gDevice Id", TestGeneratingAdditionalDataPayloadWithoutRotatingDeviceId),
263-
#if CHIP_ENABLE_ROTATING_DEVICE_ID
264-
NL_TEST_DEF("Test Generating Additional Data Payload with Rotating Device Id", TestGeneratingAdditionalDataPayloadWithRotatingDeviceId),
265-
NL_TEST_DEF("Test Generating Additional Data Payload with Rotating Device Id + Max Lifetime Counter", TestGeneratingAdditionalDataPayloadWithRotatingDeviceIdAndMaxLifetimeCounter),
266-
NL_TEST_DEF("Test Generating Additional Data Payload with Rotating Device Id + Null/Empty Inputs", TestGeneratingAdditionalDataPayloadWithRotatingDeviceIdWithNullInputs),
267-
NL_TEST_DEF("Test Generating Rotating Device Id as string", TestGeneratingRotatingDeviceIdAsString),
268-
NL_TEST_DEF("Test Generating Rotating Device Id as string with null/invalid inputs", TestGeneratingRotatingDeviceIdAsStringWithNullInputs),
269-
NL_TEST_DEF("Test Generating Rotating Device Id as string with small buffer", TestGeneratingRotatingDeviceIdWithSmallBuffer),
270-
#endif
271-
NL_TEST_DEF("Test Parsing Additional Data Payload with Rotating Device Id", TestParsingAdditionalDataPayloadWithRotatingDeviceId),
272-
NL_TEST_DEF("Test Parsing Additional Data Payload without Rotating Device Id", TestParsingAdditionalDataPayloadWithoutRotatingDeviceId),
273-
NL_TEST_DEF("Test Parsing Additional Data Payload with Invalid Rotating Device Id Length", TestParsingAdditionalDataPayloadWithInvalidRotatingDeviceIdLength),
274-
NL_TEST_DEF("Test Parsing Additional Data Payload with Long Rotating Device Id", TestParsingAdditionalDataPayloadWithLongRotatingDeviceId),
275-
NL_TEST_DEF("Test Parsing Additional Data Payload with Short Rotating Device Id", TestParsingAdditionalDataPayloadWithShortRotatingDeviceId),
276-
NL_TEST_SENTINEL()
277-
};
278-
// clang-format on
279-
280250
} // namespace
281-
282-
/**
283-
* Set up the test suite.
284-
*/
285-
int TestAdditionalDataPayload_Setup(void * inContext)
286-
{
287-
CHIP_ERROR error = chip::Platform::MemoryInit();
288-
if (error != CHIP_NO_ERROR)
289-
return FAILURE;
290-
return SUCCESS;
291-
}
292-
293-
/**
294-
* Tear down the test suite.
295-
*/
296-
int TestAdditionalDataPayload_Teardown(void * inContext)
297-
{
298-
chip::Platform::MemoryShutdown();
299-
return SUCCESS;
300-
}
301-
302-
/**
303-
* Main
304-
*/
305-
int TestAdditionalDataPayload()
306-
{
307-
// clang-format off
308-
nlTestSuite theSuite =
309-
{
310-
"chip-additional-data-payload-general-Tests",
311-
&sTests[0],
312-
TestAdditionalDataPayload_Setup,
313-
TestAdditionalDataPayload_Teardown
314-
};
315-
// clang-format on
316-
317-
// Generate machine-readable, comma-separated value (CSV) output.
318-
nl_test_set_output_style(OUTPUT_CSV);
319-
320-
return chip::ExecuteTestsWithoutContext(&theSuite);
321-
}
322-
323-
CHIP_REGISTER_TEST_SUITE(TestAdditionalDataPayload);

0 commit comments

Comments
 (0)