Skip to content

[WIP] Introduce device type requirement test step in IDM-10.5#43674

Draft
AryaHassanli wants to merge 24 commits into
project-chip:masterfrom
AryaHassanli:device-type-req-step-idm-10-5
Draft

[WIP] Introduce device type requirement test step in IDM-10.5#43674
AryaHassanli wants to merge 24 commits into
project-chip:masterfrom
AryaHassanli:device-type-req-step-idm-10-5

Conversation

@AryaHassanli

@AryaHassanli AryaHassanli commented Mar 23, 2026

Copy link
Copy Markdown
Contributor

Summary

Add composed device type requirements check to IDM-10.5

Overview:
This PR adds a new step to the Interaction Model (IDM) 10.5 test to verify composed device type requirements against the Data Model. This ensures that nodes claiming a composed device type actually include all required component device types with their respective cluster overrides.
To support full topology testing as defined in the Matter specification, this PR also introduces support for the deviceTypeLocation attribute, allowing the test to verify requirements on specific locations (Self, Child, Root, Descendant, Any Endpoint) rather than assuming they are always direct children.

Details:

  • Interaction Model Test (IDM-10.5):
    • Added check_composed_device_type_requirements to device_conformance_tests.py (reporting as IDM-10.5).
    • This method iterates over all device types on an endpoint, fetches their composed device type requirements from the spec (parsed from XML), and verifies that the node satisfies them.
    • It performs matching between requirements and candidate endpoints, ensuring that cluster and element overrides are respected.
  • Spec Parsing:
    • Updated spec_parsing.py to parse composedDeviceType and its details including the deviceTypeLocation attribute and composed device types cluster and element requirements from Data Model XML files.
  • Unit Tests:
    • Added comprehensive test scenarios in TestComposedDeviceTypeMatching.py to verify the matching algorithm and the new location requirements:
      • Simple matching, bipartite matching (including swapped order), conflicts, missing mandatory requirements.
      • Specific tests for anyEndpoint and deviceEndpoint locations.
      • Test for element overrides (features) on composed device types.
  • Data Model XMLs: Updated generated XML files for various device types to include the device topology under composedDeviceType, their clusterRequirements, and deviceTypeLocation attribute (reflecting latest spec changes).

Related issues

Alchemy PR: project-chip/alchemy#52
Test Plan PR: https://github.com/CHIP-Specifications/chip-test-plans/pull/5962

Testing

  • Manual testing on all-clusters example
  • CI
  • Added unit tests

Readability checklist

The checklist below will help the reviewer finish PR review in time and keep the
code readable:

  • PR title is
    descriptive
  • Apply the
    “When in Rome…”
    rule (coding style)
  • PR size is short
  • Try to avoid "squashing" and "force-update" in commit history
  • CI time didn't increase

See: Pull Request Guidelines

@github-actions github-actions Bot added documentation Improvements or additions to documentation tests labels Mar 23, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces validation for composed device types in TC-IDM-10.5, which involves updating numerous XML data model files and implementing new parsing and validation logic in Python. The changes are well-structured and correctly implement the new test logic. I've identified one issue where the XML parser for constraints doesn't handle the <allowed> tag, which would cause some validation checks to be skipped. My review includes a suggestion to fix this.

Comment thread src/python_testing/matter_testing_infrastructure/matter/testing/spec_parsing.py Outdated
@github-actions

Copy link
Copy Markdown

PR #43674: Size comparison from 4428cc9 to c585edf

Full report (10 builds for cc13x4_26x4, cc32xx, nrfconnect, realtek, stm32)
platform target config section 4428cc9 c585edf change % change
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 781184 781184 0 0.0
RAM 103396 103396 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 788116 788116 0 0.0
RAM 108588 108588 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 734464 734464 0 0.0
RAM 97396 97396 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 717884 717884 0 0.0
RAM 97556 97556 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 559678 559678 0 0.0
RAM 204576 204576 0 0.0
lock CC3235SF_LAUNCHXL FLASH 592810 592810 0 0.0
RAM 204816 204816 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 859608 859608 0 0.0
RAM 162095 162095 0 0.0
realtek light-switch-app rtl8777g FLASH 731856 731856 0 0.0
RAM 113484 113484 0 0.0
lighting-app rtl8777g FLASH 784912 784912 0 0.0
RAM 114724 114724 0 0.0
stm32 light STM32WB5MM-DK FLASH 480964 480964 0 0.0
RAM 141388 141388 0 0.0

