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

Add some additional FabricTable unit tests #20534

Merged
merged 4 commits into from
Jul 11, 2022

Conversation

tcarmelveilleux
Copy link
Contributor

Problem

  • Some operations have been manually and integration-tested, but
    there are still FabricTable tests with TODO

Change overview

  • This PR implements the following FabricTable unit test
    • TestFabricLabelChange
    • TestAddNocRootCollision
  • During development of unit tests, the following fixes were done:
    • Add a GetFabricLabel(FabricIndex, CharSpan) method to be symmetrical
      with SetFabricLabel(FabricIndex, CharSpan)
    • Fix the error code returned by CommitPendingFabric when a root is
      added, but neither Add was never done
    • Better document the existing methods

Testing

  • Added unit tests
  • All unit tests pass
  • Integration tests still pass

- Some operations have been manually and integration-tested, but
  there are still FabricTable tests with TODO

- This PR implements the following FabricTable unit test
  - TestFabricLabelChange
  - TestAddNocRootCollision
- During development of unit tests, the following fixes were done:
  - Add a `GetFabricLabel(FabricIndex, CharSpan)` method to be symmetrical
    with `SetFabricLabel(FabricIndex, CharSpan)`
  - Fix the error code returned by CommitPendingFabric when a root is
    added, but neither Add was never done
  - Better document the existing methods

Testing done:

- Added unit tests
- All unit tests pass
- Integration tests still pass
@github-actions
Copy link

github-actions bot commented Jul 11, 2022

PR #20534: Size comparison from 776c06d to 7ef18a8

