Skip to content

Commit 85d4114

Browse files
authoredApr 30, 2024
Darwin: Add more tests and tidy up MTRSetupPayload (#33234)
* Darwin Tests: Make MTRSetupPayload initialization test reliable Also rename the tests to more conventional names. * Add regression test for #31129 * Add regression test for #23357 * Add test for NSSecureCoding support * Darwin: Tidy up MTRSetupPayload headers / includes * Darwin: return nil on error in MTRSetupPayload getAllOptionalVendorData
1 parent ee53359 commit 85d4114

File tree

5 files changed

+129
-44
lines changed

5 files changed

+129
-44
lines changed
 

‎src/darwin/Framework/CHIP/MTRSetupPayload.mm

+10-7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
*
3-
* Copyright (c) 2020 Project CHIP Authors
3+
* Copyright (c) 2020-2024 Project CHIP Authors
44
*
55
* Licensed under the Apache License, Version 2.0 (the "License");
66
* you may not use this file except in compliance with the License.
@@ -15,20 +15,21 @@
1515
* limitations under the License.
1616
*/
1717

18-
#import "MTRError.h"
18+
#import "MTRSetupPayload_Internal.h"
19+
1920
#import "MTRError_Internal.h"
2021
#import "MTRFramework.h"
2122
#import "MTROnboardingPayloadParser.h"
22-
#import "MTRSetupPayload_Internal.h"
23-
#import "setup_payload/ManualSetupPayloadGenerator.h"
24-
#import "setup_payload/QRCodeSetupPayloadGenerator.h"
25-
#import <setup_payload/SetupPayload.h>
2623

24+
#include <setup_payload/ManualSetupPayloadGenerator.h>
25+
#include <setup_payload/QRCodeSetupPayloadGenerator.h>
26+
#include <setup_payload/SetupPayload.h>
2727
#include <string>
2828

2929
@implementation MTROptionalQRCodeInfo
3030
@end
3131

32+
MTR_DIRECT_MEMBERS
3233
@implementation MTRSetupPayload {
3334
chip::SetupPayload _chipSetupPayload;
3435
}
@@ -182,7 +183,7 @@ - (void)getSerialNumber:(chip::SetupPayload)setupPayload
182183
if (error) {
183184
*error = [NSError errorWithDomain:MTRErrorDomain code:MTRErrorCodeInvalidArgument userInfo:nil];
184185
}
185-
return @[];
186+
return nil;
186187
}
187188
[allOptionalData addObject:info];
188189
}
@@ -418,6 +419,7 @@ + (MTRDiscoveryCapabilities)_unboxDiscoveryCapabilities:(nullable NSNumber *)box
418419

419420
@end
420421

422+
MTR_DIRECT_MEMBERS
421423
@implementation MTROptionalQRCodeInfo (Deprecated)
422424

423425
- (NSNumber *)infoType
@@ -432,6 +434,7 @@ - (void)setInfoType:(NSNumber *)infoType
432434

433435
@end
434436

437+
MTR_DIRECT_MEMBERS
435438
@implementation MTRSetupPayload (Deprecated)
436439

437440
- (nullable NSNumber *)rendezvousInformation

‎src/darwin/Framework/CHIP/MTRSetupPayload_Internal.h