@github-actions

github-actions Bot commented Mar 23, 2026

Copy link
Copy Markdown

PR #43674: Size comparison from 4428cc9 to c120a26

Full report (12 builds for cc13x4_26x4, cc32xx, nrfconnect, qpg, realtek, stm32)
platform target config section 4428cc9 c120a26 change % change
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 781184 781184 0 0.0
RAM 103396 103396 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 788116 788116 0 0.0
RAM 108588 108588 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 734464 734464 0 0.0
RAM 97396 97396 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 717884 717884 0 0.0
RAM 97556 97556 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 559678 559678 0 0.0
RAM 204576 204576 0 0.0
lock CC3235SF_LAUNCHXL FLASH 592810 592810 0 0.0
RAM 204816 204816 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 859608 859608 0 0.0
RAM 162095 162095 0 0.0
qpg lighting-app qpg6200+debug FLASH 842140 842140 0 0.0
RAM 127868 127868 0 0.0
lock-app qpg6200+debug FLASH 781116 781116 0 0.0
RAM 118816 118816 0 0.0
realtek light-switch-app rtl8777g FLASH 731856 731856 0 0.0
RAM 113484 113484 0 0.0
lighting-app rtl8777g FLASH 784912 784912 0 0.0
RAM 114724 114724 0 0.0
stm32 light STM32WB5MM-DK FLASH 480964 480964 0 0.0
RAM 141388 141388 0 0.0

@codecov

codecov Bot commented Mar 23, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 55.51%. Comparing base (9258186) to head (8cf923f).
⚠️ Report is 156 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master   #43674      +/-   ##
==========================================
- Coverage   55.51%   55.51%   -0.01%     
==========================================
  Files        1628     1628              
  Lines      111080   111083       +3     
  Branches    13414    13416       +2     
==========================================
  Hits        61668    61668              
- Misses      49412    49415       +3     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@AryaHassanli AryaHassanli marked this pull request as ready for review March 23, 2026 21:29
@github-actions

github-actions Bot commented Mar 23, 2026

Copy link
Copy Markdown

PR #43674: Size comparison from 4428cc9 to 65dfb83

