Skip to content

[HSTAT] Add test scripts for the Humidistat cluster. - #72820

Open
rbultman wants to merge 104 commits into
project-chip:masterfrom
rbultman:hstatTests
Open

[HSTAT] Add test scripts for the Humidistat cluster.#72820
rbultman wants to merge 104 commits into
project-chip:masterfrom
rbultman:hstatTests

Conversation

@rbultman

@rbultman rbultman commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Summary

Add test scripts for the Humidistat cluster.

Testing

This is a work in progress, so no testing instructions yet.

@github-actions github-actions Bot added the tests label Jun 30, 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 two new Python test scripts for the HSTAT cluster: TC_HSTAT_2.2.py and TC_HSTAT_2_1.py. However, TC_HSTAT_2.2.py is incomplete, containing only imports and logger initialization. TC_HSTAT_2_1.py contains several syntax errors, including a missing closing quote in the description method and a missing comma between steps 41 and 42. Additionally, there are multiple missing commas within several TestStep definitions (steps 14, 25, 27, and 31) causing implicit string concatenation, a copy-paste typo in the step method name, copy-paste errors in several step descriptions (steps 7, 8, 11, and 41), and a missing test execution method and main block.

I am having trouble creating individual review comments. Click here to see my feedback.

src/python_testing/TC_HSTAT_2.2.py (51)

critical

The test script TC_HSTAT_2.2.py is incomplete. It only contains imports and logger initialization, but lacks the test class definition, test steps, test methods, and the main execution block. Please implement the full test script.

src/python_testing/TC_HSTAT_2_1.py (55-56)

critical

There is a syntax error due to a missing closing double quote on the return string of desc_TC_HSTAT_2_1.

    def desc_TC_HSTAT_2_1(self) -> str:
        return "[TC-HSTAT-2.1] Primary functionality with DUT as Server"

src/python_testing/TC_HSTAT_2_1.py (169)

critical

The test script is missing the actual test execution method (e.g., test_TC_HSTAT_2_1 decorated with @async_test_body) and the main execution block (if __name__ == '__main__': default_matter_test_main()). Without these, the test steps will not be executed when the script is run. Note that default_matter_test_main should be imported from matter.testing.runner.

References
  1. In the Matter Python testing framework, the default_matter_test_main function is located in and should be imported from matter.testing.runner.

src/python_testing/TC_HSTAT_2_1.py (58)

high

The method name steps_TC_FAN_2_1 is a copy-paste typo from the Fan Control cluster tests. It should be renamed to steps_TC_HSTAT_2_1 to match the class name TC_HSTAT_2_1.

    def steps_TC_HSTAT_2_1(self):

src/python_testing/TC_HSTAT_2_1.py (90-91)

high

There is a missing comma between the description and expectation string arguments in TestStep(14). This causes Python to implicitly concatenate them into a single string argument.

                TestStep(14, "TH writes to the DUT the Mode attribute with a value of Humidifier",
                             "Verify DUT responds w/ status SUCCESS(0x00)"),

src/python_testing/TC_HSTAT_2_1.py (112-113)

high

There is a missing comma between the description and expectation string arguments in TestStep(25). This causes Python to implicitly concatenate them into a single string argument.

                TestStep(25, "TH writes to the DUT the UserSetpoint attribute with value MinSetpointValue.",
                             "Verify DUT responds w/ status SUCCESS(0x00)"),

src/python_testing/TC_HSTAT_2_1.py (116-117)

high

There is a missing comma between the description and expectation string arguments in TestStep(27). This causes Python to implicitly concatenate them into a single string argument.

                TestStep(27, "TH writes to the DUT the UserSetpoint attribute with value MaxSetpointValue.",
                             "Verify DUT responds w/ status SUCCESS(0x00)"),

src/python_testing/TC_HSTAT_2_1.py (124-125)

high

There is a missing comma between the description and expectation string arguments in TestStep(31). This causes Python to implicitly concatenate them into a single string argument.

                TestStep(31, "TH reads from the DUT the Continuous attribute.",
                             "Store the value as ContState"),

src/python_testing/TC_HSTAT_2_1.py (144-146)

high