+19-8
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,30 @@
1-
//
2-
// MTRSetupPayload_Internal.h
3-
// MTR
4-
//
5-
// Copyright © 2021 CHIP. All rights reserved.
6-
//
7-
8-
#import <Foundation/Foundation.h>
1+
/**
2+
*
3+
* Copyright (c) 2021-2024 Project CHIP Authors
4+
*
5+
* Licensed under the Apache License, Version 2.0 (the "License");
6+
* you may not use this file except in compliance with the License.
7+
* You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
917

1018
#import "MTRSetupPayload.h"
1119

20+
#import "MTRDefines_Internal.h"
21+
1222
#ifdef __cplusplus
1323
#import <lib/core/Optional.h>
1424
#import <setup_payload/SetupPayload.h>
1525
#endif
1626

27+
MTR_DIRECT_MEMBERS
1728
@interface MTRSetupPayload ()
1829

1930
#ifdef __cplusplus

‎src/darwin/Framework/CHIPTests/MTRSetupPayloadSerializerTests.m ‎src/darwin/Framework/CHIPTests/MTRSetupPayloadInitializationTests.m

+13-10
Original file line numberDiff line numberDiff line change
@@ -13,20 +13,25 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
// module headers
17-
#import "MTRSetupPayload.h"
1816

19-
// additional includes
20-
#import "MTRError.h"
21-
22-
// system dependencies
17+
#import <Matter/Matter.h>
2318
#import <XCTest/XCTest.h>
2419

25-
@interface MTRSetupPayloadSerializerTests : XCTestCase
20+
@interface MTRSetupPayloadInitializationTests : XCTestCase
2621

2722
@end
2823

29-
@implementation MTRSetupPayloadSerializerTests
24+
@implementation MTRSetupPayloadInitializationTests
25+
26+
- (BOOL)shouldRelaunchBeforeRunningTest
27+
{
28+
// By having xctest restart the process before each test case we
29+
// ensure that the relevant MTRSetupPayload code paths correctly
30+
// call chip::Platform::MemoryInit().
31+
// Tests that are not specifically designed to test this should
32+
// be added to MTRSetupPayloadTests to avoid this extra overhead.
33+
return YES;
34+
}
3035

3136
- (void)testSetupPayloadBasicQRCodeSerialize
3237
{
@@ -49,6 +54,4 @@ - (void)testSetupPayloadBasicQRCodeSerialize
4954
XCTAssertEqualObjects(qrCode, @"MT:-24J06.H14BK9C7R900");
5055
}
5156

52-
// Make sure to not add any tests that involve parsing setup payloads to this
53-
// file. Those should go in MTRSetupPayloadParserTests.m.
5457
@end

‎src/darwin/Framework/CHIPTests/MTRSetupPayloadParserTests.m ‎src/darwin/Framework/CHIPTests/MTRSetupPayloadTests.m

+79-11
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
//
2-
// MTRSetupPayloadParserTests.m
3-
// MTRQRCodeReaderTests
41
/**
52
*
63
* Copyright (c) 2020 Project CHIP Authors
@@ -17,20 +14,15 @@
1714
* See the License for the specific language governing permissions and
1815
* limitations under the License.
1916
*/
20-
// module headers
21-
#import "MTRSetupPayload.h"
2217

23-
// additional includes
24-
#import "MTRError.h"
25-
26-
// system dependencies
18+
#import <Matter/Matter.h>
2719
#import <XCTest/XCTest.h>
2820

29-
@interface MTRSetupPayloadParserTests : XCTestCase
21+
@interface MTRSetupPayloadTests : XCTestCase
3022

3123
@end
3224

33-
@implementation MTRSetupPayloadParserTests
25+
@implementation MTRSetupPayloadTests
3426

3527
- (void)testOnboardingPayloadParser_Manual_NoError
3628
{
@@ -275,4 +267,80 @@ - (void)testSerialNumberRoundTrip
275267
XCTAssertEqualObjects(newPayload.serialNumber, serialNumber);
276268
}
277269