Full report (34 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, nxp, psoc6, qpg, realtek, stm32, telink)
platform target config section 4428cc9 65dfb83a change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1091524 1091524 0 0.0
RAM 144858 144858 0 0.0
bl616 lighting-app bl616+thread FLASH 1102036 1102036 0 0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1588924 1588924 0 0.0
RAM 98176 98176 0 0.0
bl702 lighting-app bl702+eth FLASH 1054464 1054464 0 0.0
RAM 108461 108461 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 892360 892360 0 0.0
RAM 105836 105836 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 781184 781184 0 0.0
RAM 103396 103396 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 788116 788116 0 0.0
RAM 108588 108588 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 734464 734464 0 0.0
RAM 97396 97396 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 717884 717884 0 0.0
RAM 97556 97556 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 559678 559678 0 0.0
RAM 204576 204576 0 0.0
lock CC3235SF_LAUNCHXL FLASH 592810 592810 0 0.0
RAM 204816 204816 0 0.0
efr32 lock-app BRD4187C FLASH 974132 974132 0 0.0
RAM 126148 126148 0 0.0
BRD4338a FLASH 771788 771788 0 0.0
RAM 236632 236632 0 0.0
window-app BRD4187C FLASH 1078408 1078408 0 0.0
RAM 126760 126760 0 0.0
esp32 all-clusters-app c3devkit DRAM 98460 98460 0 0.0
FLASH 1598530 1598530 0 0.0
IRAM 93514 93514 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 859608 859608 0 0.0
RAM 162095 162095 0 0.0
nxp contact mcxw71+release FLASH 737584 737584 0 0.0
RAM 67016 67016 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1710908 1710908 0 0.0
RAM 214028 214028 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1609604 1609604 0 0.0
RAM 210900 210900 0 0.0
light cy8ckit_062s2_43012 FLASH 1473420 1473420 0 0.0
RAM 197068 197068 0 0.0
lock cy8ckit_062s2_43012 FLASH 1499516 1499516 0 0.0
RAM 224820 224820 0 0.0
qpg lighting-app qpg6200+debug FLASH 842140 842140 0 0.0
RAM 127868 127868 0 0.0
lock-app qpg6200+debug FLASH 781116 781116 0 0.0
RAM 118816 118816 0 0.0
realtek light-switch-app rtl8777g FLASH 731856 731856 0 0.0
RAM 113484 113484 0 0.0
lighting-app rtl8777g FLASH 784912 784912 0 0.0
RAM 114724 114724 0 0.0
stm32 light STM32WB5MM-DK FLASH 480964 480964 0 0.0
RAM 141388 141388 0 0.0
telink bridge-app tl7218x FLASH 730732 730732 0 0.0
RAM 95852 95852 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 855334 855334 0 0.0
RAM 44264 44264 0 0.0
tl7218x FLASH 846744 846744 0 0.0
RAM 99652 99652 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 727526 727526 0 0.0
RAM 55832 55832 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 790094 790094 0 0.0
RAM 75008 75008 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 727520 727520 0 0.0
RAM 33312 33312 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 618464 618464 0 0.0
RAM 118320 118320 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 845514 845518 4 0.0
RAM 97360 97360 0 0.0

@AryaHassanli AryaHassanli force-pushed the device-type-req-step-idm-10-5 branch from 5b18d63 to 3e2fd39 Compare March 24, 2026 19:34
@github-actions

github-actions Bot commented Mar 24, 2026

Copy link
Copy Markdown

PR #43674: Size comparison from 099e624 to 6060661

Full report (34 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, nxp, psoc6, qpg, realtek, stm32, telink)
platform target config section 099e624 6060661 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1091524 1091524 0 0.0
RAM 144858 144858 0 0.0
bl616 lighting-app bl616+thread FLASH 1102036 1102036 0 0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1588924 1588924 0 0.0
RAM 98176 98176 0 0.0
bl702 lighting-app bl702+eth FLASH 1054464 1054464 0 0.0
RAM 108461 108461 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 892360 892360 0 0.0
RAM 105836 105836 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 781184 781184 0 0.0
RAM 103396 103396 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 788116 788116 0 0.0
RAM 108588 108588 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 734464 734464 0 0.0
RAM 97396 97396 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 717884 717884 0 0.0
RAM 97556 97556 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 559678 559678 0 0.0
RAM 204576 204576 0 0.0
lock CC3235SF_LAUNCHXL FLASH 592810 592810 0 0.0
RAM 204816 204816 0 0.0
efr32 lock-app BRD4187C FLASH 975452 975452 0 0.0
RAM 126180 126180 0 0.0
BRD4338a FLASH 773148 773140 -8 -0.0
RAM 236648 236648 0 0.0
window-app BRD4187C FLASH 1079760 1079752 -8 -0.0
RAM 126792 126792 0 0.0
esp32 all-clusters-app c3devkit DRAM 98460 98460 0 0.0
FLASH 1598618 1598618 0 0.0
IRAM 93514 93514 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 859608 859608 0 0.0
RAM 162095 162095 0 0.0
nxp contact mcxw71+release FLASH 737584 737584 0 0.0
RAM 67016 67016 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1710908 1710908 0 0.0
RAM 214028 214028 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1609604 1609604 0 0.0
RAM 210900 210900 0 0.0
light cy8ckit_062s2_43012 FLASH 1473420 1473420 0 0.0
RAM 197068 197068 0 0.0
lock cy8ckit_062s2_43012 FLASH 1499516 1499516 0 0.0
RAM 224820 224820 0 0.0
qpg lighting-app qpg6200+debug FLASH 842140 842140 0 0.0
RAM 127868 127868 0 0.0
lock-app qpg6200+debug FLASH 781116 781116 0 0.0
RAM 118816 118816 0 0.0
realtek light-switch-app rtl8777g FLASH 731856 731856 0 0.0
RAM 113484 113484 0 0.0
lighting-app rtl8777g FLASH 784912 784912 0 0.0
RAM 114724 114724 0 0.0
stm32 light STM32WB5MM-DK FLASH 480964 480964 0 0.0
RAM 141388 141388 0 0.0
telink bridge-app tl7218x FLASH 730732 730732 0 0.0
RAM 95852 95852 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 855334 855334 0 0.0
RAM 44264 44264 0 0.0
tl7218x FLASH 846744 846744 0 0.0
RAM 99652 99652 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 727526 727526 0 0.0
RAM 55832 55832 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 790094 790094 0 0.0
RAM 75008 75008 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 727520 727520 0 0.0
RAM 33312 33312 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 618464 618464 0 0.0
RAM 118320 118320 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 845514 845518 4 0.0
RAM 97360 97360 0 0.0

