@@ -87,32 +87,41 @@ - (void)testLoadWithOptionsThenExecuteOnCoreMLDelegatedModel {
8787- (void )testBackendOptionsMapValidation {
8888 NSError *error = nil ;
8989 // Oversized integer.
90+ // NOTE: dict/array literals are extracted to locals because the C
91+ // preprocessor only treats `()` as nesting — commas inside `@{...}` and
92+ // `@[...]` would otherwise split the XCTAssertNil(...) macro argument.
9093 long long oversized = (long long )INT32_MAX + 1 ;
91- XCTAssertNil ([ExecuTorchBackendOptionsMap mapWithOptions: @{
92- @" AnyBackend" : @[
93- [ExecuTorchBackendOption optionWithKey: @" too_big" integerValue: (NSInteger )oversized],
94- ]
95- } error: &error]);
94+ ExecuTorchBackendOptionsMap *oversizedIntMap =
95+ [ExecuTorchBackendOptionsMap mapWithOptions: @{
96+ @" AnyBackend" : @[
97+ [ExecuTorchBackendOption optionWithKey: @" too_big" integerValue: (NSInteger )oversized],
98+ ]
99+ } error: &error];
100+ XCTAssertNil (oversizedIntMap);
96101 XCTAssertNotNil (error);
97102
98103 // Oversized key.
99104 error = nil ;
100105 NSString *longKey = [@" " stringByPaddingToLength: 256 withString: @" k" startingAtIndex: 0 ];
101- XCTAssertNil ([ExecuTorchBackendOptionsMap mapWithOptions: @{
102- @" AnyBackend" : @[
103- [ExecuTorchBackendOption optionWithKey: longKey integerValue: 1 ],
104- ]
105- } error: &error]);
106+ ExecuTorchBackendOptionsMap *oversizedKeyMap =
107+ [ExecuTorchBackendOptionsMap mapWithOptions: @{
108+ @" AnyBackend" : @[
109+ [ExecuTorchBackendOption optionWithKey: longKey integerValue: 1 ],
110+ ]
111+ } error: &error];
112+ XCTAssertNil (oversizedKeyMap);
106113 XCTAssertNotNil (error);
107114
108115 // Oversized string value.
109116 error = nil ;
110117 NSString *longValue = [@" " stringByPaddingToLength: 4096 withString: @" v" startingAtIndex: 0 ];
111- XCTAssertNil ([ExecuTorchBackendOptionsMap mapWithOptions: @{
112- @" AnyBackend" : @[
113- [ExecuTorchBackendOption optionWithKey: @" compute_unit" stringValue: longValue],
114- ]
115- } error: &error]);
118+ ExecuTorchBackendOptionsMap *oversizedValueMap =
119+ [ExecuTorchBackendOptionsMap mapWithOptions: @{
120+ @" AnyBackend" : @[
121+ [ExecuTorchBackendOption optionWithKey: @" compute_unit" stringValue: longValue],
122+ ]
123+ } error: &error];
124+ XCTAssertNil (oversizedValueMap);
116125 XCTAssertNotNil (error);
117126}
118127
0 commit comments