Skip to content

Commit 3e26846

Browse files
yufengwangcapull[bot]
authored andcommitted
CheckGenerator should fail if generating decimal representation failed (#27533)
1 parent c7ff7fa commit 3e26846

File tree

1 file changed

+39
-32
lines changed

1 file changed

+39
-32
lines changed

src/setup_payload/tests/TestManualCode.cpp

+39-32
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,14 @@ bool CheckGenerator(const PayloadContents & payload, std::string expectedResult,
4646
std::string result;
4747
ManualSetupPayloadGenerator generator(payload);
4848
generator.SetAllowInvalidPayload(allowInvalidPayload);
49-
generator.payloadDecimalStringRepresentation(result);
49+
50+
CHIP_ERROR err = generator.payloadDecimalStringRepresentation(result);
51+
52+
if (err != CHIP_NO_ERROR)
53+
{
54+
printf("Failed to generate decimal representation with error: %s\n", ErrorStr(err));
55+
return false;
56+
}
5057

5158
if (!expectedResult.empty())
5259
{
@@ -103,18 +110,6 @@ void TestDecimalRepresentation_FullPayloadWithZeros(nlTestSuite * inSuite, void
103110
NL_TEST_ASSERT(inSuite, CheckGenerator(payload, expectedResult));
104111
}
105112

106-
void TestDecimalRepresentation_FullPayloadWithoutZeros(nlTestSuite * inSuite, void * inContext)
107-
{
108-
PayloadContents payload = GetDefaultPayload();
109-
payload.commissioningFlow = CommissioningFlow::kCustom;
110-
payload.vendorID = 45367;
111-
payload.productID = 14526;
112-
113-
std::string expectedResult = "64129507534536714526";
114-
115-
NL_TEST_ASSERT(inSuite, CheckGenerator(payload, expectedResult));
116-
}
117-
118113
void TestDecimalRepresentation_FullPayloadWithoutZeros_DoesNotRequireCustomFlow(nlTestSuite * inSuite, void * inContext)
119114
{
120115
PayloadContents payload = GetDefaultPayload();
@@ -126,29 +121,16 @@ void TestDecimalRepresentation_FullPayloadWithoutZeros_DoesNotRequireCustomFlow(
126121
NL_TEST_ASSERT(inSuite, CheckGenerator(payload, expectedResult));
127122
}
128123

129-
void TestDecimalRepresentation_AllZeros(nlTestSuite * inSuite, void * inContext)
130-
{
131-
PayloadContents payload;
132-
payload.setUpPINCode = 0;
133-
payload.discriminator.SetLongValue(0);
134-
135-
std::string expectedResult;
136-
137-
NL_TEST_ASSERT(inSuite, CheckGenerator(payload, expectedResult));
138-
}
139-
140-
void TestDecimalRepresentation_AllOnes(nlTestSuite * inSuite, void * inContext)
124+
void TestDecimalRepresentation_FullPayloadWithoutZeros(nlTestSuite * inSuite, void * inContext)
141125
{
142-
PayloadContents payload;
143-
payload.setUpPINCode = 0x7FFFFFF;
144-
payload.discriminator.SetLongValue(0xFFF);
126+
PayloadContents payload = GetDefaultPayload();
145127
payload.commissioningFlow = CommissioningFlow::kCustom;
146-
payload.vendorID = 65535;
147-
payload.productID = 65535;
128+
payload.vendorID = 45367;
129+
payload.productID = 14526;
148130

149-
std::string expectedResult = "76553581916553565535";
131+
std::string expectedResult = "64129507534536714526";
150132

151-
NL_TEST_ASSERT(inSuite, CheckGenerator(payload, expectedResult, /*allowInvalidPayload*/ true));
133+
NL_TEST_ASSERT(inSuite, CheckGenerator(payload, expectedResult));
152134
}
153135

154136
void assertPayloadValues(nlTestSuite * inSuite, CHIP_ERROR actualError, CHIP_ERROR expectedError, const PayloadContents & payload,
@@ -204,6 +186,31 @@ void TestGenerateAndParser_ManualSetupCodeWithLongDiscriminator(nlTestSuite * in
204186
}
205187
}
206188

189+
void TestDecimalRepresentation_AllZeros(nlTestSuite * inSuite, void * inContext)
190+
{
191+
PayloadContents payload;
192+
payload.setUpPINCode = 0;
193+
payload.discriminator.SetLongValue(0);
194+
195+
std::string expectedResult;
196+
197+
NL_TEST_ASSERT(inSuite, CheckGenerator(payload, expectedResult) == false);
198+
}
199+
200+
void TestDecimalRepresentation_AllOnes(nlTestSuite * inSuite, void * inContext)
201+
{
202+
PayloadContents payload;
203+
payload.setUpPINCode = 0x7FFFFFF;
204+
payload.discriminator.SetLongValue(0xFFF);
205+
payload.commissioningFlow = CommissioningFlow::kCustom;
206+
payload.vendorID = 65535;
207+
payload.productID = 65535;
208+
209+
std::string expectedResult = "76553581916553565535";
210+
211+
NL_TEST_ASSERT(inSuite, CheckGenerator(payload, expectedResult, /*allowInvalidPayload*/ true));
212+
}
213+
207214
char ComputeCheckChar(const std::string & str)
208215
{
209216
// Strip out dashes, if any, from the string before computing the checksum.

0 commit comments

Comments
 (0)