@mergify mergify Bot added the conflict label Mar 28, 2026
@mergify mergify Bot added conflict and removed conflict labels May 4, 2026
@mergify mergify Bot removed the conflict label May 12, 2026
@github-actions

github-actions Bot commented May 12, 2026

Copy link
Copy Markdown

PR #43674: Size comparison from 20fcb76 to a610183

Full report (6 builds for cc32xx, nrfconnect, realtek, stm32)
platform target config section 20fcb76 a610183 change % change
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 567062 567054 -8 -0.0
RAM 205024 205024 0 0.0
lock CC3235SF_LAUNCHXL FLASH 595046 595038 -8 -0.0
RAM 205224 205224 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 828784 828776 -8 -0.0
RAM 156921 156921 0 0.0
realtek light-switch-app rtl8777g FLASH 684568 684560 -8 -0.0
RAM 101660 101660 0 0.0
lighting-app rtl8777g FLASH 729224 729216 -8 -0.0
RAM 102092 102092 0 0.0
stm32 light STM32WB5MM-DK FLASH 477836 477828 -8 -0.0
RAM 141532 141532 0 0.0

@github-actions

github-actions Bot commented May 13, 2026

Copy link
Copy Markdown

PR #43674: Size comparison from 20fcb76 to fea6963

Increases above 0.2%:

