Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add missing endWork calls in MTRClusters. (#23659)
We were missing endWork bits for command invokes when the command has a data (not status) response. This would end up permanently blocking the MTRDevice's work queue once such a command (e.g. UpdateFabricLabel) was issued. The changes here are as follows: 1) Rearrange the logic in MTRClusters-src.zapt so that the endWork happens regardless of whether hasSpecificResponse is true. 2) Add a deprecation message to the timedInvokeTimeoutMs field in _response_ command params, since that should never be used (ran into this when writing the tests for this PR). 3) Set resubscribeIfLost to NO on various subscriptions in MTRDeviceTests, so if another test takes a while we don't fail due to the canceled subscriptions re-subscribing and over-fullfilling the subscription expectations. 4) Add a test for a mix of passing and failing commands on MTRCluster instances, with some of the commands defined as getting status-only responses and some defined as getting data responses. This test fails without the endWork fix.
- Loading branch information