Skip to content

Commit cd1fe06

Browse files
Stop using MinInterval = 2 in tests that expect reports within 3 seconds.
We had a bunch of subscription Darwin tests that set a 2-second MinInterval but expected reports within 3 seconds. This seems to have worked because for some reason the 2-second timers fired pretty early (at closer to 1.5 seconds) on the existing runners, but on the new ARM runners it actually fires at 2 seconds, and then we have a very high test timeout rate. The fix is to just use a MinInterval of 0 for the relevant subscriptions.
1 parent 3136753 commit cd1fe06

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

src/darwin/Framework/CHIPTests/MTRDeviceTests.m

+2-2
Original file line numberDiff line numberDiff line change
@@ -815,7 +815,7 @@ - (void)test011_ReadCachedAttribute
815815
NSLog(@"Subscribing...");
816816
// reportHandler returns TRUE if it got the things it was looking for or if there's an error.
817817
__block BOOL (^reportHandler)(NSArray * _Nullable value, NSError * _Nullable error);
818-
__auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(2) maxInterval:@(60)];
818+
__auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(0) maxInterval:@(60)];
819819
params.resubscribeAutomatically = NO;
820820
[device subscribeWithQueue:queue
821821
params:params
@@ -881,7 +881,7 @@ - (void)test011_ReadCachedAttribute
881881
// Add another subscriber of the attribute to verify that attribute cache still works when there are other subscribers.
882882
NSLog(@"New subscription...");
883883
XCTestExpectation * newSubscriptionEstablished = [self expectationWithDescription:@"New subscription established"];
884-
MTRSubscribeParams * newParams = [[MTRSubscribeParams alloc] initWithMinInterval:@(2) maxInterval:@(60)];
884+
MTRSubscribeParams * newParams = [[MTRSubscribeParams alloc] initWithMinInterval:@(0) maxInterval:@(60)];
885885
newParams.replaceExistingSubscriptions = NO;
886886
newParams.resubscribeAutomatically = NO;
887887
[cluster subscribeAttributeOnOffWithParams:newParams

src/darwin/Framework/CHIPTests/MTRXPCListenerSampleTests.m

+9-9
Original file line numberDiff line numberDiff line change
@@ -758,7 +758,7 @@ - (void)test004_Subscribe
758758
MTRBaseDevice * device = GetConnectedDevice();
759759
dispatch_queue_t queue = dispatch_get_main_queue();
760760

761-
__auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(2) maxInterval:@(10)];
761+
__auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(0) maxInterval:@(10)];
762762
[device subscribeToAttributesWithEndpointID:@1
763763
clusterID:@6
764764
attributeID:@0
@@ -958,7 +958,7 @@ - (void)test008_SubscribeFailure
958958
MTRBaseDevice * device = GetConnectedDevice();
959959
dispatch_queue_t queue = dispatch_get_main_queue();
960960

961-
__auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(2) maxInterval:@(10)];
961+
__auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(0) maxInterval:@(10)];
962962
params.resubscribeAutomatically = NO;
963963
[device subscribeToAttributesWithEndpointID:@10000
964964
clusterID:@6
@@ -1039,7 +1039,7 @@ - (void)test010_SubscribeWithNoParams
10391039

10401040
// Subscribe
10411041
XCTestExpectation * subscribeExpectation = [self expectationWithDescription:@"subscribe OnOff attribute"];
1042-
__auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(2) maxInterval:@(10)];
1042+
__auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(0) maxInterval:@(10)];
10431043
[device subscribeToAttributesWithEndpointID:@1
10441044
clusterID:@6
10451045
attributeID:@0
@@ -1064,7 +1064,7 @@ - (void)test010_SubscribeWithNoParams
10641064

10651065
// Setup 2nd subscriber
10661066
subscribeExpectation = [self expectationWithDescription:@"subscribe CurrentLevel attribute"];
1067-
params = [[MTRSubscribeParams alloc] initWithMinInterval:@(2) maxInterval:@(10)];
1067+
params = [[MTRSubscribeParams alloc] initWithMinInterval:@(0) maxInterval:@(10)];
10681068
[device subscribeToAttributesWithEndpointID:@1
10691069
clusterID:@8
10701070
attributeID:@0
@@ -1212,7 +1212,7 @@ - (void)test011_SubscribeWithParams
12121212

12131213
// Subscribe
12141214
XCTestExpectation * subscribeExpectation = [self expectationWithDescription:@"subscribe OnOff attribute"];
1215-
__auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(2) maxInterval:@(10)];
1215+
__auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(0) maxInterval:@(10)];
12161216
[device subscribeToAttributesWithEndpointID:@1
12171217
clusterID:@6
12181218
attributeID:@0
@@ -1236,7 +1236,7 @@ - (void)test011_SubscribeWithParams
12361236
[self waitForExpectations:@[ subscribeExpectation ] timeout:kTimeoutInSeconds];
12371237

12381238
// Setup 2nd subscriber
1239-
MTRSubscribeParams * myParams = [[MTRSubscribeParams alloc] initWithMinInterval:@(2) maxInterval:@(10)];
1239+
MTRSubscribeParams * myParams = [[MTRSubscribeParams alloc] initWithMinInterval:@(0) maxInterval:@(10)];
12401240
myParams.replaceExistingSubscriptions = YES;
12411241
subscribeExpectation = [self expectationWithDescription:@"subscribe CurrentLevel attribute"];
12421242
[device subscribeToAttributesWithEndpointID:@1
@@ -1393,7 +1393,7 @@ - (void)test012_SubscribeKeepingPreviousSubscription
13931393

13941394
// Subscribe
13951395
XCTestExpectation * subscribeExpectation = [self expectationWithDescription:@"subscribe OnOff attribute"];
1396-
__auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(2) maxInterval:@(10)];
1396+
__auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(0) maxInterval:@(10)];
13971397
[device subscribeToAttributesWithEndpointID:@1
13981398
clusterID:@6
13991399
attributeID:@0
@@ -1418,7 +1418,7 @@ - (void)test012_SubscribeKeepingPreviousSubscription
14181418

14191419
// Setup 2nd subscriber
14201420
subscribeExpectation = [self expectationWithDescription:@"subscribe CurrentLevel attribute"];
1421-
MTRSubscribeParams * myParams = [[MTRSubscribeParams alloc] initWithMinInterval:@(2) maxInterval:@(10)];
1421+
MTRSubscribeParams * myParams = [[MTRSubscribeParams alloc] initWithMinInterval:@(0) maxInterval:@(10)];
14221422
myParams.replaceExistingSubscriptions = NO;
14231423
[device subscribeToAttributesWithEndpointID:@1
14241424
clusterID:@8
@@ -1622,7 +1622,7 @@ - (void)test013_TimedWriteAttribute
16221622
// subscribe, which should get the new value at the timeout
16231623
expectation = [self expectationWithDescription:@"Subscribed"];
16241624
__block void (^reportHandler)(id _Nullable values, NSError * _Nullable error);
1625-
__auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(2) maxInterval:@(10)];
1625+
__auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(0) maxInterval:@(10)];
16261626
[device subscribeToAttributesWithEndpointID:@1
16271627
clusterID:@8
16281628
attributeID:@17

0 commit comments

Comments
 (0)