platform target config section 20fcb76 fea6963 change % change
esp32 all-clusters-app c3devkit DRAM 99092 99612 520 0.5
nrfconnect all-clusters-app nrf52840dk_nrf52840 RAM 156921 157441 520 0.3
psoc6 all-clusters cy8ckit_062s2_43012 RAM 214636 215156 520 0.2
Full report (33 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32, telink)
platform target config section 20fcb76 fea6963 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1092896 1092884 -12 -0.0
RAM 144866 144866 0 0.0
bl616 lighting-app bl616+thread FLASH 1104388 1104380 -8 -0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1591912 1591896 -16 -0.0
RAM 98144 98144 0 0.0
bl702 lighting-app bl702+eth FLASH 1055836 1055824 -12 -0.0
RAM 108493 108493 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 894776 894764 -12 -0.0
RAM 105884 105884 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 776444 776436 -8 -0.0
RAM 103460 103460 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 788912 788912 0 0.0
RAM 108652 108652 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 737932 737932 0 0.0
RAM 97564 97564 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 718128 718120 -8 -0.0
RAM 97612 97612 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 567062 567694 632 0.1
RAM 205024 205024 0 0.0
lock CC3235SF_LAUNCHXL FLASH 595046 595118 72 0.0
RAM 205224 205224 0 0.0
efr32 lock-app BRD4187C FLASH 993884 993852 -32 -0.0
RAM 131288 131288 0 0.0
BRD4338a FLASH 798617 798593 -24 -0.0
RAM 243400 243400 0 0.0
window-app BRD4187C FLASH 1100256 1100256 0 0.0
RAM 130328 130328 0 0.0
esp32 all-clusters-app c3devkit DRAM 99092 99612 520 0.5
FLASH 1614190 1614656 466 0.0
IRAM 94776 94776 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 828784 829104 320 0.0
RAM 156921 157441 520 0.3
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1725236 1726428 1192 0.1
RAM 214636 215156 520 0.2
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1621764 1621820 56 0.0
RAM 211524 211524 0 0.0
light cy8ckit_062s2_43012 FLASH 1469924 1469980 56 0.0
RAM 197500 197500 0 0.0
lock cy8ckit_062s2_43012 FLASH 1502876 1502932 56 0.0
RAM 225228 225228 0 0.0
qpg lighting-app qpg6200+debug FLASH 843516 843500 -16 -0.0
RAM 127924 127924 0 0.0
lock-app qpg6200+debug FLASH 782136 782120 -16 -0.0
RAM 118872 118872 0 0.0
realtek light-switch-app rtl8777g FLASH 684568 684560 -8 -0.0
RAM 101660 101660 0 0.0
lighting-app rtl8777g FLASH 729224 729216 -8 -0.0
RAM 102092 102092 0 0.0
stm32 light STM32WB5MM-DK FLASH 477836 477828 -8 -0.0
RAM 141532 141532 0 0.0
telink bridge-app tl7218x FLASH 731128 731116 -12 -0.0
RAM 95860 95860 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 850980 850968 -12 -0.0
RAM 44396 44396 0 0.0
tl7218x FLASH 842310 842298 -12 -0.0
RAM 99724 99724 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 730750 730738 -12 -0.0
RAM 55964 55964 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 793976 793964 -12 -0.0
RAM 75148 75148 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 730670 730658 -12 -0.0
RAM 33448 33448 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 613778 613766 -12 -0.0
RAM 118560 118560 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 840424 840416 -8 -0.0
RAM 97432 97432 0 0.0

except KeyError:
spec_version = 0

if spec_version < 0x01060000:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this a structural problem with the spec, or is the intent to re-pull the DM files for earlier revisions then adjust this?


count = 0
for child_ep_id in parts_list:
if child_ep_id in self.endpoints:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might make sense to reverse the logic here and un-nest a bit - if the child_ep is listed in the parts_list and isn't in self.endpoints, something bad has happened and the test should throw an error and move on.

for child_ep_id in parts_list:
if child_ep_id in self.endpoints:
child_ep = self.endpoints[child_ep_id]
if Clusters.Descriptor in child_ep:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here - if there's no descriptor, that's an error.


return success, problems

def check_composed_device_type_requirements(self, allow_provisional: bool = False) -> tuple[bool, list[ProblemNotice]]:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you create some unit tests for this function?

@AryaHassanli AryaHassanli changed the title Introduce device type requirement test step in IDM-10.5 [WIP] Introduce device type requirement test step in IDM-10.5 May 27, 2026
@github-actions

Copy link
Copy Markdown

PR #43674: Size comparison from 9258186 to 39049b3

