24
24
25
25
#include < math.h>
26
26
#include < memory>
27
- #include < nlunit-test.h>
28
27
#include < stdio.h>
29
28
29
+ #include < gtest/gtest.h>
30
+
30
31
#include < lib/support/BytesToHex.h>
31
32
#include < lib/support/CHIPMem.h>
32
33
#include < lib/support/CHIPMemString.h>
33
34
#include < lib/support/CHIPPlatformMemory.h>
34
- #include < lib/support/UnitTestContext .h>
35
+ #include < lib/support/verhoeff/Verhoeff .h>
35
36
#include < setup_payload/AdditionalDataPayloadGenerator.h>
36
37
#include < setup_payload/AdditionalDataPayloadParser.h>
37
38
#include < setup_payload/SetupPayload.h>
38
39
#include < system/SystemPacketBuffer.h>
39
40
40
- #include < lib/support/UnitTestRegistration.h>
41
- #include < lib/support/verhoeff/Verhoeff.h>
42
-
43
41
using namespace chip ;
44
42
45
43
namespace {
@@ -59,7 +57,7 @@ constexpr uint16_t kLifetimeCounter
59
57
constexpr uint16_t kShortRotatingIdLength = 5 ;
60
58
#endif // CHIP_ENABLE_ROTATING_DEVICE_ID
61
59
62
- CHIP_ERROR GenerateAdditionalDataPayload (nlTestSuite * inSuite, AdditionalDataPayloadGeneratorParams & additionalDataPayloadParams,
60
+ CHIP_ERROR GenerateAdditionalDataPayload (AdditionalDataPayloadGeneratorParams & additionalDataPayloadParams,
63
61
BitFlags<AdditionalDataFields> additionalDataFields, char * additionalDataPayloadOutput)
64
62
{
65
63
CHIP_ERROR err = CHIP_NO_ERROR;
@@ -69,7 +67,7 @@ CHIP_ERROR GenerateAdditionalDataPayload(nlTestSuite * inSuite, AdditionalDataPa
69
67
additionalDataFields);
70
68
if (err == CHIP_NO_ERROR)
71
69
{
72
- NL_TEST_ASSERT (inSuite, ! bufferHandle.IsNull ());
70
+ EXPECT_FALSE ( bufferHandle.IsNull ());
73
71
}
74
72
else
75
73
{
@@ -99,20 +97,25 @@ CHIP_ERROR ParseAdditionalDataPayload(const char * additionalDataPayload, size_t
99
97
return AdditionalDataPayloadParser (additionalDataPayloadBytes.get (), bufferSize).populatePayload (outPayload);
100
98
}
101
99
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)
103
108
{
104
109
BitFlags<AdditionalDataFields> additionalDataFields;
105
110
char output[kAdditionalDataPayloadLength ];
106
111
AdditionalDataPayloadGeneratorParams additionalDataPayloadParams;
107
112
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 );
112
115
}
113
116
114
117
#if CHIP_ENABLE_ROTATING_DEVICE_ID
115
- void TestGeneratingAdditionalDataPayloadWithRotatingDeviceId (nlTestSuite * inSuite, void * inContext )
118
+ TEST_F (TestAdditionalDataPayload, TestGeneratingAdditionalDataPayloadWithRotatingDeviceId )
116
119
{
117
120
BitFlags<AdditionalDataFields> additionalDataFields;
118
121
additionalDataFields.Set (AdditionalDataFields::RotatingDeviceId);
@@ -121,13 +124,11 @@ void TestGeneratingAdditionalDataPayloadWithRotatingDeviceId(nlTestSuite * inSui
121
124
additionalDataPayloadParams.rotatingDeviceIdUniqueId = ByteSpan (kUniqueId );
122
125
123
126
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 );
128
129
}
129
130
130
- void TestGeneratingAdditionalDataPayloadWithRotatingDeviceIdAndMaxLifetimeCounter (nlTestSuite * inSuite, void * inContext )
131
+ TEST_F (TestAdditionalDataPayload, TestGeneratingAdditionalDataPayloadWithRotatingDeviceIdAndMaxLifetimeCounter )
131
132
{
132
133
BitFlags<AdditionalDataFields> additionalDataFields;
133
134
additionalDataFields.Set (AdditionalDataFields::RotatingDeviceId);
@@ -136,25 +137,22 @@ void TestGeneratingAdditionalDataPayloadWithRotatingDeviceIdAndMaxLifetimeCounte
136
137
additionalDataPayloadParams.rotatingDeviceIdUniqueId = ByteSpan (kUniqueId );
137
138
138
139
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 );
143
142
}
144
143
145
- void TestGeneratingAdditionalDataPayloadWithRotatingDeviceIdWithNullInputs (nlTestSuite * inSuite, void * inContext )
144
+ TEST_F (TestAdditionalDataPayload, TestGeneratingAdditionalDataPayloadWithRotatingDeviceIdWithNullInputs )
146
145
{
147
146
BitFlags<AdditionalDataFields> additionalDataFields;
148
147
additionalDataFields.Set (AdditionalDataFields::RotatingDeviceId);
149
148
AdditionalDataPayloadGeneratorParams additionalDataPayloadParams;
150
149
151
150
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);
155
153
}
156
154
157
- void TestGeneratingRotatingDeviceIdAsString (nlTestSuite * inSuite, void * inContext )
155
+ TEST_F (TestAdditionalDataPayload, TestGeneratingRotatingDeviceIdAsString )
158
156
{
159
157
CHIP_ERROR err = CHIP_NO_ERROR;
160
158
char rotatingDeviceIdHexBuffer[RotatingDeviceId::kHexMaxLength ];
@@ -165,19 +163,19 @@ void TestGeneratingRotatingDeviceIdAsString(nlTestSuite * inSuite, void * inCont
165
163
err = AdditionalDataPayloadGenerator ().generateRotatingDeviceIdAsHexString (
166
164
additionalDataPayloadParams, rotatingDeviceIdHexBuffer, ArraySize (rotatingDeviceIdHexBuffer),
167
165
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 );
170
168
// Parsing out the lifetime counter value
171
169
long lifetimeCounter;
172
170
char lifetimeCounterStr[3 ];
173
171
Platform::CopyString (lifetimeCounterStr, rotatingDeviceIdHexBuffer);
174
172
175
173
char * parseEnd;
176
174
lifetimeCounter = strtol (lifetimeCounterStr, &parseEnd, 16 );
177
- NL_TEST_ASSERT (inSuite, lifetimeCounter == kLifetimeCounter );
175
+ EXPECT_EQ ( lifetimeCounter, kLifetimeCounter );
178
176
}
179
177
180
- void TestGeneratingRotatingDeviceIdAsStringWithNullInputs (nlTestSuite * inSuite, void * inContext )
178
+ TEST_F (TestAdditionalDataPayload, TestGeneratingRotatingDeviceIdAsStringWithNullInputs )
181
179
{
182
180
CHIP_ERROR err = CHIP_NO_ERROR;
183
181
char rotatingDeviceIdHexBuffer[RotatingDeviceId::kHexMaxLength ];
@@ -188,10 +186,10 @@ void TestGeneratingRotatingDeviceIdAsStringWithNullInputs(nlTestSuite * inSuite,
188
186
err = AdditionalDataPayloadGenerator ().generateRotatingDeviceIdAsHexString (
189
187
additionalDataPayloadParams, rotatingDeviceIdHexBuffer, ArraySize (rotatingDeviceIdHexBuffer),
190
188
rotatingDeviceIdValueOutputSize);
191
- NL_TEST_ASSERT (inSuite, err == CHIP_ERROR_INVALID_ARGUMENT);
189
+ EXPECT_EQ ( err, CHIP_ERROR_INVALID_ARGUMENT);
192
190
}
193
191
194
- void TestGeneratingRotatingDeviceIdWithSmallBuffer (nlTestSuite * inSuite, void * inContext )
192
+ TEST_F (TestAdditionalDataPayload, TestGeneratingRotatingDeviceIdWithSmallBuffer )
195
193
{
196
194
CHIP_ERROR err = CHIP_NO_ERROR;
197
195
char rotatingDeviceIdHexBuffer[kShortRotatingIdLength ];
@@ -202,122 +200,51 @@ void TestGeneratingRotatingDeviceIdWithSmallBuffer(nlTestSuite * inSuite, void *
202
200
err = AdditionalDataPayloadGenerator ().generateRotatingDeviceIdAsHexString (
203
201
additionalDataPayloadParams, rotatingDeviceIdHexBuffer, ArraySize (rotatingDeviceIdHexBuffer),
204
202
rotatingDeviceIdValueOutputSize);
205
- NL_TEST_ASSERT (inSuite, err == CHIP_ERROR_BUFFER_TOO_SMALL);
203
+ EXPECT_EQ ( err, CHIP_ERROR_BUFFER_TOO_SMALL);
206
204
}
207
205
#endif // CHIP_ENABLE_ROTATING_DEVICE_ID
208
206
209
- void TestParsingAdditionalDataPayloadWithRotatingDeviceId (nlTestSuite * inSuite, void * inContext )
207
+ TEST_F (TestAdditionalDataPayload, TestParsingAdditionalDataPayloadWithRotatingDeviceId )
210
208
{
211
209
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 );
216
214
}
217
215
218
- void TestParsingAdditionalDataPayloadWithoutRotatingDeviceId (nlTestSuite * inSuite, void * inContext )
216
+ TEST_F (TestAdditionalDataPayload, TestParsingAdditionalDataPayloadWithoutRotatingDeviceId )
219
217
{
220
218
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 (), " " );
226
223
}
227
224
228
- void TestParsingAdditionalDataPayloadWithInvalidRotatingDeviceIdLength (nlTestSuite * inSuite, void * inContext )
225
+ TEST_F (TestAdditionalDataPayload, TestParsingAdditionalDataPayloadWithInvalidRotatingDeviceIdLength )
229
226
{
230
227
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);
235
231
}
236
232
237
- void TestParsingAdditionalDataPayloadWithLongRotatingDeviceId (nlTestSuite * inSuite, void * inContext )
233
+ TEST_F (TestAdditionalDataPayload, TestParsingAdditionalDataPayloadWithLongRotatingDeviceId )
238
234
{
239
235
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);
244
239
}
245
240
246
- void TestParsingAdditionalDataPayloadWithShortRotatingDeviceId (nlTestSuite * inSuite, void * inContext )
241
+ TEST_F (TestAdditionalDataPayload, TestParsingAdditionalDataPayloadWithShortRotatingDeviceId )
247
242
{
248
243
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 );
254
248
}
255
249
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
-
280
250
} // 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