270+
- (void)test31129 // https://github.com/project-chip/connectedhomeip/issues/31129
271+
{
272+
MTRSetupPayload * payload = [[MTRSetupPayload alloc] initWithSetupPasscode:@99999998 discriminator:@3840];
273+
XCTAssertNotNil(payload);
274+
// The payload should be representable in at least one of manual or QR format.
275+
XCTAssert(payload.manualEntryCode != nil || [payload qrCodeString:NULL] != nil);
276+
}
277+
278+
- (void)test23357 // https://github.com/project-chip/connectedhomeip/pull/23357
279+
{
280+
// Should return nil for invalid payloads (e.g. invalid passcode "@11111111")
281+
XCTAssertNil([MTRSetupPayload setupPayloadWithOnboardingPayload:@"MT:-24J042C00KMSP0Z800" error:NULL]);
282+
XCTAssertNil([MTRSetupPayload setupPayloadWithOnboardingPayload:@"35191106788" error:NULL]);
283+
}
284+
285+
- (void)testSecureCodingRoundtrip
286+
{
287+
NSError * error;
288+
NSMutableArray<MTRSetupPayload *> * payloads = [[NSMutableArray alloc] init];
289+
for (NSString * string in @[
290+
@"34970112332",
291+
@"641286075300001000016",
292+
@"MT:M5L90MP500K64J00000",
293+
@"MT:M5L90MP500K64J0A33P0SET70.QT52B.E23-WZE0WISA0DK5N1K8SQ1RYCU1O0"
294+
]) {
295+
MTRSetupPayload * payload = [MTRSetupPayload setupPayloadWithOnboardingPayload:string error:&error];
296+
XCTAssertNotNil(payload, @"Error: %@", error);
297+
[payloads addObject:payload];
298+
}
299+
300+
// Also test some other payloads that don't have a valid QR / MPC representation
301+
[payloads addObject:[[MTRSetupPayload alloc] init]];
302+
[payloads addObject:[[MTRSetupPayload alloc] initWithSetupPasscode:@22222222 discriminator:@42]];
303+
304+
for (MTRSetupPayload * payload in payloads) {
305+
NSData * data = [NSKeyedArchiver archivedDataWithRootObject:payload requiringSecureCoding:YES error:&error];
306+
XCTAssertNotNil(data, @"Error: %@", error);
307+
MTRSetupPayload * decoded = [NSKeyedUnarchiver unarchivedObjectOfClass:MTRSetupPayload.class fromData:data error:&error];
308+
XCTAssertNotNil(decoded, @"Error: %@", error);
309+
310+
XCTAssertEqualObjects(decoded.version, payload.version);
311+
XCTAssertEqualObjects(decoded.vendorID, payload.vendorID);
312+
XCTAssertEqualObjects(decoded.productID, payload.productID);
313+
XCTAssertEqual(decoded.commissioningFlow, payload.commissioningFlow);
314+
XCTAssertEqual(decoded.discoveryCapabilities, payload.discoveryCapabilities);
315+
XCTAssertEqual(decoded.hasShortDiscriminator, payload.hasShortDiscriminator);
316+
XCTAssertEqualObjects(decoded.discriminator, payload.discriminator);
317+
XCTAssertEqualObjects(decoded.setupPasscode, payload.setupPasscode);
318+
XCTAssertEqualObjects(decoded.serialNumber, payload.serialNumber);
319+
320+
NSArray<MTROptionalQRCodeInfo *> * payloadVDs = [payload getAllOptionalVendorData:&error];
321+
XCTAssertNotNil(payloadVDs, @"Error: %@", error);
322+
NSArray<MTROptionalQRCodeInfo *> * decodedVDs = [decoded getAllOptionalVendorData:&error];
323+
XCTAssertNotNil(decodedVDs, @"Error: %@", error);
324+
325+
#if 0 // TODO: Encode / decode optional vendor data
326+
// MTROptionalQRCodeInfo does not implement isEqual (yet)
327+
XCTAssertEqual(decodedVDs.count, payloadVDs.count);
328+
for (int i = 0; i < decodedVDs.count; i++){
329+
MTROptionalQRCodeInfo * decodedVD = decodedVDs[i];
330+
MTROptionalQRCodeInfo * payloadVD = payloadVDs[i];
331+
XCTAssertEqual(decodedVD.type, payloadVD.type);
332+
XCTAssertEqualObjects(decodedVD.tag, payloadVD.tag);
333+
XCTAssertEqualObjects(decodedVD.integerValue, payloadVD.integerValue);
334+
XCTAssertEqualObjects(decodedVD.stringValue, payloadVD.stringValue);
335+
}
336+
#endif
337+
338+
// Note that we can't necessarily expect the manualEntryCode and qrCode strings
339+
// we generate here to match the original string, but we should get the same
340+
// output from the decoded and original objects.
341+
XCTAssertEqualObjects([decoded qrCodeString:NULL], [payload qrCodeString:NULL]);
342+
XCTAssertEqualObjects(decoded.manualEntryCode, payload.manualEntryCode);
343+
}
344+
}
345+
278346
@end