Full report (16 builds for cc13x4_26x4, cc32xx, nrfconnect, psoc6, qpg, realtek, stm32)
platform target config section 9258186 39049b3 change % change
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 776484 776508 24 0.0
RAM 103388 103388 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 789588 789644 56 0.0
RAM 108676 108676 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 738752 738768 16 0.0
RAM 97596 97596 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 718908 718932 24 0.0
RAM 97636 97636 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568670 568694 24 0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596166 596182 16 0.0
RAM 205256 205256 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 833844 833860 16 0.0
RAM 157540 157540 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1733436 1733452 16 0.0
RAM 215260 215260 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1622188 1622236 48 0.0
RAM 211548 211548 0 0.0
light cy8ckit_062s2_43012 FLASH 1469708 1469724 16 0.0
RAM 197420 197420 0 0.0
lock cy8ckit_062s2_43012 FLASH 1503284 1503332 48 0.0
RAM 225252 225252 0 0.0
qpg lighting-app qpg6200+debug FLASH 844636 844652 16 0.0
RAM 127964 127964 0 0.0
lock-app qpg6200+debug FLASH 783344 783392 48 0.0
RAM 118912 118912 0 0.0
realtek light-switch-app rtl8777g FLASH 688168 688192 24 0.0
RAM 101764 101764 0 0.0
lighting-app rtl8777g FLASH 729224 729240 16 0.0
RAM 102044 102044 0 0.0
stm32 light STM32WB5MM-DK FLASH 477948 477964 16 0.0
RAM 141476 141476 0 0.0

@AryaHassanli AryaHassanli marked this pull request as draft May 27, 2026 16:33
@github-actions

github-actions Bot commented May 27, 2026

Copy link
Copy Markdown

PR #43674: Size comparison from 9258186 to c9dd96b

Increases above 0.2%:

platform target config section 9258186 c9dd96b change % change
telink all-devices-app tl7218x FLASH 810472 812612 2140 0.3
tlsr9118bdk40d FLASH 603924 606064 2140 0.4
Full report (35 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32, telink)
platform target config section 9258186 c9dd96b change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1093770 1093790 20 0.0
RAM 144882 144882 0 0.0
bl616 lighting-app bl616+thread FLASH 1105076 1105100 24 0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1592776 1592800 24 0.0
RAM 98176 98176 0 0.0
bl702 lighting-app bl702+eth FLASH 1056782 1056802 20 0.0
RAM 108509 108509 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 895578 895598 20 0.0
RAM 105884 105884 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 776484 776508 24 0.0
RAM 103388 103388 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 789588 789644 56 0.0
RAM 108676 108676 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 738752 738768 16 0.0
RAM 97596 97596 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 718908 718932 24 0.0
RAM 97636 97636 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568670 568694 24 0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596166 596182 16 0.0
RAM 205256 205256 0 0.0
efr32 lock-app BRD4187C FLASH 994072 994104 32 0.0
RAM 131288 131288 0 0.0
BRD4338a FLASH 798685 798741 56 0.0
RAM 243424 243424 0 0.0
window-app BRD4187C FLASH 1100064 1100088 24 0.0
RAM 130360 130360 0 0.0
esp32 all-clusters-app c3devkit DRAM 99716 99716 0 0.0
FLASH 1621050 1621070 20 0.0
IRAM 94776 94776 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 833844 833860 16 0.0
RAM 157540 157540 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1733436 1733452 16 0.0
RAM 215260 215260 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1622188 1622236 48 0.0
RAM 211548 211548 0 0.0
light cy8ckit_062s2_43012 FLASH 1469708 1469724 16 0.0
RAM 197420 197420 0 0.0
lock cy8ckit_062s2_43012 FLASH 1503284 1503332 48 0.0
RAM 225252 225252 0 0.0
qpg lighting-app qpg6200+debug FLASH 844636 844652 16 0.0
RAM 127964 127964 0 0.0
lock-app qpg6200+debug FLASH 783344 783392 48 0.0
RAM 118912 118912 0 0.0
realtek light-switch-app rtl8777g FLASH 688168 688192 24 0.0
RAM 101764 101764 0 0.0
lighting-app rtl8777g FLASH 729224 729240 16 0.0
RAM 102044 102044 0 0.0
stm32 light STM32WB5MM-DK FLASH 477948 477964 16 0.0
RAM 141476 141476 0 0.0
telink all-devices-app tl7218x FLASH 810472 812612 2140 0.3
RAM 97196 97196 0 0.0
tlsr9118bdk40d FLASH 603924 606064 2140 0.4
RAM 120152 120152 0 0.0
bridge-app tl7218x FLASH 731376 731396 20 0.0
RAM 95864 95864 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 851312 851332 20 0.0
RAM 44332 44332 0 0.0
tl7218x FLASH 842640 842660 20 0.0
RAM 99656 99656 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 731446 731466 20 0.0
RAM 55980 55980 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 794672 794692 20 0.0
RAM 75164 75164 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 731376 731396 20 0.0
RAM 33468 33468 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 614092 614112 20 0.0
RAM 118496 118496 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 840754 840778 24 0.0
RAM 97364 97364 0 0.0

