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

Fix status of fabric-scoped commands running in PASE #20895

Merged

Conversation

woody-apple
Copy link
Contributor

Problem

  • Fabric-scoped commands under PASE did not fail as intended
    with an UNSUPPORTED_ACCESS. Instead, they went by but the command
    handler saw invalid fabric index.
  • Spec indicates that fabric-scoped commands must return
    UNSUPPORTED_ACCESS when executed over PASE before AddNOC causes
    a fabric association.

Issue #20811

Change overview

  • Add all known fabric-scoped command to a new getter to
    cluster-objects-src.zapt. Real code-gen will be done
    as a follow-up when ZAP has support in XML and helpers
    for fabric-scoped command labeling
  • Update IM engine command handler to properly return the error
    as expected.
  • Add integration test to validate this new condition. This
    cannot easily be unit-tested without a lot of work, due
    to requiring a PASE session, but a good integration test is
    possible.
  • Fix Python handling of non-success error codes which was
    broken.

Testing

  • Unit tests all pass
  • Integration tests pass
  • New integration test added

* Fix status on fabric-scoped commnads in PASE

* Add cirque test

* Fixed typo

* Revert file committed by mistake

* Fix CI

* Apply review comments from @bzbarsky-apple
@github-actions
Copy link

github-actions bot commented Jul 18, 2022

PR #20895: Size comparison from dfbe55d to 354ec94

Increases (32 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section dfbe55d 354ec94 change % change
bl602 lighting-app bl602 (read/write) 1383418 1383578 160 0.0
.text 1053500 1053660 160 0.0
bl602+rpc (read/write) 1428850 1429010 160 0.0
.text 1085180 1085344 164 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 668199 668287 88 0.0
.text 579612 579700 88 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 633831 633927 96 0.0
.text 555996 556092 96 0.0
lock-ftd LP_CC2652R7 (read only) 671403 671491 88 0.0
.text 594512 594600 88 0.0
lock-mtd LP_CC2652R7 (read only) 653655 653751 96 0.0
.text 552024 552120 96 0.0
pump-app LP_CC2652R7 (read only) 680379 680459 80 0.0
.text 591124 591204 80 0.0
pump-controller-app LP_CC2652R7 (read only) 666179 666267 88 0.0
.text 581072 581160 88 0.0
shell LP_CC2652R7 (read only) 660682 660770 88 0.0
.text 575308 575396 88 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 581774 581870 96 0.0
.app_xip_area 460480 460576 96 0.0
lock cyw930739m2evb_01 (read/write) 587690 587778 88 0.0
.app_xip_area 461668 461756 88 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 585050 585138 88 0.0
.app_xip_area 464604 464692 88 0.0
efr32 lighting-app BRD4161A (read/write) 1084640 1084672 32 0.0
.text 949528 949560 32 0.0
BRD4161A+rpc (read/write) 1138972 1138988 16 0.0
.text 986964 986980 16 0.0
BRD4161A+rs911x (read/write) 950008 950040 32 0.0
.text 807172 807204 32 0.0
lock-app BRD4161A+wf200 (read/write) 1127788 1127884 96 0.0
.text 981576 981672 96 0.0
window-app BRD4161A (read/write) 1078132 1078164 32 0.0
.text 941520 941552 32 0.0
esp32 all-clusters-app c3devkit (read only) 1021570 1021680 110 0.0
.flash.text 1021570 1021680 110 0.0
m5stack (read only) 1075299 1075443 144 0.0
.flash.text 1069915 1070059 144 0.0
k32w light k32w061+release (read/write) 660524 660604 80 0.0
.text 583192 583272 80 0.0
lock k32w061+release (read/write) 687476 687556 80 0.0
.text 609668 609748 80 0.0
linux chip-tool-ipv6only arm64 (read only) 10020620 10021116 496 0.0
.text 7964676 7965172 496 0.0
thermostat-no-ble arm64 (read only) 2599428 2599924 496 0.0
.text 2193984 2194480 496 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2448952 2449080 128 0.0
.text 1411596 1411724 128 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1176443 1176539 96 0.0
text 812472 812564 92 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1156491 1156587 96 0.0
text 801776 801868 92 0.0
p6 all-clusters-app default (read/write) 2568432 2568464 32 0.0
.text 1526696 1526728 32 0.0
all-clusters-minimal-app default (read/write) 2513312 2513328 16 0.0
.text 1471576 1471592 16 0.0
light-app default (read/write) 2443296 2443312 16 0.0
.text 1401560 1401576 16 0.0
lock-app default (read/write) 2470384 2470400 16 0.0
.text 1428648 1428664 16 0.0
telink light-switch-app tlsr9518adk80d (read/write) 798456 798552 96 0.0
text 566612 566712 100 0.0
lighting-app tlsr9518adk80d (read/write) 818496 818592 96 0.0
text 583146 583244 98 0.0
Decreases (6 builds for cc13x2_26x2)
platform target config section dfbe55d 354ec94 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read/write) 183040 182952 -88 -0.0
lock-ftd LP_CC2652R7 (read/write) 170012 169924 -88 -0.1
lock-mtd LP_CC2652R7 (read/write) 183448 183352 -96 -0.1
pump-app LP_CC2652R7 (read/write) 161884 161804 -80 -0.0
pump-controller-app LP_CC2652R7 (read/write) 176204 176116 -88 -0.0
shell LP_CC2652R7 (read/write) 186060 185972 -88 -0.0
Full report (32 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section dfbe55d 354ec94 change % change
bl602 lighting-app bl602 (read/write) 1383418 1383578 160 0.0
.bss 116978 116978 0 0.0
.data 4480 4480 0 0.0
.text 1053500 1053660 160 0.0
bl602+rpc (read/write) 1428850 1429010 160 0.0
.bss 124418 124418 0 0.0
.data 4600 4600 0 0.0
.text 1085180 1085344 164 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 668199 668287 88 0.0
(read/write) 183040 182952 -88 -0.0
.bss 74132 74132 0 0.0
.data 3356 3356 0 0.0
.rodata 88271 88271 0 0.0
.text 579612 579700 88 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 633831 633927 96 0.0
(read/write) 157700 157700 0 0.0
.bss 73428 73428 0 0.0
.data 3356 3356 0 0.0
.rodata 77511 77511 0 0.0
.text 555996 556092 96 0.0
lock-ftd LP_CC2652R7 (read only) 671403 671491 88 0.0
(read/write) 170012 169924 -88 -0.1
.bss 71196 71196 0 0.0
.data 3280 3280 0 0.0
.rodata 76411 76411 0 0.0
.text 594512 594600 88 0.0
lock-mtd LP_CC2652R7 (read only) 653655 653751 96 0.0
(read/write) 183448 183352 -96 -0.1
.bss 66884 66884 0 0.0
.data 3280 3280 0 0.0
.rodata 101151 101151 0 0.0
.text 552024 552120 96 0.0
pump-app LP_CC2652R7 (read only) 680379 680459 80 0.0
(read/write) 161884 161804 -80 -0.0
.bss 71276 71276 0 0.0
.data 3280 3280 0 0.0
.rodata 88771 88771 0 0.0
.text 591124 591204 80 0.0
pump-controller-app LP_CC2652R7 (read only) 666179 666267 88 0.0
(read/write) 176204 176116 -88 -0.0
.bss 71396 71396 0 0.0
.data 3276 3276 0 0.0
.rodata 84627 84627 0 0.0
.text 581072 581160 88 0.0
shell LP_CC2652R7 (read only) 660682 660770 88 0.0
(read/write) 186060 185972 -88 -0.0
.bss 76436 76436 0 0.0
.data 3360 3360 0 0.0
.rodata 85058 85058 0 0.0
.text 575308 575396 88 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 581774 581870 96 0.0
.app_xip_area 460480 460576 96 0.0
.bss 64232 64232 0 0.0
.data 716 716 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 587690 587778 88 0.0
.app_xip_area 461668 461756 88 0.0
.bss 68960 68960 0 0.0
.data 720 720 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 585050 585138 88 0.0
.app_xip_area 464604 464692 88 0.0
.bss 63440 63440 0 0.0
.data 660 660 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read/write) 1084640 1084672 32 0.0
.bss 133044 133044 0 0.0
.data 2048 2048 0 0.0
.text 949528 949560 32 0.0
BRD4161A+rpc (read/write) 1138972 1138988 16 0.0
.bss 149724 149724 0 0.0
.data 2260 2260 0 0.0
.text 986964 986980 16 0.0
BRD4161A+rs911x (read/write) 950008 950040 32 0.0
.bss 140768 140768 0 0.0
.data 2048 2048 0 0.0
.text 807172 807204 32 0.0
lock-app BRD4161A+wf200 (read/write) 1127788 1127884 96 0.0
.bss 144136 144136 0 0.0
.data 2056 2056 0 0.0
.text 981576 981672 96 0.0
window-app BRD4161A (read/write) 1078132 1078164 32 0.0
.bss 134516 134516 0 0.0
.data 2076 2076 0 0.0
.text 941520 941552 32 0.0
esp32 all-clusters-app c3devkit (read only) 1021570 1021680 110 0.0
(read/write) 1485978 1485978 0 0.0
.dram0.bss 70080 70080 0 0.0
.dram0.data 14600 14600 0 0.0
.flash.rodata 215864 215864 0 0.0
.flash.text 1021570 1021680 110 0.0
.iram0.text 62902 62902 0 0.0
m5stack (read only) 1075299 1075443 144 0.0
(read/write) 488024 488024 0 0.0
.dram0.bss 75600 75600 0 0.0
.dram0.data 34144 34144 0 0.0
.flash.rodata 246284 246284 0 0.0
.flash.text 1069915 1070059 144 0.0
.iram0.text 123267 123267 0 0.0
k32w light k32w061+release (read/write) 660524 660604 80 0.0
.bss 69540 69540 0 0.0
.data 1992 1992 0 0.0
.text 583192 583272 80 0.0
lock k32w061+release (read/write) 687476 687556 80 0.0
.bss 70004 70004 0 0.0
.data 2004 2004 0 0.0
.text 609668 609748 80 0.0
linux chip-tool-ipv6only arm64 (read only) 10020620 10021116 496 0.0
(read/write) 693617 693617 0 0.0
.bss 42961 42961 0 0.0
.data 3304 3304 0 0.0
.data.rel.ro 629816 629816 0 0.0
.dynamic 528 528 0 0.0
.got 13616 13616 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 478236 478236 0 0.0
.text 7964676 7965172 496 0.0
thermostat-no-ble arm64 (read only) 2599428 2599924 496 0.0
(read/write) 158257 158257 0 0.0
.bss 65249 65249 0 0.0
.data 1704 1704 0 0.0
.data.rel.ro 83216 83216 0 0.0
.dynamic 528 528 0 0.0
.got 5072 5072 0 0.0
.init 24 24 0 0.0
.init_array 400 400 0 0.0
.rodata 165700 165700 0 0.0
.text 2193984 2194480 496 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2448952 2449080 128 0.0
.bss 213940 213940 0 0.0
.data 5872 5872 0 0.0
.text 1411596 1411724 128 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1176443 1176539 96 0.0
bss 142900 142900 0 0.0
rodata 142164 142164 0 0.0
text 812472 812564 92 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1156491 1156587 96 0.0
bss 142136 142136 0 0.0
rodata 133708 133708 0 0.0
text 801776 801868 92 0.0
p6 all-clusters-app default (read/write) 2568432 2568464 32 0.0
.bss 149120 149120 0 0.0
.data 2776 2776 0 0.0
.text 1526696 1526728 32 0.0
all-clusters-minimal-app default (read/write) 2513312 2513328 16 0.0
.bss 148400 148400 0 0.0
.data 2776 2776 0 0.0
.text 1471576 1471592 16 0.0
light-app default (read/write) 2443296 2443312 16 0.0
.bss 140456 140456 0 0.0
.data 2592 2592 0 0.0
.text 1401560 1401576 16 0.0
lock-app default (read/write) 2470384 2470400 16 0.0
.bss 140304 140304 0 0.0
.data 2600 2600 0 0.0
.text 1428648 1428664 16 0.0
telink light-switch-app tlsr9518adk80d (read/write) 798456 798552 96 0.0
bss 70576 70576 0 0.0
noinit 40416 40416 0 0.0
text 566612 566712 100 0.0
lighting-app tlsr9518adk80d (read/write) 818496 818592 96 0.0
bss 71420 71420 0 0.0
noinit 40416 40416 0 0.0
text 583146 583244 98 0.0

@woody-apple woody-apple merged commit be5f2d2 into sve Jul 18, 2022
@woody-apple woody-apple deleted the cherry-pick-88006789aaab606965a797eeff2f41ee1ddd47fe branch July 18, 2022 23:55
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.

2 participants