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 Darwin backwards-compat shims for the TestCluster rename. #23611

Merged

Conversation

bzbarsky-apple
Copy link
Contributor

#23495 renamed "TestCluster"
to "UnitTesting", which changed a bunch of Darwin APIs. This PR puts in place
backwards-compat shims to avoid API changes. Specifically, compared to revision
9a41c9c (right before #23495 landed), the
changes to Darwin code end up looking like this:

  1. MTRAttributeTLVValueDecoder.mm: internal-only changes to cluster ids.
  2. MTRBaseClusters.h:
    • MTRBaseClusterTestCluster renamed to MTRBaseClusterUnitTesting, which is
      marked MTR_NEWLY_AVAILABLE.
    • Various modifications to methods on MTRBaseClusterUnitTesting that are
      marked MTR_NEWLY_AVAILABLE, so these changes are OK.
    • MTRBaseClusterTestCluster is added as a subclass of
      MTRBaseClusterUnitTesting.
    • The MTRBaseClusterTestCluster (Deprecated) bits are not changed at all.
    • The MTRUnitTesting enums/bitmaps are added as MTR_NEWLY_AVAILABLE.
    • The MTRTestCluster enums/bitmaps are marked as MTR_NEWLY_DEPRECATED.
  3. MTRBaseClusters.mm: The various (Deprecated) bits get shims on the
    completion handlers to handle the fact that for MTRBaseClusterTestCluster
    (Deprecated) the types in the completions are TestCluster but we want to
    call things that expect UnitTesting types, so we have to cast between them.
    We could restrict these shims to just TestCluster with enough work, but it
    does not seem worth it.
  4. MTRBaseClusters_internal.h: just follows the renaming from MTRBaseClusters.h
  5. MTRCallbackBridge.mm: just follows the renamings of the various struct types,
    commands, etc..
  6. MTRCallbackBridge_internal.h: just follows the renaming of the various
    struct types.
  7. MTRClusterConstants.h: marks the old constants as MTR_NEWLY_DEPRECATED and
    adds the new constants as MTR_NEWLY_AVAILABLE.
  8. MTRClusters.h:
    • MTRClusterTestCluster renamed to MTRClusterUnitTesting, which is marked
      MTR_NEWLY_AVAILABLE.
    • Various modifications to methods on MTRClusterUnitTesting that are marked
      MTR_NEWLY_AVAILABLE, so these changes are OK.
    • MTRClusterTestCluster is added as a subclass of MTRClusterUnitTesting.
    • The MTRClusterTestCluster (Deprecated) bits are not changed at all.
  9. MTRClusters.mm: The various (Deprecated) bits get shims on the
    completion handlers, like for MTRBaseClusters.mm above.
  10. MTRClusters_internal.h: Just follows the renaming from MTRClusters.h
  11. MTRCommandPayloadsObjc.h:
    • Renames payload structs to UnitTesting, marks them MTR_NEWLY_AVAILABLE
    • Adds subclasses of the payload structs with the old name that
      are marked as MTR_NEWLY_DEPRECATED and have no extra selectors.
    • Changes types of struct members of payloads to have the UnitTesting types.
  12. MTRCommandPayloadsObjc.mm: just follows the header changes.
  13. MTREventTLVValueDecoder.mm: Internal changes to ID names.
  14. MTRStructsObjc.h:
    • Renames structs defined in the unit testing cluster to UnitTesting names,
      marks them MTR_NEWLY_AVAILABLE.
    • Adds subclasses of the structs with the old name that are marked as
      MTR_NEWLY_DEPRECATED and have no extra selectors.
  15. MTRStructsObjc.mm: just follows the header changes.

project-chip#23495 renamed "TestCluster"
to "UnitTesting", which changed a bunch of Darwin APIs.  This PR puts in place
backwards-compat shims to avoid API changes.  Specifically, compared to revision
9a41c9c (right before project-chip#23495 landed), the
changes to Darwin code end up looking like this:

1. MTRAttributeTLVValueDecoder.mm: internal-only changes to cluster ids.
2. MTRBaseClusters.h:
   * MTRBaseClusterTestCluster renamed to MTRBaseClusterUnitTesting, which is
     marked MTR_NEWLY_AVAILABLE.
   * Various modifications to methods on MTRBaseClusterUnitTesting that are
     marked MTR_NEWLY_AVAILABLE, so these changes are OK.
   * MTRBaseClusterTestCluster is added as a subclass of
     MTRBaseClusterUnitTesting.
   * The MTRBaseClusterTestCluster (Deprecated) bits are not changed at all.
   * The MTRUnitTesting enums/bitmaps are added as MTR_NEWLY_AVAILABLE.
   * The MTRTestCluster enums/bitmaps are marked as MTR_NEWLY_DEPRECATED.
3. MTRBaseClusters.mm: The various (Deprecated) bits get shims on the
   completion handlers to handle the fact that for MTRBaseClusterTestCluster
   (Deprecated) the types in the completions are TestCluster but we want to
   call things that expect UnitTesting types, so we have to cast between them.
   We could restrict these shims to just TestCluster with enough work, but it
   does not seem worth it.
4. MTRBaseClusters_internal.h: just follows the renaming from MTRBaseClusters.h
5. MTRCallbackBridge.mm: just follows the renamings of the various struct types,
   commands, etc..
6. MTRCallbackBridge_internal.h: just follows the renaming of the various
   struct types.
7. MTRClusterConstants.h: marks the old constants as MTR_NEWLY_DEPRECATED and
   adds the new constants as MTR_NEWLY_AVAILABLE.
8. MTRClusters.h:
   * MTRClusterTestCluster renamed to MTRClusterUnitTesting, which is marked
     MTR_NEWLY_AVAILABLE.
   * Various modifications to methods on MTRClusterUnitTesting that are marked
     MTR_NEWLY_AVAILABLE, so these changes are OK.
   * MTRClusterTestCluster is added as a subclass of MTRClusterUnitTesting.
   * The MTRClusterTestCluster (Deprecated) bits are not changed at all.
9. MTRClusters.mm: The various (Deprecated) bits get shims on the
   completion handlers, like for MTRBaseClusters.mm above.
10. MTRClusters_internal.h: Just follows the renaming from MTRClusters.h
11. MTRCommandPayloadsObjc.h:
    * Renames payload structs to UnitTesting, marks them MTR_NEWLY_AVAILABLE
    * Adds subclasses of the payload structs with the old name that
      are marked as MTR_NEWLY_DEPRECATED and have no extra selectors.
    * Changes types of struct members of payloads to have the UnitTesting types.
12. MTRCommandPayloadsObjc.mm: just follows the header changes.
13. MTREventTLVValueDecoder.mm: Internal changes to ID names.
14. MTRStructsObjc.h:
    * Renames structs defined in the unit testing cluster to UnitTesting names,
      marks them MTR_NEWLY_AVAILABLE.
    * Adds subclasses of the structs with the old name that are marked as
      MTR_NEWLY_DEPRECATED and have no extra selectors.
15. MTRStructsObjc.mm: just follows the header changes.
@github-actions
Copy link

github-actions bot commented Nov 15, 2022

PR #23611: Size comparison from 6519b91 to 459e584

Increases (3 builds for esp32, telink)
platform target config section 6519b91 459e584 change % change
esp32 all-clusters-app m5stack (read/write) 564412 564420 8 0.0
.flash.rodata 315128 315136 8 0.0
telink all-clusters-app tlsr9518adk80d text 648702 648704 2 0.0
all-clusters-minimal-app tlsr9518adk80d text 612686 612688 2 0.0
Decreases (9 builds for bl602, esp32, psoc6, qpg, telink)
platform target config section 6519b91 459e584 change % change
bl602 lighting-app bl602+rpc .text 1090680 1090678 -2 -0.0
esp32 all-clusters-app c3devkit (read/write) 1788614 1788606 -8 -0.0
.flash.rodata 258184 258176 -8 -0.0
psoc6 all-clusters cy8ckit_062s2_43012 .debug_info 27023893 27023892 -1 -0.0
all-clusters-minimal cy8ckit_062s2_43012 .debug_info 26760523 26760522 -1 -0.0
light cy8ckit_062s2_43012 .debug_info 22225724 22225722 -2 -0.0
lock cy8ckit_062s2_43012 .debug_info 22459348 22459347 -1 -0.0
qpg lock-app qpg6105+debug (read/write) 1115060 1115052 -8 -0.0
.text 562156 562148 -8 -0.0
telink lighting-app tlsr9518adk80d text 624114 624112 -2 -0.0
ota-requestor-app tlsr9518adk80d (read/write) 805192 805184 -8 -0.0
text 565530 565528 -2 -0.0
Full report (51 builds for bl602, bl702, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
platform target config section 6519b91 459e584 change % change
bl602 lighting-app bl602 (read/write) 1375258 1375258 0 0.0
.bss 90041 90041 0 0.0
.data 9984 9984 0 0.0
.text 1059186 1059186 0 0.0
bl602+rpc (read/write) 1421074 1421074 0 0.0
.bss 98081 98081 0 0.0
.data 10376 10376 0 0.0
.text 1090680 1090678 -2 -0.0
bl702 lighting-app bl702 (read only) 3262 3262 0 0.0
(read/write) 1195127 1195127 0 0.0
.bleromro 6296 6296 0 0.0
.bleromrw 124 124 0 0.0
.boot2 688 688 0 0.0
.bss 67166 67166 0 0.0
.bss_psram 30048 30048 0 0.0
.comment 48 48 0 0.0
.data 4048 4048 0 0.0
.debug_abbrev 1523919 1523919 0 0.0
.debug_aranges 132304 132304 0 0.0
.debug_frame 485212 485212 0 0.0
.debug_info 39161306 39161306 0 0.0
.debug_line 5271709 5271709 0 0.0
.debug_loc 3367110 3367110 0 0.0
.debug_ranges 360272 360272 0 0.0
.debug_str 3462160 3462160 0 0.0
.hbn 509 509 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 144 144 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 116488 116488 0 0.0
.rsvd 3188 3188 0 0.0
.shstrtab 293 293 0 0.0
.stack 2048 2048 0 0.0
.strtab 566531 566531 0 0.0
.symtab 171808 171808 0 0.0
.tcm_data 36 36 0 0.0
.tcmcode 3262 3262 0 0.0
.text 0 0 0 0.0
955516 955516 0 0.0
bl702+rpc (read only) 3262 3262 0 0.0
(read/write) 1283267 1283267 0 0.0
.bleromro 6296 6296 0 0.0
.bleromrw 124 124 0 0.0
.boot2 688 688 0 0.0
.bss 75214 75214 0 0.0
.bss_psram 30320 30320 0 0.0
.comment 48 48 0 0.0
.data 4576 4576 0 0.0
.debug_abbrev 1667931 1667931 0 0.0
.debug_aranges 140368 140368 0 0.0
.debug_frame 512416 512416 0 0.0
.debug_info 43430527 43430527 0 0.0
.debug_line 5667078 5667078 0 0.0
.debug_loc 3561346 3561346 0 0.0
.debug_ranges 383296 383296 0 0.0
.debug_str 3859469 3859469 0 0.0
.hbn 509 509 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 160 160 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 130120 130120 0 0.0
.rsvd 3188 3188 0 0.0
.shstrtab 293 293 0 0.0
.stack 2048 2048 0 0.0
.strtab 626746 626746 0 0.0
.symtab 189920 189920 0 0.0
.tcm_data 36 36 0 0.0
.tcmcode 3262 3262 0 0.0
.text 0 0 0 0.0
1029212 1029212 0 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 678163 678163 0 0.0
(read/write) 173372 173372 0 0.0
.bss 81228 81228 0 0.0
.data 3380 3380 0 0.0
.rodata 89851 89851 0 0.0
.text 588000 588000 0 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 642459 642459 0 0.0
(read/write) 157996 157996 0 0.0
.bss 80500 80500 0 0.0
.data 3380 3380 0 0.0
.rodata 78987 78987 0 0.0
.text 563152 563152 0 0.0
lock-ftd LP_CC2652R7 (read only) 676295 676295 0 0.0
(read/write) 172808 172808 0 0.0
.bss 78884 78884 0 0.0
.data 3304 3304 0 0.0
.rodata 77271 77271 0 0.0
.text 598544 598544 0 0.0
lock-mtd LP_CC2652R7 (read only) 660819 660819 0 0.0
(read/write) 183540 183540 0 0.0
.bss 74140 74140 0 0.0
.data 3304 3304 0 0.0
.rodata 103307 103307 0 0.0
.text 557032 557032 0 0.0
pump-app LP_CC2652R7 (read only) 688743 688743 0 0.0
(read/write) 161096 161096 0 0.0
.bss 78852 78852 0 0.0
.data 3296 3296 0 0.0
.rodata 90759 90759 0 0.0
.text 597500 597500 0 0.0
pump-controller-app LP_CC2652R7 (read only) 673027 673027 0 0.0
(read/write) 176908 176908 0 0.0
.bss 78948 78948 0 0.0
.data 3292 3292 0 0.0
.rodata 86307 86307 0 0.0
.text 586240 586240 0 0.0
shell LP_CC2652R7 (read only) 669382 669382 0 0.0
(read/write) 184472 184472 0 0.0
.bss 83548 83548 0 0.0
.data 3376 3376 0 0.0
.rodata 86598 86598 0 0.0
.text 582468 582468 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 587230 587230 0 0.0
.app_xip_area 463440 463440 0 0.0
.bss 66208 66208 0 0.0
.data 728 728 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 591338 591338 0 0.0
.app_xip_area 462252 462252 0 0.0
.bss 71496 71496 0 0.0
.data 736 736 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 543714 543714 0 0.0
.app_xip_area 425444 425444 0 0.0
.bss 60736 60736 0 0.0
.data 684 684 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A+rpc (read/write) 974172 974172 0 0.0
.bss 152260 152260 0 0.0
.data 2168 2168 0 0.0
.text 819724 819724 0 0.0
BRD4161A+rs911x (read/write) 1034744 1034744 0 0.0
.bss 186736 186736 0 0.0
.data 2012 2012 0 0.0
.text 845972 845972 0 0.0
BRD4187C (read/write) 1146576 1146576 0 0.0
.bss 138656 138656 0 0.0
.data 2516 2516 0 0.0
.text 980808 980808 0 0.0
lock-app BRD4161A+wf200 (read/write) 1160144 1160144 0 0.0
.bss 158264 158264 0 0.0
.data 2020 2020 0 0.0
.text 999836 999836 0 0.0
window-app BRD4187C (read/write) 1139812 1139812 0 0.0
.bss 140072 140072 0 0.0
.data 2540 2540 0 0.0
.text 972604 972604 0 0.0
esp32 all-clusters-app c3devkit (read only) 1224292 1224292 0 0.0
(read/write) 1788614 1788606 -8 -0.0
.dram0.bss 76944 76944 0 0.0
.dram0.data 13840 13840 0 0.0
.flash.rodata 258184 258176 -8 -0.0
.flash.text 1224292 1224292 0 0.0
.iram0.text 65204 65204 0 0.0
m5stack (read only) 1234187 1234187 0 0.0
(read/write) 564412 564420 8 0.0
.dram0.bss 82320 82320 0 0.0
.dram0.data 34296 34296 0 0.0
.flash.rodata 315128 315136 8 0.0
.flash.text 1228803 1228803 0 0.0
.iram0.text 123939 123939 0 0.0
k32w contact k32w0+release (read/write) 661796 661796 0 0.0
.bss 77112 77112 0 0.0
.data 2104 2104 0 0.0
.text 563468 563468 0 0.0
light k32w0+release (read/write) 671800 671800 0 0.0
.bss 74912 74912 0 0.0
.data 2060 2060 0 0.0
.text 592100 592100 0 0.0
lock k32w0+release (read/write) 633356 633356 0 0.0
.bss 75672 75672 0 0.0
.data 2080 2080 0 0.0
.text 552876 552876 0 0.0
linux all-clusters-app debug (read only) 3085417 3085417 0 0.0
(read/write) 158312 158312 0 0.0
.bss 62464 62464 0 0.0
.data 2272 2272 0 0.0
.data.rel.ro 86984 86984 0 0.0
.dynamic 608 608 0 0.0
.got 4768 4768 0 0.0
.init 27 27 0 0.0
.init_array 1184 1184 0 0.0
.rodata 280939 280939 0 0.0
.text 2620274 2620274 0 0.0
all-clusters-minimal-app debug (read only) 2911113 2911113 0 0.0
(read/write) 149712 149712 0 0.0
.bss 61664 61664 0 0.0
.data 2240 2240 0 0.0
.data.rel.ro 79352 79352 0 0.0
.dynamic 608 608 0 0.0
.got 4680 4680 0 0.0
.init 27 27 0 0.0
.init_array 1160 1160 0 0.0
.rodata 280427 280427 0 0.0
.text 2449522 2449522 0 0.0
bridge-app debug+rpc (read only) 2410065 2410065 0 0.0
(read/write) 129448 129448 0 0.0
.bss 51008 51008 0 0.0
.data 3792 3792 0 0.0
.data.rel.ro 68616 68616 0 0.0
.dynamic 608 608 0 0.0
.got 4568 4568 0 0.0
.init 27 27 0 0.0
.init_array 832 832 0 0.0
.rodata 210688 210688 0 0.0
.text 2032306 2032306 0 0.0
chip-tool debug (read only) 11079241 11079241 0 0.0
(read/write) 658304 658304 0 0.0
.bss 25912 25912 0 0.0
.data 2754 2754 0 0.0
.data.rel.ro 623040 623040 0 0.0
.dynamic 608 608 0 0.0
.got 5184 5184 0 0.0
.init 27 27 0 0.0
.init_array 768 768 0 0.0
.rodata 591837 591837 0 0.0
.text 8963988 8963988 0 0.0
chip-tool-ipv6only arm64 (read only) 10433596 10433596 0 0.0
(read/write) 706353 706353 0 0.0
.bss 33905 33905 0 0.0
.data 2768 2768 0 0.0
.data.rel.ro 650672 650672 0 0.0
.dynamic 560 560 0 0.0
.got 13912 13912 0 0.0
.init 24 24 0 0.0
.init_array 208 208 0 0.0
.rodata 518220 518220 0 0.0
.text 8260020 8260020 0 0.0
lighting-app debug+rpc (read only) 2641089 2641089 0 0.0
(read/write) 132296 132296 0 0.0
.bss 49984 49984 0 0.0
.data 2288 2288 0 0.0
.data.rel.ro 73832 73832 0 0.0
.dynamic 608 608 0 0.0
.got 4632 4632 0 0.0
.init 27 27 0 0.0
.init_array 928 928 0 0.0
.rodata 227552 227552 0 0.0
.text 2237122 2237122 0 0.0
lock-app debug (read only) 2600329 2600329 0 0.0
(read/write) 127216 127216 0 0.0
.bss 48416 48416 0 0.0
.data 1904 1904 0 0.0
.data.rel.ro 70680 70680 0 0.0
.dynamic 608 608 0 0.0
.got 4664 4664 0 0.0
.init 27 27 0 0.0
.init_array 904 904 0 0.0
.rodata 243848 243848 0 0.0
.text 2185058 2185058 0 0.0
ota-provider-app debug (read only) 2396497 2396497 0 0.0
(read/write) 120744 120744 0 0.0
.bss 47936 47936 0 0.0
.data 2128 2128 0 0.0
.data.rel.ro 64600 64600 0 0.0
.dynamic 608 608 0 0.0
.got 4680 4680 0 0.0
.init 27 27 0 0.0
.init_array 768 768 0 0.0
.rodata 216328 216328 0 0.0
.text 2011906 2011906 0 0.0
ota-requestor-app debug (read only) 2561809 2561809 0 0.0
(read/write) 129088 129088 0 0.0
.bss 50464 50464 0 0.0
.data 2496 2496 0 0.0
.data.rel.ro 69960 69960 0 0.0
.dynamic 608 608 0 0.0
.got 4672 4672 0 0.0
.init 27 27 0 0.0
.init_array 856 856 0 0.0
.rodata 223408 223408 0 0.0
.text 2161042 2161042 0 0.0
shell debug (read only) 2621521 2621521 0 0.0
(read/write) 142808 142808 0 0.0
.bss 57864 57864 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 77880 77880 0 0.0
.dynamic 608 608 0 0.0
.got 4128 4128 0 0.0
.init 27 27 0 0.0
.init_array 1032 1032 0 0.0
.rodata 239250 239250 0 0.0
.text 2223042 2223042 0 0.0
thermostat-no-ble arm64 (read only) 2392812 2392812 0 0.0
(read/write) 143489 143489 0 0.0
.bss 55329 55329 0 0.0
.data 1816 1816 0 0.0
.data.rel.ro 77096 77096 0 0.0
.dynamic 560 560 0 0.0
.got 5176 5176 0 0.0
.init 24 24 0 0.0
.init_array 440 440 0 0.0
.rodata 144788 144788 0 0.0
.text 2004560 2004560 0 0.0
tv-app debug (read only) 3254881 3254881 0 0.0
(read/write) 261832 261832 0 0.0
.bss 170648 170648 0 0.0
.data 4256 4256 0 0.0
.data.rel.ro 80224 80224 0 0.0
.dynamic 608 608 0 0.0
.got 5000 5000 0 0.0
.init 27 27 0 0.0
.init_array 1064 1064 0 0.0
.rodata 268216 268216 0 0.0
.text 2792962 2792962 0 0.0
tv-casting-app debug (read only) 5580961 5580961 0 0.0
(read/write) 161720 161720 0 0.0
.bss 52120 52120 0 0.0
.data 1936 1936 0 0.0
.data.rel.ro 101056 101056 0 0.0
.dynamic 608 608 0 0.0
.got 4912 4912 0 0.0
.init 27 27 0 0.0
.init_array 1048 1048 0 0.0
.rodata 355001 355001 0 0.0
.text 4950578 4950578 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2452336 2452336 0 0.0
.bss 215012 215012 0 0.0
.data 5872 5872 0 0.0
.text 1414980 1414980 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1187855 1187855 0 0.0
bss 145285 145285 0 0.0
rodata 144516 144516 0 0.0
text 816982 816982 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1167283 1167283 0 0.0
bss 144512 144512 0 0.0
rodata 136304 136304 0 0.0
text 805532 805532 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read only) 841968 841968 0 0.0
(read/write) 1746244 1746244 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 188712 188712 0 0.0
.comment 204 204 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2664 2664 0 0.0
.debug_abbrev 1235716 1235716 0 0.0
.debug_aranges 110704 110704 0 0.0
.debug_frame 371284 371284 0 0.0
.debug_info 27023893 27023892 -1 -0.0
.debug_line 3685941 3685941 0 0.0
.debug_loc 3603774 3603774 0 0.0
.debug_ranges 339544 339544 0 0.0
.debug_str 3431051 3431051 0 0.0
.heap 841968 841968 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 570257 570257 0 0.0
.symtab 421440 421440 0 0.0
.text 1546480 1546480 0 0.0
.zero.table 8 8 0 0.0
text 0 0 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read only) 842704 842704 0 0.0
(read/write) 1688780 1688780 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 187976 187976 0 0.0
.comment 204 204 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2664 2664 0 0.0
.debug_abbrev 1227559 1227559 0 0.0
.debug_aranges 110176 110176 0 0.0
.debug_frame 374364 374364 0 0.0
.debug_info 26760523 26760522 -1 -0.0
.debug_line 3706925 3706925 0 0.0
.debug_loc 3591380 3591380 0 0.0
.debug_ranges 338160 338160 0 0.0
.debug_str 3420071 3420071 0 0.0
.heap 842704 842704 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 534346 534346 0 0.0
.symtab 407872 407872 0 0.0
.text 1489752 1489752 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
light cy8ckit_062s2_43012 (read only) 850888 850888 0 0.0
(read/write) 1606956 1606956 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 180000 180000 0 0.0
.comment 204 204 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2456 2456 0 0.0
.debug_abbrev 1062020 1062020 0 0.0
.debug_aranges 102376 102376 0 0.0
.debug_frame 344676 344676 0 0.0
.debug_info 22225724 22225722 -2 -0.0
.debug_line 3276050 3276050 0 0.0
.debug_loc 3288865 3288865 0 0.0
.debug_ranges 303440 303440 0 0.0
.debug_str 3225606 3225606 0 0.0
.heap 850888 850888 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 470671 470671 0 0.0
.symtab 376240 376240 0 0.0
.text 1416112 1416112 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
lock cy8ckit_062s2_43012 (read only) 845896 845896 0 0.0
(read/write) 1640964 1640964 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 184976 184976 0 0.0
.comment 204 204 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2472 2472 0 0.0
.debug_abbrev 1063995 1063995 0 0.0
.debug_aranges 102776 102776 0 0.0
.debug_frame 346552 346552 0 0.0
.debug_info 22459348 22459347 -1 -0.0
.debug_line 3273170 3273170 0 0.0
.debug_loc 3316718 3316718 0 0.0
.debug_ranges 305400 305400 0 0.0
.debug_str 3244977 3244977 0 0.0
.heap 845896 845896 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 473074 473074 0 0.0
.symtab 377936 377936 0 0.0
.text 1445128 1445128 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
qpg lighting-app qpg6105+debug (read/write) 1149312 1149312 0 0.0
.bss 109860 109860 0 0.0
.data 848 848 0 0.0
.text 596412 596412 0 0.0
lock-app qpg6105+debug (read/write) 1115060 1115052 -8 -0.0
.bss 106332 106332 0 0.0
.data 836 836 0 0.0
.text 562156 562148 -8 -0.0
telink all-clusters-app tlsr9518adk80d (read/write) 937352 937352 0 0.0
bss 81620 81620 0 0.0
noinit 43440 43440 0 0.0
text 648702 648704 2 0.0
all-clusters-minimal-app tlsr9518adk80d (read/write) 875344 875344 0 0.0
bss 80844 80844 0 0.0
noinit 43440 43440 0 0.0
text 612686 612688 2 0.0
light-switch-app tlsr9518adk80d (read/write) 790700 790700 0 0.0
bss 72468 72468 0 0.0
noinit 43520 43520 0 0.0
text 554150 554150 0 0.0
lighting-app tlsr9518adk80d (read/write) 874924 874924 0 0.0
bss 82232 82232 0 0.0
noinit 43520 43520 0 0.0
text 624114 624112 -2 -0.0
ota-requestor-app tlsr9518adk80d (read/write) 805192 805184 -8 -0.0
bss 74040 74040 0 0.0
noinit 43520 43520 0 0.0
text 565530 565528 -2 -0.0

@bzbarsky-apple
Copy link
Contributor Author

Fast-tracking platform-specific change with platform owner review.

@bzbarsky-apple bzbarsky-apple merged commit 26e3636 into project-chip:master Nov 16, 2022
@bzbarsky-apple bzbarsky-apple deleted the fix-up-darwin-testcluster branch November 16, 2022 15:54
adbridge pushed a commit to ARM-software/connectedhomeip that referenced this pull request Nov 18, 2022
…t-chip#23611)

project-chip#23495 renamed "TestCluster"
to "UnitTesting", which changed a bunch of Darwin APIs.  This PR puts in place
backwards-compat shims to avoid API changes.  Specifically, compared to revision
9a41c9c (right before project-chip#23495 landed), the
changes to Darwin code end up looking like this:

1. MTRAttributeTLVValueDecoder.mm: internal-only changes to cluster ids.
2. MTRBaseClusters.h:
   * MTRBaseClusterTestCluster renamed to MTRBaseClusterUnitTesting, which is
     marked MTR_NEWLY_AVAILABLE.
   * Various modifications to methods on MTRBaseClusterUnitTesting that are
     marked MTR_NEWLY_AVAILABLE, so these changes are OK.
   * MTRBaseClusterTestCluster is added as a subclass of
     MTRBaseClusterUnitTesting.
   * The MTRBaseClusterTestCluster (Deprecated) bits are not changed at all.
   * The MTRUnitTesting enums/bitmaps are added as MTR_NEWLY_AVAILABLE.
   * The MTRTestCluster enums/bitmaps are marked as MTR_NEWLY_DEPRECATED.
3. MTRBaseClusters.mm: The various (Deprecated) bits get shims on the
   completion handlers to handle the fact that for MTRBaseClusterTestCluster
   (Deprecated) the types in the completions are TestCluster but we want to
   call things that expect UnitTesting types, so we have to cast between them.
   We could restrict these shims to just TestCluster with enough work, but it
   does not seem worth it.
4. MTRBaseClusters_internal.h: just follows the renaming from MTRBaseClusters.h
5. MTRCallbackBridge.mm: just follows the renamings of the various struct types,
   commands, etc..
6. MTRCallbackBridge_internal.h: just follows the renaming of the various
   struct types.
7. MTRClusterConstants.h: marks the old constants as MTR_NEWLY_DEPRECATED and
   adds the new constants as MTR_NEWLY_AVAILABLE.
8. MTRClusters.h:
   * MTRClusterTestCluster renamed to MTRClusterUnitTesting, which is marked
     MTR_NEWLY_AVAILABLE.
   * Various modifications to methods on MTRClusterUnitTesting that are marked
     MTR_NEWLY_AVAILABLE, so these changes are OK.
   * MTRClusterTestCluster is added as a subclass of MTRClusterUnitTesting.
   * The MTRClusterTestCluster (Deprecated) bits are not changed at all.
9. MTRClusters.mm: The various (Deprecated) bits get shims on the
   completion handlers, like for MTRBaseClusters.mm above.
10. MTRClusters_internal.h: Just follows the renaming from MTRClusters.h
11. MTRCommandPayloadsObjc.h:
    * Renames payload structs to UnitTesting, marks them MTR_NEWLY_AVAILABLE
    * Adds subclasses of the payload structs with the old name that
      are marked as MTR_NEWLY_DEPRECATED and have no extra selectors.
    * Changes types of struct members of payloads to have the UnitTesting types.
12. MTRCommandPayloadsObjc.mm: just follows the header changes.
13. MTREventTLVValueDecoder.mm: Internal changes to ID names.
14. MTRStructsObjc.h:
    * Renames structs defined in the unit testing cluster to UnitTesting names,
      marks them MTR_NEWLY_AVAILABLE.
    * Adds subclasses of the structs with the old name that are marked as
      MTR_NEWLY_DEPRECATED and have no extra selectors.
15. MTRStructsObjc.mm: just follows the header changes.
adbridge pushed a commit to ARM-software/connectedhomeip that referenced this pull request Nov 18, 2022
…t-chip#23611)

project-chip#23495 renamed "TestCluster"
to "UnitTesting", which changed a bunch of Darwin APIs.  This PR puts in place
backwards-compat shims to avoid API changes.  Specifically, compared to revision
9a41c9c (right before project-chip#23495 landed), the
changes to Darwin code end up looking like this:

1. MTRAttributeTLVValueDecoder.mm: internal-only changes to cluster ids.
2. MTRBaseClusters.h:
   * MTRBaseClusterTestCluster renamed to MTRBaseClusterUnitTesting, which is
     marked MTR_NEWLY_AVAILABLE.
   * Various modifications to methods on MTRBaseClusterUnitTesting that are
     marked MTR_NEWLY_AVAILABLE, so these changes are OK.
   * MTRBaseClusterTestCluster is added as a subclass of
     MTRBaseClusterUnitTesting.
   * The MTRBaseClusterTestCluster (Deprecated) bits are not changed at all.
   * The MTRUnitTesting enums/bitmaps are added as MTR_NEWLY_AVAILABLE.
   * The MTRTestCluster enums/bitmaps are marked as MTR_NEWLY_DEPRECATED.
3. MTRBaseClusters.mm: The various (Deprecated) bits get shims on the
   completion handlers to handle the fact that for MTRBaseClusterTestCluster
   (Deprecated) the types in the completions are TestCluster but we want to
   call things that expect UnitTesting types, so we have to cast between them.
   We could restrict these shims to just TestCluster with enough work, but it
   does not seem worth it.
4. MTRBaseClusters_internal.h: just follows the renaming from MTRBaseClusters.h
5. MTRCallbackBridge.mm: just follows the renamings of the various struct types,
   commands, etc..
6. MTRCallbackBridge_internal.h: just follows the renaming of the various
   struct types.
7. MTRClusterConstants.h: marks the old constants as MTR_NEWLY_DEPRECATED and
   adds the new constants as MTR_NEWLY_AVAILABLE.
8. MTRClusters.h:
   * MTRClusterTestCluster renamed to MTRClusterUnitTesting, which is marked
     MTR_NEWLY_AVAILABLE.
   * Various modifications to methods on MTRClusterUnitTesting that are marked
     MTR_NEWLY_AVAILABLE, so these changes are OK.
   * MTRClusterTestCluster is added as a subclass of MTRClusterUnitTesting.
   * The MTRClusterTestCluster (Deprecated) bits are not changed at all.
9. MTRClusters.mm: The various (Deprecated) bits get shims on the
   completion handlers, like for MTRBaseClusters.mm above.
10. MTRClusters_internal.h: Just follows the renaming from MTRClusters.h
11. MTRCommandPayloadsObjc.h:
    * Renames payload structs to UnitTesting, marks them MTR_NEWLY_AVAILABLE
    * Adds subclasses of the payload structs with the old name that
      are marked as MTR_NEWLY_DEPRECATED and have no extra selectors.
    * Changes types of struct members of payloads to have the UnitTesting types.
12. MTRCommandPayloadsObjc.mm: just follows the header changes.
13. MTREventTLVValueDecoder.mm: Internal changes to ID names.
14. MTRStructsObjc.h:
    * Renames structs defined in the unit testing cluster to UnitTesting names,
      marks them MTR_NEWLY_AVAILABLE.
    * Adds subclasses of the structs with the old name that are marked as
      MTR_NEWLY_DEPRECATED and have no extra selectors.
15. MTRStructsObjc.mm: just follows the header changes.
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