@AryaHassanli AryaHassanli force-pushed the device-type-req-step-idm-10-5 branch from dcd1a34 to cfffde2 Compare May 27, 2026 20:38
@github-actions

github-actions Bot commented May 27, 2026

Copy link
Copy Markdown

PR #43674: Size comparison from 4d3283d to 8cf923f

Full report (35 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32, telink)
platform target config section 4d3283d 8cf923f change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1093790 1093790 0 0.0
RAM 144882 144882 0 0.0
bl616 lighting-app bl616+thread FLASH 1105100 1105100 0 0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1592800 1592800 0 0.0
RAM 98176 98176 0 0.0
bl702 lighting-app bl702+eth FLASH 1056802 1056802 0 0.0
RAM 108509 108509 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 895598 895598 0 0.0
RAM 105884 105884 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 776508 776508 0 0.0
RAM 103388 103388 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 789644 789644 0 0.0
RAM 108676 108676 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 738768 738768 0 0.0
RAM 97596 97596 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 718932 718932 0 0.0
RAM 97636 97636 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568694 568694 0 0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596182 596182 0 0.0
RAM 205256 205256 0 0.0
efr32 lock-app BRD4187C FLASH 994104 994104 0 0.0
RAM 131288 131288 0 0.0
BRD4338a FLASH 798749 798741 -8 -0.0
RAM 243424 243424 0 0.0
window-app BRD4187C FLASH 1100096 1100088 -8 -0.0
RAM 130360 130360 0 0.0
esp32 all-clusters-app c3devkit DRAM 99716 99716 0 0.0
FLASH 1621060 1621060 0 0.0
IRAM 94776 94776 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 833860 833860 0 0.0
RAM 157540 157540 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1733452 1733452 0 0.0
RAM 215260 215260 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1622236 1622236 0 0.0
RAM 211548 211548 0 0.0
light cy8ckit_062s2_43012 FLASH 1469724 1469724 0 0.0
RAM 197420 197420 0 0.0
lock cy8ckit_062s2_43012 FLASH 1503332 1503332 0 0.0
RAM 225252 225252 0 0.0
qpg lighting-app qpg6200+debug FLASH 844652 844652 0 0.0
RAM 127964 127964 0 0.0
lock-app qpg6200+debug FLASH 783392 783392 0 0.0
RAM 118912 118912 0 0.0
realtek light-switch-app rtl8777g FLASH 688192 688192 0 0.0
RAM 101764 101764 0 0.0
lighting-app rtl8777g FLASH 729240 729240 0 0.0
RAM 102044 102044 0 0.0
stm32 light STM32WB5MM-DK FLASH 477964 477964 0 0.0
RAM 141476 141476 0 0.0
telink all-devices-app tl7218x FLASH 812612 812612 0 0.0
RAM 97196 97196 0 0.0
tlsr9118bdk40d FLASH 606064 606064 0 0.0
RAM 120152 120152 0 0.0
bridge-app tl7218x FLASH 731396 731396 0 0.0
RAM 95864 95864 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 851332 851332 0 0.0
RAM 44332 44332 0 0.0
tl7218x FLASH 842660 842660 0 0.0
RAM 99656 99656 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 731466 731466 0 0.0
RAM 55980 55980 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 794692 794692 0 0.0
RAM 75164 75164 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 731396 731396 0 0.0
RAM 33468 33468 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 614112 614112 0 0.0
RAM 118496 118496 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 840774 840778 4 0.0
RAM 97364 97364 0 0.0

@mergify mergify Bot added the conflict label Jun 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

conflict documentation Improvements or additions to documentation review - pending tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants