* Introduce initial TC-RR-1.1
- TC-RR-1.1 is a critical test to validate multi-fabric
behavior is stable and actually works. The test, broadly,
validates most of the minimas of the core elements of the spec,
including ACL entries, certificate sizes, number of CASE
sessions and subscriptions, number of paths, etc.
Issue project-chip#21736
- This PR introduces the core test and all associated minor
changes to infrastructure to make it work.
- Still TODO:
- More extensive cert size maximization (closer to 400 TLV bytes)
- Add controller and commissionee CAT tags (test is 95% equivalent
to test plan, but a couple ACL fields differ because of this, in
ways that don't detract from proving what needs proving
- Validation that local/peer session IDs have not changed. This is
not technically needed with the SDK as-is based on the methodology
but it would future-proof the test against some future optimizations
that may change subscription behavior in a way that the test would
not validate CASE sessions remain.
- Clean-up more after the test, so that a factory reset before/after
is not needed.
Testing done:
- Passes on Linux against all-clusters, all-clusters-minimal and
lighting app, with both minimal mdns and Avahi.
- Passes on some other platforms (not named here)
To run within SDK (from scratch: the build steps can be skipped thereafter):
- In one terminal:
- Build chip-lighting-app linux
- `clear && rm -f kvs1 && out/debug/standalone/chip-lighting-app --discriminator 1234 --KVS kvs1 --trace_decode 1`
- In another terminal:
- Build
- `rm -rf out/python*`
- `scripts/build_python.sh -m platform -i separate`
- Run
- `source ./out/python_env/bin/activate`
- `python3 src/python_testing/TC_RR_1_1.py --commissioning-method on-network --long-discriminator 1234 --passcode 20202021`
- Add `--bool-arg skip_user_label_cluster_steps:true` to the end of the command line
if your DUT has broken UserLabel clusters (but if you have those, fix them :)
* More work towards CAT tags
* Address review comments
* Fixed CAT tag testing
* Update src/controller/python/chip/utils/CommissioningBuildingBlocks.py
Co-authored-by: Jerry Johns <johnsj@google.com>