Step 41's description is 'Store the value as OptState', which is a copy-paste error. It should be 'TH reads from the DUT the Optimal attribute.' or similar. Additionally, there is a missing comma between TestStep(41) and TestStep(42) in the list, which causes a syntax error.

                TestStep(41, "TH reads from the DUT the Optimal attribute.",
                             "Verify that the DUT response contains !OptState."),
                TestStep(42, "TH writes to the DUT the Optimal attribute with a value of False.",

src/python_testing/TC_HSTAT_2_1.py (74-79)

medium

The descriptions for Step 7 and Step 8 contain copy-paste errors. Step 7's description is 'Store the value as StepValue.' but it should be 'TH reads from the DUT the UserSetpoint attribute.' or similar. Step 8's description is 'Store the value as SetpointValue.' but it should be 'TH reads from the DUT the UserSetpoint attribute.' or similar.

                TestStep(7, "TH reads from the DUT the UserSetpoint attribute.",
                            "Store the value as SetpointValue. " +
                            "SetpointValue is between MinSetpointValue and MaxSetpointValue inclusive. " +
                            "SetpointValue is such that (SetpointValue - MinSetpointValue) % StepValue == 0."),
                TestStep(8, "TH reads from the DUT the UserSetpoint attribute.",
                            "Verify that the DUT response contains a value between MinSetpointValue and MaxSetpointValue inclusive."),

src/python_testing/TC_HSTAT_2_1.py (84-85)

medium

Step 11's description is 'Verify that the DUT response contains a value or True or False', which is a copy-paste error. It should be 'TH reads from the DUT the Sleep attribute.' or similar.

                TestStep(11, "TH reads from the DUT the Sleep attribute.",
                             "Verify that the DUT response contains a value or True or False."),

@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown

PR #72820: Size comparison from d9d3108 to 2e30a68

Full report (6 builds for cc32xx, nrfconnect, realtek, stm32)
platform target config section d9d3108 2e30a68 change % change
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 569670 569670 0 0.0
RAM 205112 205112 0 0.0
lock CC3235SF_LAUNCHXL FLASH 597230 597230 0 0.0
RAM 205272 205272 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 845892 845892 0 0.0
RAM 157923 157923 0 0.0
realtek light-switch-app rtl8777g FLASH 689984 689984 0 0.0
RAM 101880 101880 0 0.0
lighting-app rtl8777g FLASH 730320 730320 0 0.0
RAM 102052 102052 0 0.0
stm32 light STM32WB5MM-DK FLASH 478996 478996 0 0.0
RAM 141492 141492 0 0.0

@github-actions

github-actions Bot commented Aug 26, 2026

Copy link
Copy Markdown

PR #72820: Size comparison from e1978f6 to f926619

Full report (34 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32, telink)
platform target config section e1978f6 f926619 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1100254 1100254 0 0.0
RAM 133842 133842 0 0.0
bl702 lighting-app bl702+eth FLASH 1087030 1087030 0 0.0
RAM 109445 109445 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 886190 886190 0 0.0
RAM 109316 109316 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 779104 779104 0 0.0
RAM 103692 103692 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 791124 791124 0 0.0
RAM 108876 108876 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 740600 740600 0 0.0
RAM 97796 97796 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 720804 720804 0 0.0
RAM 97836 97836 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 580834 580834 0 0.0
RAM 206472 206472 0 0.0
lock CC3235SF_LAUNCHXL FLASH 597714 597714 0 0.0
RAM 206336 206336 0 0.0
efr32 lighting-app BRD4187C FLASH 1120288 1120288 0 0.0
RAM 135900 135900 0 0.0
lock-app BRD4187C FLASH 1014384 1014384 0 0.0
RAM 132376 132376 0 0.0
BRD4338a FLASH 814209 814209 0 0.0
RAM 236556 236556 0 0.0
esp32 all-clusters-app c3devkit DRAM 100348 100348 0 0.0
FLASH 1637310 1637310 0 0.0
IRAM 94776 94776 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 853836 853836 0 0.0
RAM 158534 158534 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1764484 1764484 0 0.0
RAM 216780 216780 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1640668 1640668 0 0.0
RAM 212532 212532 0 0.0
light cy8ckit_062s2_43012 FLASH 1471492 1471492 0 0.0
RAM 198084 198084 0 0.0
lock cy8ckit_062s2_43012 FLASH 1504188 1504188 0 0.0
RAM 225820 225820 0 0.0
qpg lighting-app qpg6200+debug FLASH 844496 844496 0 0.0
RAM 128276 128276 0 0.0
lock-app qpg6200+debug FLASH 785016 785016 0 0.0
RAM 119200 119200 0 0.0
realtek light-switch-app rtl8777g FLASH 691048 691048 0 0.0
RAM 102072 102072 0 0.0
lighting-app rtl8777g FLASH 731464 731464 0 0.0
RAM 102352 102352 0 0.0
stm32 light STM32WB5MM-DK FLASH 483676 483676 0 0.0
RAM 128360 128360 0 0.0
telink all-devices-app tl7218x FLASH 920232 920232 0 0.0
RAM 67948 67948 0 0.0
tlsr9118bdk40d FLASH 701562 701562 0 0.0
RAM 122836 122836 0 0.0
bridge-app tl7218x FLASH 746362 746362 0 0.0
RAM 64400 64400 0 0.0
light-app-concurrent-connection tl7218x FLASH 791208 791208 0 0.0
RAM 60224 60224 0 0.0
light-app-ota-compress-lzma-factory-data tl3218x FLASH 812708 812708 0 0.0
RAM 42756 42756 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl7218x FLASH 858556 858556 0 0.0
RAM 68284 68284 0 0.0
light-switch-app-ota tl3218x_retention FLASH 747500 747500 0 0.0
RAM 33980 33980 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 750372 750372 0 0.0
RAM 36680 36680 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 816362 816362 0 0.0
RAM 75744 75744 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 618206 618206 0 0.0
RAM 118624 118624 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 854218 854222 4 0.0
RAM 97920 97920 0 0.0

Comment thread src/python_testing/TC_HSTAT_2_5.py
Comment thread src/python_testing/TC_HSTAT_2_5.py Outdated
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown

PR #72820: Size comparison from 95d3974 to 06a73d9

Full report (22 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, nrfconnect, psoc6, qpg, realtek, stm32)
platform target config section 95d3974 06a73d9 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1101466 1101466 0 0.0
RAM 134370 134370 0 0.0
bl702 lighting-app bl702+eth FLASH 1088256 1088256 0 0.0
RAM 109973 109973 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 887426 887426 0 0.0
RAM 109844 109844 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 780060 780060 0 0.0
RAM 104196 104196 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 792056 792056 0 0.0
RAM 109388 109388 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 741508 741508 0 0.0
RAM 98300 98300 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 721720 721720 0 0.0
RAM 98340 98340 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 581686 581686 0 0.0
RAM 207240 207240 0 0.0
lock CC3235SF_LAUNCHXL FLASH 598566 598566 0 0.0
RAM 207104 207104 0 0.0
efr32 lighting-app BRD4187C FLASH 1121264 1121264 0 0.0
RAM 136380 136380 0 0.0
lock-app BRD4187C FLASH 1015224 1015224 0 0.0
RAM 132888 132888 0 0.0
BRD4338a FLASH 815193 815193 0 0.0
RAM 237052 237052 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 854924 854924 0 0.0
RAM 159341 159341 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1767252 1767252 0 0.0
RAM 217660 217660 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1643612 1643612 0 0.0
RAM 213420 213420 0 0.0
light cy8ckit_062s2_43012 FLASH 1472532 1472532 0 0.0
RAM 198852 198852 0 0.0
lock cy8ckit_062s2_43012 FLASH 1505212 1505212 0 0.0
RAM 226588 226588 0 0.0
qpg lighting-app qpg6200+debug FLASH 845384 845720 336 0.0
RAM 128788 128788 0 0.0
lock-app qpg6200+debug FLASH 785904 786096 192 0.0
RAM 119704 119704 0 0.0
realtek light-switch-app rtl8777g FLASH 691920 691920 0 0.0
RAM 102584 102584 0 0.0
lighting-app rtl8777g FLASH 732384 732384 0 0.0
RAM 102856 102856 0 0.0
stm32 light STM32WB5MM-DK FLASH 484600 484600 0 0.0
RAM 128864 128864 0 0.0

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown

PR #72820: Size comparison from 95d3974 to 9ed58db

Full report (6 builds for cc32xx, nrfconnect, realtek, stm32)
platform target config section 95d3974 9ed58db change % change
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 581686 581686 0 0.0
RAM 207240 207240 0 0.0
lock CC3235SF_LAUNCHXL FLASH 598566 598566 0 0.0
RAM 207104 207104 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 854924 854936 12 0.0
RAM 159341 159341 0 0.0
realtek light-switch-app rtl8777g FLASH 691920 691920 0 0.0
RAM 102584 102584 0 0.0
lighting-app rtl8777g FLASH 732384 732384 0 0.0
RAM 102856 102856 0 0.0
stm32 light STM32WB5MM-DK FLASH 484600 484600 0 0.0
RAM 128864 128864 0 0.0

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown

PR #72820: Size comparison from 95d3974 to aa38e95

Full report (22 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, nrfconnect, psoc6, qpg, realtek, stm32)
platform target config section 95d3974 aa38e95 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1101466 1101466 0 0.0
RAM 134370 134370 0 0.0
bl702 lighting-app bl702+eth FLASH 1088256 1088256 0 0.0
RAM 109973 109973 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 887426 887426 0 0.0
RAM 109844 109844 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 780060 780060 0 0.0
RAM 104196 104196 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 792056 792056 0 0.0
RAM 109388 109388 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 741508 741508 0 0.0
RAM 98300 98300 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 721720 721720 0 0.0
RAM 98340 98340 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 581686 581686 0 0.0
RAM 207240 207240 0 0.0
lock CC3235SF_LAUNCHXL FLASH 598566 598566 0 0.0
RAM 207104 207104 0 0.0
efr32 lighting-app BRD4187C FLASH 1121264 1121264 0 0.0
RAM 136380 136380 0 0.0
lock-app BRD4187C FLASH 1015224 1015224 0 0.0
RAM 132888 132888 0 0.0
BRD4338a FLASH 815193 815193 0 0.0
RAM 237052 237052 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 854924 854936 12 0.0
RAM 159341 159341 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1767252 1767284 32 0.0
RAM 217660 217660 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1643612 1643612 0 0.0
RAM 213420 213420 0 0.0
light cy8ckit_062s2_43012 FLASH 1472532 1472532 0 0.0
RAM 198852 198852 0 0.0
lock cy8ckit_062s2_43012 FLASH 1505212 1505212 0 0.0
RAM 226588 226588 0 0.0
qpg lighting-app qpg6200+debug FLASH 845384 845720 336 0.0
RAM 128788 128788 0 0.0
lock-app qpg6200+debug FLASH 785904 786096 192 0.0
RAM 119704 119704 0 0.0
realtek light-switch-app rtl8777g FLASH 691920 691920 0 0.0
RAM 102584 102584 0 0.0
lighting-app rtl8777g FLASH 732384 732384 0 0.0
RAM 102856 102856 0 0.0
stm32 light STM32WB5MM-DK FLASH 484600 484600 0 0.0
RAM 128864 128864 0 0.0

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown

PR #72820: Size comparison from 95d3974 to 3e84130

Full report (34 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32, telink)
platform target config section 95d3974 3e84130 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1101466 1101466 0 0.0
RAM 134370 134370 0 0.0
bl702 lighting-app bl702+eth FLASH 1088256 1088256 0 0.0
RAM 109973 109973 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 887426 887426 0 0.0
RAM 109844 109844 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 780060 780060 0 0.0
RAM 104196 104196 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 792056 792056 0 0.0
RAM 109388 109388 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 741508 741508 0 0.0
RAM 98300 98300 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 721720 721720 0 0.0
RAM 98340 98340 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 581686 581686 0 0.0
RAM 207240 207240 0 0.0
lock CC3235SF_LAUNCHXL FLASH 598566 598566 0 0.0
RAM 207104 207104 0 0.0
efr32 lighting-app BRD4187C FLASH 1121264 1121264 0 0.0
RAM 136380 136380 0 0.0
lock-app BRD4187C FLASH 1015224 1015224 0 0.0
RAM 132888 132888 0 0.0
BRD4338a FLASH 815193 815193 0 0.0
RAM 237052 237052 0 0.0
esp32 all-clusters-app c3devkit DRAM 100844 100844 0 0.0
FLASH 1637254 1637276 22 0.0
IRAM 94776 94776 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 854924 854936 12 0.0
RAM 159341 159341 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1767252 1767284 32 0.0
RAM 217660 217660 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1643612 1643612 0 0.0
RAM 213420 213420 0 0.0
light cy8ckit_062s2_43012 FLASH 1472532 1472532 0 0.0
RAM 198852 198852 0 0.0
lock cy8ckit_062s2_43012 FLASH 1505212 1505212 0 0.0
RAM 226588 226588 0 0.0
qpg lighting-app qpg6200+debug FLASH 845384 845720 336 0.0
RAM 128788 128788 0 0.0
lock-app qpg6200+debug FLASH 785904 786096 192 0.0
RAM 119704 119704 0 0.0
realtek light-switch-app rtl8777g FLASH 691920 691920 0 0.0
RAM 102584 102584 0 0.0
lighting-app rtl8777g FLASH 732384 732384 0 0.0
RAM 102856 102856 0 0.0
stm32 light STM32WB5MM-DK FLASH 484600 484600 0 0.0
RAM 128864 128864 0 0.0
telink all-devices-app tl7218x FLASH 933986 934010 24 0.0
RAM 68120 68120 0 0.0
tlsr9118bdk40d FLASH 715318 715342 24 0.0
RAM 123008 123008 0 0.0
bridge-app tl7218x FLASH 747614 747614 0 0.0
RAM 64524 64524 0 0.0
light-app-concurrent-connection tl7218x FLASH 792460 792460 0 0.0
RAM 60348 60348 0 0.0
light-app-ota-compress-lzma-factory-data tl3218x FLASH 813988 813988 0 0.0
RAM 42880 42880 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl7218x FLASH 859836 859836 0 0.0
RAM 68408 68408 0 0.0
light-switch-app-ota tl3218x_retention FLASH 748762 748762 0 0.0
RAM 34112 34112 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 751634 751634 0 0.0
RAM 36812 36812 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 817596 817596 0 0.0
RAM 76292 76292 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 619482 619482 0 0.0
RAM 118748 118748 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 855490 855494 4 0.0
RAM 98580 98580 0 0.0

@CLAassistant

CLAassistant commented Sep 9, 2026

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.

✅ gulbeta
❌ Your Name


Your Name seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

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