Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use CASE for our "Tests" test suite. #7896

Merged
merged 1 commit into from
Jun 26, 2021

Conversation

bzbarsky-apple
Copy link
Contributor

There are two changes here:

  1. When doing onnetwork commissioning, make sure to run the part of
    the commissioning state machine that is meant to run on the
    operational network, starting with the mdns resolution of the device
    operational address. This ensures that we put ourselves into a state
    where we know the operational cert is fully provisioned on the device
    and we can talk to it via CASE.

  2. Fix the fabric id in the script's pairing command to match the
    fabric id all-clusters-app advertises, so our operational discovery
    looks for the right thing.

Problem

The "Tests" test suite was never really "finishing" commissioning and continuing to talk to all-clusters-app via the PASE session.

Change overview

See above.

Testing

Manually verified that CASE session establishment now shows up in the log and that the tests still pass. We don't have a real way to tell whether a given key id corresponds to a CASE or PASE session, so I am taking it somewhat on faith that we are actually using the CASE connection we set up.

There are four changes here:

1) When doing onnetwork commissioning, make sure to run the part of
the commissioning state machine that is meant to run on the
operational network, starting with the mdns resolution of the device
operational address.  This ensures that we put ourselves into a state
where we know the operational cert is fully provisioned on the device
and we can talk to it via CASE.

2) Fix the fabric id in the script's pairing command to match the
fabric id all-clusters-app advertises, so our operational discovery
looks for the right thing.

3) Ensure that we actually start operational advertisement when we get
a new opcert.  Just restarting our mdns server does not do that, due
to project-chip#7911

4) Don't fail out on UpdateAddress attempts when there is no
connection; that's not an error condition and should not be
communicated as such to consumers.
@bzbarsky-apple bzbarsky-apple merged commit 0624ee4 into project-chip:master Jun 26, 2021
@bzbarsky-apple bzbarsky-apple deleted the use-case-tests branch June 26, 2021 02:12
nikita-s-wrk pushed a commit to nikita-s-wrk/connectedhomeip that referenced this pull request Sep 23, 2021
There are four changes here:

1) When doing onnetwork commissioning, make sure to run the part of
the commissioning state machine that is meant to run on the
operational network, starting with the mdns resolution of the device
operational address.  This ensures that we put ourselves into a state
where we know the operational cert is fully provisioned on the device
and we can talk to it via CASE.

2) Fix the fabric id in the script's pairing command to match the
fabric id all-clusters-app advertises, so our operational discovery
looks for the right thing.

3) Ensure that we actually start operational advertisement when we get
a new opcert.  Just restarting our mdns server does not do that, due
to project-chip#7911

4) Don't fail out on UpdateAddress attempts when there is no
connection; that's not an error condition and should not be
communicated as such to consumers.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants