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

Make attribute-write yaml tests play nicer with complex types. #11457

Conversation

bzbarsky-apple
Copy link
Contributor

The key change is using zapTypeToEncodableClusterObjectType to declare
the type and the "commandValue" partial to set it to the given value,
which is more similar to how we handle command arguments. That makes
things work for lists and nullables at the very least.

The ignore="true" bit is probably not very well named, but it means
"just use the 'container' value as-is, instead of treating it as a
struct with member that stores the value".

The fix in ClusterTestGeneration.js is just fixing a typo in the
"type" values there that started to matter because we pass "type" to
zapTypeToEncodableClusterObjectType.

The fix in ClustersHelper.js is to give out synthetic "argument" to
writeAttribute the same nullability as the actual attribute, so the
types we get are right.

The generated code changes are all no-ops so far, because we are not
actually using any types that would be affected by this yet.

Problem

Trying to write a yaml test that tryies to writeAttribute with a list or null fails to generate anything resembling the right code.

Change overview

Make at least the code generation for the test succeed.

Testing

Examined generated code changes and made sure they are all ok.

@github-actions
Copy link

github-actions bot commented Nov 5, 2021

PR #11457: Size comparison from b18ecb9 to cf293e1

Increases (1 build for linux)
platform target config section b18ecb9 cf293e1 change % change
linux chip-tool debug (read only) 4508245 4508677 432 0.0
.text 4007957 4008389 432 0.0
Full report (38 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section b18ecb9 cf293e1 change % change
efr32 lighting-app BRD4161A (read only) 744652 744652 0 0.0
(read/write) 115696 115696 0 0.0
.bss 113924 113924 0 0.0
.data 1772 1772 0 0.0
.text 744644 744644 0 0.0
BRD4161A+rpc (read only) 732184 732184 0 0.0
(read/write) 132316 132316 0 0.0
.bss 130428 130428 0 0.0
.data 1888 1888 0 0.0
.text 732176 732176 0 0.0
lock-app BRD4161A (read only) 723936 723936 0 0.0
(read/write) 113516 113516 0 0.0
.bss 111780 111780 0 0.0
.data 1732 1732 0 0.0
.text 723928 723928 0 0.0
window-app BRD4161A (read only) 724832 724832 0 0.0
(read/write) 113836 113836 0 0.0
.bss 112100 112100 0 0.0
.data 1736 1736 0 0.0
.text 724824 724824 0 0.0
esp32 all-clusters-app c3devkit (read only) 882430 882430 0 0.0
(read/write) 1305896 1305896 0 0.0
.dram0.bss 57576 57576 0 0.0
.dram0.data 16472 16472 0 0.0
.flash.rodata 198600 198600 0 0.0
.flash.text 882430 882430 0 0.0
.iram0.text 57564 57564 0 0.0
m5stack (read only) 913275 913275 0 0.0
(read/write) 423212 423212 0 0.0
.dram0.bss 60088 60088 0 0.0
.dram0.data 32108 32108 0 0.0
.flash.rodata 204852 204852 0 0.0
.flash.text 913275 913275 0 0.0
.iram0.text 125115 125115 0 0.0
k32w lighting-app k32w061+se05x+release (read/write) 699016 699016 0 0.0
.bss 77784 77784 0 0.0
.data 1904 1904 0 0.0
.text 613528 613528 0 0.0
lock-app k32w061+debug (read/write) 591836 591836 0 0.0
.bss 68316 68316 0 0.0
.data 1872 1872 0 0.0
.text 515848 515848 0 0.0
shell k32w061+debug (read/write) 657312 657312 0 0.0
.bss 78952 78952 0 0.0
.data 1840 1840 0 0.0
.text 570720 570720 0 0.0
linux all-clusters-app debug (read only) 1702705 1702705 0 0.0
(read/write) 118656 118656 0 0.0
.bss 50000 50000 0 0.0
.data 1042 1042 0 0.0
.data.rel.ro 62336 62336 0 0.0
.dynamic 592 592 0 0.0
.got 4088 4088 0 0.0
.init 27 27 0 0.0
.init_array 552 552 0 0.0
.rodata 139157 139157 0 0.0
.text 1430082 1430082 0 0.0
bridge-app debug+rpc (read only) 1290725 1290725 0 0.0
(read/write) 69232 69232 0 0.0
.bss 34928 34928 0 0.0
.data 1568 1568 0 0.0
.data.rel.ro 27768 27768 0 0.0
.dynamic 592 592 0 0.0
.got 3952 3952 0 0.0
.init 27 27 0 0.0
.init_array 408 408 0 0.0
.rodata 110948 110948 0 0.0
.text 1083861 1083861 0 0.0
chip-tool debug (read only) 4508245 4508677 432 0.0
(read/write) 125864 125864 0 0.0
.bss 18128 18128 0 0.0
.data 2224 2224 0 0.0
.data.rel.ro 100096 100096 0 0.0
.dynamic 592 592 0 0.0
.got 4368 4368 0 0.0
.init 27 27 0 0.0
.init_array 432 432 0 0.0
.rodata 231824 231824 0 0.0
.text 4007957 4008389 432 0.0
lighting-app debug+rpc (read only) 1551721 1551721 0 0.0
(read/write) 102200 102200 0 0.0
.bss 40568 40568 0 0.0
.data 1170 1170 0 0.0
.data.rel.ro 55168 55168 0 0.0
.dynamic 608 608 0 0.0
.got 4112 4112 0 0.0
.init 27 27 0 0.0
.init_array 536 536 0 0.0
.rodata 129585 129585 0 0.0
.text 1288530 1288530 0 0.0
ota-provider-app debug (read only) 1249961 1249961 0 0.0
(read/write) 67400 67400 0 0.0
.bss 36992 36992 0 0.0
.data 752 752 0 0.0
.data.rel.ro 24568 24568 0 0.0
.dynamic 592 592 0 0.0
.got 4016 4016 0 0.0
.init 27 27 0 0.0
.init_array 448 448 0 0.0
.rodata 112168 112168 0 0.0
.text 1041666 1041666 0 0.0
ota-requestor-app debug (read only) 1328289 1328289 0 0.0
(read/write) 76656 76656 0 0.0
.bss 45120 45120 0 0.0
.data 816 816 0 0.0
.data.rel.ro 25576 25576 0 0.0
.dynamic 592 592 0 0.0
.got 3992 3992 0 0.0
.init 27 27 0 0.0
.init_array 520 520 0 0.0
.rodata 124176 124176 0 0.0
.text 1106034 1106034 0 0.0
shell debug (read only) 786873 786873 0 0.0
(read/write) 57608 57608 0 0.0
.bss 16040 16040 0 0.0
.data 242 242 0 0.0
.data.rel.ro 36816 36816 0 0.0
.dynamic 592 592 0 0.0
.got 3528 3528 0 0.0
.init 27 27 0 0.0
.init_array 344 344 0 0.0
.rodata 77903 77903 0 0.0
.text 607458 607458 0 0.0
tv-app debug (read only) 1815361 1815361 0 0.0
(read/write) 289824 289824 0 0.0
.bss 222640 222640 0 0.0
.data 2704 2704 0 0.0
.data.rel.ro 58824 58824 0 0.0
.dynamic 592 592 0 0.0
.got 4408 4408 0 0.0
.init 27 27 0 0.0
.init_array 616 616 0 0.0
.rodata 155208 155208 0 0.0
.text 1517842 1517842 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2291344 2291344 0 0.0
.bss 178892 178892 0 0.0
.data 5224 5224 0 0.0
.heap 852328 852328 0 0.0
.text 1253944 1253944 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2271504 2271504 0 0.0
.bss 171948 171948 0 0.0
.data 5568 5568 0 0.0
.heap 858928 858928 0 0.0
.text 1234104 1234104 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2249160 2249160 0 0.0
.bss 170844 170844 0 0.0
.data 5560 5560 0 0.0
.heap 860040 860040 0 0.0
.text 1211760 1211760 0 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139744 1139744 0 0.0
.bss 11752 11752 0 0.0
.data 4368 4368 0 0.0
.heap 1020328 1020328 0 0.0
.text 103128 103128 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2048400 2048400 0 0.0
.bss 156224 156224 0 0.0
.data 4960 4960 0 0.0
.heap 875264 875264 0 0.0
.text 1011000 1011000 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 861079 861079 0 0.0
bss 111248 111248 0 0.0
rodata 96808 96808 0 0.0
text 577404 577404 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 823427 823427 0 0.0
bss 107600 107600 0 0.0
rodata 87988 87988 0 0.0
text 551552 551552 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 786118 786118 0 0.0
bss 112624 112624 0 0.0
rodata 92064 92064 0 0.0
text 506860 506860 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 837803 837803 0 0.0
bss 110284 110284 0 0.0
rodata 93180 93180 0 0.0
text 558888 558888 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 763082 763082 0 0.0
bss 111692 111692 0 0.0
rodata 88484 88484 0 0.0
text 488436 488436 0 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 497323 497323 0 0.0
bss 51824 51824 0 0.0
rodata 45776 45776 0 0.0
text 339436 339436 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 843879 843879 0 0.0
bss 110420 110420 0 0.0
rodata 94888 94888 0 0.0
text 563048 563048 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 837655 837655 0 0.0
bss 110320 110320 0 0.0
rodata 93176 93176 0 0.0
text 558624 558624 0 0.0
shell nrf52840dk_nrf52840 (read/write) 775755 775755 0 0.0
bss 109072 109072 0 0.0
rodata 72432 72432 0 0.0
text 519664 519664 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 690794 690794 0 0.0
bss 110052 110052 0 0.0
rodata 67076 67076 0 0.0
text 440256 440256 0 0.0
p6 all-clusters-app default (read/write) 2299992 2299992 0 0.0
.bss 106840 106840 0 0.0
.data 2520 2520 0 0.0
.heap 923984 923984 0 0.0
.text 1258256 1258256 0 0.0
lock-app default (read/write) 2212688 2212688 0 0.0
.bss 95648 95648 0 0.0
.data 2392 2392 0 0.0
.heap 935304 935304 0 0.0
.text 1170952 1170952 0 0.0
qpg lighting-app qpg6100+debug (read only) 490396 490396 0 0.0
(read/write) 114140 114140 0 0.0
.bss 50944 50944 0 0.0
.data 1004 1004 0 0.0
.text 485076 485076 0 0.0
lock-app qpg6100+debug (read only) 466736 466736 0 0.0
(read/write) 114144 114144 0 0.0
.bss 49888 49888 0 0.0
.data 960 960 0 0.0
.text 461416 461416 0 0.0
persistent-storage-app qpg6100+debug (read only) 153212 153212 0 0.0
(read/write) 114140 114140 0 0.0
.bss 18912 18912 0 0.0
.data 356 356 0 0.0
.text 147892 147892 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 662710 662710 0 0.0
bss 69064 69064 0 0.0
noinit 33216 33216 0 0.0
text 457862 457862 0 0.0

@github-actions
Copy link

github-actions bot commented Nov 5, 2021

PR #11457: Size comparison from 39ff9bf to 4291916

Increases (1 build for linux)
platform target config section 39ff9bf 4291916 change % change
linux chip-tool debug (read only) 4508277 4508709 432 0.0
.text 4007989 4008421 432 0.0
Full report (38 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 39ff9bf 4291916 change % change
efr32 lighting-app BRD4161A (read only) 744756 744756 0 0.0
(read/write) 115704 115704 0 0.0
.bss 113932 113932 0 0.0
.data 1772 1772 0 0.0
.text 744748 744748 0 0.0
BRD4161A+rpc (read only) 732304 732304 0 0.0
(read/write) 132324 132324 0 0.0
.bss 130436 130436 0 0.0
.data 1888 1888 0 0.0
.text 732296 732296 0 0.0
lock-app BRD4161A (read only) 724056 724056 0 0.0
(read/write) 113524 113524 0 0.0
.bss 111788 111788 0 0.0
.data 1732 1732 0 0.0
.text 724048 724048 0 0.0
window-app BRD4161A (read only) 724952 724952 0 0.0
(read/write) 113844 113844 0 0.0
.bss 112108 112108 0 0.0
.data 1736 1736 0 0.0
.text 724944 724944 0 0.0
esp32 all-clusters-app c3devkit (read only) 882498 882498 0 0.0
(read/write) 1305960 1305960 0 0.0
.dram0.bss 57576 57576 0 0.0
.dram0.data 16472 16472 0 0.0
.flash.rodata 198664 198664 0 0.0
.flash.text 882498 882498 0 0.0
.iram0.text 57624 57624 0 0.0
m5stack (read only) 913375 913375 0 0.0
(read/write) 423268 423268 0 0.0
.dram0.bss 60088 60088 0 0.0
.dram0.data 32108 32108 0 0.0
.flash.rodata 204908 204908 0 0.0
.flash.text 913375 913375 0 0.0
.iram0.text 125115 125115 0 0.0
k32w lighting-app k32w061+se05x+release (read/write) 699136 699136 0 0.0
.bss 77784 77784 0 0.0
.data 1904 1904 0 0.0
.text 613648 613648 0 0.0
lock-app k32w061+debug (read/write) 591956 591956 0 0.0
.bss 68316 68316 0 0.0
.data 1872 1872 0 0.0
.text 515968 515968 0 0.0
shell k32w061+debug (read/write) 657448 657448 0 0.0
.bss 78952 78952 0 0.0
.data 1840 1840 0 0.0
.text 570856 570856 0 0.0
linux all-clusters-app debug (read only) 1702737 1702737 0 0.0
(read/write) 118656 118656 0 0.0
.bss 50000 50000 0 0.0
.data 1042 1042 0 0.0
.data.rel.ro 62336 62336 0 0.0
.dynamic 592 592 0 0.0
.got 4088 4088 0 0.0
.init 27 27 0 0.0
.init_array 552 552 0 0.0
.rodata 139157 139157 0 0.0
.text 1430114 1430114 0 0.0
bridge-app debug+rpc (read only) 1290757 1290757 0 0.0
(read/write) 69232 69232 0 0.0
.bss 34928 34928 0 0.0
.data 1568 1568 0 0.0
.data.rel.ro 27768 27768 0 0.0
.dynamic 592 592 0 0.0
.got 3952 3952 0 0.0
.init 27 27 0 0.0
.init_array 408 408 0 0.0
.rodata 110948 110948 0 0.0
.text 1083893 1083893 0 0.0
chip-tool debug (read only) 4508277 4508709 432 0.0
(read/write) 125864 125864 0 0.0
.bss 18128 18128 0 0.0
.data 2224 2224 0 0.0
.data.rel.ro 100096 100096 0 0.0
.dynamic 592 592 0 0.0
.got 4368 4368 0 0.0
.init 27 27 0 0.0
.init_array 432 432 0 0.0
.rodata 231824 231824 0 0.0
.text 4007989 4008421 432 0.0
lighting-app debug+rpc (read only) 1551753 1551753 0 0.0
(read/write) 102200 102200 0 0.0
.bss 40568 40568 0 0.0
.data 1170 1170 0 0.0
.data.rel.ro 55168 55168 0 0.0
.dynamic 608 608 0 0.0
.got 4112 4112 0 0.0
.init 27 27 0 0.0
.init_array 536 536 0 0.0
.rodata 129585 129585 0 0.0
.text 1288562 1288562 0 0.0
ota-provider-app debug (read only) 1249993 1249993 0 0.0
(read/write) 67400 67400 0 0.0
.bss 36992 36992 0 0.0
.data 752 752 0 0.0
.data.rel.ro 24568 24568 0 0.0
.dynamic 592 592 0 0.0
.got 4016 4016 0 0.0
.init 27 27 0 0.0
.init_array 448 448 0 0.0
.rodata 112168 112168 0 0.0
.text 1041698 1041698 0 0.0
ota-requestor-app debug (read only) 1328321 1328321 0 0.0
(read/write) 76656 76656 0 0.0
.bss 45120 45120 0 0.0
.data 816 816 0 0.0
.data.rel.ro 25576 25576 0 0.0
.dynamic 592 592 0 0.0
.got 3992 3992 0 0.0
.init 27 27 0 0.0
.init_array 520 520 0 0.0
.rodata 124176 124176 0 0.0
.text 1106066 1106066 0 0.0
shell debug (read only) 786921 786921 0 0.0
(read/write) 57608 57608 0 0.0
.bss 16040 16040 0 0.0
.data 242 242 0 0.0
.data.rel.ro 36816 36816 0 0.0
.dynamic 592 592 0 0.0
.got 3528 3528 0 0.0
.init 27 27 0 0.0
.init_array 344 344 0 0.0
.rodata 77903 77903 0 0.0
.text 607506 607506 0 0.0
tv-app debug (read only) 1815393 1815393 0 0.0
(read/write) 289824 289824 0 0.0
.bss 222640 222640 0 0.0
.data 2704 2704 0 0.0
.data.rel.ro 58824 58824 0 0.0
.dynamic 592 592 0 0.0
.got 4408 4408 0 0.0
.init 27 27 0 0.0
.init_array 616 616 0 0.0
.rodata 155208 155208 0 0.0
.text 1517874 1517874 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2291344 2291344 0 0.0
.bss 178892 178892 0 0.0
.data 5224 5224 0 0.0
.heap 852328 852328 0 0.0
.text 1253944 1253944 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2271504 2271504 0 0.0
.bss 171948 171948 0 0.0
.data 5568 5568 0 0.0
.heap 858928 858928 0 0.0
.text 1234104 1234104 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2249160 2249160 0 0.0
.bss 170844 170844 0 0.0
.data 5560 5560 0 0.0
.heap 860040 860040 0 0.0
.text 1211760 1211760 0 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139744 1139744 0 0.0
.bss 11752 11752 0 0.0
.data 4368 4368 0 0.0
.heap 1020328 1020328 0 0.0
.text 103128 103128 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2048400 2048400 0 0.0
.bss 156224 156224 0 0.0
.data 4960 4960 0 0.0
.heap 875264 875264 0 0.0
.text 1011000 1011000 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 861223 861223 0 0.0
bss 111256 111256 0 0.0
rodata 96872 96872 0 0.0
text 577480 577480 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 823567 823567 0 0.0
bss 107608 107608 0 0.0
rodata 88048 88048 0 0.0
text 551628 551628 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 786246 786246 0 0.0
bss 112632 112632 0 0.0
rodata 92128 92128 0 0.0
text 506936 506936 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 837927 837927 0 0.0
bss 110292 110292 0 0.0
rodata 93240 93240 0 0.0
text 558960 558960 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 763226 763226 0 0.0
bss 111700 111700 0 0.0
rodata 88548 88548 0 0.0
text 488508 488508 0 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 497323 497323 0 0.0
bss 51824 51824 0 0.0
rodata 45776 45776 0 0.0
text 339436 339436 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 844023 844023 0 0.0
bss 110428 110428 0 0.0
rodata 94952 94952 0 0.0
text 563124 563124 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 837783 837783 0 0.0
bss 110328 110328 0 0.0
rodata 93240 93240 0 0.0
text 558696 558696 0 0.0
shell nrf52840dk_nrf52840 (read/write) 775899 775899 0 0.0
bss 109080 109080 0 0.0
rodata 72496 72496 0 0.0
text 519736 519736 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 690938 690938 0 0.0
bss 110060 110060 0 0.0
rodata 67140 67140 0 0.0
text 440328 440328 0 0.0
p6 all-clusters-app default (read/write) 2300072 2300072 0 0.0
.bss 106840 106840 0 0.0
.data 2520 2520 0 0.0
.heap 923984 923984 0 0.0
.text 1258336 1258336 0 0.0
lock-app default (read/write) 2212784 2212784 0 0.0
.bss 95648 95648 0 0.0
.data 2392 2392 0 0.0
.heap 935304 935304 0 0.0
.text 1171048 1171048 0 0.0
qpg lighting-app qpg6100+debug (read only) 490532 490532 0 0.0
(read/write) 114140 114140 0 0.0
.bss 50944 50944 0 0.0
.data 1004 1004 0 0.0
.text 485212 485212 0 0.0
lock-app qpg6100+debug (read only) 466872 466872 0 0.0
(read/write) 114144 114144 0 0.0
.bss 49888 49888 0 0.0
.data 960 960 0 0.0
.text 461552 461552 0 0.0
persistent-storage-app qpg6100+debug (read only) 153212 153212 0 0.0
(read/write) 114140 114140 0 0.0
.bss 18912 18912 0 0.0
.data 356 356 0 0.0
.text 147892 147892 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 662870 662870 0 0.0
bss 69072 69072 0 0.0
noinit 33216 33216 0 0.0
text 457962 457962 0 0.0

The key change is using zapTypeToEncodableClusterObjectType to declare
the type and the "commandValue" partial to set it to the given value,
which is more similar to how we handle command arguments.  That makes
things work for lists and nullables at the very least.

The ignore="true" bit is probably not very well named, but it means
"just use the 'container' value as-is, instead of treating it as a
struct with member that stores the value".

The fix in ClusterTestGeneration.js is just fixing a typo in the
"type" values there that started to matter because we pass "type" to
zapTypeToEncodableClusterObjectType.

The fix in ClustersHelper.js is to give our synthetic "argument" to
writeAttribute the same nullability as the actual attribute, so the
types we get are right, and to set isArray for lists, because our
templates key off of that (especially the "commandValue" partial).
The "commandValue" partial also uses the "label" when dealing with
lists, so we define that for attributes to just be the attribute name.

The generated code changes are all no-ops so far, because we are not
actually using any types that would be affected by this yet.
@github-actions
Copy link

github-actions bot commented Nov 5, 2021

PR #11457: Size comparison from 7addec8 to 756ef8e

Increases (1 build for linux)
platform target config section 7addec8 756ef8e change % change
linux chip-tool debug (read only) 4508917 4509349 432 0.0
.text 4008629 4009061 432 0.0
Full report (38 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 7addec8 756ef8e change % change
efr32 lighting-app BRD4161A (read only) 744880 744880 0 0.0
(read/write) 115708 115708 0 0.0
.bss 113932 113932 0 0.0
.data 1772 1772 0 0.0
.text 744872 744872 0 0.0
BRD4161A+rpc (read only) 732408 732408 0 0.0
(read/write) 132324 132324 0 0.0
.bss 130436 130436 0 0.0
.data 1888 1888 0 0.0
.text 732400 732400 0 0.0
lock-app BRD4161A (read only) 724160 724160 0 0.0
(read/write) 113524 113524 0 0.0
.bss 111788 111788 0 0.0
.data 1732 1732 0 0.0
.text 724152 724152 0 0.0
window-app BRD4161A (read only) 725072 725072 0 0.0
(read/write) 113844 113844 0 0.0
.bss 112108 112108 0 0.0
.data 1736 1736 0 0.0
.text 725064 725064 0 0.0
esp32 all-clusters-app c3devkit (read only) 882530 882530 0 0.0
(read/write) 1305960 1305960 0 0.0
.dram0.bss 57576 57576 0 0.0
.dram0.data 16472 16472 0 0.0
.flash.rodata 198664 198664 0 0.0
.flash.text 882530 882530 0 0.0
.iram0.text 57624 57624 0 0.0
m5stack (read only) 913387 913387 0 0.0
(read/write) 423268 423268 0 0.0
.dram0.bss 60088 60088 0 0.0
.dram0.data 32108 32108 0 0.0
.flash.rodata 204908 204908 0 0.0
.flash.text 913387 913387 0 0.0
.iram0.text 125115 125115 0 0.0
k32w lighting-app k32w061+se05x+release (read/write) 699216 699216 0 0.0
.bss 77784 77784 0 0.0
.data 1904 1904 0 0.0
.text 613728 613728 0 0.0
lock-app k32w061+debug (read/write) 592036 592036 0 0.0
.bss 68316 68316 0 0.0
.data 1872 1872 0 0.0
.text 516048 516048 0 0.0
shell k32w061+debug (read/write) 657528 657528 0 0.0
.bss 78952 78952 0 0.0
.data 1840 1840 0 0.0
.text 570936 570936 0 0.0
linux all-clusters-app debug (read only) 1703617 1703617 0 0.0
(read/write) 118656 118656 0 0.0
.bss 50000 50000 0 0.0
.data 1042 1042 0 0.0
.data.rel.ro 62336 62336 0 0.0
.dynamic 592 592 0 0.0
.got 4088 4088 0 0.0
.init 27 27 0 0.0
.init_array 552 552 0 0.0
.rodata 139189 139189 0 0.0
.text 1430962 1430962 0 0.0
bridge-app debug+rpc (read only) 1291605 1291605 0 0.0
(read/write) 69232 69232 0 0.0
.bss 34928 34928 0 0.0
.data 1568 1568 0 0.0
.data.rel.ro 27768 27768 0 0.0
.dynamic 592 592 0 0.0
.got 3952 3952 0 0.0
.init 27 27 0 0.0
.init_array 408 408 0 0.0
.rodata 110964 110964 0 0.0
.text 1084725 1084725 0 0.0
chip-tool debug (read only) 4508917 4509349 432 0.0
(read/write) 125864 125864 0 0.0
.bss 18128 18128 0 0.0
.data 2224 2224 0 0.0
.data.rel.ro 100096 100096 0 0.0
.dynamic 592 592 0 0.0
.got 4368 4368 0 0.0
.init 27 27 0 0.0
.init_array 432 432 0 0.0
.rodata 231824 231824 0 0.0
.text 4008629 4009061 432 0.0
lighting-app debug+rpc (read only) 1552617 1552617 0 0.0
(read/write) 102200 102200 0 0.0
.bss 40568 40568 0 0.0
.data 1170 1170 0 0.0
.data.rel.ro 55168 55168 0 0.0
.dynamic 608 608 0 0.0
.got 4112 4112 0 0.0
.init 27 27 0 0.0
.init_array 536 536 0 0.0
.rodata 129585 129585 0 0.0
.text 1289426 1289426 0 0.0
ota-provider-app debug (read only) 1250841 1250841 0 0.0
(read/write) 67400 67400 0 0.0
.bss 36992 36992 0 0.0
.data 752 752 0 0.0
.data.rel.ro 24568 24568 0 0.0
.dynamic 592 592 0 0.0
.got 4016 4016 0 0.0
.init 27 27 0 0.0
.init_array 448 448 0 0.0
.rodata 112200 112200 0 0.0
.text 1042514 1042514 0 0.0
ota-requestor-app debug (read only) 1329137 1329137 0 0.0
(read/write) 76656 76656 0 0.0
.bss 45120 45120 0 0.0
.data 816 816 0 0.0
.data.rel.ro 25576 25576 0 0.0
.dynamic 592 592 0 0.0
.got 3992 3992 0 0.0
.init 27 27 0 0.0
.init_array 520 520 0 0.0
.rodata 124176 124176 0 0.0
.text 1106882 1106882 0 0.0
shell debug (read only) 787529 787529 0 0.0
(read/write) 57608 57608 0 0.0
.bss 16040 16040 0 0.0
.data 242 242 0 0.0
.data.rel.ro 36816 36816 0 0.0
.dynamic 592 592 0 0.0
.got 3528 3528 0 0.0
.init 27 27 0 0.0
.init_array 344 344 0 0.0
.rodata 77903 77903 0 0.0
.text 608114 608114 0 0.0
tv-app debug (read only) 1816577 1816577 0 0.0
(read/write) 289824 289824 0 0.0
.bss 222640 222640 0 0.0
.data 2704 2704 0 0.0
.data.rel.ro 58824 58824 0 0.0
.dynamic 592 592 0 0.0
.got 4408 4408 0 0.0
.init 27 27 0 0.0
.init_array 616 616 0 0.0
.rodata 155240 155240 0 0.0
.text 1519026 1519026 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2291408 2291408 0 0.0
.bss 178892 178892 0 0.0
.data 5224 5224 0 0.0
.heap 852328 852328 0 0.0
.text 1254008 1254008 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2271568 2271568 0 0.0
.bss 171948 171948 0 0.0
.data 5568 5568 0 0.0
.heap 858928 858928 0 0.0
.text 1234168 1234168 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2249224 2249224 0 0.0
.bss 170844 170844 0 0.0
.data 5560 5560 0 0.0
.heap 860040 860040 0 0.0
.text 1211824 1211824 0 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139744 1139744 0 0.0
.bss 11752 11752 0 0.0
.data 4368 4368 0 0.0
.heap 1020328 1020328 0 0.0
.text 103128 103128 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2048464 2048464 0 0.0
.bss 156224 156224 0 0.0
.data 4960 4960 0 0.0
.heap 875264 875264 0 0.0
.text 1011064 1011064 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 861303 861303 0 0.0
bss 111256 111256 0 0.0
rodata 96872 96872 0 0.0
text 577556 577556 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 823631 823631 0 0.0
bss 107608 107608 0 0.0
rodata 88048 88048 0 0.0
text 551704 551704 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 786326 786326 0 0.0
bss 112632 112632 0 0.0
rodata 92128 92128 0 0.0
text 507012 507012 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 838007 838007 0 0.0
bss 110292 110292 0 0.0
rodata 93240 93240 0 0.0
text 559040 559040 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 763306 763306 0 0.0
bss 111700 111700 0 0.0
rodata 88548 88548 0 0.0
text 488588 488588 0 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 497323 497323 0 0.0
bss 51824 51824 0 0.0
rodata 45776 45776 0 0.0
text 339436 339436 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 844103 844103 0 0.0
bss 110428 110428 0 0.0
rodata 94952 94952 0 0.0
text 563200 563200 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 837863 837863 0 0.0
bss 110328 110328 0 0.0
rodata 93240 93240 0 0.0
text 558776 558776 0 0.0
shell nrf52840dk_nrf52840 (read/write) 775963 775963 0 0.0
bss 109080 109080 0 0.0
rodata 72496 72496 0 0.0
text 519796 519796 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 690986 690986 0 0.0
bss 110060 110060 0 0.0
rodata 67140 67140 0 0.0
text 440388 440388 0 0.0
p6 all-clusters-app default (read/write) 2300168 2300168 0 0.0
.bss 106840 106840 0 0.0
.data 2520 2520 0 0.0
.heap 923984 923984 0 0.0
.text 1258432 1258432 0 0.0
lock-app default (read/write) 2212872 2212872 0 0.0
.bss 95648 95648 0 0.0
.data 2392 2392 0 0.0
.heap 935304 935304 0 0.0
.text 1171136 1171136 0 0.0
qpg lighting-app qpg6100+debug (read only) 490604 490604 0 0.0
(read/write) 114140 114140 0 0.0
.bss 50944 50944 0 0.0
.data 1004 1004 0 0.0
.text 485284 485284 0 0.0
lock-app qpg6100+debug (read only) 466944 466944 0 0.0
(read/write) 114144 114144 0 0.0
.bss 49888 49888 0 0.0
.data 960 960 0 0.0
.text 461624 461624 0 0.0
persistent-storage-app qpg6100+debug (read only) 153212 153212 0 0.0
(read/write) 114140 114140 0 0.0
.bss 18912 18912 0 0.0
.data 356 356 0 0.0
.text 147892 147892 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 662902 662902 0 0.0
bss 69072 69072 0 0.0
noinit 33216 33216 0 0.0
text 457992 457992 0 0.0

@bzbarsky-apple bzbarsky-apple merged commit 6407277 into project-chip:master Nov 5, 2021
@bzbarsky-apple bzbarsky-apple deleted the yaml-test-attr-write-types branch November 5, 2021 19:53
PSONALl pushed a commit to PSONALl/connectedhomeip that referenced this pull request Dec 3, 2021
…ct-chip#11457)

The key change is using zapTypeToEncodableClusterObjectType to declare
the type and the "commandValue" partial to set it to the given value,
which is more similar to how we handle command arguments.  That makes
things work for lists and nullables at the very least.

The ignore="true" bit is probably not very well named, but it means
"just use the 'container' value as-is, instead of treating it as a
struct with member that stores the value".

The fix in ClusterTestGeneration.js is just fixing a typo in the
"type" values there that started to matter because we pass "type" to
zapTypeToEncodableClusterObjectType.

The fix in ClustersHelper.js is to give our synthetic "argument" to
writeAttribute the same nullability as the actual attribute, so the
types we get are right, and to set isArray for lists, because our
templates key off of that (especially the "commandValue" partial).
The "commandValue" partial also uses the "label" when dealing with
lists, so we define that for attributes to just be the attribute name.

The generated code changes are all no-ops so far, because we are not
actually using any types that would be affected by this yet.
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.

4 participants