‎src/darwin/Framework/Matter.xcodeproj/project.pbxproj

+8-8
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@
108108
3CF134AF289D90FF0017A19E /* MTROperationalCertificateIssuer.h in Headers */ = {isa = PBXBuildFile; fileRef = 3CF134AE289D90FF0017A19E /* MTROperationalCertificateIssuer.h */; settings = {ATTRIBUTES = (Public, ); }; };
109109
3D0C484B29DA4FA0006D811F /* MTRErrorTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D0C484A29DA4FA0006D811F /* MTRErrorTests.m */; };
110110
3D3928D72BBCEA3D00CDEBB2 /* MTRAvailabilityTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D3928D62BBCEA3D00CDEBB2 /* MTRAvailabilityTests.m */; settings = {COMPILER_FLAGS = "-UMTR_NO_AVAILABILITY -Wno-unguarded-availability-new"; }; };
111+
3D4733AF2BDF1B80003DC19B /* MTRSetupPayloadTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D4733AE2BDF1B80003DC19B /* MTRSetupPayloadTests.m */; };
111112
3D69868529383096007314E7 /* com.csa.matter.plist in Copy Logging Preferences */ = {isa = PBXBuildFile; fileRef = 3D69868029382EF4007314E7 /* com.csa.matter.plist */; };
112113
3D843711294977000070D20A /* NSStringSpanConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D84370E294977000070D20A /* NSStringSpanConversion.h */; };
113114
3D843712294977000070D20A /* MTRCallbackBridgeBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D84370F294977000070D20A /* MTRCallbackBridgeBase.h */; };
@@ -193,7 +194,7 @@
193194
517BF3F3282B62CB00A8B7DB /* MTRCertificateTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 517BF3F2282B62CB00A8B7DB /* MTRCertificateTests.m */; };
194195
518D3F832AA132DC008E0007 /* MTRTestPerControllerStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = 518D3F812AA132DC008E0007 /* MTRTestPerControllerStorage.m */; };
195196
518D3F852AA14006008E0007 /* MTRControllerAdvertisingTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 518D3F842AA14006008E0007 /* MTRControllerAdvertisingTests.m */; };
196-
519498322A25581C00B3BABE /* MTRSetupPayloadSerializerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 519498312A25581C00B3BABE /* MTRSetupPayloadSerializerTests.m */; };
197+
519498322A25581C00B3BABE /* MTRSetupPayloadInitializationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 519498312A25581C00B3BABE /* MTRSetupPayloadInitializationTests.m */; };
197198
51A2F1322A00402A00F03298 /* MTRDataValueParserTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 51A2F1312A00402A00F03298 /* MTRDataValueParserTests.m */; };
198199
51B22C1E2740CB0A008D5055 /* MTRStructsObjc.h in Headers */ = {isa = PBXBuildFile; fileRef = 51B22C1D2740CB0A008D5055 /* MTRStructsObjc.h */; settings = {ATTRIBUTES = (Public, ); }; };
199200
51B22C222740CB1D008D5055 /* MTRCommandPayloadsObjc.h in Headers */ = {isa = PBXBuildFile; fileRef = 51B22C212740CB1D008D5055 /* MTRCommandPayloadsObjc.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -309,7 +310,6 @@
309310
B2E0D7B7245B0B5C003C5B48 /* MTRQRCodeSetupPayloadParser.mm in Sources */ = {isa = PBXBuildFile; fileRef = B2E0D7AE245B0B5C003C5B48 /* MTRQRCodeSetupPayloadParser.mm */; };
310311
B2E0D7B8245B0B5C003C5B48 /* MTRSetupPayload.h in Headers */ = {isa = PBXBuildFile; fileRef = B2E0D7AF245B0B5C003C5B48 /* MTRSetupPayload.h */; settings = {ATTRIBUTES = (Public, ); }; };
311312
B2E0D7B9245B0B5C003C5B48 /* MTRSetupPayload.mm in Sources */ = {isa = PBXBuildFile; fileRef = B2E0D7B0245B0B5C003C5B48 /* MTRSetupPayload.mm */; };
312-
B2F53AF2245B0DCF0010745E /* MTRSetupPayloadParserTests.m in Sources */ = {isa = PBXBuildFile; fileRef = B2F53AF1245B0DCF0010745E /* MTRSetupPayloadParserTests.m */; };
313313
B45373AA2A9FE73400807602 /* WebSocketServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B45373A92A9FE73400807602 /* WebSocketServer.cpp */; };
314314
B45373BD2A9FEA9100807602 /* service.c in Sources */ = {isa = PBXBuildFile; fileRef = B45373B22A9FEA9000807602 /* service.c */; settings = {COMPILER_FLAGS = "-Wno-error -Wno-unreachable-code -Wno-conversion -Wno-format-nonliteral"; }; };
315315
B45373BE2A9FEA9100807602 /* network.c in Sources */ = {isa = PBXBuildFile; fileRef = B45373B32A9FEA9000807602 /* network.c */; settings = {COMPILER_FLAGS = "-Wno-error -Wno-unreachable-code -Wno-conversion -Wno-format-nonliteral"; }; };
@@ -498,6 +498,7 @@
498498
3CF134AE289D90FF0017A19E /* MTROperationalCertificateIssuer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MTROperationalCertificateIssuer.h; sourceTree = "<group>"; };
499499
3D0C484A29DA4FA0006D811F /* MTRErrorTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MTRErrorTests.m; sourceTree = "<group>"; };
500500
3D3928D62BBCEA3D00CDEBB2 /* MTRAvailabilityTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MTRAvailabilityTests.m; sourceTree = "<group>"; };
501+
3D4733AE2BDF1B80003DC19B /* MTRSetupPayloadTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTRSetupPayloadTests.m; sourceTree = "<group>"; };
501502
3D69868029382EF4007314E7 /* com.csa.matter.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = com.csa.matter.plist; sourceTree = "<group>"; };
502503
3D84370E294977000070D20A /* NSStringSpanConversion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSStringSpanConversion.h; sourceTree = "<group>"; };
503504
3D84370F294977000070D20A /* MTRCallbackBridgeBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MTRCallbackBridgeBase.h; sourceTree = "<group>"; };
@@ -601,7 +602,7 @@
601602
518D3F812AA132DC008E0007 /* MTRTestPerControllerStorage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTRTestPerControllerStorage.m; sourceTree = "<group>"; };
602603
518D3F822AA132DC008E0007 /* MTRTestPerControllerStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MTRTestPerControllerStorage.h; sourceTree = "<group>"; };
603604
518D3F842AA14006008E0007 /* MTRControllerAdvertisingTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTRControllerAdvertisingTests.m; sourceTree = "<group>"; };
604-
519498312A25581C00B3BABE /* MTRSetupPayloadSerializerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTRSetupPayloadSerializerTests.m; sourceTree = "<group>"; };
605+
519498312A25581C00B3BABE /* MTRSetupPayloadInitializationTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTRSetupPayloadInitializationTests.m; sourceTree = "<group>"; };
605606
51A2F1312A00402A00F03298 /* MTRDataValueParserTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTRDataValueParserTests.m; sourceTree = "<group>"; };
606607
51B22C1D2740CB0A008D5055 /* MTRStructsObjc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MTRStructsObjc.h; sourceTree = "<group>"; };
607608
51B22C212740CB1D008D5055 /* MTRCommandPayloadsObjc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MTRCommandPayloadsObjc.h; sourceTree = "<group>"; };
@@ -725,7 +726,6 @@
725726
B2E0D7AE245B0B5C003C5B48 /* MTRQRCodeSetupPayloadParser.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MTRQRCodeSetupPayloadParser.mm; sourceTree = "<group>"; };
726727
B2E0D7AF245B0B5C003C5B48 /* MTRSetupPayload.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MTRSetupPayload.h; sourceTree = "<group>"; };
727728
B2E0D7B0245B0B5C003C5B48 /* MTRSetupPayload.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MTRSetupPayload.mm; sourceTree = "<group>"; };
728-
B2F53AF1245B0DCF0010745E /* MTRSetupPayloadParserTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTRSetupPayloadParserTests.m; sourceTree = "<group>"; };
729729
B45373A92A9FE73400807602 /* WebSocketServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebSocketServer.cpp; sourceTree = "<group>"; };
730730
B45373B22A9FEA9000807602 /* service.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = service.c; path = "repo/lib/core-net/service.c"; sourceTree = "<group>"; };
731731
B45373B32A9FEA9000807602 /* network.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = network.c; path = "repo/lib/core-net/network.c"; sourceTree = "<group>"; };
@@ -1390,8 +1390,8 @@
13901390
51742B4D29CB6B88009974FE /* MTRPairingTests.m */,
13911391
51E95DF72A78110900A434F0 /* MTRPerControllerStorageTests.m */,
13921392
51D0B1292B61766F006E3511 /* MTRServerEndpointTests.m */,
1393-
B2F53AF1245B0DCF0010745E /* MTRSetupPayloadParserTests.m */,
1394-
519498312A25581C00B3BABE /* MTRSetupPayloadSerializerTests.m */,
1393+
3D4733AE2BDF1B80003DC19B /* MTRSetupPayloadTests.m */,
1394+
519498312A25581C00B3BABE /* MTRSetupPayloadInitializationTests.m */,
13951395
51E0FC0F2ACBBF230001E197 /* MTRSwiftDeviceTests.swift */,
13961396
5143851D2A65885500EDC8E6 /* MTRSwiftPairingTests.swift */,
13971397
997DED1926955D0200975E97 /* MTRThreadOperationalDatasetTests.mm */,
@@ -2000,13 +2000,13 @@
20002000
5AE6D4E427A99041001F2493 /* MTRDeviceTests.m in Sources */,
20012001
510CECA8297F72970064E0B3 /* MTROperationalCertificateIssuerTests.m in Sources */,
20022002
5A7947DE27BEC3F500434CF2 /* MTRXPCListenerSampleTests.m in Sources */,
2003-
B2F53AF2245B0DCF0010745E /* MTRSetupPayloadParserTests.m in Sources */,
20042003
3DFCB3292966684500332B35 /* MTRCertificateInfoTests.m in Sources */,
20052004
517BF3F3282B62CB00A8B7DB /* MTRCertificateTests.m in Sources */,
20062005
5142E39829D377F000A206F0 /* MTROTAProviderTests.m in Sources */,
20072006
51E0FC102ACBBF230001E197 /* MTRSwiftDeviceTests.swift in Sources */,
2007+
3D4733AF2BDF1B80003DC19B /* MTRSetupPayloadTests.m in Sources */,
20082008
51E24E73274E0DAC007CCF6E /* MTRErrorTestUtils.mm in Sources */,
2009-
519498322A25581C00B3BABE /* MTRSetupPayloadSerializerTests.m in Sources */,
2009+
519498322A25581C00B3BABE /* MTRSetupPayloadInitializationTests.m in Sources */,
20102010
51A2F1322A00402A00F03298 /* MTRDataValueParserTests.m in Sources */,
20112011
51E95DF82A78110900A434F0 /* MTRPerControllerStorageTests.m in Sources */,
20122012
51D9CB0B2BA37DCE0049D6DB /* MTRDSTOffsetTests.m in Sources */,

0 commit comments

Comments
 (0)
Please sign in to comment.