Increases (20 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, nrfconnect, telink)
platform target config section 776c06d 7ef18a8 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 666051 666067 16 0.0
.text 577668 577684 16 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 631859 631875 16 0.0
.text 554228 554244 16 0.0
lock-ftd LP_CC2652R7 (read only) 668959 668975 16 0.0
.text 592272 592288 16 0.0
lock-mtd LP_CC2652R7 (read only) 618367 618383 16 0.0
.text 541792 541808 16 0.0
pump-app LP_CC2652R7 (read only) 677991 678007 16 0.0
.text 589076 589092 16 0.0
pump-controller-app LP_CC2652R7 (read only) 663815 663823 8 0.0
.text 579040 579048 8 0.0
shell LP_CC2652R7 (read only) 658550 658566 16 0.0
.text 573388 573404 16 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 579534 579566 32 0.0
.app_xip_area 458304 458336 32 0.0
lock cyw930739m2evb_01 (read/write) 585470 585510 40 0.0
.app_xip_area 459504 459544 40 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 582590 582606 16 0.0
.app_xip_area 462208 462224 16 0.0
efr32 lock-app BRD4161A+wf200 (read/write) 1128496 1128512 16 0.0
.text 982228 982244 16 0.0
esp32 all-clusters-app c3devkit (read only) 1019958 1019974 16 0.0
.flash.text 1019958 1019974 16 0.0
k32w lock k32w061+release (read/write) 685348 685364 16 0.0
.text 607564 607580 16 0.0
linux shell debug (read only) 2550809 2550825 16 0.0
.text 2166034 2166050 16 0.0
tv-app debug (read only) 3101905 3101921 16 0.0
.text 2665074 2665090 16 0.0
tv-casting-app debug (read only) 5565689 5565705 16 0.0
.text 4944466 4944482 16 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1174935 1174951 16 0.0
text 811332 811348 16 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1155131 1155147 16 0.0
text 800776 800792 16 0.0
telink light-switch-app tlsr9518adk80d (read/write) 797092 797100 8 0.0
text 565564 565574 10 0.0
lighting-app tlsr9518adk80d (read/write) 816916 816932 16 0.0
text 581886 581900 14 0.0
Decreases (8 builds for cc13x2_26x2, efr32)
platform target config section 776c06d 7ef18a8 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read/write) 185172 185156 -16 -0.0
lock-ftd LP_CC2652R7 (read/write) 172408 172392 -16 -0.0
pump-app LP_CC2652R7 (read/write) 164224 164208 -16 -0.0
pump-controller-app LP_CC2652R7 (read/write) 178520 178512 -8 -0.0
shell LP_CC2652R7 (read/write) 188176 188160 -16 -0.0
efr32 lighting-app BRD4161A (read/write) 1081212 1081196 -16 -0.0
.text 946148 946132 -16 -0.0
BRD4161A+rs911x (read/write) 947692 947676 -16 -0.0
.text 804856 804840 -16 -0.0
window-app BRD4161A (read/write) 1075012 1074996 -16 -0.0
.text 938444 938428 -16 -0.0
Full report (41 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 776c06d 7ef18a8 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 666051 666067 16 0.0
(read/write) 185172 185156 -16 -0.0
.bss 74116 74116 0 0.0
.data 3356 3356 0 0.0
.rodata 88067 88067 0 0.0
.text 577668 577684 16 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 631859 631875 16 0.0
(read/write) 157684 157684 0 0.0
.bss 73412 73412 0 0.0
.data 3356 3356 0 0.0
.rodata 77307 77307 0 0.0
.text 554228 554244 16 0.0
lock-ftd LP_CC2652R7 (read only) 668959 668975 16 0.0
(read/write) 172408 172392 -16 -0.0
.bss 71148 71148 0 0.0
.data 3280 3280 0 0.0
.rodata 76207 76207 0 0.0
.text 592272 592288 16 0.0
lock-mtd LP_CC2652R7 (read only) 618367 618383 16 0.0
(read/write) 144264 144264 0 0.0
.bss 66868 66868 0 0.0
.data 3280 3280 0 0.0
.rodata 76087 76087 0 0.0
.text 541792 541808 16 0.0
pump-app LP_CC2652R7 (read only) 677991 678007 16 0.0
(read/write) 164224 164208 -16 -0.0
.bss 71228 71228 0 0.0
.data 3280 3280 0 0.0
.rodata 88431 88431 0 0.0
.text 589076 589092 16 0.0
pump-controller-app LP_CC2652R7 (read only) 663815 663823 8 0.0
(read/write) 178520 178512 -8 -0.0
.bss 71348 71348 0 0.0
.data 3276 3276 0 0.0
.rodata 84295 84295 0 0.0
.text 579040 579048 8 0.0
shell LP_CC2652R7 (read only) 658550 658566 16 0.0
(read/write) 188176 188160 -16 -0.0
.bss 76420 76420 0 0.0
.data 3360 3360 0 0.0
.rodata 84846 84846 0 0.0
.text 573388 573404 16 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 579534 579566 32 0.0
.app_xip_area 458304 458336 32 0.0
.bss 64184 64184 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) 585470 585510 40 0.0
.app_xip_area 459504 459544 40 0.0
.bss 68912 68912 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) 582590 582606 16 0.0
.app_xip_area 462208 462224 16 0.0
.bss 63392 63392 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) 1081212 1081196 -16 -0.0
.bss 132996 132996 0 0.0
.data 2048 2048 0 0.0
.text 946148 946132 -16 -0.0
BRD4161A+rpc (read/write) 1135516 1135516 0 0.0
.bss 149676 149676 0 0.0
.data 2260 2260 0 0.0
.text 983560 983560 0 0.0
BRD4161A+rs911x (read/write) 947692 947676 -16 -0.0
.bss 140768 140768 0 0.0
.data 2048 2048 0 0.0
.text 804856 804840 -16 -0.0
lock-app BRD4161A+wf200 (read/write) 1128496 1128512 16 0.0
.bss 144184 144184 0 0.0
.data 2060 2060 0 0.0
.text 982228 982244 16 0.0
window-app BRD4161A (read/write) 1075012 1074996 -16 -0.0
.bss 134468 134468 0 0.0
.data 2076 2076 0 0.0
.text 938444 938428 -16 -0.0
esp32 all-clusters-app c3devkit (read only) 1019958 1019974 16 0.0
(read/write) 1485490 1485490 0 0.0
.dram0.bss 70080 70080 0 0.0
.dram0.data 14600 14600 0 0.0
.flash.rodata 215376 215376 0 0.0
.flash.text 1019958 1019974 16 0.0
.iram0.text 62902 62902 0 0.0
m5stack (read only) 1073899 1073899 0 0.0
(read/write) 487568 487568 0 0.0
.dram0.bss 75600 75600 0 0.0
.dram0.data 34144 34144 0 0.0
.flash.rodata 245828 245828 0 0.0
.flash.text 1068515 1068515 0 0.0
.iram0.text 123267 123267 0 0.0
k32w light k32w061+release (read/write) 658592 658592 0 0.0
.bss 69516 69516 0 0.0
.data 1992 1992 0 0.0
.text 581284 581284 0 0.0
lock k32w061+release (read/write) 685348 685364 16 0.0
.bss 69980 69980 0 0.0
.data 2004 2004 0 0.0
.text 607564 607580 16 0.0
linux all-clusters-app debug (read only) 2960497 2960497 0 0.0
(read/write) 154744 154744 0 0.0
.bss 61536 61536 0 0.0
.data 2048 2048 0 0.0
.data.rel.ro 84968 84968 0 0.0
.dynamic 608 608 0 0.0
.got 4536 4536 0 0.0
.init 27 27 0 0.0
.init_array 1040 1040 0 0.0
.rodata 263581 263581 0 0.0
.text 2519730 2519730 0 0.0
all-clusters-minimal-app debug (read only) 2813041 2813041 0 0.0
(read/write) 146680 146680 0 0.0
.bss 60864 60864 0 0.0
.data 2048 2048 0 0.0
.data.rel.ro 77608 77608 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 1040 1040 0 0.0
.rodata 265277 265277 0 0.0
.text 2372754 2372754 0 0.0
bridge-app debug+rpc (read only) 2315209 2315209 0 0.0
(read/write) 125504 125504 0 0.0
.bss 48928 48928 0 0.0
.data 3824 3824 0 0.0
.data.rel.ro 66984 66984 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 728 728 0 0.0
.rodata 197952 197952 0 0.0
.text 1955522 1955522 0 0.0
chip-tool debug (read only) 10303697 10303697 0 0.0
(read/write) 622240 622240 0 0.0
.bss 24728 24728 0 0.0
.data 3234 3234 0 0.0
.data.rel.ro 587888 587888 0 0.0
.dynamic 608 608 0 0.0
.got 5096 5096 0 0.0
.init 27 27 0 0.0
.init_array 640 640 0 0.0
.rodata 515061 515061 0 0.0
.text 8356948 8356948 0 0.0
chip-tool-no-interactive-ipv6only arm64 (read only) 9997684 9997684 0 0.0
(read/write) 684529 684529 0 0.0
.bss 42609 42609 0 0.0
.data 1152 1152 0 0.0
.data.rel.ro 623432 623432 0 0.0
.dynamic 528 528 0 0.0
.got 13520 13520 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 477780 477780 0 0.0
.text 7959236 7959236 0 0.0
lighting-app debug+rpc (read only) 2550953 2550953 0 0.0
(read/write) 129528 129528 0 0.0
.bss 49440 49440 0 0.0
.data 2096 2096 0 0.0
.data.rel.ro 72136 72136 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 816 816 0 0.0
.rodata 213640 213640 0 0.0
.text 2167346 2167346 0 0.0
lock-app debug (read only) 2515553 2515553 0 0.0
(read/write) 124504 124504 0 0.0
.bss 47840 47840 0 0.0
.data 1712 1712 0 0.0
.data.rel.ro 69096 69096 0 0.0
.dynamic 608 608 0 0.0
.got 4424 4424 0 0.0
.init 27 27 0 0.0
.init_array 784 784 0 0.0
.rodata 228680 228680 0 0.0
.text 2121730 2121730 0 0.0
ota-provider-app debug (read only) 2322033 2322033 0 0.0
(read/write) 118312 118312 0 0.0
.bss 47488 47488 0 0.0
.data 1944 1944 0 0.0
.data.rel.ro 63096 63096 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 672 672 0 0.0
.rodata 203416 203416 0 0.0
.text 1955842 1955842 0 0.0
ota-requestor-app debug (read only) 2439185 2439185 0 0.0
(read/write) 125216 125216 0 0.0
.bss 49856 49856 0 0.0
.data 2232 2232 0 0.0
.data.rel.ro 67288 67288 0 0.0
.dynamic 608 608 0 0.0
.got 4480 4480 0 0.0
.init 27 27 0 0.0
.init_array 728 728 0 0.0
.rodata 207232 207232 0 0.0
.text 2060802 2060802 0 0.0
shell debug (read only) 2550809 2550825 16 0.0
(read/write) 141096 141096 0 0.0
.bss 57448 57448 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 76688 76688 0 0.0
.dynamic 608 608 0 0.0
.got 4136 4136 0 0.0
.init 27 27 0 0.0
.init_array 920 920 0 0.0
.rodata 227698 227698 0 0.0
.text 2166034 2166050 16 0.0
thermostat-no-ble arm64 (read only) 2595044 2595044 0 0.0
(read/write) 158289 158289 0 0.0
.bss 65249 65249 0 0.0
.data 1704 1704 0 0.0
.data.rel.ro 83240 83240 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 165412 165412 0 0.0
.text 2189856 2189856 0 0.0
tv-app debug (read only) 3101905 3101921 16 0.0
(read/write) 257704 257704 0 0.0
.bss 167016 167016 0 0.0
.data 4848 4848 0 0.0
.data.rel.ro 79392 79392 0 0.0
.dynamic 608 608 0 0.0
.got 4848 4848 0 0.0
.init 27 27 0 0.0
.init_array 952 952 0 0.0
.rodata 248928 248928 0 0.0
.text 2665074 2665090 16 0.0
tv-casting-app debug (read only) 5565689 5565705 16 0.0
(read/write) 161968 161968 0 0.0
.bss 50248 50248 0 0.0
.data 2416 2416 0 0.0
.data.rel.ro 103048 103048 0 0.0
.dynamic 608 608 0 0.0
.got 4744 4744 0 0.0
.init 27 27 0 0.0
.init_array 864 864 0 0.0
.rodata 343273 343273 0 0.0
.text 4944466 4944482 16 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2447912 2447912 0 0.0
.bss 213940 213940 0 0.0
.data 5872 5872 0 0.0
.text 1410556 1410556 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1174935 1174951 16 0.0
bss 142900 142900 0 0.0
rodata 141808 141808 0 0.0
text 811332 811348 16 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1155131 1155147 16 0.0
bss 142136 142136 0 0.0
rodata 133340 133340 0 0.0
text 800776 800792 16 0.0
p6 all-clusters-app default (read/write) 2565152 2565152 0 0.0
.bss 149120 149120 0 0.0
.data 2776 2776 0 0.0
.text 1523416 1523416 0 0.0
all-clusters-minimal-app default (read/write) 2510192 2510192 0 0.0
.bss 148400 148400 0 0.0
.data 2776 2776 0 0.0
.text 1468456 1468456 0 0.0
light-app default (read/write) 2440496 2440496 0 0.0
.bss 140456 140456 0 0.0
.data 2592 2592 0 0.0
.text 1398760 1398760 0 0.0
lock-app default (read/write) 2467760 2467760 0 0.0
.bss 140304 140304 0 0.0
.data 2600 2600 0 0.0
.text 1426024 1426024 0 0.0
telink light-switch-app tlsr9518adk80d (read/write) 797092 797100 8 0.0
bss 70576 70576 0 0.0
noinit 40416 40416 0 0.0
text 565564 565574 10 0.0
lighting-app tlsr9518adk80d (read/write) 816916 816932 16 0.0
bss 71420 71420 0 0.0
noinit 40416 40416 0 0.0
text 581886 581900 14 0.0

src/credentials/FabricTable.cpp Outdated Show resolved Hide resolved
src/credentials/FabricTable.cpp Outdated Show resolved Hide resolved
@github-actions
Copy link

PR #20534: Size comparison from 776c06d to 165a756

Increases (7 builds for efr32, nrfconnect)
platform target config section 776c06d 165a756 change % change
efr32 lighting-app BRD4161A (read/write) 1081212 1081316 104 0.0
.text 946148 946252 104 0.0
window-app BRD4161A (read/write) 1075012 1075108 96 0.0
.text 938444 938540 96 0.0
lighting-app BRD4161A+rpc (read/write) 1135516 1135628 112 0.0
.text 983560 983672 112 0.0
BRD4161A+rs911x (read/write) 947692 947804 112 0.0
.text 804856 804968 112 0.0
lock-app BRD4161A+wf200 (read/write) 1128496 1128632 136 0.0
.text 982228 982364 136 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 text 811332 811344 12 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1155131 1155147 16 0.0
text 800776 800792 16 0.0
Full report (8 builds for efr32, mbed, nrfconnect)
platform target config section 776c06d 165a756 change % change
efr32 lighting-app BRD4161A (read/write) 1081212 1081316 104 0.0
.bss 132996 132996 0 0.0
.data 2048 2048 0 0.0
.text 946148 946252 104 0.0
window-app BRD4161A (read/write) 1075012 1075108 96 0.0
.bss 134468 134468 0 0.0
.data 2076 2076 0 0.0
.text 938444 938540 96 0.0
lighting-app BRD4161A+rpc (read/write) 1135516 1135628 112 0.0
.bss 149676 149676 0 0.0
.data 2260 2260 0 0.0
.text 983560 983672 112 0.0
BRD4161A+rs911x (read/write) 947692 947804 112 0.0
.bss 140768 140768 0 0.0
.data 2048 2048 0 0.0
.text 804856 804968 112 0.0
lock-app BRD4161A+wf200 (read/write) 1128496 1128632 136 0.0
.bss 144184 144184 0 0.0
.data 2060 2060 0 0.0
.text 982228 982364 136 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2447912 2447912 0 0.0
.bss 213940 213940 0 0.0
.data 5872 5872 0 0.0
.text 1410556 1410556 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1174935 1174935 0 0.0
bss 142900 142900 0 0.0
rodata 141808 141808 0 0.0
text 811332 811344 12 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1155131 1155147 16 0.0
bss 142136 142136 0 0.0
rodata 133340 133340 0 0.0
text 800776 800792 16 0.0

@andy31415 andy31415 merged commit 5286fcf into project-chip:master Jul 11, 2022
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.

3 participants