From 3c89e7085bcdaed1cfeaa409ceba3e95a726b173 Mon Sep 17 00:00:00 2001 From: Justin Wood Date: Mon, 25 Jul 2022 22:44:43 -0700 Subject: [PATCH] updated Scripts july 23 (#21132) (#21188) * Added Updated scripts * Added Auto generated files * Restyled by whitespace * Restyled by clang-format * Added Auto generated file * Restyled by clang-format Co-authored-by: Restyled.io Co-authored-by: kowsisoundhar12 <57476670+kowsisoundhar12@users.noreply.github.com> Co-authored-by: Restyled.io --- src/app/tests/suites/certification/PICS.yaml | 96 +- .../suites/certification/Test_TC_ACL_2_4.yaml | 678 ++-- .../suites/certification/Test_TC_ACL_2_7.yaml | 261 +- .../suites/certification/Test_TC_ACT_1_1.yaml | 12 +- .../certification/Test_TC_APBSC_1_10.yaml | 28 +- .../Test_TC_APPLAUNCHER_1_3.yaml | 1 - .../certification/Test_TC_BIND_1_1.yaml | 21 +- .../certification/Test_TC_BIND_2_1.yaml | 191 +- .../certification/Test_TC_BIND_2_2.yaml | 253 +- .../certification/Test_TC_BIND_2_3.yaml | 360 ++- .../certification/Test_TC_BINFO_2_1.yaml | 53 +- .../certification/Test_TC_CADMIN_1_13.yaml | 6 + .../certification/Test_TC_CADMIN_1_23.yaml | 140 +- .../certification/Test_TC_CADMIN_1_24.yaml | 177 +- .../certification/Test_TC_CADMIN_1_3.yaml | 15 +- .../certification/Test_TC_CADMIN_1_4.yaml | 27 +- .../certification/Test_TC_CADMIN_1_5.yaml | 24 +- .../suites/certification/Test_TC_CC_3_1.yaml | 90 +- .../suites/certification/Test_TC_CC_3_2.yaml | 70 +- .../suites/certification/Test_TC_CC_3_3.yaml | 14 +- .../suites/certification/Test_TC_CC_4_1.yaml | 19 +- .../suites/certification/Test_TC_CC_4_2.yaml | 26 +- .../suites/certification/Test_TC_CC_4_3.yaml | 4 +- .../suites/certification/Test_TC_CC_4_4.yaml | 4 +- .../suites/certification/Test_TC_CC_5_1.yaml | 4 +- .../suites/certification/Test_TC_CC_5_2.yaml | 8 +- .../suites/certification/Test_TC_CC_5_3.yaml | 4 +- .../suites/certification/Test_TC_CC_6_1.yaml | 4 +- .../suites/certification/Test_TC_CC_6_2.yaml | 24 +- .../suites/certification/Test_TC_CC_6_3.yaml | 12 +- .../suites/certification/Test_TC_CC_7_1.yaml | 26 +- .../suites/certification/Test_TC_CC_7_2.yaml | 16 +- .../suites/certification/Test_TC_CC_7_3.yaml | 4 +- .../suites/certification/Test_TC_CC_7_4.yaml | 2 +- .../suites/certification/Test_TC_CC_8_1.yaml | 56 +- .../suites/certification/Test_TC_CC_9_1.yaml | 114 +- .../suites/certification/Test_TC_CC_9_2.yaml | 32 +- .../suites/certification/Test_TC_CC_9_3.yaml | 30 +- .../certification/Test_TC_CHANNEL_1_6.yaml | 10 +- .../certification/Test_TC_CHANNEL_5_2.yaml | 2 +- .../certification/Test_TC_CHANNEL_5_3.yaml | 2 +- .../suites/certification/Test_TC_DD_2_1.yaml | 178 +- .../suites/certification/Test_TC_DD_2_2.yaml | 170 +- .../certification/Test_TC_DESC_2_1.yaml | 105 +- .../certification/Test_TC_DESC_2_2.yaml | 136 +- .../certification/Test_TC_DGSW_2_2.yaml | 2 +- .../certification/Test_TC_DGTHREAD_2_1.yaml | 2 + .../certification/Test_TC_DGWIFI_2_1.yaml | 7 +- .../certification/Test_TC_DGWIFI_3_1.yaml | 2 +- .../certification/Test_TC_DRLK_2_2.yaml | 125 +- .../suites/certification/Test_TC_FLW_1_1.yaml | 5 +- .../suites/certification/Test_TC_FLW_2_1.yaml | 2 +- .../suites/certification/Test_TC_FLW_2_2.yaml | 2 +- .../suites/certification/Test_TC_IDM_1_1.yaml | 26 +- .../suites/certification/Test_TC_IDM_1_2.yaml | 37 +- .../suites/certification/Test_TC_IDM_2_1.yaml | 294 +- .../suites/certification/Test_TC_IDM_2_2.yaml | 45 +- .../suites/certification/Test_TC_IDM_3_1.yaml | 370 ++- .../suites/certification/Test_TC_IDM_3_2.yaml | 37 +- .../suites/certification/Test_TC_IDM_4_1.yaml | 488 ++- .../suites/certification/Test_TC_IDM_4_2.yaml | 27 +- .../suites/certification/Test_TC_IDM_4_3.yaml | 107 +- .../suites/certification/Test_TC_IDM_5_1.yaml | 89 +- .../suites/certification/Test_TC_IDM_6_1.yaml | 102 +- .../suites/certification/Test_TC_IDM_6_2.yaml | 445 ++- .../suites/certification/Test_TC_IDM_6_3.yaml | 5 +- .../suites/certification/Test_TC_IDM_6_4.yaml | 78 + .../suites/certification/Test_TC_IDM_7_1.yaml | 280 +- .../suites/certification/Test_TC_IDM_8_1.yaml | 166 +- .../suites/certification/Test_TC_ILL_2_2.yaml | 10 +- .../suites/certification/Test_TC_I_1_1.yaml | 20 +- .../suites/certification/Test_TC_I_2_2.yaml | 16 +- .../Test_TC_KEYPADINPUT_3_2.yaml | 2 +- .../certification/Test_TC_LTIME_1_1.yaml | 25 +- .../certification/Test_TC_LTIME_1_2.yaml | 24 +- .../certification/Test_TC_LTIME_2_1.yaml | 120 +- .../certification/Test_TC_LUNIT_2_1.yaml | 168 +- .../suites/certification/Test_TC_LVL_1_1.yaml | 11 +- .../suites/certification/Test_TC_LVL_2_2.yaml | 1 + .../suites/certification/Test_TC_LVL_2_3.yaml | 18 +- .../suites/certification/Test_TC_LVL_3_1.yaml | 16 +- .../suites/certification/Test_TC_LVL_4_1.yaml | 14 +- .../suites/certification/Test_TC_LVL_5_1.yaml | 26 +- .../suites/certification/Test_TC_LVL_6_1.yaml | 19 +- .../certification/Test_TC_MEDIAINPUT_1_4.yaml | 5 +- .../Test_TC_MEDIAINPUT_3_13.yaml | 2 +- .../Test_TC_MEDIAPLAYBACK_1_7.yaml | 1 + .../Test_TC_MEDIAPLAYBACK_6_1.yaml | 21 +- .../Test_TC_MEDIAPLAYBACK_6_2.yaml | 24 +- .../Test_TC_MEDIAPLAYBACK_6_3.yaml | 6 +- .../Test_TC_MEDIAPLAYBACK_6_4.yaml | 20 +- .../suites/certification/Test_TC_OCC_1_1.yaml | 2 +- .../suites/certification/Test_TC_OCC_3_1.yaml | 3 +- .../suites/certification/Test_TC_OO_1_1.yaml | 31 +- .../suites/certification/Test_TC_OO_2_1.yaml | 10 +- .../suites/certification/Test_TC_OO_2_2.yaml | 8 +- .../suites/certification/Test_TC_PCC_1_1.yaml | 176 ++ .../suites/certification/Test_TC_PCC_2_1.yaml | 16 - .../suites/certification/Test_TC_PS_1_1.yaml | 9 +- .../suites/certification/Test_TC_RH_2_1.yaml | 1 + .../suites/certification/Test_TC_RH_2_2.yaml | 4 +- .../suites/certification/Test_TC_SC_4_5.yaml | 45 +- .../suites/certification/Test_TC_SC_4_8.yaml | 42 +- .../certification/Test_TC_SWTCH_1_1.yaml | 202 +- .../certification/Test_TC_SWTCH_2_2.yaml | 50 +- .../certification/Test_TC_TGTNAV_1_9.yaml | 9 +- .../certification/Test_TC_TGTNAV_8_1.yaml | 2 +- .../suites/certification/Test_TC_TMP_1_1.yaml | 10 +- .../suites/certification/Test_TC_TMP_2_1.yaml | 8 +- .../suites/certification/Test_TC_TMP_2_2.yaml | 6 +- .../certification/Test_TC_TSUIC_2_2.yaml | 22 +- .../certification/Test_TC_TSUIC_3_1.yaml | 473 +-- .../certification/Test_TC_ULABEL_2_3.yaml | 2 +- .../certification/Test_TC_ULABEL_2_4.yaml | 4 +- .../tests/suites/certification/ci-pics-values | 42 +- src/app/tests/suites/tests.js | 8 +- .../chip-tool/zap-generated/test/Commands.h | 2804 ++++++++++------- .../zap-generated/test/Commands.h | 2732 +++++++++++----- 118 files changed, 8944 insertions(+), 4598 deletions(-) diff --git a/src/app/tests/suites/certification/PICS.yaml b/src/app/tests/suites/certification/PICS.yaml index 4eb0d890672a53..f5224138c1cc35 100644 --- a/src/app/tests/suites/certification/PICS.yaml +++ b/src/app/tests/suites/certification/PICS.yaml @@ -2080,15 +2080,15 @@ PICS: - label: "Does the DUT support the Media Playback server cluster Play command?" - id: MEDIAPLAYBACK.S.C0000 + id: MEDIAPLAYBACK.S.C00.Rsp - label: "Does the DUT support the Media Playback server cluster Pause command?" - id: MEDIAPLAYBACK.S.C0001 + id: MEDIAPLAYBACK.S.C01.Rsp - label: "Does the DUT support the Media Playback server cluster Stop command?" - id: MEDIAPLAYBACK.S.C0002 + id: MEDIAPLAYBACK.S.C02.Rsp - label: "Does the DUT support the Media Playback server cluster StartOver @@ -2834,6 +2834,49 @@ PICS: - label: "Does the Commissioner support Discovery Capability over BLE?" id: MCORE.DD.DISCOVERY_BLE + - label: "Does the device support discovery over Wi-Fi?" + id: MCORE.DD.WIFI + + - label: "Does the device have a vendor specific information element (IE)?" + id: MCORE.DD.IE + + - label: + "Does the device support TXT Key 'DN' (Device Name) in it’s DNS-SD TXT + Records for Commissionable Node Discovery?" + id: MCORE.DD.TXT_KEY_DN + + - label: + "Does the device support TXT Key 'RI' (Rotating Identifier) in it’s + DNS-SD TXT Records for Commissionable Node Discovery?" + id: MCORE.DD.TXT_KEY_RI + + - label: + "Does the device support TXT Key 'PH' (Pairing Hint) in it’s DNS-SD + TXT Records for Commissionable Node Discovery?" + id: MCORE.DD.TXT_KEY_PH + + - label: + "Does the device support TXT Key 'PI' (Pairing Instruction) in it’s + DNS-SD TXT Records for Commissionable Node Discovery?" + id: MCORE.DD.TXT_KEY_PI + + - label: + "Does the device support Extended Discovery through DNS-SD + advertisements when device is not in commissioning mode?" + id: MCORE.DD.EXTENDED_DISCOVERY + + - label: + "Does the device support advertising the Vendor ID Commissioning + Subtype in Commissionable Node Discovery through DNS-SD + advertisements?" + id: MCORE.DD.COMMISSIONING_SUBTYPE_V + + - label: + "Does the device support advertising the Device Type Commissioning + Subtype in Commissionable Node Discovery through DNS-SD + advertisements?" + id: MCORE.DD.COMMISSIONING_SUBTYPE_T + #Ethernet Network Diagnostics Cluster - label: "Does the device implement the ResetCounts command?" id: DGETH.S.C00.Rsp @@ -4501,7 +4544,6 @@ PICS: - label: "Does the DUT support the AccessControlExtensionChanged Event?" id: ACL.S.E01 - #Mode select #Mode select - label: "Does the DUT support the StartUpMode attribute?" id: MOD.S.A0004 @@ -4539,3 +4581,49 @@ PICS: "Does commissionee provide a Firmware Information field in the AttestationResponse?" id: MCORE.DA.ATTESTELEMENT_FW_INFO + + #Descriptor Cluster TestPlan + #server + - label: "Does the DUT(server) support the DEVICETYPELIST attribute?" + id: DESC.S.A0000 + + - label: "Does the DUT(server) support the SERVERLIST attribute?" + id: DESC.S.A0001 + + - label: "Does the DUT(server) support the CLIENTLIST attribute?" + id: DESC.S.A0002 + + - label: "Does the DUT(server) support the PARTSLIST attribute?" + id: DESC.S.A0003 + + - label: "Does the DUT(server) support the REVISIONFIELD attribute?" + id: DESC.S.A0004 + + #cluster + - label: "Does the DUT(client) support the DEVICETYPELIST attribute?" + id: DESC.C.A0000 + + - label: "Does the DUT(client) support the SERVERLIST attribute?" + id: DESC.C.A0001 + + - label: "Does the DUT(client) support the CLIENTLIST attribute?" + id: DESC.C.A0002 + + - label: "Does the DUT(client) support the PARTSLIST attribute?" + id: DESC.C.A0003 + + - label: "Does the DUT(client) support the REVISIONFIELD attribute?" + id: DESC.C.A0004 + + #Secure Channel + - label: + "Does device support optional key SII in operational discovery mDNS?" + id: MCORE.SC.SII_OP_DISCOVERY_KEY + + - label: + "Does device support optional key SII in operational discovery mDNS?" + id: MCORE.SC.SAI_OP_DISCOVERY_KEY + + - label: + "Does device support optional key SII in operational discovery mDNS?" + id: MCORE.SC.T_KEY diff --git a/src/app/tests/suites/certification/Test_TC_ACL_2_4.yaml b/src/app/tests/suites/certification/Test_TC_ACL_2_4.yaml index b3d1aa8610d7a2..b65371b3af2f6b 100644 --- a/src/app/tests/suites/certification/Test_TC_ACL_2_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_ACL_2_4.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 129.2.4. [TC-ACL-2.4] ACL attribute +name: 131.2.4. [TC-ACL-2.4] ACL attribute config: nodeId: 0x12344321 @@ -32,6 +32,9 @@ tests: verification: | ./chip-tool operationalcredentials read current-fabric-index 1 0 + + On TH, Verify DUT Responds to CurrentFabricIndex attribute of operationalCredential cluster as 1 + [1656652012.060584][2763:2768] CHIP:DMG: [1656652012.060609][2763:2768] CHIP:DMG: SuppressResponse = true, [1656652012.060634][2763:2768] CHIP:DMG: InteractionModelRevision = 1 @@ -48,6 +51,8 @@ tests: verification: | ./chip-tool accesscontrol read acl 1 0 + On TH , Verify DUT Responds Successfully . + [1656652338.381499][2784:2789] CHIP:DMG: }, [1656652338.381552][2784:2789] CHIP:DMG: [1656652338.381590][2784:2789] CHIP:DMG: ], @@ -71,179 +76,233 @@ tests: - label: "TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute, value - is list of AccessControlEntryStruct containing 3 elements struct + is list of AccessControlEntryStruct containing 3 elements 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) Subjects - field: [N1] Targets field: null struct Privilege field: View (1) + field: [N1] Targets field: null 2 . struct Privilege field: View (1) AuthMode field: CASE (3) Subjects field: [111, 222, 333, 444] Targets - field: [{Cluster: 11}, {Endpoint: 22}, {DeviceType: 33}] struct - Privilege field: Operate (3) AuthMode field: Group (3) Subjects field: - [555, 666, 777, 888] Targets field: [{Cluster: 55}, {Endpoint: 66}, - {DeviceType: 77}]" + field: [{Cluster: 11}, {Endpoint: 22}] 3..struct Privilege field: + Operate (3) AuthMode field: Group (3) Subjects field: [555, 666, 777, + 888] Targets field: [{Cluster: 55}, {Endpoint: 66}]" PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, - {"fabricIndex": 1, "privilege": 1, "authMode": 3, "subjects": [111,222,333,444], "targets": [{"cluster":11 , "endpoint":22, "deviceType": 33}]}, - {"fabricIndex": 1, "privilege": 3, "authMode": 3, "subjects": [555,666,777,888], "targets": [{"cluster": 55, "endpoint": 66, "deviceType": 77 }]}]' 1 0 - - - [1657616506.497802][8683:8688] CHIP:DMG: WriteResponseMessage = - [1657616506.497838][8683:8688] CHIP:DMG: { - [1657616506.497865][8683:8688] CHIP:DMG: AttributeStatusIBs = - [1657616506.497903][8683:8688] CHIP:DMG: [ - [1657616506.497937][8683:8688] CHIP:DMG: AttributeStatusIB = - [1657616506.497977][8683:8688] CHIP:DMG: { - [1657616506.498013][8683:8688] CHIP:DMG: AttributePathIB = - [1657616506.498054][8683:8688] CHIP:DMG: { - [1657616506.498096][8683:8688] CHIP:DMG: Endpoint = 0x0, - [1657616506.498138][8683:8688] CHIP:DMG: Cluster = 0x1f, - [1657616506.498180][8683:8688] CHIP:DMG: Attribute = 0x0000_0000, - [1657616506.498219][8683:8688] CHIP:DMG: } - [1657616506.498264][8683:8688] CHIP:DMG: - [1657616506.498301][8683:8688] CHIP:DMG: StatusIB = - [1657616506.498341][8683:8688] CHIP:DMG: { - [1657616506.498447][8683:8688] CHIP:DMG: status = 0x00 (SUCCESS), - [1657616506.498492][8683:8688] CHIP:DMG: }, - [1657616506.498534][8683:8688] CHIP:DMG: - [1657616506.498571][8683:8688] CHIP:DMG: }, - [1657616506.498617][8683:8688] CHIP:DMG: - [1657616506.498650][8683:8688] CHIP:DMG: AttributeStatusIB = - [1657616506.498686][8683:8688] CHIP:DMG: { - [1657616506.498720][8683:8688] CHIP:DMG: AttributePathIB = - [1657616506.498759][8683:8688] CHIP:DMG: { - [1657616506.498800][8683:8688] CHIP:DMG: Endpoint = 0x0, - [1657616506.498845][8683:8688] CHIP:DMG: Cluster = 0x1f, - [1657616506.498890][8683:8688] CHIP:DMG: Attribute = 0x0000_0000, - [1657616506.498933][8683:8688] CHIP:DMG: ListIndex = Null, - [1657616506.498974][8683:8688] CHIP:DMG: } - [1657616506.499019][8683:8688] CHIP:DMG: - [1657616506.499059][8683:8688] CHIP:DMG: StatusIB = - [1657616506.499098][8683:8688] CHIP:DMG: { - [1657616506.499140][8683:8688] CHIP:DMG: status = 0x00 (SUCCESS), - [1657616506.499181][8683:8688] CHIP:DMG: }, - [1657616506.499221][8683:8688] CHIP:DMG: - [1657616506.499255][8683:8688] CHIP:DMG: }, - [1657616506.499304][8683:8688] CHIP:DMG: - [1657616506.499336][8683:8688] CHIP:DMG: AttributeStatusIB = - [1657616506.499371][8683:8688] CHIP:DMG: { - [1657616506.499405][8683:8688] CHIP:DMG: AttributePathIB = - [1657616506.499444][8683:8688] CHIP:DMG: { - [1657616506.499491][8683:8688] CHIP:DMG: Endpoint = 0x0, - [1657616506.499536][8683:8688] CHIP:DMG: Cluster = 0x1f, - [1657616506.499576][8683:8688] CHIP:DMG: Attribute = 0x0000_0000, - [1657616506.499619][8683:8688] CHIP:DMG: ListIndex = Null, - [1657616506.499656][8683:8688] CHIP:DMG: } - [1657616506.499702][8683:8688] CHIP:DMG: - [1657616506.499740][8683:8688] CHIP:DMG: StatusIB = - [1657616506.499784][8683:8688] CHIP:DMG: { - [1657616506.499826][8683:8688] CHIP:DMG: status = 0x01 (FAILURE), - [1657616506.499866][8683:8688] CHIP:DMG: }, - [1657616506.499906][8683:8688] CHIP:DMG: - [1657616506.499943][8683:8688] CHIP:DMG: }, - [1657616506.499989][8683:8688] CHIP:DMG: - [1657616506.500021][8683:8688] CHIP:DMG: AttributeStatusIB = - [1657616506.500056][8683:8688] CHIP:DMG: { - [1657616506.500090][8683:8688] CHIP:DMG: AttributePathIB = - [1657616506.500129][8683:8688] CHIP:DMG: { - [1657616506.500221][8683:8688] CHIP:DMG: Endpoint = 0x0, - [1657616506.500277][8683:8688] CHIP:DMG: Cluster = 0x1f, - [1657616506.500325][8683:8688] CHIP:DMG: Attribute = 0x0000_0000, - [1657616506.500368][8683:8688] CHIP:DMG: ListIndex = Null, - [1657616506.500413][8683:8688] CHIP:DMG: } - [1657616506.500459][8683:8688] CHIP:DMG: - [1657616506.500502][8683:8688] CHIP:DMG: StatusIB = - [1657616506.500547][8683:8688] CHIP:DMG: { - [1657616506.500593][8683:8688] CHIP:DMG: status = 0x01 (FAILURE), - [1657616506.500636][8683:8688] CHIP:DMG: }, - [1657616506.500677][8683:8688] CHIP:DMG: - [1657616506.500710][8683:8688] CHIP:DMG: }, - [1657616506.500749][8683:8688] CHIP:DMG: - [1657616506.500781][8683:8688] CHIP:DMG: ], - [1657616506.500834][8683:8688] CHIP:DMG: - [1657616506.500866][8683:8688] CHIP:DMG: InteractionModelRevision = 1 - [1657616506.500897][8683:8688] CHIP:DMG: } - [1657616506.501105][8683:8688] CHIP:DMG: WriteClient moving to [AwaitingDe] - [1657616506.501147][8683:8688] CHIP:TOO: Response Failure: IM Error 0x00000501: General error: 0x01 (FAILURE) + {"fabricIndex": 1, "privilege": 1, "authMode": 3, "subjects": [111,222,333,444], "targets": [{"cluster":11 , "endpoint":22, "deviceType": null}]}, + {"fabricIndex": 1, "privilege": 3, "authMode": 3, "subjects": [555,666,777,888], "targets": [{"cluster": 55, "endpoint": 66, "deviceType":null }]}]' 1 0 + + + [1658323877.660699][2502:2507] CHIP:DMG: WriteClient moving to [ResponseRe] + [1658323877.660829][2502:2507] CHIP:DMG: WriteResponseMessage = + [1658323877.660890][2502:2507] CHIP:DMG: { + [1658323877.660943][2502:2507] CHIP:DMG: AttributeStatusIBs = + [1658323877.661019][2502:2507] CHIP:DMG: [ + [1658323877.661079][2502:2507] CHIP:DMG: AttributeStatusIB = + [1658323877.661251][2502:2507] CHIP:DMG: { + [1658323877.661321][2502:2507] CHIP:DMG: AttributePathIB = + [1658323877.661397][2502:2507] CHIP:DMG: { + [1658323877.661477][2502:2507] CHIP:DMG: Endpoint = 0x0, + [1658323877.661568][2502:2507] CHIP:DMG: Cluster = 0x1f, + [1658323877.661657][2502:2507] CHIP:DMG: Attribute = 0x0000_0000, + [1658323877.661744][2502:2507] CHIP:DMG: } + [1658323877.661838][2502:2507] CHIP:DMG: + [1658323877.661920][2502:2507] CHIP:DMG: StatusIB = + [1658323877.662004][2502:2507] CHIP:DMG: { + [1658323877.662084][2502:2507] CHIP:DMG: status = 0x00 (SUCCESS), + [1658323877.662167][2502:2507] CHIP:DMG: }, + [1658323877.662243][2502:2507] CHIP:DMG: + [1658323877.662309][2502:2507] CHIP:DMG: }, + [1658323877.662398][2502:2507] CHIP:DMG: + [1658323877.662458][2502:2507] CHIP:DMG: AttributeStatusIB = + [1658323877.662527][2502:2507] CHIP:DMG: { + [1658323877.662590][2502:2507] CHIP:DMG: AttributePathIB = + [1658323877.662706][2502:2507] CHIP:DMG: { + [1658323877.662784][2502:2507] CHIP:DMG: Endpoint = 0x0, + [1658323877.662872][2502:2507] CHIP:DMG: Cluster = 0x1f, + [1658323877.662939][2502:2507] CHIP:DMG: Attribute = 0x0000_0000, + [1658323877.663079][2502:2507] CHIP:DMG: ListIndex = Null, + [1658323877.663151][2502:2507] CHIP:DMG: } + [1658323877.663228][2502:2507] CHIP:DMG: + [1658323877.663298][2502:2507] CHIP:DMG: StatusIB = + [1658323877.663364][2502:2507] CHIP:DMG: { + [1658323877.663428][2502:2507] CHIP:DMG: status = 0x00 (SUCCESS), + [1658323877.663500][2502:2507] CHIP:DMG: }, + [1658323877.663566][2502:2507] CHIP:DMG: + [1658323877.663624][2502:2507] CHIP:DMG: }, + [1658323877.663703][2502:2507] CHIP:DMG: + [1658323877.663754][2502:2507] CHIP:DMG: AttributeStatusIB = + [1658323877.663814][2502:2507] CHIP:DMG: { + [1658323877.663871][2502:2507] CHIP:DMG: AttributePathIB = + [1658323877.663941][2502:2507] CHIP:DMG: { + [1658323877.664007][2502:2507] CHIP:DMG: Endpoint = 0x0, + [1658323877.664077][2502:2507] CHIP:DMG: Cluster = 0x1f, + [1658323877.664147][2502:2507] CHIP:DMG: Attribute = 0x0000_0000, + [1658323877.664214][2502:2507] CHIP:DMG: ListIndex = Null, + [1658323877.664278][2502:2507] CHIP:DMG: } + [1658323877.664350][2502:2507] CHIP:DMG: + [1658323877.664414][2502:2507] CHIP:DMG: StatusIB = + [1658323877.664477][2502:2507] CHIP:DMG: { + [1658323877.664541][2502:2507] CHIP:DMG: status = 0x00 (SUCCESS), + [1658323877.664606][2502:2507] CHIP:DMG: }, + [1658323877.664670][2502:2507] CHIP:DMG: + [1658323877.664727][2502:2507] CHIP:DMG: }, + [1658323877.664800][2502:2507] CHIP:DMG: + [1658323877.664850][2502:2507] CHIP:DMG: AttributeStatusIB = + [1658323877.664910][2502:2507] CHIP:DMG: { + [1658323877.664967][2502:2507] CHIP:DMG: AttributePathIB = + [1658323877.665031][2502:2507] CHIP:DMG: { + [1658323877.665096][2502:2507] CHIP:DMG: Endpoint = 0x0, + [1658323877.665170][2502:2507] CHIP:DMG: Cluster = 0x1f, + [1658323877.665240][2502:2507] CHIP:DMG: Attribute = 0x0000_0000, + [1658323877.665313][2502:2507] CHIP:DMG: ListIndex = Null, + [1658323877.665384][2502:2507] CHIP:DMG: } + [1658323877.665453][2502:2507] CHIP:DMG: + [1658323877.665515][2502:2507] CHIP:DMG: StatusIB = + [1658323877.665577][2502:2507] CHIP:DMG: { + [1658323877.665643][2502:2507] CHIP:DMG: status = 0x00 (SUCCESS), + [1658323877.665708][2502:2507] CHIP:DMG: }, + [1658323877.665771][2502:2507] CHIP:DMG: + [1658323877.665828][2502:2507] CHIP:DMG: }, + [1658323877.665889][2502:2507] CHIP:DMG: + [1658323877.665938][2502:2507] CHIP:DMG: ], + [1658323877.666020][2502:2507] CHIP:DMG: + [1658323877.666070][2502:2507] CHIP:DMG: InteractionModelRevision = 1 + [1658323877.666119][2502:2507] CHIP:DMG: } + [1658323877.666433][2502:2507] CHIP:DMG: WriteClient moving to [AwaitingDe] + [1658323877.666532][2502:2507] CHIP:EM: Sending Standalone Ack for MessageCounter:122439856 on exchange 57514i disabled: true - label: "TH1 reads DUT Endpoint 0 AccessControl cluster ACL attribute" PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol read acl 1 0 - [1657616943.336147][8703:8708] CHIP:DMG: } - [1657616943.336447][8703:8708] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_0000 DataVersion: 2543339509 - [1657616943.336529][8703:8708] CHIP:TOO: ACL: 1 entries - [1657616943.336583][8703:8708] CHIP:TOO: [1]: { - [1657616943.336630][8703:8708] CHIP:TOO: Privilege: 5 - [1657616943.336659][8703:8708] CHIP:TOO: AuthMode: 2 - [1657616943.336692][8703:8708] CHIP:TOO: Subjects: 1 entries - [1657616943.336726][8703:8708] CHIP:TOO: [1]: 112233 - [1657616943.336757][8703:8708] CHIP:TOO: Targets: null - [1657616943.336786][8703:8708] CHIP:TOO: FabricIndex: 1 - [1657616943.336813][8703:8708] CHIP:TOO: } + InteractionModelRevision = 1 + [1658229676.712083][4872:4878] CHIP:DMG: } + [1658229676.712624][4872:4878] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_0000 DataVersion: 1307037423 + [1658229676.712736][4872:4878] CHIP:TOO: ACL: 3 entries + [1658229676.712809][4872:4878] CHIP:TOO: [1]: { + [1658229676.712839][4872:4878] CHIP:TOO: Privilege: 5 + [1658229676.712864][4872:4878] CHIP:TOO: AuthMode: 2 + [1658229676.712893][4872:4878] CHIP:TOO: Subjects: 1 entries + [1658229676.712923][4872:4878] CHIP:TOO: [1]: 112233 + [1658229676.712949][4872:4878] CHIP:TOO: Targets: null + [1658229676.712972][4872:4878] CHIP:TOO: FabricIndex: 1 + [1658229676.712995][4872:4878] CHIP:TOO: } + [1658229676.713033][4872:4878] CHIP:TOO: [2]: { + [1658229676.713058][4872:4878] CHIP:TOO: Privilege: 1 + [1658229676.713082][4872:4878] CHIP:TOO: AuthMode: 3 + [1658229676.713109][4872:4878] CHIP:TOO: Subjects: 4 entries + [1658229676.713136][4872:4878] CHIP:TOO: [1]: 111 + [1658229676.713161][4872:4878] CHIP:TOO: [2]: 222 + [1658229676.713187][4872:4878] CHIP:TOO: [3]: 333 + [1658229676.713212][4872:4878] CHIP:TOO: [4]: 444 + [1658229676.713241][4872:4878] CHIP:TOO: Targets: 1 entries + [1658229676.713295][4872:4878] CHIP:TOO: [1]: { + [1658229676.713322][4872:4878] CHIP:TOO: Cluster: 11 + [1658229676.713347][4872:4878] CHIP:TOO: Endpoint: 22 + [1658229676.713371][4872:4878] CHIP:TOO: DeviceType: null + [1658229676.713429][4872:4878] CHIP:TOO: } + [1658229676.713457][4872:4878] CHIP:TOO: FabricIndex: 1 + [1658229676.713480][4872:4878] CHIP:TOO: } + [1658229676.713517][4872:4878] CHIP:TOO: [3]: { + [1658229676.713543][4872:4878] CHIP:TOO: Privilege: 3 + [1658229676.713566][4872:4878] CHIP:TOO: AuthMode: 3 + [1658229676.713593][4872:4878] CHIP:TOO: Subjects: 4 entries + [1658229676.713620][4872:4878] CHIP:TOO: [1]: 555 + [1658229676.713645][4872:4878] CHIP:TOO: [2]: 666 + [1658229676.713670][4872:4878] CHIP:TOO: [3]: 777 + [1658229676.713695][4872:4878] CHIP:TOO: [4]: 888 + [1658229676.713724][4872:4878] CHIP:TOO: Targets: 1 entries + [1658229676.713756][4872:4878] CHIP:TOO: [1]: { + [1658229676.713780][4872:4878] CHIP:TOO: Cluster: 55 + [1658229676.713804][4872:4878] CHIP:TOO: Endpoint: 66 + [1658229676.713826][4872:4878] CHIP:TOO: DeviceType: null + [1658229676.713849][4872:4878] CHIP:TOO: } + [1658229676.713873][4872:4878] CHIP:TOO: FabricIndex: 1 + [1658229676.713896][4872:4878] CHIP:TOO: } + [1658229676.714004][4872:4878] CHIP:EM: Sending Standalone Ack for MessageCounter:20458493 on exchange 31143i disabled: true - label: "TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute, value - is list of AccessControlEntryStruct containing 3 elements struct + is list of AccessControlEntryStruct containing 3 elements 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) Subjects - field: [N1] Targets field: null struct Privilege field: Manage (4) + field: [N1] Targets field: null 2.struct Privilege field: Manage (4) AuthMode field: Group (3) Subjects field: [444, 333, 222, 111] Targets - field: [{Cluster: 44}, {Endpoint: 33}, {DeviceType: 22}] struct - Privilege field: Administer (5) AuthMode field: CASE (3) Subjects - field: [888, 777, 666, 555] Targets field: [{Cluster: 88}, {Endpoint: - 77}, {DeviceType: 66}]" + field: [{Cluster: 44}, {Endpoint: 33}] 3.struct Privilege field: + Administer (5) AuthMode field: CASE (3) Subjects field: [888, 777, + 666, 555] Targets field: [{Cluster: 88}, {Endpoint: 77}]" PICS: ACL.S.A0000 verification: | - ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 1, "privilege": 4, "authMode": 2, "subjects": [444,333,222,111], "targets": [{"cluster":44 , "endpoint":33, "deviceType":22}]},{"fabricIndex": 1, "privilege":4 , "authMode":2, "subjects": [888,777,666,555], "targets": [{"cluster": 88, "endpoint": 77, "deviceType":66}]}]' 1 0 - - 57547786.191042][2846:2851] CHIP:DMG: StatusIB = - [1657547786.191115][2846:2851] CHIP:DMG: { - [1657547786.191192][2846:2851] CHIP:DMG: status = 0x00 (SUCCESS), - [1657547786.191267][2846:2851] CHIP:DMG: }, - [1657547786.191340][2846:2851] CHIP:DMG: - [1657547786.191405][2846:2851] CHIP:DMG: }, - [1657547786.191496][2846:2851] CHIP:DMG: - [1657547786.191555][2846:2851] CHIP:DMG: AttributeStatusIB = - [1657547786.191618][2846:2851] CHIP:DMG: { - [1657547786.191680][2846:2851] CHIP:DMG: AttributePathIB = - [1657547786.191752][2846:2851] CHIP:DMG: { - [1657547786.191829][2846:2851] CHIP:DMG: Endpoint = 0x0, - [1657547786.191910][2846:2851] CHIP:DMG: Cluster = 0x1f, - [1657547786.191991][2846:2851] CHIP:DMG: Attribute = 0x0000_0000, - [1657547786.192074][2846:2851] CHIP:DMG: ListIndex = Null, - [1657547786.192151][2846:2851] CHIP:DMG: } - [1657547786.192232][2846:2851] CHIP:DMG: - [1657547786.192306][2846:2851] CHIP:DMG: StatusIB = - [1657547786.192379][2846:2851] CHIP:DMG: { - [1657547786.192455][2846:2851] CHIP:DMG: status = 0x01 (FAILURE), - [1657547786.192536][2846:2851] CHIP:DMG: }, - [1657547786.192612][2846:2851] CHIP:DMG: - [1657547786.192677][2846:2851] CHIP:DMG: }, - [1657547786.192761][2846:2851] CHIP:DMG: - [1657547786.192819][2846:2851] CHIP:DMG: AttributeStatusIB = - [1657547786.192883][2846:2851] CHIP:DMG: { - [1657547786.192944][2846:2851] CHIP:DMG: AttributePathIB = - [1657547786.193015][2846:2851] CHIP:DMG: { - [1657547786.193092][2846:2851] CHIP:DMG: Endpoint = 0x0, - [1657547786.193172][2846:2851] CHIP:DMG: Cluster = 0x1f, - [1657547786.193254][2846:2851] CHIP:DMG: Attribute = 0x0000_0000, - [1657547786.193338][2846:2851] CHIP:DMG: ListIndex = Null, - [1657547786.193441][2846:2851] CHIP:DMG: } - [1657547786.193528][2846:2851] CHIP:DMG: - [1657547786.193602][2846:2851] CHIP:DMG: StatusIB = - [1657547786.193676][2846:2851] CHIP:DMG: { - [1657547786.193751][2846:2851] CHIP:DMG: status = 0x01 (FAILURE), - [1657547786.193827][2846:2851] CHIP:DMG: }, - [1657547786.193901][2846:2851] CHIP:DMG: - [1657547786.193967][2846:2851] CHIP:DMG: }, - [1657547786.194091][2846:2851] CHIP:DMG: - [1657547786.194250][2846:2851] CHIP:DMG: ], - [1657547786.194406][2846:2851] CHIP:DMG: - [1657547786.194468][2846:2851] CHIP:DMG: InteractionModelRevision = 1 - [1657547786.194573][2846:2851] CHIP:DMG: } - [1657547786.194932][2846:2851] CHIP:DMG: WriteClient moving to [AwaitingDe] - [1657547786.195005][2846:2851] CHIP:TOO: Response Failure: IM Error 0x00000501: General error: 0x01 (FAILURE) - [1657547786.195115][2846:2851] CHIP:EM: Sending Standalone Ack for MessageCounter:46770013 on exchange 27227i + ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 1, "privilege": 4, "authMode": 2, "subjects": [444,333,222,111], "targets": [{"cluster":44 , "endpoint":33, "deviceType":null}]},{"fabricIndex": 1, "privilege":4 , "authMode":3, "subjects": [888,777,666,555], "targets": [{"cluster": 88, "endpoint": 77, "deviceType":null}]}]' 1 0 + + 1658226959.554674][4736:4741] CHIP:DMG: AttributeStatusIBs = + [1658226959.554706][4736:4741] CHIP:DMG: [ + [1658226959.554732][4736:4741] CHIP:DMG: AttributeStatusIB = + [1658226959.554761][4736:4741] CHIP:DMG: { + [1658226959.554787][4736:4741] CHIP:DMG: AttributePathIB = + [1658226959.554822][4736:4741] CHIP:DMG: { + [1658226959.554855][4736:4741] CHIP:DMG: Endpoint = 0x0, + [1658226959.554887][4736:4741] CHIP:DMG: Cluster = 0x1f, + [1658226959.554916][4736:4741] CHIP:DMG: Attribute = 0x0000_0000, + [1658226959.554941][4736:4741] CHIP:DMG: } + [1658226959.554982][4736:4741] CHIP:DMG: + [1658226959.555013][4736:4741] CHIP:DMG: StatusIB = + [1658226959.555049][4736:4741] CHIP:DMG: { + [1658226959.555085][4736:4741] CHIP:DMG: status = 0x00 (SUCCESS), + [1658226959.555121][4736:4741] CHIP:DMG: }, + [1658226959.555152][4736:4741] CHIP:DMG: + [1658226959.555181][4736:4741] CHIP:DMG: }, + [1658226959.555216][4736:4741] CHIP:DMG: + [1658226959.555241][4736:4741] CHIP:DMG: AttributeStatusIB = + [1658226959.555269][4736:4741] CHIP:DMG: { + [1658226959.555296][4736:4741] CHIP:DMG: AttributePathIB = + [1658226959.555329][4736:4741] CHIP:DMG: { + [1658226959.555360][4736:4741] CHIP:DMG: Endpoint = 0x0, + [1658226959.555392][4736:4741] CHIP:DMG: Cluster = 0x1f, + [1658226959.555424][4736:4741] CHIP:DMG: Attribute = 0x0000_0000, + [1658226959.555455][4736:4741] CHIP:DMG: ListIndex = Null, + [1658226959.555487][4736:4741] CHIP:DMG: } + [1658226959.555521][4736:4741] CHIP:DMG: + [1658226959.555552][4736:4741] CHIP:DMG: StatusIB = + [1658226959.555582][4736:4741] CHIP:DMG: { + [1658226959.555614][4736:4741] CHIP:DMG: status = 0x00 (SUCCESS), + [1658226959.555646][4736:4741] CHIP:DMG: }, + [1658226959.555678][4736:4741] CHIP:DMG: + [1658226959.555704][4736:4741] CHIP:DMG: }, + [1658226959.555740][4736:4741] CHIP:DMG: + [1658226959.555765][4736:4741] CHIP:DMG: AttributeStatusIB = + [1658226959.555793][4736:4741] CHIP:DMG: { + [1658226959.555819][4736:4741] CHIP:DMG: AttributePathIB = + [1658226959.555850][4736:4741] CHIP:DMG: { + [1658226959.555881][4736:4741] CHIP:DMG: Endpoint = 0x0, + [1658226959.555912][4736:4741] CHIP:DMG: Cluster = 0x1f, + [1658226959.555947][4736:4741] CHIP:DMG: Attribute = 0x0000_0000, + [1658226959.555983][4736:4741] CHIP:DMG: ListIndex = Null, + [1658226959.556017][4736:4741] CHIP:DMG: } + [1658226959.556053][4736:4741] CHIP:DMG: + [1658226959.556083][4736:4741] CHIP:DMG: StatusIB = + [1658226959.556114][4736:4741] CHIP:DMG: { + [1658226959.556146][4736:4741] CHIP:DMG: status = 0x00 (SUCCESS), + [1658226959.556177][4736:4741] CHIP:DMG: }, + [1658226959.556209][4736:4741] CHIP:DMG: + [1658226959.556235][4736:4741] CHIP:DMG: }, + [1658226959.556271][4736:4741] CHIP:DMG: + [1658226959.556296][4736:4741] CHIP:DMG: AttributeStatusIB = + [1658226959.556323][4736:4741] CHIP:DMG: { + [1658226959.556350][4736:4741] CHIP:DMG: AttributePathIB = + [1658226959.556380][4736:4741] CHIP:DMG: { + [1658226959.556412][4736:4741] CHIP:DMG: Endpoint = 0x0, + [1658226959.556445][4736:4741] CHIP:DMG: Cluster = 0x1f, + [1658226959.556479][4736:4741] CHIP:DMG: Attribute = 0x0000_0000, + [1658226959.556547][4736:4741] CHIP:DMG: ListIndex = Null, + [1658226959.556583][4736:4741] CHIP:DMG: } + [1658226959.556620][4736:4741] CHIP:DMG: + [1658226959.556651][4736:4741] CHIP:DMG: StatusIB = + [1658226959.556679][4736:4741] CHIP:DMG: { + [1658226959.556711][4736:4741] CHIP:DMG: status = 0x00 (SUCCESS), + [1658226959.556743][4736:4741] CHIP:DMG: }, + [1658226959.556774][4736:4741] CHIP:DMG: + [1658226959.556800][4736:4741] CHIP:DMG: }, + [1658226959.556830][4736:4741] CHIP:DMG: disabled: true - label: "TH1 reads DUT Endpoint 0 AccessControl cluster ACL attribute" @@ -251,42 +310,71 @@ tests: verification: | ./chip-tool accesscontrol read acl 1 0 - - [1657547862.774115][2857:2862] CHIP:DMG: ], - [1657547862.774169][2857:2862] CHIP:DMG: - [1657547862.774206][2857:2862] CHIP:DMG: SuppressResponse = true, - [1657547862.774243][2857:2862] CHIP:DMG: InteractionModelRevision = 1 - [1657547862.774277][2857:2862] CHIP:DMG: } - [1657547862.774631][2857:2862] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_0000 DataVersion: 3138396318 - [1657547862.774709][2857:2862] CHIP:TOO: ACL: 1 entries - [1657547862.774786][2857:2862] CHIP:TOO: [1]: { - [1657547862.774841][2857:2862] CHIP:TOO: Privilege: 5 - [1657547862.774877][2857:2862] CHIP:TOO: AuthMode: 2 - [1657547862.774916][2857:2862] CHIP:TOO: Subjects: 1 entries - [1657547862.774957][2857:2862] CHIP:TOO: [1]: 112233 - [1657547862.774995][2857:2862] CHIP:TOO: Targets: null - [1657547862.775029][2857:2862] CHIP:TOO: FabricIndex: 1 - [1657547862.775061][2857:2862] CHIP:TOO: } - [1657547862.775162][2857:2862] CHIP:EM: Sending Standalone Ack for MessageCounter:258110233 on exchange 26412i - [1657547862.775244][2857:2862] CHIP:IN: Prepared secure message 0xffff8a77d958 to 0x0000000000000001 (1) of type 0x10 and protocolId (0, 0) on exchange 26412i with MessageCounter:67511035. - [1657547862.775296][2857:2862] CHIP:IN: Sending encrypted msg 0xffff8a77d958 with MessageCounter:67511035 to 0x0000000000000001 (1) at monotonic time: 00000000006AC015 msec - [1657547862.775440][2857:2862] C + 9800.959293][4892:4897] CHIP:DMG: + [1658229800.959325][4892:4897] CHIP:DMG: ], + [1658229800.959399][4892:4897] CHIP:DMG: + [1658229800.959433][4892:4897] CHIP:DMG: SuppressResponse = true, + [1658229800.959466][4892:4897] CHIP:DMG: InteractionModelRevision = 1 + [1658229800.959497][4892:4897] CHIP:DMG: } + [1658229800.960148][4892:4897] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_0000 DataVersion: 1307037427 + [1658229800.960272][4892:4897] CHIP:TOO: ACL: 3 entries + [1658229800.960360][4892:4897] CHIP:TOO: [1]: { + [1658229800.960397][4892:4897] CHIP:TOO: Privilege: 5 + [1658229800.960429][4892:4897] CHIP:TOO: AuthMode: 2 + [1658229800.960465][4892:4897] CHIP:TOO: Subjects: 1 entries + [1658229800.960526][4892:4897] CHIP:TOO: [1]: 112233 + [1658229800.960564][4892:4897] CHIP:TOO: Targets: null + [1658229800.960595][4892:4897] CHIP:TOO: FabricIndex: 1 + [1658229800.960625][4892:4897] CHIP:TOO: } + [1658229800.960673][4892:4897] CHIP:TOO: [2]: { + [1658229800.960706][4892:4897] CHIP:TOO: Privilege: 4 + [1658229800.960736][4892:4897] CHIP:TOO: AuthMode: 2 + [1658229800.960771][4892:4897] CHIP:TOO: Subjects: 4 entries + [1658229800.960806][4892:4897] CHIP:TOO: [1]: 444 + [1658229800.960840][4892:4897] CHIP:TOO: [2]: 333 + [1658229800.960874][4892:4897] CHIP:TOO: [3]: 222 + [1658229800.960907][4892:4897] CHIP:TOO: [4]: 111 + [1658229800.960944][4892:4897] CHIP:TOO: Targets: 1 entries + [1658229800.961008][4892:4897] CHIP:TOO: [1]: { + [1658229800.961042][4892:4897] CHIP:TOO: Cluster: 44 + [1658229800.961074][4892:4897] CHIP:TOO: Endpoint: 33 + [1658229800.961105][4892:4897] CHIP:TOO: DeviceType: null + [1658229800.961135][4892:4897] CHIP:TOO: } + [1658229800.961167][4892:4897] CHIP:TOO: FabricIndex: 1 + [1658229800.961197][4892:4897] CHIP:TOO: } + [1658229800.961245][4892:4897] CHIP:TOO: [3]: { + [1658229800.961277][4892:4897] CHIP:TOO: Privilege: 4 + [1658229800.961308][4892:4897] CHIP:TOO: AuthMode: 3 + [1658229800.961343][4892:4897] CHIP:TOO: Subjects: 4 entries + [1658229800.961378][4892:4897] CHIP:TOO: [1]: 888 + [1658229800.961411][4892:4897] CHIP:TOO: [2]: 777 + [1658229800.961445][4892:4897] CHIP:TOO: [3]: 666 + [1658229800.961479][4892:4897] CHIP:TOO: [4]: 555 + [1658229800.961516][4892:4897] CHIP:TOO: Targets: 1 entries + [1658229800.961556][4892:4897] CHIP:TOO: [1]: { + [1658229800.961589][4892:4897] CHIP:TOO: Cluster: 88 + [1658229800.961620][4892:4897] CHIP:TOO: Endpoint: 77 + [1658229800.961650][4892:4897] CHIP:TOO: DeviceType: null + [1658229800.961679][4892:4897] CHIP:TOO: } + [1658229800.961711][4892:4897] CHIP:TOO: FabricIndex: 1 + [1658229800.961741][4892:4897] CHIP:TOO: } + [1658229800.961850][4892:4897] CHIP:EM: Sending Standalone Ack for MessageCounter:261677764 on exchange 51705i disabled: true - label: "TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute, value - is list of AccessControlEntryStruct containing 3 elements struct + is list of AccessControlEntryStruct containing 3 elements 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) Subjects - field: [N1] Targets field: null struct Privilege field: View (1) + field: [N1] Targets field: null 2.struct Privilege field: View (1) AuthMode field: CASE (2) Subjects field: [111, 222, 333, 444] Targets field: [{Cluster: 11, Endpoint: 22}, {Cluster: 33, DeviceType: 44}] - struct Privilege field: Operate (3) AuthMode field: Group (3) Subjects - field: [555, 666, 777, 888] Targets field: [{Cluster: 55, Endpoint: - 66}, {Cluster: 77, DeviceType: 88}]" + 3.struct Privilege field: Operate (3) AuthMode field: Group (3) + Subjects field: [555, 666, 777, 888] Targets field: [{Cluster: 55, + Endpoint: 66}, {Cluster: 77, DeviceType: 88}]" PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 1, "privilege": 1, "authMode": 2, "subjects": [111,222,333,444], "targets":[{ "cluster": 11, "endpoint": 22, "deviceType": null },{ "cluster": 33, "endpoint": null, "deviceType": 44 }]}, {"fabricIndex": 1, "privilege": 3, "authMode": 3, "subjects": [555,666,777,888], "targets":[{ "cluster": 55, "endpoint": 66, "deviceType": null },{ "cluster": 77, "endpoint": null, "deviceType": 88 }]}]' 1 0 - + On TH , Verify DUT Responds Successfully to acl attribute with a value is list of AccessControlEntryStruct containing 3 elements 1657276276.708941][2297:2302] CHIP:DMG: WriteClient moving to [ResponseRe] [1657276276.709021][2297:2302] CHIP:DMG: WriteResponseMessage = [1657276276.709058][2297:2302] CHIP:DMG: { @@ -369,6 +457,8 @@ tests: PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol read acl 1 0 + On TH , Verify DUT Responds Successfully . + [1657278053.764924][2231:2236] CHIP:DMG: SuppressResponse = true, [1657278053.764958][2231:2236] CHIP:DMG: InteractionModelRevision = 1 @@ -432,17 +522,18 @@ tests: - label: "TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute, value - is list of AccessControlEntryStruct containing 3 elements struct + is list of AccessControlEntryStruct containing 3 elements 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) Subjects - field: [N1] Targets field: null struct Privilege field: View (1) + field: [N1] Targets field: null 2.struct Privilege field: View (1) AuthMode field: CASE (2) Subjects field: null Targets field: - [{Cluster: 11, Endpoint: 22}, {Cluster: 33, DeviceType: 44}] struct + [{Cluster: 11, Endpoint: 22}, {Cluster: 33, DeviceType: 44}] 3.struct Privilege field: Operate (3) AuthMode field: Group (3) Subjects field: null Targets field: [{Cluster: 55, Endpoint: 66}, {Cluster: 77, DeviceType: 88}]" PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 1, "privilege": 1, "authMode": 2, "subjects": [], "targets":[{ "cluster": 11, "endpoint": 22, "deviceType": null },{ "cluster": 33, "endpoint": null, "deviceType": 44 }]}, {"fabricIndex": 1, "privilege": 3, "authMode": 3, "subjects": [], "targets":[{ "cluster": 55, "endpoint": 66, "deviceType": null },{ "cluster": 77, "endpoint": null, "deviceType": 88 }]}]' 1 0 + Verify DUT Responds Successfully to acl attribute with a value is list of AccessControlEntryStruct containing 3 elements [1657541707.114348][3004:3009] CHIP:DMG: { [1657541707.114393][3004:3009] CHIP:DMG: AttributeStatusIBs = @@ -524,6 +615,7 @@ tests: PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol read acl 1 0 + On TH , Verify DUT Responds Successfully [1657278352.938811][2258:2263] CHIP:DMG: [1657278352.938840][2258:2263] CHIP:DMG: }, @@ -583,17 +675,18 @@ tests: - label: "TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute, value - is list of AccessControlEntryStruct containing 3 elements struct + is list of AccessControlEntryStruct containing 3 elements 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) Subjects - field: [N1] Targets field: null struct Privilege field: View (1) + field: [N1] Targets field: null 2.struct Privilege field: View (1) AuthMode field: CASE (2) Subjects field: [111, 222, 333, 444] Targets - field: null struct Privilege field: Operate (3) AuthMode field: Group - (3) Subjects field: [555, 666, 777, 888] Targets field: null" + field: null 3.struct Privilege field: Operate (3) AuthMode field: + Group (3) Subjects field: [555, 666, 777, 888] Targets field: null" PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 1, "privilege": 1, "authMode": 2, "subjects": [111, 222, 333, 444], "targets": null}, {"fabricIndex": 1, "privilege": 3, "authMode": 3, "subjects": [111, 222, 333, 444], "targets": null}]' 1 0 + On TH , Verify DUT Responds Successfully to acl attribute with a value is list of AccessControlEntryStruct containing 3 elements as Target Null. [1657542060.230268][3398:3403] CHIP:DMG: { [1657542060.230322][3398:3403] CHIP:DMG: AttributeStatusIBs = @@ -675,6 +768,7 @@ tests: PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol read acl 1 0 + On TH , Verify DUT Responds Successfully [1656656511.643560][2994:2999] CHIP:DMG: [1656656511.643593][2994:2999] CHIP:DMG: SuppressResponse = true, [1656656511.643626][2994:2999] CHIP:DMG: InteractionModelRevision = 1 @@ -716,15 +810,17 @@ tests: - label: "TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute, value - is list of AccessControlEntryStruct containing 2 elements struct + is list of AccessControlEntryStruct containing 2 elements 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) Subjects - field: [N1] Targets field: null struct Privilege field: Operate (3) + field: [N1] Targets field: null 2.struct Privilege field: Operate (3) AuthMode field: Group (3) Subjects field: null Targets field: null" PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 1, "privilege": 3, "authMode": 3, "subjects": null, "targets": null}]' 1 0 + On TH , Verify DUT Responds Successfully to acl attribute with a value is list of AccessControlEntryStruct containing 2 elements. + [1656507141.628453][3224:3229] CHIP:DMG: WriteResponseMessage = [1656507141.628515][3224:3229] CHIP:DMG: { [1656507141.628569][3224:3229] CHIP:DMG: AttributeStatusIBs = @@ -791,6 +887,7 @@ tests: PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol read acl 1 0 + On TH , Verify DUT Responds Successfully [1656507318.740283][3241:3246] CHIP:DMG: ], [1656507318.740346][3241:3246] CHIP:DMG: @@ -819,14 +916,15 @@ tests: - label: "TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute, value - is list of AccessControlEntryStruct containing 2 elements struct + is list of AccessControlEntryStruct containing 2 elements 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) Subjects - field: [N1] Targets field: null struct Privilege field: ProxyView (2) - AuthMode field: CASE (2) Subjects field: null Targets field: null" + field: [N1] Targets field: null 2.struct Privilege field: ProxyView + (2) AuthMode field: CASE (2) Subjects field: null Targets field: null" PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 1, "privilege": 2, "authMode": 2, "subjects": null, "targets": null}]' 1 0 + On TH , Verify DUT Responds Successfully to acl attribute with a value is list of AccessControlEntryStruct containing 2 elements [1656507439.868495][3249:3254] CHIP:DMG: WriteClient moving to [ResponseRe] [1656507439.868612][3249:3254] CHIP:DMG: WriteResponseMessage = @@ -894,6 +992,7 @@ tests: PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol read acl 1 0 + On TH , Verify DUT Responds Successfully [1656507517.730614][3261:3266] CHIP:DMG: [1656507517.730654][3261:3266] CHIP:DMG: SuppressResponse = true, @@ -925,6 +1024,9 @@ tests: PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol read subjects-per-access-control-entry 1 0 + + On TH, verify DUT responds with value 4 or greater as subjects-per-access-control-entry + [1656657490.002372][3078:3083] CHIP:DMG: [1656657490.002408][3078:3083] CHIP:DMG: ], [1656657490.002452][3078:3083] CHIP:DMG: @@ -939,14 +1041,17 @@ tests: - label: "TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute, value - is list of AccessControlEntryStruct containing 2 elements struct + is list of AccessControlEntryStruct containing 2 elements 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) Subjects - field: [N1] Targets field: null struct Privilege field: Operate (3) + field: [N1] Targets field: null 2.struct Privilege field: Operate (3) AuthMode field: CASE (2) Subjects field: list of MAXSUBJECTS random node IDs (stored as SUBJECTS) Targets field: null" PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 1, "privilege": 3, "authMode": 2, "subjects":[33,44,55,66] , "targets": null}]' 1 0 + On TH , Verify DUT Responds Successfully to acl attribute with a value is list of AccessControlEntryStruct containing 2 elements + + [1657542321.144954][3461:3466] CHIP:DMG: { [1657542321.144990][3461:3466] CHIP:DMG: AttributeStatusIBs = @@ -1012,6 +1117,7 @@ tests: PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol read acl 1 0 + On TH , Verify DUT Responds Successfully [1656928460.992030][4255:4260] CHIP:DMG: ], [1656928460.992075][4255:4260] CHIP:DMG: [1656928460.992101][4255:4260] CHIP:DMG: SuppressResponse = true, @@ -1044,15 +1150,16 @@ tests: - label: "TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute, value - is list of AccessControlEntryStruct containing 2 elements struct + is list of AccessControlEntryStruct containing 2 elements 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) Subjects - field: [N1] Targets field: null struct Privilege field: Operate (3) + field: [N1] Targets field: null 2.struct Privilege field: Operate (3) AuthMode field: CASE (2) Subjects field: [CAT1, CAT1, CAT3, CAT4] Targets field: null" PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 1, "privilege": 3, "authMode": 2, "subjects":[65520,65521,65522,65523] , "targets": null}]' 1 0 + Verify in TH log: [1656509348.174135][3403:3408] CHIP:DMG: WriteClient moving to [ResponseRe] [1656509348.174227][3403:3408] CHIP:DMG: WriteResponseMessage = @@ -1121,6 +1228,7 @@ tests: PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol read acl 1 0 + On TH , Verify DUT Responds Successfully [1656509471.738046][3416:3421] CHIP:DMG: [1656509471.738082][3416:3421] CHIP:DMG: SuppressResponse = true, @@ -1156,6 +1264,7 @@ tests: PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol read targets-per-access-control-entry 1 0 + On TH, verify DUT responds with value 3 or greater as Targets-per-access-control-entry. [1656509737.166763][3434:3439] CHIP:DMG: [1656509737.166786][3434:3439] CHIP:DMG: ], [1656509737.166816][3434:3439] CHIP:DMG: @@ -1170,15 +1279,17 @@ tests: - label: "TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute, value - is list of AccessControlEntryStruct containing 2 elements struct + is list of AccessControlEntryStruct containing 2 elements 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) Subjects - field: null Targets field: null struct Privilege field: Operate (3) + field: null Targets field: null 2.struct Privilege field: Operate (3) AuthMode field: CASE (2) Subjects field: Targets field: list of MAXTARGETS targets {Cluster: random} (stored as TARGETS)" PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 1, "privilege": 3, "authMode": 2, "subjects": null, "targets":[{ "cluster": 40, "endpoint": null, "deviceType": null },{ "cluster": 28, "endpoint": null, "deviceType": null }]}]' 1 0 + Verify in TH log: + [1657542520.140869][3499:3504] CHIP:DMG: { [1657542520.140922][3499:3504] CHIP:DMG: AttributeStatusIBs = [1657542520.140966][3499:3504] CHIP:DMG: [ @@ -1243,6 +1354,7 @@ tests: PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol read acl 1 0 + On TH , Verify DUT Responds Successfully [1657542633.704684][3522:3527] CHIP:DMG: } [1657542633.705098][3522:3527] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_0000 DataVersion: 3549245792 @@ -1280,6 +1392,7 @@ tests: PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol read access-control-entries-per-fabric 1 0 + On TH, verify DUT responds with value 3 or greater as AccessControlEntriesPerFabric. [1656594850.964909][4043:4048] CHIP:DMG: AttributeReportIBs = [1656594850.964954][4043:4048] CHIP:DMG: [ @@ -1314,8 +1427,8 @@ tests: - label: "TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute, value is list of AccessControlEntryStruct containing MAXENTRIES elements - struct Privilege field: Administer (5) AuthMode field: CASE (2) - Subjects field: null Targets field: null struct Privilege field: + 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) + Subjects field: null Targets field: null 2.struct Privilege field: Operate (3) AuthMode field: CASE (2) Subjects field: null Targets field: null subsequent elements same as second element" PICS: ACL.S.A0000 @@ -1324,6 +1437,8 @@ tests: {"fabricIndex": 1, "privilege": 3, "authMode": 2, "subjects": [], "targets":null}, {"fabricIndex": 1, "privilege": 3, "authMode": 2, "subjects": [], "targets":null}]' 1 0 + On TH , Verify DUT Responds Successfully to acl attribute with a value is list of AccessControlEntryStruct containing 2 elements + [1657617362.022161][8840:8845] CHIP:DMG: WriteResponseMessage = [1657617362.022190][8840:8845] CHIP:DMG: { [1657617362.022216][8840:8845] CHIP:DMG: AttributeStatusIBs = @@ -1406,6 +1521,7 @@ tests: PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol read acl 1 0 + On TH , Verify DUT Responds Successfully [1657543165.385093][3592:3597] CHIP:DMG: } [1657543165.385508][3592:3597] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_0000 DataVersion: 3549245812 @@ -1435,9 +1551,9 @@ tests: - label: "TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute, value - is list of AccessControlEntryStruct containing 2 elements struct + is list of AccessControlEntryStruct containing 2 elements 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) Subjects - field: [N1] Targets field: null struct Privilege field: Operate (3) + field: [N1] Targets field: null 2.struct Privilege field: Operate (3) AuthMode field: PASE (1) Subjects field: null Targets field: null" PICS: ACL.S.A0000 verification: | @@ -1445,6 +1561,7 @@ tests: {"fabricIndex": 1, "privilege": 3, "authMode": 1, "subjects": [], "targets":null}]' 1 0 + [1656914449.000227][3252:3257] CHIP:DMG: AttributePathIB = [1656914449.000272][3252:3257] CHIP:DMG: { [1656914449.000317][3252:3257] CHIP:DMG: Endpoint = 0x0, @@ -1491,6 +1608,8 @@ tests: PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol read acl 1 0 + + On TH , Verify DUT Responds Successfully [1656914601.250655][3267:3272] CHIP:DMG: ], [1656914601.250709][3267:3272] CHIP:DMG: [1656914601.250746][3267:3272] CHIP:DMG: SuppressResponse = true, @@ -1512,10 +1631,10 @@ tests: - label: "TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute, value - is list of AccessControlEntryStruct containing 2 elements struct + is list of AccessControlEntryStruct containing 2 elements 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) Subjects - field: [N1] Targets field: null struct Privilege field: Administer (5) - AuthMode field: Group (3) Subjects field: null Targets field: null" + field: [N1] Targets field: null 2.struct Privilege field: Administer + (5) AuthMode field: Group (3) Subjects field: null Targets field: null" PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, @@ -1556,11 +1675,11 @@ tests: - label: "TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute, value - is list of AccessControlEntryStruct containing 2 elements struct + is list of AccessControlEntryStruct containing 2 elements 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) Subjects - field: [N1] Targets field: null struct Privilege field: invalid value - (not 1-5) AuthMode field: CASE (2) Subjects field: null Targets field: - null" + field: [N1] Targets field: null 2.struct Privilege field: invalid + value (not 1-5) AuthMode field: CASE (2) Subjects field: null Targets + field: null" PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, @@ -1603,9 +1722,9 @@ tests: - label: "TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute, value - is list of AccessControlEntryStruct containing 2 elements struct + is list of AccessControlEntryStruct containing 2 elements 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) Subjects - field: [N1] Targets field: null struct Privilege field: Operate (3) + field: [N1] Targets field: null 2.struct Privilege field: Operate (3) AuthMode field: invalid value (not 1-3) Subjects field: null Targets field: null" PICS: ACL.S.A0000 @@ -1676,9 +1795,9 @@ tests: - label: "TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute, value - is list of AccessControlEntryStruct containing 2 elements struct + is list of AccessControlEntryStruct containing 2 elements 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) Subjects - field: [N1] Targets field: null struct Privilege field: Operate (3) + field: [N1] Targets field: null 2.struct Privilege field: Operate (3) AuthMode field: CASE (2) Subjects field: [0] Targets field: null" PICS: ACL.S.A0000 verification: | @@ -1749,9 +1868,9 @@ tests: - label: "TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute value - is list of AccessControlEntryStruct containing 2 elements struct + is list of AccessControlEntryStruct containing 2 elements 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) Subjects - field: [N1] Targets field: null struct Privilege field: Operate (3) + field: [N1] Targets field: null 2.struct Privilege field: Operate (3) AuthMode field: CASE (2) Subjects field: [0xFFFFFFFFFFFFFFFF] Targets field: null" PICS: ACL.S.A0000 @@ -1823,9 +1942,9 @@ tests: - label: "TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute value - is list of AccessControlEntryStruct containing 2 elements struct + is list of AccessControlEntryStruct containing 2 elements 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) Subjects - field: [N1] Targets field: null struct Privilege field: Operate (3) + field: [N1] Targets field: null 2.struct Privilege field: Operate (3) AuthMode field: CASE (2) Subjects field: [0xFFFFFFFD_BAD_NONE0000000] Targets field: null" PICS: ACL.S.A0000 @@ -1970,9 +2089,9 @@ tests: - label: "TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute value - is list of AccessControlEntryStruct containing 2 elements struct + is list of AccessControlEntryStruct containing 2 elements 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) Subjects - field: [N1] Targets field: null struct Privilege field: Operate (3) + field: [N1] Targets field: null 2.struct Privilege field: Operate (3) AuthMode field: CASE (2) Subjects field: null Targets field: [{}]" PICS: ACL.S.A0000 verification: | @@ -2043,9 +2162,9 @@ tests: - label: "TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute value - is list of AccessControlEntryStruct containing 2 elements struct + is list of AccessControlEntryStruct containing 2 elements 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) Subjects - field: [N1] Targets field: null struct Privilege field: Operate (3) + field: [N1] Targets field: null 2.struct Privilege field: Operate (3) AuthMode field: CASE (2) Subjects field: null Targets field: [{Cluster: 0xFFFFFFFF}]" PICS: ACL.S.A0000 @@ -2116,86 +2235,64 @@ tests: - label: "TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute value - is list of AccessControlEntryStruct containing 2 elements struct + is list of AccessControlEntryStruct containing 2 elements 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) Subjects - field: [N1] Targets field: null struct Privilege field: Operate (3) + field: [N1] Targets field: null 2.struct Privilege field: Operate (3) AuthMode field: CASE (2) Subjects field: null Targets field: [{Endpoint: 255}]" PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 1, "privilege": 3, "authMode": 2, "subjects": null, "targets":[{ "cluster": null, "endpoint": 255, "deviceType": null }]}]' 1 0 - - [1657617886.621245][8939:8944] CHIP:DMG: WriteResponseMessage = - [1657617886.621277][8939:8944] CHIP:DMG: { - [1657617886.621304][8939:8944] CHIP:DMG: AttributeStatusIBs = - [1657617886.621340][8939:8944] CHIP:DMG: [ - [1657617886.621370][8939:8944] CHIP:DMG: AttributeStatusIB = - [1657617886.621406][8939:8944] CHIP:DMG: { - [1657617886.621452][8939:8944] CHIP:DMG: AttributePathIB = - [1657617886.621492][8939:8944] CHIP:DMG: { - [1657617886.621531][8939:8944] CHIP:DMG: Endpoint = 0x0, - [1657617886.621569][8939:8944] CHIP:DMG: Cluster = 0x1f, - [1657617886.621606][8939:8944] CHIP:DMG: Attribute = 0x0000_0000, - [1657617886.621644][8939:8944] CHIP:DMG: } - [1657617886.621683][8939:8944] CHIP:DMG: - [1657617886.621721][8939:8944] CHIP:DMG: StatusIB = - [1657617886.621755][8939:8944] CHIP:DMG: { - [1657617886.621792][8939:8944] CHIP:DMG: status = 0x00 (SUCCESS), - [1657617886.621830][8939:8944] CHIP:DMG: }, - [1657617886.621862][8939:8944] CHIP:DMG: - [1657617886.621891][8939:8944] CHIP:DMG: }, - [1657617886.621930][8939:8944] CHIP:DMG: - [1657617886.621957][8939:8944] CHIP:DMG: AttributeStatusIB = - [1657617886.621987][8939:8944] CHIP:DMG: { - [1657617886.622016][8939:8944] CHIP:DMG: AttributePathIB = - [1657617886.622049][8939:8944] CHIP:DMG: { - [1657617886.622085][8939:8944] CHIP:DMG: Endpoint = 0x0, - [1657617886.622122][8939:8944] CHIP:DMG: Cluster = 0x1f, - [1657617886.622162][8939:8944] CHIP:DMG: Attribute = 0x0000_0000, - [1657617886.622199][8939:8944] CHIP:DMG: ListIndex = Null, - [1657617886.622234][8939:8944] CHIP:DMG: } - [1657617886.622271][8939:8944] CHIP:DMG: - [1657617886.622308][8939:8944] CHIP:DMG: StatusIB = - [1657617886.622343][8939:8944] CHIP:DMG: { - [1657617886.622416][8939:8944] CHIP:DMG: status = 0x00 (SUCCESS), - [1657617886.622452][8939:8944] CHIP:DMG: }, - [1657617886.622488][8939:8944] CHIP:DMG: - [1657617886.622518][8939:8944] CHIP:DMG: }, - [1657617886.622560][8939:8944] CHIP:DMG: - [1657617886.622589][8939:8944] CHIP:DMG: AttributeStatusIB = - [1657617886.622622][8939:8944] CHIP:DMG: { - [1657617886.622652][8939:8944] CHIP:DMG: AttributePathIB = - [1657617886.622686][8939:8944] CHIP:DMG: { - [1657617886.622721][8939:8944] CHIP:DMG: Endpoint = 0x0, - [1657617886.622762][8939:8944] CHIP:DMG: Cluster = 0x1f, - [1657617886.622803][8939:8944] CHIP:DMG: Attribute = 0x0000_0000, - [1657617886.622840][8939:8944] CHIP:DMG: ListIndex = Null, - [1657617886.622878][8939:8944] CHIP:DMG: } - [1657617886.622920][8939:8944] CHIP:DMG: - [1657617886.622957][8939:8944] CHIP:DMG: StatusIB = - [1657617886.622994][8939:8944] CHIP:DMG: { - [1657617886.623029][8939:8944] CHIP:DMG: status = 0x00 (SUCCESS), - [1657617886.623064][8939:8944] CHIP:DMG: }, - [1657617886.623101][8939:8944] CHIP:DMG: - [1657617886.623131][8939:8944] CHIP:DMG: }, - [1657617886.623167][8939:8944] CHIP:DMG: - [1657617886.623196][8939:8944] CHIP:DMG: ], - [1657617886.623237][8939:8944] CHIP:DMG: - [1657617886.623264][8939:8944] CHIP:DMG: InteractionModelRevision = 1 - [1657617886.623292][8939:8944] CHIP:DMG: } - [1657617886.623435][8939:8944] CHIP:DMG: WriteClient moving to [AwaitingDe] + 79.812353][2515:2520] CHIP:DMG: } + [1658382979.812390][2515:2520] CHIP:DMG: + [1658382979.812427][2515:2520] CHIP:DMG: StatusIB = + [1658382979.812464][2515:2520] CHIP:DMG: { + [1658382979.812502][2515:2520] CHIP:DMG: status = 0x00 (SUCCESS), + [1658382979.812559][2515:2520] CHIP:DMG: }, + [1658382979.812589][2515:2520] CHIP:DMG: + [1658382979.812613][2515:2520] CHIP:DMG: }, + [1658382979.812647][2515:2520] CHIP:DMG: + [1658382979.812675][2515:2520] CHIP:DMG: AttributeStatusIB = + [1658382979.812706][2515:2520] CHIP:DMG: { + [1658382979.812737][2515:2520] CHIP:DMG: AttributePathIB = + [1658382979.812771][2515:2520] CHIP:DMG: { + [1658382979.812806][2515:2520] CHIP:DMG: Endpoint = 0x0, + [1658382979.812843][2515:2520] CHIP:DMG: Cluster = 0x1f, + [1658382979.812881][2515:2520] CHIP:DMG: Attribute = 0x0000_0000, + [1658382979.812917][2515:2520] CHIP:DMG: ListIndex = Null, + [1658382979.812951][2515:2520] CHIP:DMG: } + [1658382979.812989][2515:2520] CHIP:DMG: + [1658382979.813026][2515:2520] CHIP:DMG: StatusIB = + [1658382979.813060][2515:2520] CHIP:DMG: { + [1658382979.813096][2515:2520] CHIP:DMG: status = 0x00 (SUCCESS), + [1658382979.813130][2515:2520] CHIP:DMG: }, + [1658382979.813165][2515:2520] CHIP:DMG: + [1658382979.813195][2515:2520] CHIP:DMG: }, + [1658382979.813230][2515:2520] CHIP:DMG: + [1658382979.813257][2515:2520] CHIP:DMG: ], + [1658382979.813297][2515:2520] CHIP:DMG: + [1658382979.813324][2515:2520] CHIP:DMG: InteractionModelRevision = 1 + [1658382979.813351][2515:2520] CHIP:DMG: } + [1658382979.813497][2515:2520] CHIP:DMG: WriteClient moving to [AwaitingDe] + [1658382979.813563][2515:2520] CHIP:EM: Sending Standalone Ack for MessageCounter:223359153 on exchange 17128i + [1658382979.813637][2515:2520] CHIP:IN: Prepared secure message 0xffffa7ffda68 to 0x0000000000000001 (1) of type 0x10 and protocolId (0, 0) on exchange 17128i with MessageCounter:12942839. + [1658382979.813680][2515:2520] CHIP:IN: Sending encrypted msg 0xffffa7ffda68 with MessageCounter:12942839 to 0x0000000000000001 (1) at monotonic time: 00000000003C9D9D msec + [1658382979.813841][2515:2520] CHIP: disabled: true - label: "TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute value - is list of AccessControlEntryStruct containing 2 elements struct + is list of AccessControlEntryStruct containing 2 elements 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) Subjects - field: [N1] Targets field: null struct Privilege field: Operate (3) + field: [N1] Targets field: null 2.struct Privilege field: Operate (3) AuthMode field: CASE (2) Subjects field: null Targets field: [{DeviceType: 0xFFFFFFFF}]" PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 1, "privilege": 3, "authMode": 2, "subjects": null, "targets":[{ "cluster": null, "endpoint": null, "deviceType": 4294967295 }]}]' 1 0 + On TH , Verify DUT Responds Successfully to acl attribute with a value is list of AccessControlEntryStruct containing 2 elements + + [1657617920.044059][8948:8953] CHIP:DMG: { [1657617920.044085][8948:8953] CHIP:DMG: AttributeStatusIBs = @@ -2260,9 +2357,9 @@ tests: - label: "TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute value - is list of AccessControlEntryStruct containing 2 elements struct + is list of AccessControlEntryStruct containing 2 elements 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) Subjects - field: [N1] Targets field: null struct Privilege field: Operate (3) + field: [N1] Targets field: null 2.struct Privilege field: Operate (3) AuthMode field: CASE (2) Subjects field: null Targets field: [{Endpoint: 22, DeviceType: 33}]" PICS: ACL.S.A0000 @@ -2330,9 +2427,9 @@ tests: - label: "TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute value - is list of AccessControlEntryStruct containing 2 elements struct + is list of AccessControlEntryStruct containing 2 elements 1.struct Privilege field: Administer (5) AuthMode field: CASE (2) Subjects - field: [N1] Targets field: null struct Privilege field: Operate (3) + field: [N1] Targets field: null 2.struct Privilege field: Operate (3) AuthMode field: CASE (2) Subjects field: null Targets field: [{Cluster: 11, Endpoint: 22, DeviceType: 33}]" PICS: ACL.S.A0000 @@ -2407,6 +2504,7 @@ tests: PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [], "targets": null}]' 1 0 + On TH , Verify DUT Responds Successfully to acl attribute with a value is list of AccessControlEntryStruct containing `1 element. [1657618011.091198][8968:8973] CHIP:DMG: { [1657618011.091228][8968:8973] CHIP:DMG: AttributeStatusIBs = [1657618011.091272][8968:8973] CHIP:DMG: [ diff --git a/src/app/tests/suites/certification/Test_TC_ACL_2_7.yaml b/src/app/tests/suites/certification/Test_TC_ACL_2_7.yaml index a04d35984eb0dc..2ee40a3308a034 100644 --- a/src/app/tests/suites/certification/Test_TC_ACL_2_7.yaml +++ b/src/app/tests/suites/certification/Test_TC_ACL_2_7.yaml @@ -36,6 +36,8 @@ tests: verification: | ./chip-tool operationalcredentials read current-fabric-index 1 0 + On TH, Verify DUT Responds to CurrentFabricIndex attribute of operationalCredential cluster as 1 + [1657186774.908634][10846:10851] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0005 DataVersion: 3161849734 [1657186774.911149][10846:10851] CHIP:TOO: CurrentFabricIndex: 1 disabled: true @@ -66,112 +68,111 @@ tests: verification: | ./chip-tool operationalcredentials read current-fabric-index 2 0 + On TH, Verify DUT Responds to CurrentFabricIndex attribute of operationalCredential cluster as 2 [1657186956.724761][3910:3915] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0005 DataVersion: 3161849734 [1657186956.731658][3910:3915] CHIP:TOO: CurrentFabricIndex: 2 disabled: true - label: - "TH1 writes DUT Endpoint 0 AccessControl cluster Extension attribute, + 'TH1 writes DUT Endpoint 0 AccessControl cluster Extension attribute, value is list of AccessControlExtensionStruct containing 1 element - struct Data field: D_OK_EMPTY" + 1.struct .Data field: D_OK_EMPTY "1718"' PICS: ACL.S.A0000 verification: | - ./chip-tool accesscontrol write extension '[{"data":"1000110010001100"}]' 1 0 - - [1657187217.204901][10872:10877] CHIP:DMG: WriteResponseMessage = - [1657187217.204928][10872:10877] CHIP:DMG: { - [1657187217.204947][10872:10877] CHIP:DMG: AttributeStatusIBs = - [1657187217.204977][10872:10877] CHIP:DMG: [ - [1657187217.205002][10872:10877] CHIP:DMG: AttributeStatusIB = - [1657187217.205029][10872:10877] CHIP:DMG: { - [1657187217.205055][10872:10877] CHIP:DMG: AttributePathIB = - [1657187217.205092][10872:10877] CHIP:DMG: { - [1657187217.205129][10872:10877] CHIP:DMG: Endpoint = 0x0, - [1657187217.205160][10872:10877] CHIP:DMG: Cluster = 0x1f, - [1657187217.205199][10872:10877] CHIP:DMG: Attribute = 0x0000_0001, - [1657187217.205234][10872:10877] CHIP:DMG: } - [1657187217.205270][10872:10877] CHIP:DMG: - [1657187217.205300][10872:10877] CHIP:DMG: StatusIB = - [1657187217.205332][10872:10877] CHIP:DMG: { - [1657187217.205363][10872:10877] CHIP:DMG: status = 0x00 (SUCCESS), - [1657187217.205395][10872:10877] CHIP:DMG: }, - [1657187217.205425][10872:10877] CHIP:DMG: - [1657187217.205451][10872:10877] CHIP:DMG: }, - [1657187217.205486][10872:10877] CHIP:DMG: - [1657187217.205511][10872:10877] CHIP:DMG: AttributeStatusIB = - [1657187217.205537][10872:10877] CHIP:DMG: { - [1657187217.205562][10872:10877] CHIP:DMG: AttributePathIB = - [1657187217.205592][10872:10877] CHIP:DMG: { - [1657187217.205623][10872:10877] CHIP:DMG: Endpoint = 0x0, - [1657187217.205660][10872:10877] CHIP:DMG: Cluster = 0x1f, - [1657187217.205694][10872:10877] CHIP:DMG: Attribute = 0x0000_0001, - [1657187217.205730][10872:10877] CHIP:DMG: ListIndex = Null, - [1657187217.205764][10872:10877] CHIP:DMG: } - [1657187217.205797][10872:10877] CHIP:DMG: - [1657187217.205827][10872:10877] CHIP:DMG: StatusIB = - [1657187217.205856][10872:10877] CHIP:DMG: { - [1657187217.205887][10872:10877] CHIP:DMG: status = 0x00 (SUCCESS), - [1657187217.205922][10872:10877] CHIP:DMG: }, - [1657187217.205953][10872:10877] CHIP:DMG: - [1657187217.205978][10872:10877] CHIP:DMG: }, - [1657187217.206007][10872:10877] CHIP:DMG: - [1657187217.206031][10872:10877] CHIP:DMG: ], - [1657187217.206063][10872:10877] CHIP:DMG: - [1657187217.206086][10872:10877] CHIP:DMG: InteractionModelRevision = 1 - [1657187217.206110][10872:10877] CHIP:DMG: } - [1657187217.206211][10872:10877] CHIP:DMG: WriteClient moving to [AwaitingDe] + ./chip-tool accesscontrol write extension '[{"data":"1718"}]' 1 0 + + ON TH1,Verify DUT Responds Successfully to extension attribute list containg one element . + + + 657893593.975649][4116:4121] CHIP:DMG: { + [1657893593.975678][4116:4121] CHIP:DMG: AttributePathIB = + [1657893593.975718][4116:4121] CHIP:DMG: { + [1657893593.975755][4116:4121] CHIP:DMG: Endpoint = 0x0, + [1657893593.975797][4116:4121] CHIP:DMG: Cluster = 0x1f, + [1657893593.975835][4116:4121] CHIP:DMG: Attribute = 0x0000_0001, + [1657893593.975871][4116:4121] CHIP:DMG: } + [1657893593.975910][4116:4121] CHIP:DMG: + [1657893593.975944][4116:4121] CHIP:DMG: StatusIB = + [1657893593.975980][4116:4121] CHIP:DMG: { + [1657893593.976015][4116:4121] CHIP:DMG: status = 0x00 (SUCCESS), + [1657893593.976054][4116:4121] CHIP:DMG: }, + [1657893593.976088][4116:4121] CHIP:DMG: + [1657893593.976119][4116:4121] CHIP:DMG: }, + [1657893593.976161][4116:4121] CHIP:DMG: + [1657893593.976188][4116:4121] CHIP:DMG: AttributeStatusIB = + [1657893593.976220][4116:4121] CHIP:DMG: { + [1657893593.976248][4116:4121] CHIP:DMG: AttributePathIB = + [1657893593.976281][4116:4121] CHIP:DMG: { + [1657893593.976316][4116:4121] CHIP:DMG: Endpoint = 0x0, + [1657893593.976354][4116:4121] CHIP:DMG: Cluster = 0x1f, + [1657893593.976395][4116:4121] CHIP:DMG: Attribute = 0x0000_0001, + [1657893593.976434][4116:4121] CHIP:DMG: ListIndex = Null, + [1657893593.976469][4116:4121] CHIP:DMG: } + [1657893593.976507][4116:4121] CHIP:DMG: + [1657893593.976541][4116:4121] CHIP:DMG: StatusIB = + [1657893593.976574][4116:4121] CHIP:DMG: { + [1657893593.976610][4116:4121] CHIP:DMG: status = 0x00 (SUCCESS), + [1657893593.976645][4116:4121] CHIP:DMG: }, + [1657893593.976678][4116:4121] CHIP:DMG: + [1657893593.976709][4116:4121] CHIP:DMG: }, + [1657893593.976744][4116:4121] CHIP:DMG: + [1657893593.976771][4116:4121] CHIP:DMG: ], + [1657893593.976808][4116:4121] CHIP:DMG: + [1657893593.976835][4116:4121] CHIP:D disabled: true - label: - "TH2 writes DUT Endpoint 0 AccessControl cluster Extension attribute + 'TH2 writes DUT Endpoint 0 AccessControl cluster Extension attribute value is list of AccessControlExtensionStruct containing 1 element - struct Data field: D_OK_SINGLE" + 1.struct Data field: D_OK_SINGLE + "17D00000F1FF01003D48656C6C6F20576F726C642E205468697320697320612073696E676C6520656C656D656E74206C6976696E6720617320612063686172737472696E670018"' PICS: ACL.S.A0000 verification: | - ./chip-tool accesscontrol write extension '[{"data":"1000110010001100"}]' 2 0 - - [1657187392.197366][3939:3944] CHIP:DMG: WriteResponseMessage = - [1657187392.197462][3939:3944] CHIP:DMG: { - [1657187392.197516][3939:3944] CHIP:DMG: AttributeStatusIBs = - [1657187392.197616][3939:3944] CHIP:DMG: [ - [1657187392.197678][3939:3944] CHIP:DMG: AttributeStatusIB = - [1657187392.197767][3939:3944] CHIP:DMG: { - [1657187392.197832][3939:3944] CHIP:DMG: AttributePathIB = - [1657187392.197939][3939:3944] CHIP:DMG: { - [1657187392.198044][3939:3944] CHIP:DMG: Endpoint = 0x0, - [1657187392.198130][3939:3944] CHIP:DMG: Cluster = 0x1f, - [1657187392.198235][3939:3944] CHIP:DMG: Attribute = 0x0000_0001, - [1657187392.198333][3939:3944] CHIP:DMG: } - [1657187392.198422][3939:3944] CHIP:DMG: - [1657187392.198521][3939:3944] CHIP:DMG: StatusIB = - [1657187392.198601][3939:3944] CHIP:DMG: { - [1657187392.198703][3939:3944] CHIP:DMG: status = 0x00 (SUCCESS), - [1657187392.198800][3939:3944] CHIP:DMG: }, - [1657187392.198882][3939:3944] CHIP:DMG: - [1657187392.198965][3939:3944] CHIP:DMG: }, - [1657187392.199052][3939:3944] CHIP:DMG: - [1657187392.199135][3939:3944] CHIP:DMG: AttributeStatusIB = - [1657187392.199201][3939:3944] CHIP:DMG: { - [1657187392.199286][3939:3944] CHIP:DMG: AttributePathIB = - [1657187392.199382][3939:3944] CHIP:DMG: { - [1657187392.199463][3939:3944] CHIP:DMG: Endpoint = 0x0, - [1657187392.199566][3939:3944] CHIP:DMG: Cluster = 0x1f, - [1657187392.199650][3939:3944] CHIP:DMG: Attribute = 0x0000_0001, - [1657187392.199753][3939:3944] CHIP:DMG: ListIndex = Null, - [1657187392.199830][3939:3944] CHIP:DMG: } - [1657187392.199937][3939:3944] CHIP:DMG: - [1657187392.200030][3939:3944] CHIP:DMG: StatusIB = - [1657187392.200109][3939:3944] CHIP:DMG: { - [1657187392.200208][3939:3944] CHIP:DMG: status = 0x00 (SUCCESS), - [1657187392.200287][3939:3944] CHIP:DMG: }, - [1657187392.200385][3939:3944] CHIP:DMG: - [1657187392.200467][3939:3944] CHIP:DMG: }, - [1657187392.200543][3939:3944] CHIP:DMG: - [1657187392.200680][3939:3944] CHIP:DMG: ], - [1657187392.200821][3939:3944] CHIP:DMG: - [1657187392.200885][3939:3944] CHIP:DMG: InteractionModelRevision = 1 - [1657187392.200943][3939:3944] CHIP:DMG: } - [1657187392.201175][3939:3944] CHIP:DMG: WriteClient moving to [AwaitingDe] + ./chip-tool accesscontrol write extension '[{"data":"17D00000F1FF01003D48656C6C6F20576F726C642E205468697320697320612073696E676C6520656C656D656E74206C6976696E6720617320612063686172737472696E670018"}]' 2 0 + + ON TH2,Verify DUT Responds Successfully to extension attribute list containg one element . + 1657894672.479983][2433:2438] CHIP:DMG: WriteClient moving to [ResponseRe] + [1657894672.480057][2433:2438] CHIP:DMG: WriteResponseMessage = + [1657894672.480092][2433:2438] CHIP:DMG: { + [1657894672.480124][2433:2438] CHIP:DMG: AttributeStatusIBs = + [1657894672.480175][2433:2438] CHIP:DMG: [ + [1657894672.480211][2433:2438] CHIP:DMG: AttributeStatusIB = + [1657894672.480251][2433:2438] CHIP:DMG: { + [1657894672.480288][2433:2438] CHIP:DMG: AttributePathIB = + [1657894672.480333][2433:2438] CHIP:DMG: { + [1657894672.480379][2433:2438] CHIP:DMG: Endpoint = 0x0, + [1657894672.480427][2433:2438] CHIP:DMG: Cluster = 0x1f, + [1657894672.480476][2433:2438] CHIP:DMG: Attribute = 0x0000_0001, + [1657894672.480521][2433:2438] CHIP:DMG: } + [1657894672.480570][2433:2438] CHIP:DMG: + [1657894672.480612][2433:2438] CHIP:DMG: StatusIB = + [1657894672.480657][2433:2438] CHIP:DMG: { + [1657894672.480700][2433:2438] CHIP:DMG: status = 0x00 (SUCCESS), + [1657894672.480745][2433:2438] CHIP:DMG: }, + [1657894672.480789][2433:2438] CHIP:DMG: + [1657894672.480826][2433:2438] CHIP:DMG: }, + [1657894672.480877][2433:2438] CHIP:DMG: + [1657894672.480911][2433:2438] CHIP:DMG: AttributeStatusIB = + [1657894672.480949][2433:2438] CHIP:DMG: { + [1657894672.480986][2433:2438] CHIP:DMG: AttributePathIB = + [1657894672.481028][2433:2438] CHIP:DMG: { + [1657894672.481072][2433:2438] CHIP:DMG: Endpoint = 0x0, + [1657894672.481120][2433:2438] CHIP:DMG: Cluster = 0x1f, + [1657894672.481168][2433:2438] CHIP:DMG: Attribute = 0x0000_0001, + [1657894672.481214][2433:2438] CHIP:DMG: ListIndex = Null, + [1657894672.481258][2433:2438] CHIP:DMG: } + [1657894672.481306][2433:2438] CHIP:DMG: + [1657894672.481347][2433:2438] CHIP:DMG: StatusIB = + [1657894672.481390][2433:2438] CHIP:DMG: { + [1657894672.481433][2433:2438] CHIP:DMG: status = 0x00 (SUCCESS), + [1657894672.481482][2433:2438] CHIP:DMG: }, + [1657894672.481526][2433:2438] CHIP:DMG: + [1657894672.481562][2433:2438] CHIP:DMG: }, + [1657894672.481605][2433:2438] CHIP:DMG: + [1657894672.481639][2433:2438] CHIP:DMG: ], + [1657894672.481686][2433:2438] CHIP:DMG: + [1657894672.481720][2433:2438] CHIP:DMG: InteractionModelRevision = 1 + [1657894672.481754][2433:2438] CHIP:DMG: } disabled: true - label: @@ -179,6 +180,7 @@ tests: PICS: ACL.S.A0000 verification: | ./chip-tool accesscontrol read extension 1 0 + On TH1 ,VERIFY DUT RESPONDS SUCCESSFULLY. [1657187433.621369][10890:10895] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_0001 DataVersion: 3415499944 [1657187433.621422][10890:10895] CHIP:TOO: Extension: 1 entries @@ -194,12 +196,13 @@ tests: verification: | ./chip-tool accesscontrol read extension 2 0 - [1657187461.411759][3951:3956] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_0001 DataVersion: 3415499944 - [1657187461.411876][3951:3956] CHIP:TOO: Extension: 1 entries - [1657187461.411988][3951:3956] CHIP:TOO: [1]: { - [1657187461.412055][3951:3956] CHIP:TOO: Data: 1000110010001100 - [1657187461.412142][3951:3956] CHIP:TOO: FabricIndex: 2 - [1657187461.412199][3951:3956] CHIP:TOO: } + On TH2, Verify DUT Responds successfully + [1658327214.683199][2749:2754] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_0001 DataVersion: 2953114587 + [1658327214.683283][2749:2754] CHIP:TOO: Extension: 1 entries + [1658327214.683348][2749:2754] CHIP:TOO: [1]: { + [1658327214.683388][2749:2754] CHIP:TOO: Data: 17D00000F1FF01003D48656C6C6F20576F726C642E205468697320697320612073696E676C6520656C656D656E74206C6976696E6720617320612063686172737472696E670018 + [1658327214.683423][2749:2754] CHIP:TOO: FabricIndex: 2 + [1658327214.683454][2749:2754] CHIP:TOO: } disabled: true - label: @@ -207,22 +210,21 @@ tests: AccessControlExtensionChanged event" PICS: ACL.S.E01 verification: | - ./chip-tool accesscontrol read-event access-control-extension-changed 1 0 - - [1657187785.328447][10914:10919] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0001 - [1657187785.328472][10914:10919] CHIP:TOO: Event number: 5 - [1657187785.328494][10914:10919] CHIP:TOO: Priority: Info - [1657187785.328515][10914:10919] CHIP:TOO: Timestamp: 19186697 - [1657187785.328678][10914:10919] CHIP:TOO: AccessControlExtensionChanged: { - [1657187785.328716][10914:10919] CHIP:TOO: AdminNodeID: 112233 - [1657187785.328740][10914:10919] CHIP:TOO: AdminPasscodeID: null - [1657187785.328764][10914:10919] CHIP:TOO: ChangeType: 1 - [1657187785.328788][10914:10919] CHIP:TOO: LatestValue: { - [1657187785.328813][10914:10919] CHIP:TOO: Data: 1000110010001100 - [1657187785.328835][10914:10919] CHIP:TOO: FabricIndex: 1 - [1657187785.328856][10914:10919] CHIP:TOO: } - [1657187785.328878][10914:10919] CHIP:TOO: AdminFabricIndex: 1 - [1657187785.328900][10914:10919] CHIP:TOO: } + ./chip-tool accesscontrol read-event access-control-extension-changed 1 0 + [1658327494.282263][2810:2815] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0001 + [1658327494.282295][2810:2815] CHIP:TOO: Event number: 5 + [1658327494.282319][2810:2815] CHIP:TOO: Priority: Info + [1658327494.282342][2810:2815] CHIP:TOO: Timestamp: 4621721 + [1658327494.282458][2810:2815] CHIP:TOO: AccessControlExtensionChanged: { + [1658327494.282497][2810:2815] CHIP:TOO: AdminNodeID: 112233 + [1658327494.282524][2810:2815] CHIP:TOO: AdminPasscodeID: null + [1658327494.282551][2810:2815] CHIP:TOO: ChangeType: 1 + [1658327494.282576][2810:2815] CHIP:TOO: LatestValue: { + [1658327494.282633][2810:2815] CHIP:TOO: Data: 1718 + [1658327494.282660][2810:2815] CHIP:TOO: FabricIndex: 1 + [1658327494.282684][2810:2815] CHIP:TOO: } + [1658327494.282709][2810:2815] CHIP:TOO: AdminFabricIndex: 1 + [1658327494.282733][2810:2815] CHIP:TOO: } disabled: true - label: @@ -231,19 +233,20 @@ tests: PICS: ACL.S.E01 verification: | ./chip-tool accesscontrol read-event access-control-extension-changed 2 0 - - [1657187837.562681][3976:3981] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0001 - [1657187837.562746][3976:3981] CHIP:TOO: Event number: 6 - [1657187837.562801][3976:3981] CHIP:TOO: Priority: Info - [1657187837.562855][3976:3981] CHIP:TOO: Timestamp: 19361672 - [1657187837.566248][3976:3981] CHIP:TOO: AccessControlExtensionChanged: { - [1657187837.566371][3976:3981] CHIP:TOO: AdminNodeID: 112233 - [1657187837.566434][3976:3981] CHIP:TOO: AdminPasscodeID: null - [1657187837.566575][3976:3981] CHIP:TOO: ChangeType: 1 - [1657187837.566642][3976:3981] CHIP:TOO: LatestValue: { - [1657187837.566705][3976:3981] CHIP:TOO: Data: 1000110010001100 - [1657187837.566829][3976:3981] CHIP:TOO: FabricIndex: 2 - [1657187837.566889][3976:3981] CHIP:TOO: } - [1657187837.566946][3976:3981] CHIP:TOO: AdminFabricIndex: 2 - [1657187837.567065][3976:3981] CHIP:TOO: } + On TH2, Verify DUT Responds successfully + + [1658327551.622018][4295:4300] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0001 + [1658327551.622043][4295:4300] CHIP:TOO: Event number: 6 + [1658327551.622065][4295:4300] CHIP:TOO: Priority: Info + [1658327551.622130][4295:4300] CHIP:TOO: Timestamp: 4633724 + [1658327551.622239][4295:4300] CHIP:TOO: AccessControlExtensionChanged: { + [1658327551.622287][4295:4300] CHIP:TOO: AdminNodeID: 112233 + [1658327551.622313][4295:4300] CHIP:TOO: AdminPasscodeID: null + [1658327551.622337][4295:4300] CHIP:TOO: ChangeType: 1 + [1658327551.622361][4295:4300] CHIP:TOO: LatestValue: { + [1658327551.622389][4295:4300] CHIP:TOO: Data: 17D00000F1FF01003D48656C6C6F20576F726C642E205468697320697320612073696E676C6520656C656D656E74206C6976696E6720617320612063686172737472696E670018 + [1658327551.622414][4295:4300] CHIP:TOO: FabricIndex: 2 + [1658327551.622436][4295:4300] CHIP:TOO: } + [1658327551.622459][4295:4300] CHIP:TOO: AdminFabricIndex: 2 + [1658327551.622480][4295:4300] CHIP:TOO: } disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_ACT_1_1.yaml b/src/app/tests/suites/certification/Test_TC_ACT_1_1.yaml index 43556debfb33ca..b634523a3d2301 100644 --- a/src/app/tests/suites/certification/Test_TC_ACT_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_ACT_1_1.yaml @@ -45,30 +45,30 @@ tests: type: map32 - label: "Read the global attribute: AttributeList" - PICS: ACT.S.A0002 command: "readAttribute" attribute: "AttributeList" response: constraints: type: list - contains: [0, 1, 2] + contains: [0, 1] - - label: "Read the global attribute: AttributeList" - PICS: " !ACT.S.A0002 " + - label: "Read the optional attribute(SetupURL) in AttributeList" + PICS: ACT.S.A0002 command: "readAttribute" attribute: "AttributeList" response: constraints: type: list - contains: [0, 1] + contains: [0, 1, 2] + # Checking only type check all attributes are optional - label: "Read the global attribute: AcceptedCommandList" command: "readAttribute" attribute: "AcceptedCommandList" response: - value: [] constraints: type: list + maxLength: 11 - label: "Read the global attribute: GeneratedCommandList" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_APBSC_1_10.yaml b/src/app/tests/suites/certification/Test_TC_APBSC_1_10.yaml index bb20164b81e8a7..df987420e2e045 100644 --- a/src/app/tests/suites/certification/Test_TC_APBSC_1_10.yaml +++ b/src/app/tests/suites/certification/Test_TC_APBSC_1_10.yaml @@ -47,7 +47,6 @@ tests: type: map32 - label: "Read the global attribute: AttributeList" - PICS: APBSC.S.A0000 && APBSC.S.A0001 && APBSC.S.A0003 command: "readAttribute" attribute: "AttributeList" response: @@ -55,6 +54,33 @@ tests: type: list contains: [2, 4, 5, 6, 7, 65528, 65529, 65531, 65532, 65533] + - label: "Read the optional attribute(VendorName) in AttributeList" + PICS: APBSC.S.A0000 + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0] + + - label: "Read the optional attribute(VendorID) in AttributeList" + PICS: APBSC.S.A0001 + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [1] + + - label: "Read the optional attribute(ProductID) in AttributeList" + PICS: APBSC.S.A0003 + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [3] + - label: "Read the global attribute: AcceptedCommandList" command: "readAttribute" attribute: "AcceptedCommandList" diff --git a/src/app/tests/suites/certification/Test_TC_APPLAUNCHER_1_3.yaml b/src/app/tests/suites/certification/Test_TC_APPLAUNCHER_1_3.yaml index 6cb7e4f38a6cbb..6e6fd9324c13ac 100644 --- a/src/app/tests/suites/certification/Test_TC_APPLAUNCHER_1_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_APPLAUNCHER_1_3.yaml @@ -57,7 +57,6 @@ tests: type: map32 - label: "Read the global attribute: AttributeList" - PICS: APPLAUNCHER.S.A0000 && APPLAUNCHER.S.A0001 command: "readAttribute" attribute: "AttributeList" response: diff --git a/src/app/tests/suites/certification/Test_TC_BIND_1_1.yaml b/src/app/tests/suites/certification/Test_TC_BIND_1_1.yaml index 5ee85e3d7f9981..5e8a9fe31a9c1b 100644 --- a/src/app/tests/suites/certification/Test_TC_BIND_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_BIND_1_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 117.1.1. [TC-BIND-1.1] Global Attributes [DUT-Controller] +name: 118.1.1. [TC-BIND-1.1] Global Attributes [DUT-Controllee] config: nodeId: 0x12344321 @@ -30,14 +30,17 @@ tests: verification: | ./chip-tool binding read cluster-revision 1 0 + On TH, verify DUT responsds ClusterRevision attribute as the value 1 + [1649417989.863435][3040:3045] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001E Attribute 0x0000_FFFD DataVersion: 1411817517 [1649417989.863557][3040:3045] CHIP:TOO: ClusterRevision: 1 - [1649417989.863691][3040:3045] CHIP:EM: Sending Standalone Ack for MessageCounter:2888019 on exchange 4263i disabled: true - label: "TH1 reads the FeatureMap from DUT" verification: | - ./chip-tool binding read feature-map 1 0 + ./chip-tool binding read feature-map 1 0 + + Verify on the TH Log: [1653560808.265422][3439:3444] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001E Attribute 0x0000_FFFC DataVersion: 2519252823 [1653560808.265507][3439:3444] CHIP:TOO: FeatureMap: 0 @@ -47,6 +50,8 @@ tests: verification: | ./chip-tool binding read attribute-list 1 0 + Verify on the TH Log: + [1653560826.815841][3445:3450] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001E Attribute 0x0000_FFFB DataVersion: 2519252823 [1653560826.816170][3445:3450] CHIP:TOO: AttributeList: 6 entries [1653560826.816239][3445:3450] CHIP:TOO: [1]: 0 @@ -59,13 +64,15 @@ tests: - label: "TH1 reads EventList from DUT" verification: | - No Event-list is on attributes list + Out of scope for V1.0 disabled: true - label: "TH1 reads AcceptedCommandList from DUT" verification: | ./chip-tool binding read accepted-command-list 1 0 + Verify on the TH Log: + [1653560851.890988][3451:3456] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001E Attribute 0x0000_FFF9 DataVersion: 2519252823 [1653560851.891077][3451:3456] CHIP:TOO: AcceptedCommandList: 0 entries disabled: true @@ -74,6 +81,8 @@ tests: verification: | ./chip-tool binding read generated-command-list 1 0 - [1653560872.884952][3458:3463] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001E Attribute 0x0000_FFF8 DataVersion: 2519252823 - [1653560872.885073][3458:3463] CHIP:TOO: GeneratedCommandList: 0 entries + Verify on the TH Log: + + [1653560872.884952][3458:3463] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001E Attribute 0x0000_FFF8 DataVersion: 2519252823 + [1653560872.885073][3458:3463] CHIP:TOO: GeneratedCommandList: 0 entries disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_BIND_2_1.yaml b/src/app/tests/suites/certification/Test_TC_BIND_2_1.yaml index 6c20a583032e76..8189aedcfcc2a3 100644 --- a/src/app/tests/suites/certification/Test_TC_BIND_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_BIND_2_1.yaml @@ -23,22 +23,100 @@ config: tests: - label: "Factory Reset DUT" verification: | - + Vendor specific action, for chip-tool run + rm -rf /tmp/chip* disabled: true - label: "Commission DUT to TH1s fabric" verification: | + ./chip-tool pairing ble-wifi 1 chipsetup4 matter123 20202021 3840 + + + + ./chip-tool pairing open-commissioning-window 1 1 400 1000 3840 + + MessageCounter:141758774 from RetransTable on exchange 63698i + [1657796688.322878][3738:3743] CHIP:DMG: ICR moving to [ResponseRe] + [1657796688.322964][3738:3743] CHIP:DMG: InvokeResponseMessage = + [1657796688.323016][3738:3743] CHIP:DMG: { + [1657796688.323066][3738:3743] CHIP:DMG: suppressResponse = false, + [1657796688.323118][3738:3743] CHIP:DMG: InvokeResponseIBs = + [1657796688.323180][3738:3743] CHIP:DMG: [ + [1657796688.323231][3738:3743] CHIP:DMG: InvokeResponseIB = + [1657796688.323299][3738:3743] CHIP:DMG: { + [1657796688.323353][3738:3743] CHIP:DMG: CommandStatusIB = + [1657796688.323418][3738:3743] CHIP:DMG: { + [1657796688.323480][3738:3743] CHIP:DMG: CommandPathIB = + [1657796688.323549][3738:3743] CHIP:DMG: { + [1657796688.323627][3738:3743] CHIP:DMG: EndpointId = 0x0, + [1657796688.323704][3738:3743] CHIP:DMG: ClusterId = 0x3c, + [1657796688.323776][3738:3743] CHIP:DMG: CommandId = 0x0, + [1657796688.323845][3738:3743] CHIP:DMG: }, + [1657796688.323920][3738:3743] CHIP:DMG: + [1657796688.323982][3738:3743] CHIP:DMG: StatusIB = + [1657796688.324052][3738:3743] CHIP:DMG: { + [1657796688.324174][3738:3743] CHIP:DMG: status = 0x00 (SUCCESS), + [1657796688.324246][3738:3743] CHIP:DMG: }, + [1657796688.324314][3738:3743] CHIP:DMG: + [1657796688.324375][3738:3743] CHIP:DMG: }, + [1657796688.324451][3738:3743] CHIP:DMG: + [1657796688.324509][3738:3743] CHIP:DMG: }, + [1657796688.324572][3738:3743] CHIP:DMG: + [1657796688.324623][3738:3743] CHIP:DMG: ], + [1657796688.324684][3738:3743] CHIP:DMG: + [1657796688.324734][3738:3743] CHIP:DMG: InteractionModelRevision = 1 + [1657796688.324783][3738:3743] CHIP:DMG: }, + [1657796688.324897][3738:3743] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0000 Status=0x0 + [1657796688.324956][3738:3743] CHIP:CTL: Successfully opened pairing window on the device + [1657796688.325135][3738:3743] CHIP:CTL: Manual pairing code: [35297957587] + [1657796688.325206][3738:3743] CHIP:CTL: SetupQRCode: [MT:-24J0AFN00GARZ0T.10] + [1657796688.325289][3738:3743] CHIP:DMG: ICR moving to [AwaitingDe] disabled: true - label: "Commission TH2 to TH1s fabric (Node ID = 2)" verification: | + ./chip-tool pairing code 2 35297957587 + [1657796711.261433][1364:1369] CHIP:DMG: { + [1657796711.261488][1364:1369] CHIP:DMG: suppressResponse = false, + [1657796711.261549][1364:1369] CHIP:DMG: InvokeResponseIBs = + [1657796711.261623][1364:1369] CHIP:DMG: [ + [1657796711.261683][1364:1369] CHIP:DMG: InvokeResponseIB = + [1657796711.261760][1364:1369] CHIP:DMG: { + [1657796711.261823][1364:1369] CHIP:DMG: CommandDataIB = + [1657796711.261899][1364:1369] CHIP:DMG: { + [1657796711.261969][1364:1369] CHIP:DMG: CommandPathIB = + [1657796711.262051][1364:1369] CHIP:DMG: { + [1657796711.262133][1364:1369] CHIP:DMG: EndpointId = 0x0, + [1657796711.262217][1364:1369] CHIP:DMG: ClusterId = 0x3e, + [1657796711.262308][1364:1369] CHIP:DMG: CommandId = 0x8, + [1657796711.262387][1364:1369] CHIP:DMG: }, + [1657796711.262469][1364:1369] CHIP:DMG: + [1657796711.262535][1364:1369] CHIP:DMG: CommandFields = + [1657796711.262609][1364:1369] CHIP:DMG: { + [1657796711.262689][1364:1369] CHIP:DMG: 0x0 = 0, + [1657796711.262761][1364:1369] CHIP:DMG: 0x1 = 2, + [1657796711.262869][1364:1369] CHIP:DMG: }, + [1657796711.262935][1364:1369] CHIP:DMG: }, + [1657796711.263003][1364:1369] CHIP:DMG: + [1657796711.263060][1364:1369] CHIP:DMG: }, + [1657796711.263124][1364:1369] CHIP:DMG: + [1657796711.263173][1364:1369] CHIP:DMG: ], + [1657796711.263236][1364:1369] CHIP:DMG: + [1657796711.263287][1364:1369] CHIP:DMG: InteractionModelRevision = 1 + [1657796711.263336][1364:1369] CHIP:DMG: }, + [1657796711.263456][1364:1369] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008 + [1657796711.263527][1364:1369] CHIP:CTL: Device returned status 0 on receiving the NOC + [1657796711.263576][1364:1369] CHIP:CTL: Operational credentials provisioned on device 0xffff7400ceb0 + [1657796711.263624][1364:1369] CHIP:TOO: Secure Pairing Success + [1657796711.263665][1364:1369] CHIP:TOO: CASE establishment successful + [1657796711.263716][1364:1369] CHIP:CTL: Successfully finished commissioning step 'SendNOC' disabled: true - label: "Commission TH3 to TH1s fabric (Node ID = 3)" verification: | - + ./chip-tool pairing code 3 35468051682 disabled: true - label: @@ -47,7 +125,24 @@ tests: Entry 2: Node = 3 Cluster = 0x0006(onoff) Endpoint = 2 Note: Node 2 corresponds to TH2s Node ID Node 3 corresponds to TH3s Node ID" verification: | + ./chip-tool binding write binding '[{"node" : 2 , "cluster" : "0x0006" , "endpoint" : 1 }, { "node" : 3 , "cluster" : "0x0006" , "endpoint" : 2 }]' 1 0 + + + + [1657797710.456056][3796:3801] CHIP:DMG: status = 0x00 (SUCCESS), + MG: status = 0x00 (SUCCESS), + [1657797710.457093][3796:3801] CHIP:DMG: }, + [1657797710.457171][3796:3801] CHIP:DMG: + [1657797710.457232][3796:3801] CHIP:DMG: }, + [1657797710.457318][3796:3801] CHIP:DMG: + [1 StatusIB = + [1657797710.458209][3796:3801] CHIP:DMG: { + [1657797710.458286][3796:3801] CHIP:DMG: status = 0x00 (SUCCESS), + [1657797710.458369][3796:3801] CHIP:DMG: }, + [1657797710.458444][3796:3801] CHIP:DMG: + pted msg 0xffff7e7cd9d8 with MessageCounter:161235290 to 0x0000000000000001 (1) at monotonic time: 000000000071D1BB msec + [1657797710.459711][3796:3801] CHIP:EM: Flushed pending ack for MessageCounter:23683634 on exchange 26818i disabled: true - label: "TH1 enables DUT as Controller" @@ -58,34 +153,116 @@ tests: - label: "DUT is triggered to send On command to its binding node entries" PICS: OO.C.C01.Tx verification: | - TH2 receives On command(Endpoint 1) TH3 receives On command(Endpoint 2) + ./chip-tool onoff on 1 1 + + [1657798258.634672][1444:1449] CHIP:DMG: { + [1657798258.634719][1444:1449] CHIP:DMG: status = 0x00 (SUCCESS), + [1657798258.634771][1444:1449] CHIP:DMG: }, + + [1657798258.635250][1444:1449] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0006 Command=0x0000_0001 Status=0x0 + + + ./chip-tool onoff on 1 2 + + [1657798258.634719][1444:1449] CHIP:DMG: status = 0x00 (SUCCESS), disabled: true - label: "TH1 reads OnOff attribute from TH2 (Endpoint 1)" PICS: OO.C.C01.Tx verification: | - Verify that the value is set to On + ./chip-tool onoff read on-off 1 1 + + [1657798291.396477][3835:3841] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 4260513117 + [1657798291.396514][3835:3841] CHIP:TOO: OnOff: TRUE + + ./chip-tool onoff read on-off 1 2 + + [1657798691.194894][3869:3874] CHIP:TOO: Endpoint: 2 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 470320746 + [1657798691.194948][3869:3874] CHIP:TOO: OnOff: TRUE disabled: true - label: "TH1 removes second binding entry corresponding to TH3 from DUT" verification: | + ./chip-tool binding write binding '[{"node" : 2 , "cluster" : "0x0006" , "endpoint" : 1 }]' 1 0 + [1657800844.739833][4000:4006] CHIP:EM: Removed CHIP MessageCounter:244702117 from RetransTable on exchange 12653i + [1657800844.739867][4000:4006] CHIP:DMG: WriteClient moving to [ResponseRe] + [1657800844.739922][4000:4006] CHIP:DMG: WriteResponseMessage = + [1657800844.739949][4000:4006] CHIP:DMG: { + [1657800844.739990][4000:4006] CHIP:DMG: AttributeStatusIBs = + [1657800844.740021][4000:4006] CHIP:DMG: [ + [1657800844.740057][4000:4006] CHIP:DMG: AttributeStatusIB = + [1657800844.740111][4000:4006] CHIP:DMG: { + [1657800844.740150][4000:4006] CHIP:DMG: AttributePathIB = + [1657800844.740195][4000:4006] CHIP:DMG: { + [1657800844.740230][4000:4006] CHIP:DMG: Endpoint = 0x0, + [1657800844.740275][4000:4006] CHIP:DMG: Cluster = 0x1e, + [1657800844.740322][4000:4006] CHIP:DMG: Attribute = 0x0000_0000, + [1657800844.740359][4000:4006] CHIP:DMG: } + [1657800844.740405][4000:4006] CHIP:DMG: + [1657800844.740444][4000:4006] CHIP:DMG: StatusIB = + [1657800844.740477][4000:4006] CHIP:DMG: { + [1657800844.740516][4000:4006] CHIP:DMG: status = 0x00 (SUCCESS), + [1657800844.740548][4000:4006] CHIP:DMG: }, + [1657800844.740584][4000:4006] CHIP:DMG: + [1657800844.740607][4000:4006] CHIP:DMG: }, + [1657800844.740653][4000:4006] CHIP:DMG: + [1657800844.740687][4000:4006] CHIP:DMG: AttributeStatusIB = + [1657800844.740714][4000:4006] CHIP:DMG: { + [1657800844.740748][4000:4006] CHIP:DMG: AttributePathIB = + [1657800844.740781][4000:4006] CHIP:DMG: { + [1657800844.740820][4000:4006] CHIP:DMG: Endpoint = 0x0, + [1657800844.740858][4000:4006] CHIP:DMG: Cluster = 0x1e, + [1657800844.740905][4000:4006] CHIP:DMG: Attribute = 0x0000_0000, + [1657800844.740946][4000:4006] CHIP:DMG: ListIndex = Null, + [1657800844.740981][4000:4006] CHIP:DMG: } + [1657800844.741025][4000:4006] CHIP:DMG: + [1657800844.741063][4000:4006] CHIP:DMG: StatusIB = + [1657800844.741094][4000:4006] CHIP:DMG: { + [1657800844.741133][4000:4006] CHIP:DMG: status = 0x00 (SUCCESS), + [1657800844.741168][4000:4006] CHIP:DMG: }, + [1657800844.741208][4000:4006] CHIP:DMG: + [1657800844.741241][4000:4006] CHIP:DMG: }, + [1657800844.741272][4000:4006] CHIP:DMG: + [1657800844.741295][4000:4006] CHIP:DMG: ], + [1657800844.741336][4000:4006] CHIP:DMG: + [1657800844.741369][4000:4006] CHIP:DMG: InteractionModelRevision = 1 + [1657800844.741392][4000:4006] CHIP:DMG: } + [1657800844.741511][4000:4006] CHIP:DMG: WriteClient moving to [AwaitingDe] + [1657800844.741591][4000:4006] CHIP:EM: Sending Standalone Ack for MessageCounter:142199059 on exchange 12653i disabled: true - label: "DUT is triggered to send off command to its binding entries" PICS: OO.C.C00.Tx verification: | - TH2 receives off command (Endpoint 1) TH3 does not receive off command (Endpoint 2) + ./chip-tool onoff off 1 1 + + [1657800932.012989][1497:1502] CHIP:DMG: StatusIB = + [1657800932.013027][1497:1502] CHIP:DMG: { + [1657800932.013063][1497:1502] CHIP:DMG: status = 0x00 (SUCCESS), + [1657800932.013102][1497:1502] CHIP:DMG: }, + + + ./chip-tool onoff off 1 2 disabled: true - label: "TH1 reads OnOff attribute from TH2 (Endpoint 1)" PICS: OO.C.C00.Tx verification: | - Verify that the value is set to Off + ./chip-tool onoff read on-off 1 1 + + + [1657803168.769564][4272:4277] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 1968648540 + + [1657803168.769598][4272:4277] CHIP:TOO: OnOff: FALSE disabled: true - label: "TH1 reads OnOff attribute from TH3 (Endpoint 2)" PICS: OO.C.C01.Tx verification: | - Verify that the value is set to On + ./chip-tool onoff read on-off 1 2 + + [1657803609.731464][4333:4339] CHIP:TOO: Endpoint: 2 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 3914456390 + + [1657803609.731521][4333:4339] CHIP:TOO: OnOff: TRUE disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_BIND_2_2.yaml b/src/app/tests/suites/certification/Test_TC_BIND_2_2.yaml index d84ec28c3e5ba6..b3d5f8a26322a5 100644 --- a/src/app/tests/suites/certification/Test_TC_BIND_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_BIND_2_2.yaml @@ -14,7 +14,7 @@ # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: - 117.2.2. [TC-BIND-2.2] Binding Cluster Attributes-DUT handles its Groups + 118.2.2. [TC-BIND-2.2] Binding Cluster Attributes-DUT handles its Groups settings [DUT-Controller] config: @@ -25,29 +25,59 @@ config: tests: - label: "Factory Reset DUT" verification: | - + Vendor specific action, for chip-tool run + rm -rf /tmp/chip* disabled: true - label: "Commission DUT to TH1s fabric" verification: | - + ./chip-tool pairing ble-wifi 1 chipsetup4 matter123 20202021 3840 disabled: true - label: "TH1 enables DUT as Controller" verification: | + ./chip-tool pairing open-commissioning-window 1 1 400 1000 3840 + + [1657716927.940140][4326:4331] CHIP:DMG: + [1657716927.940201][4326:4331] CHIP:DMG: StatusIB = + [1657716927.940275][4326:4331] CHIP:DMG: { + [1657716927.940344][4326:4331] CHIP:DMG: status = 0x00 (SUCCESS), + [1657716927.940411][4326:4331] CHIP:DMG: }, + [1657716927.940478][4326:4331] CHIP:DMG: + [1657716927.940537][4326:4331] CHIP:DMG: }, + [1657716927.940605][4326:4331] CHIP:DMG: + [1657716927.940658][4326:4331] CHIP:DMG: }, + [1657716927.940721][4326:4331] CHIP:DMG: + [1657716927.940771][4326:4331] CHIP:DMG: ], + [1657716927.940832][4326:4331] CHIP:DMG: + [1657716927.940882][4326:4331] CHIP:DMG: InteractionModelRevision = 1 + [1657716927.940931][4326:4331] CHIP:DMG: }, + [1657716927.941044][4326:4331] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0000 Status=0x0 + [1657716927.941099][4326:4331] CHIP:CTL: Successfully opened pairing window on the device + [1657716927.941205][4326:4331] CHIP:CTL: Manual pairing code: [36299144405] + [1657716927.941270][4326:4331] CHIP:CTL: SetupQRCode: [MT:-24J0IRV01-85F3GK10] + [1657716927.941345][4326:4331] CHIP:DMG: ICR moving to [AwaitingDe] + [1657716927.941403][4326:4331] CHIP:EM: Sending Standalone Ack for MessageCount disabled: true - label: "Commission TH2 to TH1s fabric (Node ID = 2)" verification: | + ./chip-tool pairing code 2 36299144405 + [1657716992.250570][3330:3336] CHIP:CTL: Received CommissioningComplete response, errorCode=0 + [1657716992.250614][3330:3336] CHIP:CTL: Successfully finished commissioning step 'SendComplete' + [1657716992.250650][3330:3336] CHIP:CTL: Commissioning stage next step: 'SendComplete' -> 'Cleanup' + [1657716992.250690][3330:3336] CHIP:CTL: Performing next commissioning step 'Cleanup' + [1657716992.250769][3330:3336] CHIP:CTL: Successfully finished commissioning step 'Cleanup' + [1657716992.250812][3330:3336] CHIP:TOO: Device commissioning completed with success disabled: true - label: "DUT generates fabric-unique GroupID, GroupName, random key, EpochKey0 and GroupKeySetID." verification: | - ./chip-tool groupkeymanagement key-set-read 42 1 0 + As Admin generates it is not necessary to verify disabled: true - label: @@ -59,7 +89,42 @@ tests: "groupKeySecurityPolicy": 0, "epochKey0": "d0d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime0": 2220000,"epochKey1": "d1d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime1": 2220001,"epochKey2": - "d2d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime2": 2220002 }' 1 0 + "d2d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime2": 2220002 }' 2 0 + + + + + [1657717291.809861][3361:3366] CHIP:DMG: ICR moving to [ResponseRe] + [1657717291.809913][3361:3366] CHIP:DMG: InvokeResponseMessage = + [1657717291.809939][3361:3366] CHIP:DMG: { + [1657717291.809965][3361:3366] CHIP:DMG: suppressResponse = false, + [1657717291.809992][3361:3366] CHIP:DMG: InvokeResponseIBs = + [1657717291.810025][3361:3366] CHIP:DMG: [ + [1657717291.810051][3361:3366] CHIP:DMG: InvokeResponseIB = + [1657717291.810088][3361:3366] CHIP:DMG: { + [1657717291.810115][3361:3366] CHIP:DMG: CommandStatusIB = + [1657717291.810149][3361:3366] CHIP:DMG: { + [1657717291.810179][3361:3366] CHIP:DMG: CommandPathIB = + [1657717291.810215][3361:3366] CHIP:DMG: { + [1657717291.810252][3361:3366] CHIP:DMG: EndpointId = 0x0, + [1657717291.810290][3361:3366] CHIP:DMG: ClusterId = 0x3f, + [1657717291.810326][3361:3366] CHIP:DMG: CommandId = 0x0, + [1657717291.810364][3361:3366] CHIP:DMG: }, + [1657717291.810403][3361:3366] CHIP:DMG: + [1657717291.810435][3361:3366] CHIP:DMG: StatusIB = + [1657717291.810470][3361:3366] CHIP:DMG: { + [1657717291.810507][3361:3366] CHIP:DMG: status = 0x00 (SUCCESS), + [1657717291.810540][3361:3366] CHIP:DMG: }, + [1657717291.810575][3361:3366] CHIP:DMG: + [1657717291.810606][3361:3366] CHIP:DMG: }, + [1657717291.810641][3361:3366] CHIP:DMG: + [1657717291.810668][3361:3366] CHIP:DMG: }, + [1657717291.810700][3361:3366] CHIP:DMG: + [1657717291.810725][3361:3366] CHIP:DMG: ], + [1657717291.810757][3361:3366] CHIP:DMG: + [1657717291.810782][3361:3366] CHIP:DMG: InteractionModelRevision = 1 + [1657717291.810807][3361:3366] CHIP:DMG: }, + [1657717291.810869][3361:3366] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003F Command=0x0000_0000 Status=0x0 disabled: true - label: @@ -67,7 +132,14 @@ tests: Endpoint 1." PICS: G.C.C00.Tx verification: | - ./chip-tool groups add-group 0x0001 grp1 1 1 + ./chip-tool groups add-group 0x0001 grp1 2 1 + + [1657717342.599740][3368:3373] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0004 Command 0x0000_0000 + [1657717342.599891][3368:3373] CHIP:TOO: AddGroupResponse: { + [1657717342.599959][3368:3373] CHIP:TOO: status: 0 + [1657717342.600007][3368:3373] CHIP:TOO: groupId: 1 + [1657717342.600054][3368:3373] CHIP:TOO: } + [1657717342.600130][3368:3373] CHIP:DMG: ICR moving t disabled: true - label: @@ -75,14 +147,43 @@ tests: list on GroupKeyManagement cluster to TH2 on Endpoint 0" PICS: GRPKEY.C.A0000 verification: | - ./chip-tool groupkeymanagement write group-key-map '[{"groupId": 1, "groupKeySetID": 42, "fabricIndex": 1}]' 1 0 + ./chip-tool groupkeymanagement write group-key-map '[{"groupId": 1, "groupKeySetID": 42, "fabricIndex": 1}]' 2 0 + + StatusIB = + { + status = 0x00 (SUCCESS), + } + + ./chip-tool groupsettings add-group grp1 0x0001 + + ./chip-tool groupsettings add-keysets 0x0042 0 0x000000000021dfe0 hex:d0d1d2d3d4d5d6d7d8d9dadbdcdddedf + + ./chip-tool groupsettings bind-keyset 0x0001 0x0042 + + ./chip-tool groupsettings show-groups + + +-------------------------------------------------------------------------------------+ + | Available Groups : | + +-------------------------------------------------------------------------------------+ + | Group Id | KeySet Id | Group Name | + | 0x101 0x1a1 Group #1 | + | 0x102 0x1a2 Group #2 | + | 0x1 0x42 grp1 | + +-------------------------------------------------------------------------------------+" disabled: true - label: "TH1 writes Binding entry into DUT with Entry 1: Group = The Group ID in the AddGroup command sent from DUT to TH2" verification: | - ./chip-tool binding write binding '[{"Group" : 0x0001 }]' 1 0 + ./chip-tool binding write binding '[{"group" : "0x0001"}]' 1 0 + + + [1657717436.184899][4353:4358] CHIP:DMG: StatusIB = + [1657717436.184940][4353:4358] CHIP:DMG: { + [1657717436.184981][4353:4358] CHIP:DMG: status = 0x00 (SUCCESS), + [1657717436.185022][4353:4358] CHIP:DMG: }, + [1657717436.185062][4353:4358] CHIP:DMG: disabled: true - label: @@ -90,18 +191,141 @@ tests: entries" PICS: OO.C.C01.Tx verification: | - ./chip-tool onoff on 0x0001 1 + ./chip-tool onoff on 0xffffffffffff0001 1 + + 1657717627.565673][3417:3422] CHIP:TOO: Sending command to group 0x1 + [1657717627.565718][3417:3422] CHIP:TOO: Sending cluster (0x00000006) command (0x00000001) on Group 1 disabled: true - label: "TH1 reads OnOff attribute from TH2 (Endpoint 1)" PICS: OO.C.C01.Tx verification: | ./chip-tool onoff read on-off 1 1 + + [1657717900.832851][4381:4386] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 1558029216 + [1657717900.832890][4381:4386] CHIP:TOO: OnOff: TRUE disabled: true - label: "TH1 removes all the binding entries from DUT" verification: | - ./chip-tool binding write binding [] 1 0 + ./chip-tool groupsettings unbind-keyset 0x0001 0x0042 + + + [1657804100.222346][1483:1483] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /tmp/chip_kvs + [1657804100.222880][1483:1483] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /tmp/chip_factory.ini + [1657804100.223041][1483:1483] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /tmp/chip_config.ini + [1657804100.223149][1483:1483] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /tmp/chip_counters.ini + [1657804100.223500][1483:1483] CHIP:DL: writing settings to file (/tmp/chip_counters.ini-mlceY7) + [1657804100.224151][1483:1483] CHIP:DL: renamed tmp file to file (/tmp/chip_counters.ini) + [1657804100.224208][1483:1483] CHIP:DL: NVS set: chip-counters/reboot-count = 16 (0x10) + [1657804100.224925][1483:1483] CHIP:DL: Got Ethernet interface: eth0 + [1657804100.225323][1483:1483] CHIP:DL: Found the primary Ethernet interface:eth0 + [1657804100.225720][1483:1483] CHIP:DL: Got WiFi interface: wlan0 + [1657804100.225791][1483:1483] CHIP:DL: Failed to reset WiFi statistic counts + [1657804100.225873][1483:1483] CHIP:IN: UDP::Init bind&listen port=0 + [1657804100.226005][1483:1483] CHIP:IN: UDP::Init bound to port=43367 + [1657804100.226030][1483:1483] CHIP:IN: BLEBase::Init - setting/overriding transport + [1657804100.226052][1483:1483] CHIP:IN: TransportMgr initialized + [1657804100.226085][1483:1483] CHIP:FP: Initializing FabricTable from persistent storage + [1657804100.226331][1483:1483] CHIP:TS: Last Known Good Time: 2022-07-13T12:47:52 + [1657804100.226953][1483:1483] CHIP:FP: Fabric index 0x1 was retrieved from storage. Compressed FabricId 0xAF5C7831F3704268, FabricId 0x0000000000000001, NodeId 0x000000000001B669, VendorId 0xFFF1 + [1657804100.227380][1483:1483] CHIP:FP: Fabric index 0x2 was retrieved from storage. Compressed FabricId 0x756CE95FCDF96118, FabricId 0x0000000000000002, NodeId 0x000000000001B669, VendorId 0xFFF1 + [1657804100.227789][1483:1483] CHIP:FP: Fabric index 0x3 was retrieved from storage. Compressed FabricId 0xCCD838643BEE9065, FabricId 0x0000000000000003, NodeId 0x000000000001B669, VendorId 0xFFF1 + [1657804100.230946][1483:1483] CHIP:ZCL: Using ZAP configuration... + [1657804100.235033][1483:1483] CHIP:DL: Avahi client registered + [1657804100.236263][1483:1483] CHIP:CTL: System State Initialized... + [1657804100.236328][1483:1483] CHIP:CTL: Stopping commissioning discovery over DNS-SD + [1657804100.236364][1483:1483] CHIP:CTL: Setting attestation nonce to random value + [1657804100.236412][1483:1483] CHIP:CTL: Setting CSR nonce to random value + [1657804100.236485][1483:1483] CHIP:IN: UDP::Init bind&listen port=5550 + [1657804100.236621][1483:1483] CHIP:IN: UDP::Init bound to port=5550 + [1657804100.236646][1483:1483] CHIP:IN: TransportMgr initialized + [1657804100.236733][1483:1483] CHIP:CTL: Stopping commissioning discovery over DNS-SD + [1657804100.236763][1483:1483] CHIP:CTL: Setting attestation nonce to random value + [1657804100.236811][1483:1483] CHIP:CTL: Setting CSR nonce to random value + [1657804100.239619][1483:1483] CHIP:CTL: Generating NOC + [1657804100.240796][1483:1483] CHIP:FP: Validating NOC chain + [1657804100.242766][1483:1483] CHIP:FP: NOC chain validation successful + [1657804100.242960][1483:1483] CHIP:FP: Updated fabric at index: 0x1, Node ID: 0x000000000001B669 + [1657804100.243000][1483:1483] CHIP:TS: Last Known Good Time: 2022-07-13T12:47:52 + [1657804100.243029][1483:1483] CHIP:TS: New proposed Last Known Good Time: 2021-01-01T00:00:00 + [1657804100.243055][1483:1483] CHIP:TS: Retaining current Last Known Good Time + [1657804100.246677][1483:1483] CHIP:FP: Metadata for Fabric 0x1 persisted to storage. + [1657804100.250025][1483:1483] CHIP:TS: Committing Last Known Good Time to storage: 2022-07-13T12:47:52 + [1657804100.253538][1483:1483] CHIP:CTL: Joined the fabric at index 1. Compressed fabric ID is: 0x0000000000000000 + [1657804100.253600][1483:1483] CHIP:IN: UDP::Init bind&listen port=5550 + [1657804100.253724][1483:1483] CHIP:IN: UDP::Init bound to port=5550 + [1657804100.253751][1483:1483] CHIP:IN: TransportMgr initialized + [1657804100.253834][1483:1483] CHIP:CTL: Stopping commissioning discovery over DNS-SD + [1657804100.253872][1483:1483] CHIP:CTL: Setting attestation nonce to random value + [1657804100.253934][1483:1483] CHIP:CTL: Setting CSR nonce to random value + [1657804100.254935][1483:1483] CHIP:CTL: Generating NOC + [1657804100.256071][1483:1483] CHIP:FP: Validating NOC chain + [1657804100.257762][1483:1483] CHIP:FP: NOC chain validation successful + [1657804100.257921][1483:1483] CHIP:FP: Updated fabric at index: 0x2, Node ID: 0x000000000001B669 + [1657804100.257955][1483:1483] CHIP:TS: Last Known Good Time: 2022-07-13T12:47:52 + [1657804100.257978][1483:1483] CHIP:TS: New proposed Last Known Good Time: 2021-01-01T00:00:00 + [1657804100.257998][1483:1483] CHIP:TS: Retaining current Last Known Good Time + [1657804100.260948][1483:1483] CHIP:FP: Metadata for Fabric 0x2 persisted to storage. + [1657804100.263784][1483:1483] CHIP:TS: Committing Last Known Good Time to storage: 2022-07-13T12:47:52 + [1657804100.266433][1483:1483] CHIP:CTL: Joined the fabric at index 2. Compressed fabric ID is: 0x0000000000000000 + [1657804100.266491][1483:1483] CHIP:IN: UDP::Init bind&listen port=5550 + [1657804100.266615][1483:1483] CHIP:IN: UDP::Init bound to port=5550 + [1657804100.266641][1483:1483] CHIP:IN: TransportMgr initialized + [1657804100.266727][1483:1483] CHIP:CTL: Stopping commissioning discovery over DNS-SD + [1657804100.266766][1483:1483] CHIP:CTL: Setting attestation nonce to random value + [1657804100.266828][1483:1483] CHIP:CTL: Setting CSR nonce to random value + [1657804100.267811][1483:1483] CHIP:CTL: Generating NOC + [1657804100.268914][1483:1483] CHIP:FP: Validating NOC chain + [1657804100.270701][1483:1483] CHIP:FP: NOC chain validation successful + [1657804100.270859][1483:1483] CHIP:FP: Updated fabric at index: 0x3, Node ID: 0x000000000001B669 + [1657804100.270892][1483:1483] CHIP:TS: Last Known Good Time: 2022-07-13T12:47:52 + [1657804100.270914][1483:1483] CHIP:TS: New proposed Last Known Good Time: 2021-01-01T00:00:00 + [1657804100.270935][1483:1483] CHIP:TS: Retaining current Last Known Good Time + [1657804100.273854][1483:1483] CHIP:FP: Metadata for Fabric 0x3 persisted to storage. + [1657804100.276610][1483:1483] CHIP:TS: Committing Last Known Good Time to storage: 2022-07-13T12:47:52 + [1657804100.279350][1483:1483] CHIP:CTL: Joined the fabric at index 3. Compressed fabric ID is: 0x0000000000000000 + [1657804100.279411][1483:1483] CHIP:IN: UDP::Init bind&listen port=5550 + [1657804100.279535][1483:1483] CHIP:IN: UDP::Init bound to port=5550 + [1657804100.279560][1483:1483] CHIP:IN: TransportMgr initialized + [1657804100.315695][1483:1488] CHIP:DL: CHIP task running + [1657804100.315921][1483:1488] CHIP:DL: HandlePlatformSpecificBLEEvent 32784 + [1657804100.321174][1483:1483] CHIP:CTL: Shutting down the commissioner + [1657804100.321268][1483:1483] CHIP:CTL: Shutting down the controller + [1657804100.321299][1483:1483] CHIP:CTL: Shutting down the commissioner + [1657804100.321348][1483:1483] CHIP:CTL: Shutting down the controller + [1657804100.321373][1483:1483] CHIP:IN: Expiring all sessions for fabric 0x1!! + [1657804100.321396][1483:1483] CHIP:FP: Forgetting fabric 0x1 + [1657804100.321429][1483:1483] CHIP:TS: Pending Last Known Good Time: 2022-07-13T12:47:52 + [1657804100.321597][1483:1483] CHIP:TS: Previous Last Known Good Time: 2022-07-13T12:47:52 + [1657804100.321622][1483:1483] CHIP:TS: Reverted Last Known Good Time to previous value + [1657804100.321661][1483:1483] CHIP:CTL: Shutting down the commissioner + [1657804100.321718][1483:1483] CHIP:CTL: Shutting down the controller + [1657804100.321819][1483:1483] CHIP:IN: Expiring all sessions for fabric 0x2!! + [1657804100.321849][1483:1483] CHIP:FP: Forgetting fabric 0x2 + [1657804100.321875][1483:1483] CHIP:TS: Pending Last Known Good Time: 2022-07-13T12:47:52 + [1657804100.321998][1483:1483] CHIP:TS: Previous Last Known Good Time: 2022-07-13T12:47:52 + [1657804100.322022][1483:1483] CHIP:TS: Reverted Last Known Good Time to previous value + [1657804100.322056][1483:1483] CHIP:CTL: Shutting down the commissioner + [1657804100.322113][1483:1483] CHIP:CTL: Shutting down the controller + [1657804100.322136][1483:1483] CHIP:IN: Expiring all sessions for fabric 0x3!! + [1657804100.322156][1483:1483] CHIP:FP: Forgetting fabric 0x3 + [1657804100.322179][1483:1483] CHIP:TS: Pending Last Known Good Time: 2022-07-13T12:47:52 + [1657804100.322314][1483:1483] CHIP:TS: Previous Last Known Good Time: 2022-07-13T12:47:52 + [1657804100.322339][1483:1483] CHIP:TS: Reverted Last Known Good Time to previous value + [1657804100.322367][1483:1483] CHIP:CTL: Shutting down the System State, this will teardown the CHIP Stack + [1657804100.323278][1483:1483] CHIP:DMG: IM WH moving to [Uninitialized] + [1657804100.323318][1483:1483] CHIP:DMG: IM WH moving to [Uninitialized] + [1657804100.323341][1483:1483] CHIP:DMG: IM WH moving to [Uninitialized] + [1657804100.323362][1483:1483] CHIP:DMG: IM WH moving to [Uninitialized] + [1657804100.323384][1483:1483] CHIP:DMG: All ReadHandler-s are clean, clear GlobalDirtySet + [1657804100.323455][1483:1483] CHIP:BLE: BleConnectionDelegate::CancelConnection is not implemented. + [1657804100.323744][1483:1483] CHIP:DL: writing settings to file (/tmp/chip_counters.ini-wsLxnz) + [1657804100.324436][1483:1483] CHIP:DL: renamed tmp file to file (/tmp/chip_counters.ini) + [1657804100.324498][1483:1483] CHIP:DL: NVS set: chip-counters/total-operational-hours = 0 (0x0) + [1657804100.324524][1483:1483] CHIP:DL: Inet Layer shutdown + [1657804100.324547][1483:1483] CHIP:DL: BLE shutdown + [1657804100.324569][1483:1483] CHIP:DL: System Layer shutdown disabled: true - label: @@ -109,11 +333,18 @@ tests: entries" PICS: OO.C.C00.Tx verification: | - ./chip-tool onoff on 0x0001 1 + ./chip-tool onoff off 0xffffffffffff0001 1 + + [1657718018.006875][3467:3472] CHIP:TOO: Sending command to group 0x1 + [1657718018.006899][3467:3472] CHIP:TOO: Sending cluster (0x00000006) command (0x00000000) on Group 1 + [1657718018.006949][3467:3472] CHIP:DMG: ICR moving to [AddingComm] disabled: true - label: "TH1 reads OnOff attribute from TH2 (Endpoint 1)" PICS: OO.C.C01.Tx verification: | ./chip-tool onoff read on-off 1 1 + + [1657718251.169765][4425:4431] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 1558029223 + [1657718251.169817][4425:4431] CHIP:TOO: OnOff: TRUE disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_BIND_2_3.yaml b/src/app/tests/suites/certification/Test_TC_BIND_2_3.yaml index 0640a6570d9347..ae8c28d97da943 100644 --- a/src/app/tests/suites/certification/Test_TC_BIND_2_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_BIND_2_3.yaml @@ -14,7 +14,7 @@ # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: - 117.2.3. [TC-BIND-2.3] Binding Cluster Attributes-TH1 enables DUT to handle + 118.2.3. [TC-BIND-2.3] Binding Cluster Attributes-TH1 enables DUT to handle its Group settings [DUT-Controller] config: @@ -25,29 +25,59 @@ config: tests: - label: "Factory Reset DUT" verification: | - + Vendor specific action, for chip-tool run + rm -rf /tmp/chip* disabled: true - label: "Commission DUT to TH1s fabric" verification: | - + ./chip-tool pairing ble-wifi 1 chipsetup4 matter123 20202021 3840 disabled: true - label: "TH1 enables DUT as Controller" verification: | + ./chip-tool pairing open-commissioning-window 1 1 400 1000 3840 + + [1657716927.940140][4326:4331] CHIP:DMG: + [1657716927.940201][4326:4331] CHIP:DMG: StatusIB = + [1657716927.940275][4326:4331] CHIP:DMG: { + [1657716927.940344][4326:4331] CHIP:DMG: status = 0x00 (SUCCESS), + [1657716927.940411][4326:4331] CHIP:DMG: }, + [1657716927.940478][4326:4331] CHIP:DMG: + [1657716927.940537][4326:4331] CHIP:DMG: }, + [1657716927.940605][4326:4331] CHIP:DMG: + [1657716927.940658][4326:4331] CHIP:DMG: }, + [1657716927.940721][4326:4331] CHIP:DMG: + [1657716927.940771][4326:4331] CHIP:DMG: ], + [1657716927.940832][4326:4331] CHIP:DMG: + [1657716927.940882][4326:4331] CHIP:DMG: InteractionModelRevision = 1 + [1657716927.940931][4326:4331] CHIP:DMG: }, + [1657716927.941044][4326:4331] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0000 Status=0x0 + [1657716927.941099][4326:4331] CHIP:CTL: Successfully opened pairing window on the device + [1657716927.941205][4326:4331] CHIP:CTL: Manual pairing code: [36299144405] + [1657716927.941270][4326:4331] CHIP:CTL: SetupQRCode: [MT:-24J0IRV01-85F3GK10] + [1657716927.941345][4326:4331] CHIP:DMG: ICR moving to [AwaitingDe] + [1657716927.941403][4326:4331] CHIP:EM: Sending Standalone Ack for MessageCount disabled: true - label: "Commission TH2 to TH1s fabric (Node ID = 2)" verification: | + ./chip-tool pairing code 2 36299144405 + [1657716992.250570][3330:3336] CHIP:CTL: Received CommissioningComplete response, errorCode=0 + [1657716992.250614][3330:3336] CHIP:CTL: Successfully finished commissioning step 'SendComplete' + [1657716992.250650][3330:3336] CHIP:CTL: Commissioning stage next step: 'SendComplete' -> 'Cleanup' + [1657716992.250690][3330:3336] CHIP:CTL: Performing next commissioning step 'Cleanup' + [1657716992.250769][3330:3336] CHIP:CTL: Successfully finished commissioning step 'Cleanup' + [1657716992.250812][3330:3336] CHIP:TOO: Device commissioning completed with success disabled: true - label: "TH1 generates fabric-unique GroupID, GroupName, random key, EpochKey0 and GroupKeySetID." verification: | - As TH generates it is not required to verify + As Admin generates it is not required to verify disabled: true - label: @@ -59,6 +89,37 @@ tests: "d0d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime0": 2220000,"epochKey1": "d1d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime1": 2220001,"epochKey2": "d2d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime2": 2220002 }' 1 0 + + [1657719041.075123][4541:4546] CHIP:DMG: ICR moving to [ResponseRe] + [1657719041.075174][4541:4546] CHIP:DMG: InvokeResponseMessage = + [1657719041.075200][4541:4546] CHIP:DMG: { + [1657719041.075224][4541:4546] CHIP:DMG: suppressResponse = false, + [1657719041.075255][4541:4546] CHIP:DMG: InvokeResponseIBs = + [1657719041.075287][4541:4546] CHIP:DMG: [ + [1657719041.075311][4541:4546] CHIP:DMG: InvokeResponseIB = + [1657719041.075347][4541:4546] CHIP:DMG: { + [1657719041.075376][4541:4546] CHIP:DMG: CommandStatusIB = + [1657719041.075408][4541:4546] CHIP:DMG: { + [1657719041.075439][4541:4546] CHIP:DMG: CommandPathIB = + [1657719041.075473][4541:4546] CHIP:DMG: { + [1657719041.075507][4541:4546] CHIP:DMG: EndpointId = 0x0, + [1657719041.075542][4541:4546] CHIP:DMG: ClusterId = 0x3f, + [1657719041.075577][4541:4546] CHIP:DMG: CommandId = 0x0, + [1657719041.075609][4541:4546] CHIP:DMG: }, + [1657719041.075646][4541:4546] CHIP:DMG: + [1657719041.075676][4541:4546] CHIP:DMG: StatusIB = + [1657719041.075709][4541:4546] CHIP:DMG: { + [1657719041.075743][4541:4546] CHIP:DMG: status = 0x00 (SUCCESS), + [1657719041.075775][4541:4546] CHIP:DMG: }, + [1657719041.075809][4541:4546] CHIP:DMG: + [1657719041.075840][4541:4546] CHIP:DMG: }, + [1657719041.075874][4541:4546] CHIP:DMG: + [1657719041.075902][4541:4546] CHIP:DMG: }, + [1657719041.075935][4541:4546] CHIP:DMG: + [1657719041.075959][4541:4546] CHIP:DMG: ], + [1657719041.075988][4541:4546] CHIP:DMG: + [1657719041.076012][4541:4546] CHIP:DMG: InteractionModelRevision = 1 + [1657719041.076036][4541:4546] CHIP:DMG: }, disabled: true - label: @@ -66,6 +127,12 @@ tests: Endpoint 1." verification: | ./chip-tool groups add-group 0x0001 grp1 1 1 + + [1657719097.788236][4548:4554] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0004 Command 0x0000_0000 + [1657719097.788325][4548:4554] CHIP:TOO: AddGroupResponse: { + [1657719097.788366][4548:4554] CHIP:TOO: status: 0 + [1657719097.788393][4548:4554] CHIP:TOO: groupId: 1 + [1657719097.788418][4548:4554] CHIP:TOO: } disabled: true - label: @@ -73,13 +140,41 @@ tests: list on GroupKeyManagement cluster to TH2 on Endpoint 0" verification: | ./chip-tool groupkeymanagement write group-key-map '[{"groupId": 1, "groupKeySetID": 42, "fabricIndex": 1}]' 1 0 + + [1657719130.464175][4557:4562] CHIP:DMG: StatusIB = + [1657719130.464214][4557:4562] CHIP:DMG: { + [1657719130.464256][4557:4562] CHIP:DMG: status = 0x00 (SUCCESS), + [1657719130.464298][4557:4562] CHIP:DMG: }, + [1657719130.464342][4557:4562] CHIP:DMG: + + ./chip-tool groupsettings add-group grp1 0x0001 + + ./chip-tool groupsettings add-keysets 0x0042 0 0x000000000021dfe0 hex:d0d1d2d3d4d5d6d7d8d9dadbdcdddedf + + ./chip-tool groupsettings bind-keyset 0x0001 0x0042 + + ./chip-tool groupsettings show-groups + + +-------------------------------------------------------------------------------------+ + | Available Groups : | + +-------------------------------------------------------------------------------------+ + | Group Id | KeySet Id | Group Name | + | 0x101 0x1a1 Group #1 | + | 0x102 0x1a2 Group #2 | + | 0x1 0x42 grp1 | + +-------------------------------------------------------------------------------------+" disabled: true - label: "TH1 writes Binding entry into DUT with Entry 1: Group = The Group ID in the AddGroup command sent from TH1 to TH2" verification: | - ./chip-tool binding write binding '[{"Group" : 0x0001 }]' 1 0 + ./chip-tool binding write binding '[{"group" : "0x0001"}]' 1 0 + + [1657719251.763323][4597:4602] CHIP:DMG: StatusIB = + [1657719251.763360][4597:4602] CHIP:DMG: { + [1657719251.763402][4597:4602] CHIP:DMG: status = 0x00 (SUCCESS), + [1657719251.763440][4597:4602] CHIP:DMG: }, disabled: true - label: "TH1 sets up group settings on DUT" @@ -92,18 +187,142 @@ tests: entries" PICS: OO.C.C01.Tx verification: | - ./chip-tool onoff on 0x0001 1 + ./chip-tool onoff on 0xffffffffffff0001 1 + + + [1657719341.187186][3608:3613] CHIP:TOO: Sending command to group 0x1 + [1657719341.187212][3608:3613] CHIP:TOO: Sending cluster (0x00000006) command (0x00000001) on Group 1 disabled: true - label: "TH1 reads OnOff attribute from TH2 (Endpoint 1)" PICS: OO.C.C01.Tx verification: | ./chip-tool onoff read on-off 1 1 + + [1657719363.799344][4615:4620] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 3526720174 + [1657719363.799380][4615:4620] CHIP:TOO: OnOff: TRUE disabled: true - label: "TH1 removes all the binding entries from DUT" verification: | - ./chip-tool binding write binding [] 1 0 + ./chip-tool groupsettings unbind-keyset 0x0001 0x0042 + + + [1657804100.222346][1483:1483] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /tmp/chip_kvs + [1657804100.222880][1483:1483] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /tmp/chip_factory.ini + [1657804100.223041][1483:1483] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /tmp/chip_config.ini + [1657804100.223149][1483:1483] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /tmp/chip_counters.ini + [1657804100.223500][1483:1483] CHIP:DL: writing settings to file (/tmp/chip_counters.ini-mlceY7) + [1657804100.224151][1483:1483] CHIP:DL: renamed tmp file to file (/tmp/chip_counters.ini) + [1657804100.224208][1483:1483] CHIP:DL: NVS set: chip-counters/reboot-count = 16 (0x10) + [1657804100.224925][1483:1483] CHIP:DL: Got Ethernet interface: eth0 + [1657804100.225323][1483:1483] CHIP:DL: Found the primary Ethernet interface:eth0 + [1657804100.225720][1483:1483] CHIP:DL: Got WiFi interface: wlan0 + [1657804100.225791][1483:1483] CHIP:DL: Failed to reset WiFi statistic counts + [1657804100.225873][1483:1483] CHIP:IN: UDP::Init bind&listen port=0 + [1657804100.226005][1483:1483] CHIP:IN: UDP::Init bound to port=43367 + [1657804100.226030][1483:1483] CHIP:IN: BLEBase::Init - setting/overriding transport + [1657804100.226052][1483:1483] CHIP:IN: TransportMgr initialized + [1657804100.226085][1483:1483] CHIP:FP: Initializing FabricTable from persistent storage + [1657804100.226331][1483:1483] CHIP:TS: Last Known Good Time: 2022-07-13T12:47:52 + [1657804100.226953][1483:1483] CHIP:FP: Fabric index 0x1 was retrieved from storage. Compressed FabricId 0xAF5C7831F3704268, FabricId 0x0000000000000001, NodeId 0x000000000001B669, VendorId 0xFFF1 + [1657804100.227380][1483:1483] CHIP:FP: Fabric index 0x2 was retrieved from storage. Compressed FabricId 0x756CE95FCDF96118, FabricId 0x0000000000000002, NodeId 0x000000000001B669, VendorId 0xFFF1 + [1657804100.227789][1483:1483] CHIP:FP: Fabric index 0x3 was retrieved from storage. Compressed FabricId 0xCCD838643BEE9065, FabricId 0x0000000000000003, NodeId 0x000000000001B669, VendorId 0xFFF1 + [1657804100.230946][1483:1483] CHIP:ZCL: Using ZAP configuration... + [1657804100.235033][1483:1483] CHIP:DL: Avahi client registered + [1657804100.236263][1483:1483] CHIP:CTL: System State Initialized... + [1657804100.236328][1483:1483] CHIP:CTL: Stopping commissioning discovery over DNS-SD + [1657804100.236364][1483:1483] CHIP:CTL: Setting attestation nonce to random value + [1657804100.236412][1483:1483] CHIP:CTL: Setting CSR nonce to random value + [1657804100.236485][1483:1483] CHIP:IN: UDP::Init bind&listen port=5550 + [1657804100.236621][1483:1483] CHIP:IN: UDP::Init bound to port=5550 + [1657804100.236646][1483:1483] CHIP:IN: TransportMgr initialized + [1657804100.236733][1483:1483] CHIP:CTL: Stopping commissioning discovery over DNS-SD + [1657804100.236763][1483:1483] CHIP:CTL: Setting attestation nonce to random value + [1657804100.236811][1483:1483] CHIP:CTL: Setting CSR nonce to random value + [1657804100.239619][1483:1483] CHIP:CTL: Generating NOC + [1657804100.240796][1483:1483] CHIP:FP: Validating NOC chain + [1657804100.242766][1483:1483] CHIP:FP: NOC chain validation successful + [1657804100.242960][1483:1483] CHIP:FP: Updated fabric at index: 0x1, Node ID: 0x000000000001B669 + [1657804100.243000][1483:1483] CHIP:TS: Last Known Good Time: 2022-07-13T12:47:52 + [1657804100.243029][1483:1483] CHIP:TS: New proposed Last Known Good Time: 2021-01-01T00:00:00 + [1657804100.243055][1483:1483] CHIP:TS: Retaining current Last Known Good Time + [1657804100.246677][1483:1483] CHIP:FP: Metadata for Fabric 0x1 persisted to storage. + [1657804100.250025][1483:1483] CHIP:TS: Committing Last Known Good Time to storage: 2022-07-13T12:47:52 + [1657804100.253538][1483:1483] CHIP:CTL: Joined the fabric at index 1. Compressed fabric ID is: 0x0000000000000000 + [1657804100.253600][1483:1483] CHIP:IN: UDP::Init bind&listen port=5550 + [1657804100.253724][1483:1483] CHIP:IN: UDP::Init bound to port=5550 + [1657804100.253751][1483:1483] CHIP:IN: TransportMgr initialized + [1657804100.253834][1483:1483] CHIP:CTL: Stopping commissioning discovery over DNS-SD + [1657804100.253872][1483:1483] CHIP:CTL: Setting attestation nonce to random value + [1657804100.253934][1483:1483] CHIP:CTL: Setting CSR nonce to random value + [1657804100.254935][1483:1483] CHIP:CTL: Generating NOC + [1657804100.256071][1483:1483] CHIP:FP: Validating NOC chain + [1657804100.257762][1483:1483] CHIP:FP: NOC chain validation successful + [1657804100.257921][1483:1483] CHIP:FP: Updated fabric at index: 0x2, Node ID: 0x000000000001B669 + [1657804100.257955][1483:1483] CHIP:TS: Last Known Good Time: 2022-07-13T12:47:52 + [1657804100.257978][1483:1483] CHIP:TS: New proposed Last Known Good Time: 2021-01-01T00:00:00 + [1657804100.257998][1483:1483] CHIP:TS: Retaining current Last Known Good Time + [1657804100.260948][1483:1483] CHIP:FP: Metadata for Fabric 0x2 persisted to storage. + [1657804100.263784][1483:1483] CHIP:TS: Committing Last Known Good Time to storage: 2022-07-13T12:47:52 + [1657804100.266433][1483:1483] CHIP:CTL: Joined the fabric at index 2. Compressed fabric ID is: 0x0000000000000000 + [1657804100.266491][1483:1483] CHIP:IN: UDP::Init bind&listen port=5550 + [1657804100.266615][1483:1483] CHIP:IN: UDP::Init bound to port=5550 + [1657804100.266641][1483:1483] CHIP:IN: TransportMgr initialized + [1657804100.266727][1483:1483] CHIP:CTL: Stopping commissioning discovery over DNS-SD + [1657804100.266766][1483:1483] CHIP:CTL: Setting attestation nonce to random value + [1657804100.266828][1483:1483] CHIP:CTL: Setting CSR nonce to random value + [1657804100.267811][1483:1483] CHIP:CTL: Generating NOC + [1657804100.268914][1483:1483] CHIP:FP: Validating NOC chain + [1657804100.270701][1483:1483] CHIP:FP: NOC chain validation successful + [1657804100.270859][1483:1483] CHIP:FP: Updated fabric at index: 0x3, Node ID: 0x000000000001B669 + [1657804100.270892][1483:1483] CHIP:TS: Last Known Good Time: 2022-07-13T12:47:52 + [1657804100.270914][1483:1483] CHIP:TS: New proposed Last Known Good Time: 2021-01-01T00:00:00 + [1657804100.270935][1483:1483] CHIP:TS: Retaining current Last Known Good Time + [1657804100.273854][1483:1483] CHIP:FP: Metadata for Fabric 0x3 persisted to storage. + [1657804100.276610][1483:1483] CHIP:TS: Committing Last Known Good Time to storage: 2022-07-13T12:47:52 + [1657804100.279350][1483:1483] CHIP:CTL: Joined the fabric at index 3. Compressed fabric ID is: 0x0000000000000000 + [1657804100.279411][1483:1483] CHIP:IN: UDP::Init bind&listen port=5550 + [1657804100.279535][1483:1483] CHIP:IN: UDP::Init bound to port=5550 + [1657804100.279560][1483:1483] CHIP:IN: TransportMgr initialized + [1657804100.315695][1483:1488] CHIP:DL: CHIP task running + [1657804100.315921][1483:1488] CHIP:DL: HandlePlatformSpecificBLEEvent 32784 + [1657804100.321174][1483:1483] CHIP:CTL: Shutting down the commissioner + [1657804100.321268][1483:1483] CHIP:CTL: Shutting down the controller + [1657804100.321299][1483:1483] CHIP:CTL: Shutting down the commissioner + [1657804100.321348][1483:1483] CHIP:CTL: Shutting down the controller + [1657804100.321373][1483:1483] CHIP:IN: Expiring all sessions for fabric 0x1!! + [1657804100.321396][1483:1483] CHIP:FP: Forgetting fabric 0x1 + [1657804100.321429][1483:1483] CHIP:TS: Pending Last Known Good Time: 2022-07-13T12:47:52 + [1657804100.321597][1483:1483] CHIP:TS: Previous Last Known Good Time: 2022-07-13T12:47:52 + [1657804100.321622][1483:1483] CHIP:TS: Reverted Last Known Good Time to previous value + [1657804100.321661][1483:1483] CHIP:CTL: Shutting down the commissioner + [1657804100.321718][1483:1483] CHIP:CTL: Shutting down the controller + [1657804100.321819][1483:1483] CHIP:IN: Expiring all sessions for fabric 0x2!! + [1657804100.321849][1483:1483] CHIP:FP: Forgetting fabric 0x2 + [1657804100.321875][1483:1483] CHIP:TS: Pending Last Known Good Time: 2022-07-13T12:47:52 + [1657804100.321998][1483:1483] CHIP:TS: Previous Last Known Good Time: 2022-07-13T12:47:52 + [1657804100.322022][1483:1483] CHIP:TS: Reverted Last Known Good Time to previous value + [1657804100.322056][1483:1483] CHIP:CTL: Shutting down the commissioner + [1657804100.322113][1483:1483] CHIP:CTL: Shutting down the controller + [1657804100.322136][1483:1483] CHIP:IN: Expiring all sessions for fabric 0x3!! + [1657804100.322156][1483:1483] CHIP:FP: Forgetting fabric 0x3 + [1657804100.322179][1483:1483] CHIP:TS: Pending Last Known Good Time: 2022-07-13T12:47:52 + [1657804100.322314][1483:1483] CHIP:TS: Previous Last Known Good Time: 2022-07-13T12:47:52 + [1657804100.322339][1483:1483] CHIP:TS: Reverted Last Known Good Time to previous value + [1657804100.322367][1483:1483] CHIP:CTL: Shutting down the System State, this will teardown the CHIP Stack + [1657804100.323278][1483:1483] CHIP:DMG: IM WH moving to [Uninitialized] + [1657804100.323318][1483:1483] CHIP:DMG: IM WH moving to [Uninitialized] + [1657804100.323341][1483:1483] CHIP:DMG: IM WH moving to [Uninitialized] + [1657804100.323362][1483:1483] CHIP:DMG: IM WH moving to [Uninitialized] + [1657804100.323384][1483:1483] CHIP:DMG: All ReadHandler-s are clean, clear GlobalDirtySet + [1657804100.323455][1483:1483] CHIP:BLE: BleConnectionDelegate::CancelConnection is not implemented. + [1657804100.323744][1483:1483] CHIP:DL: writing settings to file (/tmp/chip_counters.ini-wsLxnz) + [1657804100.324436][1483:1483] CHIP:DL: renamed tmp file to file (/tmp/chip_counters.ini) + [1657804100.324498][1483:1483] CHIP:DL: NVS set: chip-counters/total-operational-hours = 0 (0x0) + [1657804100.324524][1483:1483] CHIP:DL: Inet Layer shutdown + [1657804100.324547][1483:1483] CHIP:DL: BLE shutdown + [1657804100.324569][1483:1483] CHIP:DL: System Layer shutdown disabled: true - label: @@ -111,11 +330,136 @@ tests: entries" PICS: OO.C.C00.Tx verification: | - ./chip-tool onoff on 0x0001 1 + ./chip-tool onoff off 0xffffffffffff0001 1 + + + [1657739317.292483][6861:6861] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /tmp/chip_kvs + [1657739317.293022][6861:6861] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /tmp/chip_factory.ini + [1657739317.293191][6861:6861] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /tmp/chip_config.ini + [1657739317.293302][6861:6861] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /tmp/chip_counters.ini + [1657739317.293673][6861:6861] CHIP:DL: writing settings to file (/tmp/chip_counters.ini-UkoNx7) + [1657739317.294307][6861:6861] CHIP:DL: renamed tmp file to file (/tmp/chip_counters.ini) + [1657739317.294361][6861:6861] CHIP:DL: NVS set: chip-counters/reboot-count = 25 (0x19) + [1657739317.295264][6861:6861] CHIP:DL: Got Ethernet interface: eth0 + [1657739317.295842][6861:6861] CHIP:DL: Found the primary Ethernet interface:eth0 + [1657739317.296467][6861:6861] CHIP:DL: Got WiFi interface: wlan0 + [1657739317.298602][6861:6861] CHIP:DL: Found the primary WiFi interface:wlan0 + [1657739317.298722][6861:6861] CHIP:IN: UDP::Init bind&listen port=0 + [1657739317.298865][6861:6861] CHIP:IN: UDP::Init bound to port=42057 + [1657739317.298900][6861:6861] CHIP:IN: BLEBase::Init - setting/overriding transport + [1657739317.298922][6861:6861] CHIP:IN: TransportMgr initialized + [1657739317.298956][6861:6861] CHIP:FP: Initializing FabricTable from persistent storage + [1657739317.299178][6861:6861] CHIP:TS: Last Known Good Time: 2022-07-13T10:35:47 + [1657739317.299800][6861:6861] CHIP:FP: Fabric index 0x1 was retrieved from storage. Compressed FabricId 0x44F31DDB31482396, FabricId 0x0000000000000001, NodeId 0x000000000001B669, VendorId 0xFFF1 + [1657739317.300326][6861:6861] CHIP:FP: Fabric index 0x2 was retrieved from storage. Compressed FabricId 0x9C5001245B9C6783, FabricId 0x0000000000000002, NodeId 0x000000000001B669, VendorId 0xFFF1 + [1657739317.300874][6861:6861] CHIP:FP: Fabric index 0x3 was retrieved from storage. Compressed FabricId 0x432BBBD1DDD12A2D, FabricId 0x0000000000000003, NodeId 0x000000000001B669, VendorId 0xFFF1 + [1657739317.304752][6861:6861] CHIP:ZCL: Using ZAP configuration... + [1657739317.310329][6861:6861] CHIP:DL: Avahi client registered + [1657739317.311785][6861:6861] CHIP:CTL: System State Initialized... + [1657739317.311916][6861:6861] CHIP:CTL: Stopping commissioning discovery over DNS-SD + [1657739317.311958][6861:6861] CHIP:CTL: Setting attestation nonce to random value + [1657739317.312013][6861:6861] CHIP:CTL: Setting CSR nonce to random value + [1657739317.312124][6861:6861] CHIP:IN: UDP::Init bind&listen port=5550 + [1657739317.312276][6861:6861] CHIP:IN: UDP::Init bound to port=5550 + [1657739317.312304][6861:6861] CHIP:IN: TransportMgr initialized + [1657739317.312381][6861:6861] CHIP:CTL: Stopping commissioning discovery over DNS-SD + [1657739317.312413][6861:6861] CHIP:CTL: Setting attestation nonce to random value + [1657739317.312468][6861:6861] CHIP:CTL: Setting CSR nonce to random value + [1657739317.315708][6861:6861] CHIP:CTL: Generating NOC + [1657739317.317118][6861:6861] CHIP:FP: Validating NOC chain + [1657739317.319143][6861:6861] CHIP:FP: NOC chain validation successful + [1657739317.319368][6861:6861] CHIP:FP: Updated fabric at index: 0x1, Node ID: 0x000000000001B669 + [1657739317.319406][6861:6861] CHIP:TS: Last Known Good Time: 2022-07-13T10:35:47 + [1657739317.319433][6861:6861] CHIP:TS: New proposed Last Known Good Time: 2021-01-01T00:00:00 + [1657739317.319458][6861:6861] CHIP:TS: Retaining current Last Known Good Time + [1657739317.322759][6861:6861] CHIP:FP: Metadata for Fabric 0x1 persisted to storage. + [1657739317.325707][6861:6861] CHIP:TS: Committing Last Known Good Time to storage: 2022-07-13T10:35:47 + [1657739317.328626][6861:6861] CHIP:CTL: Joined the fabric at index 1. Compressed fabric ID is: 0x0000000000000000 + [1657739317.328691][6861:6861] CHIP:IN: UDP::Init bind&listen port=5550 + [1657739317.328824][6861:6861] CHIP:IN: UDP::Init bound to port=5550 + [1657739317.328852][6861:6861] CHIP:IN: TransportMgr initialized + [1657739317.328943][6861:6861] CHIP:CTL: Stopping commissioning discovery over DNS-SD + [1657739317.328985][6861:6861] CHIP:CTL: Setting attestation nonce to random value + [1657739317.329053][6861:6861] CHIP:CTL: Setting CSR nonce to random value + [1657739317.330018][6861:6861] CHIP:CTL: Generating NOC + [1657739317.331537][6861:6861] CHIP:FP: Validating NOC chain + [1657739317.333367][6861:6861] CHIP:FP: NOC chain validation successful + [1657739317.333529][6861:6861] CHIP:FP: Updated fabric at index: 0x2, Node ID: 0x000000000001B669 + [1657739317.333562][6861:6861] CHIP:TS: Last Known Good Time: 2022-07-13T10:35:47 + [1657739317.333585][6861:6861] CHIP:TS: New proposed Last Known Good Time: 2021-01-01T00:00:00 + [1657739317.333607][6861:6861] CHIP:TS: Retaining current Last Known Good Time + [1657739317.336974][6861:6861] CHIP:FP: Metadata for Fabric 0x2 persisted to storage. + [1657739317.340429][6861:6861] CHIP:TS: Committing Last Known Good Time to storage: 2022-07-13T10:35:47 + [1657739317.346545][6861:6861] CHIP:CTL: Joined the fabric at index 2. Compressed fabric ID is: 0x0000000000000000 + [1657739317.346610][6861:6861] CHIP:IN: UDP::Init bind&listen port=5550 + [1657739317.346740][6861:6861] CHIP:IN: UDP::Init bound to port=5550 + [1657739317.346784][6861:6861] CHIP:IN: TransportMgr initialized + [1657739317.346890][6861:6861] CHIP:CTL: Stopping commissioning discovery over DNS-SD + [1657739317.346930][6861:6861] CHIP:CTL: Setting attestation nonce to random value + [1657739317.346993][6861:6861] CHIP:CTL: Setting CSR nonce to random value + [1657739317.347952][6861:6861] CHIP:CTL: Generating NOC + [1657739317.349141][6861:6861] CHIP:FP: Validating NOC chain + [1657739317.351073][6861:6861] CHIP:FP: NOC chain validation successful + [1657739317.351260][6861:6861] CHIP:FP: Updated fabric at index: 0x3, Node ID: 0x000000000001B669 + [1657739317.351297][6861:6861] CHIP:TS: Last Known Good Time: 2022-07-13T10:35:47 + [1657739317.351322][6861:6861] CHIP:TS: New proposed Last Known Good Time: 2021-01-01T00:00:00 + [1657739317.351344][6861:6861] CHIP:TS: Retaining current Last Known Good Time + [1657739317.354771][6861:6861] CHIP:FP: Metadata for Fabric 0x3 persisted to storage. + [1657739317.357885][6861:6861] CHIP:TS: Committing Last Known Good Time to storage: 2022-07-13T10:35:47 + [1657739317.360916][6861:6861] CHIP:CTL: Joined the fabric at index 3. Compressed fabric ID is: 0x0000000000000000 + [1657739317.360982][6861:6861] CHIP:IN: UDP::Init bind&listen port=5550 + [1657739317.361127][6861:6861] CHIP:IN: UDP::Init bound to port=5550 + [1657739317.361176][6861:6861] CHIP:IN: TransportMgr initialized + [1657739317.404098][6861:6866] CHIP:DL: CHIP task running + [1657739317.404355][6861:6866] CHIP:DL: HandlePlatformSpecificBLEEvent 32784 + [1657739317.404400][6861:6866] CHIP:TOO: Sending command to group 0x1 + [1657739317.404425][6861:6866] CHIP:TOO: Sending cluster (0x00000006) command (0x00000000) on Group 1 + [1657739317.404474][6861:6866] CHIP:DMG: ICR moving to [AddingComm] + [1657739317.404580][6861:6866] CHIP:DMG: ICR moving to [AddedComma] + [1657739317.405348][6861:6861] CHIP:CTL: Shutting down the commissioner + [1657739317.405445][6861:6861] CHIP:CTL: Shutting down the controller + [1657739317.405477][6861:6861] CHIP:CTL: Shutting down the commissioner + [1657739317.405530][6861:6861] CHIP:CTL: Shutting down the controller + [1657739317.405569][6861:6861] CHIP:IN: Expiring all sessions for fabric 0x1!! + [1657739317.405593][6861:6861] CHIP:FP: Forgetting fabric 0x1 + [1657739317.405637][6861:6861] CHIP:TS: Pending Last Known Good Time: 2022-07-13T10:35:47 + [1657739317.405823][6861:6861] CHIP:TS: Previous Last Known Good Time: 2022-07-13T10:35:47 + [1657739317.405849][6861:6861] CHIP:TS: Reverted Last Known Good Time to previous value + [1657739317.405890][6861:6861] CHIP:CTL: Shutting down the commissioner + [1657739317.405950][6861:6861] CHIP:CTL: Shutting down the controller + [1657739317.405978][6861:6861] CHIP:IN: Expiring all sessions for fabric 0x2!! + [1657739317.406015][6861:6861] CHIP:FP: Forgetting fabric 0x2 + [1657739317.406046][6861:6861] CHIP:TS: Pending Last Known Good Time: 2022-07-13T10:35:47 + [1657739317.406231][6861:6861] CHIP:TS: Previous Last Known Good Time: 2022-07-13T10:35:47 + [1657739317.406261][6861:6861] CHIP:TS: Reverted Last Known Good Time to previous value + [1657739317.406299][6861:6861] CHIP:CTL: Shutting down the commissioner + [1657739317.406364][6861:6861] CHIP:CTL: Shutting down the controller + [1657739317.406407][6861:6861] CHIP:IN: Expiring all sessions for fabric 0x3!! + [1657739317.406469][6861:6861] CHIP:FP: Forgetting fabric 0x3 + [1657739317.406500][6861:6861] CHIP:TS: Pending Last Known Good Time: 2022-07-13T10:35:47 + [1657739317.406684][6861:6861] CHIP:TS: Previous Last Known Good Time: 2022-07-13T10:35:47 + [1657739317.406715][6861:6861] CHIP:TS: Reverted Last Known Good Time to previous value + [1657739317.406751][6861:6861] CHIP:CTL: Shutting down the System State, this will teardown the CHIP Stack + [1657739317.407843][6861:6861] CHIP:DMG: IM WH moving to [Uninitialized] + [1657739317.407889][6861:6861] CHIP:DMG: IM WH moving to [Uninitialized] + [1657739317.407914][6861:6861] CHIP:DMG: IM WH moving to [Uninitialized] + [1657739317.407938][6861:6861] CHIP:DMG: IM WH moving to [Uninitialized] + [1657739317.407965][6861:6861] CHIP:DMG: All ReadHandler-s are clean, clear GlobalDirtySet + [1657739317.408046][6861:6861] CHIP:BLE: BleConnectionDelegate::CancelConnection is not implemented. + [1657739317.408378][6861:6861] CHIP:DL: writing settings to file (/tmp/chip_counters.ini-c0r3tm) + [1657739317.409155][6861:6861] CHIP:DL: renamed tmp file to file (/tmp/chip_counters.ini) + [1657739317.409228][6861:6861] CHIP:DL: NVS set: chip-counters/total-operational-hours = 0 (0x0) + [1657739317.409260][6861:6861] CHIP:DL: Inet Layer shutdown + [1657739317.409286][6861:6861] CHIP:DL: BLE shutdown + [1657739317.409313][6861:6861] CHIP:DL: System Layer shutdown + [1657739317.409437][6861:6861] CHIP:TOO: Run command failure: ../../third_party/connectedhomeip/src/transport/SessionManager.cpp:176: CHIP Error 0x000000AC: Internal error disabled: true - label: "TH1 reads OnOff attribute from TH2 (Endpoint 1)" PICS: OO.C.C01.Tx verification: | ./chip-tool onoff read on-off 1 1 + + [1657719448.858149][4636:4641] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 3526720174 + [1657719448.858183][4636:4641] CHIP:TOO: OnOff: TRUE disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_BINFO_2_1.yaml b/src/app/tests/suites/certification/Test_TC_BINFO_2_1.yaml index 3f1ffcd648b803..d3f5a9ed0cc5fb 100644 --- a/src/app/tests/suites/certification/Test_TC_BINFO_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_BINFO_2_1.yaml @@ -29,11 +29,31 @@ tests: - name: "nodeId" value: nodeId - - label: "TH reads Location from the DUT." - command: "readAttribute" - attribute: "Location" - response: - saveAs: CountryCode + #not supported in YAML + - label: + "During Commissioning, TH Saves the CountryCode Information from + SetRegulatoryConfig command" + verification: | + While commissioning TH Saves the CountryCode Information from SetRegulatoryConfig command + + ./chip-tool pairing ble-wifi 1 GRLPrivate_EXT matter123 20202021 3840 + + TH END: + [1641381202.376419][5628:5633] CHIP:CTL: Received success response 0x3df8 + + sudo ./all-clusters-app --wifi + + DUT END: + [1641381202.306840][4431:4431] CHIP:DL: NVS set: chip-config/regulatory-location = 0 (0x0) + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "TH reads DataModelRevision from the DUT." PICS: BINFO.S.A0000 @@ -197,11 +217,31 @@ tests: command: "readAttribute" attribute: "Location" response: - value: CountryCode constraints: type: string maxLength: 16 + - label: + "Verify that the Location is same as CountryCode value saved from + step1" + verification: | + ./chip-tool basic read location 1 0 + + On TH, Verify that TH reads Location from the DUT successfully, the name should be string and length is less than or equal to 2 bytes. + [1656495999.760797][2249:2254] CHIP:DMG: } + [1656495999.761084][2249:2254] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0006 DataVersion: 941124320 + [1656495999.761187][2249:2254] CHIP:TOO: Location: XX + [1656495999.761371][2249:2254] CHIP:EM: Sending Standalone Ack for MessageCounter:7663506 on exchange 28126i + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && BINFO.S.A0006 + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + - label: "TH write Location from the DUT" PICS: BINFO.S.A0006 command: "writeAttribute" @@ -480,6 +520,7 @@ tests: value: ProductLabelValue - label: "TH reads SerialNumber from the DUT." + PICS: BINFO.S.A000f command: "readAttribute" attribute: "SerialNumber" response: diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_13.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_13.yaml index 18a7b80de77266..703bfd3d471c5a 100644 --- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_13.yaml +++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_13.yaml @@ -58,6 +58,8 @@ tests: values: - name: "CommissioningTimeout" value: 180 + - name: "discriminator" + value: discriminator - label: "Commission from gamma" identity: "gamma" @@ -90,6 +92,8 @@ tests: values: - name: "CommissioningTimeout" value: 180 + - name: "discriminator" + value: discriminator - label: "Commission from beta" identity: "beta" @@ -121,6 +125,8 @@ tests: values: - name: "CommissioningTimeout" value: 180 + - name: "discriminator" + value: discriminator - label: "TH_CR1 opens a new commissioning window on DUT_CE" identity: "alpha" diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_23.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_23.yaml index 0d6adaf3bcddcd..c56a8510ab8337 100644 --- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_23.yaml +++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_23.yaml @@ -19,83 +19,81 @@ name: config: nodeId: 0x12344321 - cluster: "Basic" + timeout: 330 endpoint: 0 tests: - - label: "Reset DUT_CR1 to factory defaults" - verification: | - - disabled: true + - label: "Factory Reset the DUT_CE" + PICS: PICS_SDK_CI_ONLY + cluster: "SystemCommands" + command: "FactoryReset" - - label: "DUT_CR1 starts a commissioning process with TH_CE" + - label: "Factory Reset the DUT_CE" verification: | - "1. Provision the device using your DUT controller(use above instructions) , - " - disabled: true + Not implemented in YAML + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_SKIP_SAMPLE_APP + arguments: + values: + - name: "message" + value: "Please reboot the DUT and enter 'y' after DUT starts" + - name: "expectedValue" + value: "y" + + - label: "TH_CR1 starts a commissioning process with DUT_CE" + cluster: "DelayCommands" + command: "WaitForCommissionee" + PICS: CADMIN.S.C01.Rsp + arguments: + values: + - name: "nodeId" + value: nodeId + + - label: "TH_CR1 opens a commissioning window on DUT_CE" + cluster: "AdministratorCommissioning" + command: "OpenBasicCommissioningWindow" + PICS: CADMIN.S.C01.Rsp + timedInteractionTimeoutMs: 10000 + arguments: + values: + - name: "CommissioningTimeout" + value: 180 + + - label: "Wait for commissioning Window to 301 seconds" + cluster: "DelayCommands" + command: "WaitForMs" + arguments: + values: + - name: "ms" + value: 181000 - label: - "DUT_CR1 sends command to TH_CE to open a commissioning window with a - commissioning timeout of PIXIT.CADMIN.CwDuration seconds using ECM" - PICS: CADMIN.S.C00.Rsp - verification: | - On your DUT controller chip tool, open commissioning window - - Below is the example when using chip tool as controller - - ./chip-tool pairing open-commissioning-window 1 1 300 1000 3840 - - [1635925713.966786][9695:9700] CHIP:SC: Success status report received. Session was established - [1635925713.966839][9695:9700] CHIP:IN: New secure session created for device 0x0000000000000001, key 33!! - [1635925713.966938][9695:9700] CHIP:CTL: OpenCommissioningWindow for device ID 1 - [1635925713.972601][9695:9700] CHIP:DMG: ICR moving to [AddingComm] - [1635925713.972705][9695:9700] CHIP:DMG: ICR moving to [AddedComma] - [1635925713.972815][9695:9700] CHIP:IN: Prepared encrypted message 0xaaaad9b57d10 to 0x0000000000000001 of type 0x8 and protocolId (0, 1) on exchange 31056i with MessageCounter:0. - [1635925713.972876][9695:9700] CHIP:IN: Sending encrypted msg 0xaaaad9b57d10 with MessageCounter:0 to 0x0000000000000001 at monotonic time: 13449459 msec - [1635925713.973006][9695:9700] CHIP:DMG: ICR moving to [CommandSen] - [1635925713.973061][9695:9700] CHIP:CTL: Manual pairing code: [36217551633] - [1635925713.973120][9695:9700] CHIP:CTL: SetupQRCode: [MT:00000CQM00A7F87ZT10] - [1635925713.973178][9695:9700] CHIP:EM: Sending Standalone Ack for MessageCounter:1964916542 on exchange 31055i - disabled: true - - - label: "THn starts a commissioning process with TH_CE" - verification: | - On nth controller using chip tool connect to the accessory - - - ./chip-tool pairing code 1 36217551633 - - Verify you got below message - Device commissioning completed with success - disabled: true + "TH_CR1 reads the window status to verify the DUT_CE window is closed" + cluster: "AdministratorCommissioning" + command: "readAttribute" + attribute: "WindowStatus" + PICS: CADMIN.S.A0000 + response: + value: 0 + + - label: "TH_CR1 opens a commissioning window on DUT_CE" + cluster: "AdministratorCommissioning" + command: "OpenBasicCommissioningWindow" + PICS: CADMIN.S.C01.Rsp + timedInteractionTimeoutMs: 10000 + arguments: + values: + - name: "CommissioningTimeout" + value: 179 + response: + error: INVALID_COMMAND - label: - "Repeat Step 3 an additional (SupportedFabrics - 2) times to reach an - index value of SupportedFabrics on TH_CE" - PICS: CADMIN.S.C00.Rsp - verification: | - Repeat Step 3 an additional (SupportedFabrics - 2) times to reach an index value of SupportedFabrics on TH_CE - disabled: true - - - label: "THn starts a commissioning process with TH_CE" - verification: | - On nth controller using chip tool connect to the accessory - - - ./chip-tool pairing code 1 36217551633 - - CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008 - [1649756670.402192][10794:10799] CHIP:CTL: Device returned status 5 on receiving the NOC - [1649756670.402221][10794:10799] CHIP:CTL: Add NOC failed with error ../../third_party/connectedhomeip/src/controller/CHIPDeviceController.cpp:1110: CHIP Error 0x0000000B: No memory - [1649756670.402241][10794:10799] CHIP:CTL: Failed to perform commissioning step 12 - disabled: true - - - label: "DUT_CR1 sends command to TH_CE to remove FabricIndex1" - PICS: OPCREDS.C.C0a.Tx - verification: | - on your DUT controller, remove fabric with FabricIndex=1 - - Below is the example when using chip tool as controller - - ./chip-tool operationalcredentials remove-fabric 1 1 0 - disabled: true + "TH_CR1 reads the window status to verify the DUT_CE window is closed" + cluster: "AdministratorCommissioning" + command: "readAttribute" + attribute: "WindowStatus" + PICS: CADMIN.S.A0000 + response: + value: 0 diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_24.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_24.yaml index 2e6441ace1f572..a4ae822ab055b1 100644 --- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_24.yaml +++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_24.yaml @@ -19,104 +19,97 @@ name: config: nodeId: 0x12344321 - cluster: "Basic" + timeout: 330 endpoint: 0 tests: - - label: "Reset DUT_CR1 to factory defaults" - verification: | - - disabled: true + - label: "Factory Reset the DUT_CE" + cluster: "SystemCommands" + PICS: PICS_SDK_CI_ONLY + command: "FactoryReset" - - label: "DUT_CR1 starts a commissioning process with TH_CE" + - label: "Factory Reset the DUT_CE" verification: | - "1. Provision the device using your DUT controller(use above instructions) , - " - disabled: true + Not implemented in YAML + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_SKIP_SAMPLE_APP + arguments: + values: + - name: "message" + value: "Please reboot the DUT and enter 'y' after DUT starts" + - name: "expectedValue" + value: "y" + + - label: "TH_CR1 starts a commissioning process with DUT_CE" + cluster: "DelayCommands" + command: "WaitForCommissionee" + PICS: CADMIN.S.C00.Rsp + arguments: + values: + - name: "nodeId" + value: nodeId + + - label: "TH_CR1 opens a commissioning window on DUT_CE" + cluster: "AdministratorCommissioning" + command: "OpenCommissioningWindow" + PICS: CADMIN.S.C00.Rsp + timedInteractionTimeoutMs: 10000 + arguments: + values: + - name: "CommissioningTimeout" + value: 180 + - name: "PAKEVerifier" + value: "\x06\xc7\x56\xdf\xfc\xd7\x22\x65\x34\x52\xa1\x2d\xcd\x94\x5d\x8c\x54\xda\x2b\x0f\x3c\xbd\x1b\x4d\xc3\xf1\xad\xb2\x23\xae\xb2\x6b\x04\x7c\xd2\x4c\x96\x86\x6f\x97\x9b\x1d\x83\xec\x50\xe2\xb4\xae\x30\xcd\xf2\xfd\xb3\x2b\xd8\xa2\x11\xb8\x37\xdc\x94\xed\xcd\x56\xf4\xd1\x43\x77\x19\x10\x76\xbf\xc5\x9d\x99\xb7\xdd\x30\x53\xef\xd6\xf0\x2c\x44\x34\xf2\xbd\xd2\x7a\xa4\xf9\xce\xa7\x0d\x73\x8e\x4c" + - name: "discriminator" + value: 3840 + - name: "iterations" + value: 1000 + - name: "salt" + value: "SPAKE2P Key Salt" + + - label: "Wait for commissioning Window to 301 seconds" + cluster: "DelayCommands" + command: "WaitForMs" + arguments: + values: + - name: "ms" + value: 181000 - label: - "DUT_CR1 sends command to TH_CE to open a commissioning window with a - commissioning timeout of PIXIT.CADMIN.CwDuration seconds using BCM" - PICS: CADMIN.S.C01.Rsp - verification: | - On your DUT controller chip tool, open commissioning window - - Below is the example when using chip tool as controller - - ./chip-tool administratorcommissioning open-basic-commissioning-window 500 2 0 --timedInteractionTimeoutMs 1000 - - - [CHIP:DMG: InvokeResponseMessage = - [1649756654.928453][3385:3390] CHIP:DMG: { - [1649756654.928511][3385:3390] CHIP:DMG: suppressResponse = false, - [1649756654.928571][3385:3390] CHIP:DMG: InvokeResponseIBs = - [1649756654.928647][3385:3390] CHIP:DMG: [ - [1649756654.928708][3385:3390] CHIP:DMG: InvokeResponseIB = - [1649756654.928794][3385:3390] CHIP:DMG: { - [1649756654.928864][3385:3390] CHIP:DMG: CommandStatusIB = - [1649756654.928948][3385:3390] CHIP:DMG: { - [1649756654.929021][3385:3390] CHIP:DMG: CommandPathIB = - [1649756654.929109][3385:3390] CHIP:DMG: { - [1649756654.929191][3385:3390] CHIP:DMG: EndpointId = 0x0, - [1649756654.929284][3385:3390] CHIP:DMG: ClusterId = 0x3c, - [1649756654.929376][3385:3390] CHIP:DMG: CommandId = 0x1, - [1649756654.929459][3385:3390] CHIP:DMG: }, - [1649756654.929551][3385:3390] CHIP:DMG: - [1649756654.929632][3385:3390] CHIP:DMG: StatusIB = - [1649756654.929720][3385:3390] CHIP:DMG: { - [1649756654.929804][3385:3390] CHIP:DMG: status = 0x00 (SUCCESS), - [1649756654.929878][3385:3390] CHIP:DMG: }, - [1649756654.929946][3385:3390] CHIP:DMG: - [1649756654.930017][3385:3390] CHIP:DMG: }, - [1649756654.930109][3385:3390] CHIP:DMG: - [1649756654.930176][3385:3390] CHIP:DMG: }, - [1649756654.930256][3385:3390] CHIP:DMG: - [1649756654.930314][3385:3390] CHIP:DMG: ], - [1649756654.930389][3385:3390] CHIP:DMG: - [1649756654.930448][3385:3390] CHIP:DMG: InteractionModelRevision = 1 - [1649756654.930555][3385:3390] CHIP:DMG: }, - [1649756654.930703][3385:3390] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0001 Status=0x0 - [1649756654.930801][3385:3390] CHIP:DMG: ICR moving to [AwaitingDe] - disabled: true - - - label: "THn starts a commissioning process with TH_CE" - verification: | - On nth controller using chip tool connect to the accessory - - - ./chip-tool pairing onnetwork 1 20202021 - - Verify you got below message - Device commissioning completed with success - disabled: true + "TH_CR1 reads the window status to verify the DUT_CE window is closed" + cluster: "AdministratorCommissioning" + command: "readAttribute" + attribute: "WindowStatus" + PICS: CADMIN.S.A0000 + response: + value: 0 + + - label: "TH_CR1 opens a commissioning window on DUT_CE" + cluster: "AdministratorCommissioning" + command: "OpenCommissioningWindow" + PICS: CADMIN.S.C00.Rsp + timedInteractionTimeoutMs: 10000 + arguments: + values: + - name: "CommissioningTimeout" + value: 179 + - name: "PAKEVerifier" + value: "\x06\xc7\x56\xdf\xfc\xd7\x22\x65\x34\x52\xa1\x2d\xcd\x94\x5d\x8c\x54\xda\x2b\x0f\x3c\xbd\x1b\x4d\xc3\xf1\xad\xb2\x23\xae\xb2\x6b\x04\x7c\xd2\x4c\x96\x86\x6f\x97\x9b\x1d\x83\xec\x50\xe2\xb4\xae\x30\xcd\xf2\xfd\xb3\x2b\xd8\xa2\x11\xb8\x37\xdc\x94\xed\xcd\x56\xf4\xd1\x43\x77\x19\x10\x76\xbf\xc5\x9d\x99\xb7\xdd\x30\x53\xef\xd6\xf0\x2c\x44\x34\xf2\xbd\xd2\x7a\xa4\xf9\xce\xa7\x0d\x73\x8e\x4c" + - name: "discriminator" + value: 3840 + - name: "iterations" + value: 1000 + - name: "salt" + value: "SPAKE2P Key Salt" + response: + error: INVALID_COMMAND - label: - "Repeat Step 3 an additional (SupportedFabrics - 2) times to reach an - index value of SupportedFabrics on TH_CE" - PICS: CADMIN.S.C01.Rsp - verification: | - Repeat Step 3 an additional (SupportedFabrics - 2) times to reach an index value of SupportedFabrics on TH_CE - disabled: true - - - label: "THn starts a commissioning process with TH_CE" - verification: | - On nth controller using chip tool connect to the accessory - - - ./chip-tool pairing onnetwork 1 20202021 - - CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008 - [1649756670.402192][10794:10799] CHIP:CTL: Device returned status 5 on receiving the NOC - [1649756670.402221][10794:10799] CHIP:CTL: Add NOC failed with error ../../third_party/connectedhomeip/src/controller/CHIPDeviceController.cpp:1110: CHIP Error 0x0000000B: No memory - [1649756670.402241][10794:10799] CHIP:CTL: Failed to perform commissioning step 12 - disabled: true - - - label: "DUT_CR1 sends command to TH_CE to remove FabricIndex1" - PICS: OPCREDS.C.C0a.Tx - verification: | - on your DUT controller, remove fabric with FabricIndex=1 - - Below is the example when using chip tool as controller - - ./chip-tool operationalcredentials remove-fabric 1 1 0 - disabled: true + "TH_CR1 reads the window status to verify the DUT_CE window is closed" + cluster: "AdministratorCommissioning" + command: "readAttribute" + attribute: "WindowStatus" + PICS: CADMIN.S.A0000 + response: + value: 0 diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_3.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_3.yaml index 3e78a8f7712981..ded3a609fba3c4 100644 --- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_3.yaml @@ -79,8 +79,9 @@ tests: type: string maxLength: 32 - - label: "Commission from beta" + - label: "TH_CR2 starts a commissioning process with DUT_CE" identity: "beta" + PICS: CADMIN.S cluster: "CommissionerCommands" command: "PairWithCode" arguments: @@ -90,7 +91,7 @@ tests: - name: "payload" value: payload - - label: "TH_CR2 starts a commissioning process with DUT_CE" + - label: "DUT_CE is commissioned by TH_CR2 on Fabric ID2" PICS: CADMIN.S identity: "beta" cluster: "DelayCommands" @@ -100,7 +101,7 @@ tests: - name: "nodeId" value: nodeId2 - - label: "Query fabrics list" + - label: "TH_CR1 reads the list of Fabrics on DUT_CE" command: "readAttribute" cluster: "Operational Credentials" attribute: "Fabrics" @@ -110,7 +111,7 @@ tests: constraints: type: list - - label: "Query fabrics list" + - label: "TH_CR2 reads the list of Fabrics on DUT_CE" identity: "beta" command: "readAttribute" cluster: "Operational Credentials" @@ -170,7 +171,7 @@ tests: type: string maxLength: 32 - - label: "TH_CR2 opens a commissioning window on DUT_CE" + - label: "TH_CR2 opens a commissioning window on DUT_CE using ECM" cluster: "AdministratorCommissioning" command: "OpenCommissioningWindow" PICS: CADMIN.S.C00.Rsp @@ -206,7 +207,7 @@ tests: response: value: 0 - - label: "TH_CR2 opens a commissioning window on DUT_CE" + - label: "TH_CR2 opens a commissioning window on DUT_CE using ECM" cluster: "AdministratorCommissioning" command: "OpenCommissioningWindow" PICS: CADMIN.S.C00.Rsp @@ -234,7 +235,7 @@ tests: arguments: values: - name: "nodeId" - value: nodeId2 + value: nodeId - name: "payload" value: payload response: diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_4.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_4.yaml index 89dc674ccd3343..9b1183a5825568 100644 --- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_4.yaml @@ -26,7 +26,7 @@ config: defaultValue: 3840 payload: type: CHAR_STRING - defaultValue: "MT:-24J0AFN00KA0648G00" # This value needs to be generated automatically + defaultValue: "MT:-24J0AFN00KA0648G00" tests: - label: "TH_CR1 starts a commissioning process with DUT_CE" @@ -38,7 +38,7 @@ tests: - name: "nodeId" value: nodeId - - label: "TH_CR1 opens a commissioning window on DUT_CE" + - label: "TH_CR1 opens a commissioning window on DUT_CE using BCM" cluster: "AdministratorCommissioning" command: "OpenBasicCommissioningWindow" PICS: CADMIN.S.C01.Rsp @@ -47,6 +47,8 @@ tests: values: - name: "CommissioningTimeout" value: 180 + - name: "discriminator" + value: discriminator - label: "TH_CR1 writes the Basic Information Clusters NodeLabel mandatory @@ -70,10 +72,11 @@ tests: type: string maxLength: 32 - - label: "Commission from beta" + - label: "TH_CR2 starts a commissioning process with DUT_CE" identity: "beta" cluster: "CommissionerCommands" command: "PairWithCode" + PICS: CADMIN.S arguments: values: - name: "nodeId" @@ -81,7 +84,7 @@ tests: - name: "payload" value: payload - - label: "TH_CR2 starts a commissioning process with DUT_CE" + - label: "DUT_CE is commissioned by TH_CR2 on Fabric ID2 " identity: "beta" cluster: "DelayCommands" command: "WaitForCommissionee" @@ -91,7 +94,7 @@ tests: - name: "nodeId" value: nodeId2 - - label: "Query fabrics list" + - label: "TH_CR1 reads the list of Fabrics on DUT_CE" command: "readAttribute" cluster: "Operational Credentials" PICS: OPCREDS.S.A0001 @@ -101,7 +104,7 @@ tests: constraints: type: list - - label: "Query fabrics list" + - label: "TH_CR2 reads the list of Fabrics on DUT_CE" identity: "beta" command: "readAttribute" cluster: "Operational Credentials" @@ -130,6 +133,7 @@ tests: attribute: "NodeLabel" PICS: BINFO.S.A0005 response: + value: "chiptest" constraints: type: string maxLength: 32 @@ -154,11 +158,12 @@ tests: attribute: "NodeLabel" PICS: BINFO.S.A0005 response: + value: "chiptest" constraints: type: string maxLength: 32 - - label: "TH_CR2 opens a commissioning window on DUT_CE" + - label: "TH_CR2 opens a commissioning window on DUT_CE using BCM" cluster: "AdministratorCommissioning" command: "OpenBasicCommissioningWindow" identity: "beta" @@ -168,6 +173,8 @@ tests: values: - name: "CommissioningTimeout" value: 180 + - name: "discriminator" + value: discriminator - label: "Wait for the commissioning window in step 13 to timeout" cluster: "DelayCommands" @@ -186,7 +193,7 @@ tests: response: value: 0 - - label: "TH_CR2 opens a commissioning window on DUT_CE" + - label: "TH_CR2 opens a commissioning window on DUT_CE using BCM" cluster: "AdministratorCommissioning" command: "OpenBasicCommissioningWindow" identity: "beta" @@ -196,6 +203,8 @@ tests: values: - name: "CommissioningTimeout" value: 180 + - name: "discriminator" + value: discriminator - label: "TH_CR1 starts a commissioning process with DUT_CE before the timeout @@ -206,7 +215,7 @@ tests: arguments: values: - name: "nodeId" - value: nodeId2 + value: nodeId - name: "payload" value: payload response: diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_5.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_5.yaml index 9cc106fcfd1952..c7306e025f2268 100644 --- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_5.yaml +++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_5.yaml @@ -46,7 +46,7 @@ tests: - name: "nodeId" value: nodeId - - label: "TH_CR1 opens a new commissioning window on DUT_CE" + - label: "TH_CR1 opens a new commissioning window on DUT_CE using ECM" cluster: "AdministratorCommissioning" command: "OpenCommissioningWindow" PICS: CADMIN.S.C00.Rsp @@ -58,13 +58,13 @@ tests: - name: "PAKEVerifier" value: "\x06\xc7\x56\xdf\xfc\xd7\x22\x65\x34\x52\xa1\x2d\xcd\x94\x5d\x8c\x54\xda\x2b\x0f\x3c\xbd\x1b\x4d\xc3\xf1\xad\xb2\x23\xae\xb2\x6b\x04\x7c\xd2\x4c\x96\x86\x6f\x97\x9b\x1d\x83\xec\x50\xe2\xb4\xae\x30\xcd\xf2\xfd\xb3\x2b\xd8\xa2\x11\xb8\x37\xdc\x94\xed\xcd\x56\xf4\xd1\x43\x77\x19\x10\x76\xbf\xc5\x9d\x99\xb7\xdd\x30\x53\xef\xd6\xf0\x2c\x44\x34\xf2\xbd\xd2\x7a\xa4\xf9\xce\xa7\x0d\x73\x8e\x4c" - name: "discriminator" - value: 3840 + value: discriminator - name: "iterations" value: 1000 - name: "salt" value: "SPAKE2P Key Salt" - - label: "Wait for PIXIT_COMM_WIN(180) + 10 seconds" + - label: "Wait for PIXIT.CADMIN.CwDuration + 10 seconds" cluster: "DelayCommands" command: "WaitForMs" arguments: @@ -86,7 +86,7 @@ tests: response: error: FAILURE - - label: "TH_CR1 opens a new commissioning window on DUT_CE" + - label: "TH_CR1 opens a new commissioning window on DUT_CE using ECM" cluster: "AdministratorCommissioning" command: "OpenCommissioningWindow" PICS: CADMIN.S.C00.Rsp @@ -98,7 +98,7 @@ tests: - name: "PAKEVerifier" value: "\x06\xc7\x56\xdf\xfc\xd7\x22\x65\x34\x52\xa1\x2d\xcd\x94\x5d\x8c\x54\xda\x2b\x0f\x3c\xbd\x1b\x4d\xc3\xf1\xad\xb2\x23\xae\xb2\x6b\x04\x7c\xd2\x4c\x96\x86\x6f\x97\x9b\x1d\x83\xec\x50\xe2\xb4\xae\x30\xcd\xf2\xfd\xb3\x2b\xd8\xa2\x11\xb8\x37\xdc\x94\xed\xcd\x56\xf4\xd1\x43\x77\x19\x10\x76\xbf\xc5\x9d\x99\xb7\xdd\x30\x53\xef\xd6\xf0\x2c\x44\x34\xf2\xbd\xd2\x7a\xa4\xf9\xce\xa7\x0d\x73\x8e\x4c" - name: "discriminator" - value: 3840 + value: discriminator - name: "iterations" value: 1000 - name: "salt" @@ -150,7 +150,7 @@ tests: - label: "TH_CR1 opens a new commissioning window on DUT_CE using wrong - PakeVerifier value" + PakeVerifier value using ECM" cluster: "AdministratorCommissioning" command: "OpenCommissioningWindow" PICS: CADMIN.S.C00.Rsp @@ -162,7 +162,7 @@ tests: - name: "PAKEVerifier" value: "\x06\xc7\x56\xdf\xfc\xd7\x22\x65\x34\x52\xa1\x2d\xcd\x94\x5d\x8c\x54\xda\x2b\x0f\x3c\xbd\x1b\x4d\xc3\xf1\xad\xb2\x23\xae\xb2\x6b\x04\x7c\xd2\x4c\x96\x86\x6f\x97\x9b\x1d\x83\xec\x50\xe2\xb4\xae\x30\xcd\xf2\xfd\xb3\x2b\xd8\xa2\x11\xb8\x37\xdc\x94\xed\xcd\x56\xf4\xd1\x43\x77\x19\x10\x76\xbf\xc5\x9d\x99\xb7\xdd\x30\x53\xef\xd6\xf0\x2c\x44\x34\xf2\xbd\xd2\x7a" - name: "discriminator" - value: 3840 + value: discriminator - name: "iterations" value: 1000 - name: "salt" @@ -170,7 +170,7 @@ tests: response: error: FAILURE - - label: "TH_CR1 opens a new commissioning window on DUT_CE" + - label: "TH_CR1 opens a new commissioning window on DUT_CE using ECM" cluster: "AdministratorCommissioning" command: "OpenCommissioningWindow" PICS: CADMIN.S.C00.Rsp @@ -182,13 +182,13 @@ tests: - name: "PAKEVerifier" value: "\x06\xc7\x56\xdf\xfc\xd7\x22\x65\x34\x52\xa1\x2d\xcd\x94\x5d\x8c\x54\xda\x2b\x0f\x3c\xbd\x1b\x4d\xc3\xf1\xad\xb2\x23\xae\xb2\x6b\x04\x7c\xd2\x4c\x96\x86\x6f\x97\x9b\x1d\x83\xec\x50\xe2\xb4\xae\x30\xcd\xf2\xfd\xb3\x2b\xd8\xa2\x11\xb8\x37\xdc\x94\xed\xcd\x56\xf4\xd1\x43\x77\x19\x10\x76\xbf\xc5\x9d\x99\xb7\xdd\x30\x53\xef\xd6\xf0\x2c\x44\x34\xf2\xbd\xd2\x7a\xa4\xf9\xce\xa7\x0d\x73\x8e\x4c" - name: "discriminator" - value: 3840 + value: discriminator - name: "iterations" value: 1000 - name: "salt" value: "SPAKE2P Key Salt" - - label: "TH_CR1 opens a new commissioning window on DUT_CE" + - label: "TH_CR1 opens another commissioning window on DUT_CE using ECM" cluster: "AdministratorCommissioning" command: "OpenCommissioningWindow" PICS: CADMIN.S.C00.Rsp @@ -200,7 +200,7 @@ tests: - name: "PAKEVerifier" value: "\x06\xc7\x56\xdf\xfc\xd7\x22\x65\x34\x52\xa1\x2d\xcd\x94\x5d\x8c\x54\xda\x2b\x0f\x3c\xbd\x1b\x4d\xc3\xf1\xad\xb2\x23\xae\xb2\x6b\x04\x7c\xd2\x4c\x96\x86\x6f\x97\x9b\x1d\x83\xec\x50\xe2\xb4\xae\x30\xcd\xf2\xfd\xb3\x2b\xd8\xa2\x11\xb8\x37\xdc\x94\xed\xcd\x56\xf4\xd1\x43\x77\x19\x10\x76\xbf\xc5\x9d\x99\xb7\xdd\x30\x53\xef\xd6\xf0\x2c\x44\x34\xf2\xbd\xd2\x7a\xa4\xf9\xce\xa7\x0d\x73\x8e\x4c" - name: "discriminator" - value: 3840 + value: discriminator - name: "iterations" value: 1000 - name: "salt" @@ -210,7 +210,7 @@ tests: #Disabled due to issue 17666 - label: "TH_CR2 starts a commissioning process with DUT_CE" - PICS: PICS_SKIP_SAMPLE_APP && CADMIN.S + PICS: CADMIN.S && PICS_SKIP_SAMPLE_APP identity: "beta" cluster: "CommissionerCommands" command: "PairWithCode" diff --git a/src/app/tests/suites/certification/Test_TC_CC_3_1.yaml b/src/app/tests/suites/certification/Test_TC_CC_3_1.yaml index 3884460ec66651..494d83bb93dd93 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_3_1.yaml @@ -40,7 +40,7 @@ tests: response: value: 1 - - label: "Reads CurrentHue attribute from DUT" + - label: "TH reads CurrentHue attribute from DUT" PICS: CC.S.F00 && CC.S.A0000 command: "readAttribute" attribute: "CurrentHue" @@ -50,7 +50,9 @@ tests: minValue: 0 maxValue: 254 - - label: "Move to hue shortest distance command" + - label: + "TH sends MoveToHue command to DUT another Hue with Direction Shortest + distance and TransitionTime 300" PICS: CC.S.F00 && CC.S.C00.Rsp command: "MoveToHue" arguments: @@ -74,10 +76,8 @@ tests: - name: "ms" value: 5000 - - label: - "Check current hue attribute value matched the value sent by the last - command" - PICS: CC.S.F00 && CC.S.A0000 + - label: "Over TransitionTime, TH reads CurrentHue attribute from DUT" + PICS: CC.S.F00 && CC.S.A0000 && CC.S.C00.Rsp command: "readAttribute" attribute: "CurrentHue" response: @@ -94,10 +94,8 @@ tests: - name: "ms" value: 5000 - - label: - "Check current hue attribute value matched the value sent by the last - command" - PICS: CC.S.F00 && CC.S.A0000 + - label: "Over TransitionTime, TH reads CurrentHue attribute from DUT" + PICS: CC.S.F00 && CC.S.A0000 && CC.S.C00.Rsp command: "readAttribute" attribute: "CurrentHue" response: @@ -114,16 +112,16 @@ tests: - name: "ms" value: 20000 - - label: - "Check current hue attribute value matched the value sent by the last - command" - PICS: CC.S.F00 && CC.S.A0000 + - label: "Over TransitionTime, TH reads CurrentHue attribute from DUT" + PICS: CC.S.F00 && CC.S.A0000 && CC.S.C00.Rsp command: "readAttribute" attribute: "CurrentHue" response: value: 150 - - label: "Move to hue longest distance command" + - label: + "TH sends MoveToHue command to DUT another Hue with Direction Longest + distance and TransitionTime 300" command: "MoveToHue" PICS: CC.S.F00 && CC.S.C00.Rsp arguments: @@ -147,10 +145,8 @@ tests: - name: "ms" value: 5000 - - label: - "Check current hue attribute value matched the value sent by the last - command" - PICS: CC.S.F00 && CC.S.A0000 + - label: "Over TransitionTime, TH reads CurrentHue attribute from DUT." + PICS: CC.S.F00 && CC.S.A0000 && CC.S.C00.Rsp command: "readAttribute" attribute: "CurrentHue" response: @@ -167,10 +163,8 @@ tests: - name: "ms" value: 5000 - - label: - "Check current hue attribute value matched the value sent by the last - command" - PICS: CC.S.F00 && CC.S.A0000 + - label: "Over TransitionTime, TH reads CurrentHue attribute from DUT." + PICS: CC.S.F00 && CC.S.A0000 && CC.S.C00.Rsp command: "readAttribute" attribute: "CurrentHue" response: @@ -187,16 +181,16 @@ tests: - name: "ms" value: 20000 - - label: - "Check current hue attribute value matched the value sent by the last - command" - PICS: CC.S.F00 && CC.S.A0000 + - label: "Over TransitionTime, TH reads CurrentHue attribute from DUT." + PICS: CC.S.F00 && CC.S.A0000 && CC.S.C00.Rsp command: "readAttribute" attribute: "CurrentHue" response: value: 200 - - label: "Move to hue up command" + - label: + "TH sends MoveToHue command to DUT another Hue with Direction Up and + TransitionTime 300" command: "MoveToHue" PICS: CC.S.F00 && CC.S.C00.Rsp arguments: @@ -220,10 +214,8 @@ tests: - name: "ms" value: 5000 - - label: - "Check current hue attribute value matched the value sent by the last - command" - PICS: CC.S.F00 && CC.S.A0000 + - label: "Over TransitionTime, TH reads CurrentHue attribute from DUT" + PICS: CC.S.F00 && CC.S.A0000 && CC.S.C00.Rsp command: "readAttribute" attribute: "CurrentHue" response: @@ -240,10 +232,8 @@ tests: - name: "ms" value: 5000 - - label: - "Check current hue attribute value matched the value sent by the last - command" - PICS: CC.S.F00 && CC.S.A0000 + - label: "Over TransitionTime, TH reads CurrentHue attribute from DUT" + PICS: CC.S.F00 && CC.S.A0000 && CC.S.C00.Rsp command: "readAttribute" attribute: "CurrentHue" response: @@ -260,16 +250,16 @@ tests: - name: "ms" value: 20000 - - label: - "Check current hue attribute value matched the value sent by the last - command" - PICS: CC.S.F00 && CC.S.A0000 + - label: "Over TransitionTime, TH reads CurrentHue attribute from DUT" + PICS: CC.S.F00 && CC.S.A0000 && CC.S.C00.Rsp command: "readAttribute" attribute: "CurrentHue" response: value: 250 - - label: "Move to hue down command" + - label: + "TH sends MoveToHue command to DUT another Hue with Direction Down and + TransitionTime 300" command: "MoveToHue" PICS: CC.S.F00 && CC.S.C00.Rsp arguments: @@ -293,10 +283,8 @@ tests: - name: "ms" value: 5000 - - label: - "Check current hue attribute value matched the value sent by the last - command" - PICS: CC.S.F00 && CC.S.A0000 + - label: "Over TransitionTime, TH reads CurrentHue attribute from DUT" + PICS: CC.S.F00 && CC.S.A0000 && CC.S.C00.Rsp command: "readAttribute" attribute: "CurrentHue" response: @@ -313,10 +301,8 @@ tests: - name: "ms" value: 5000 - - label: - "Check current hue attribute value matched the value sent by the last - command" - PICS: CC.S.F00 && CC.S.A0000 + - label: "Over TransitionTime, TH reads CurrentHue attribute from DUT" + PICS: CC.S.F00 && CC.S.A0000 && CC.S.C00.Rsp command: "readAttribute" attribute: "CurrentHue" response: @@ -333,10 +319,8 @@ tests: - name: "ms" value: 20000 - - label: - "Check current hue attribute value matched the value sent by the last - command" - PICS: CC.S.F00 && CC.S.A0000 + - label: "Over TransitionTime, TH reads CurrentHue attribute from DUT" + PICS: CC.S.F00 && CC.S.A0000 && CC.S.C00.Rsp command: "readAttribute" attribute: "CurrentHue" response: diff --git a/src/app/tests/suites/certification/Test_TC_CC_3_2.yaml b/src/app/tests/suites/certification/Test_TC_CC_3_2.yaml index d6b329366d9624..84daa2adbabb07 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_3_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_3_2.yaml @@ -39,7 +39,7 @@ tests: response: value: 1 - - label: "Reads CurrentHue attribute from DUT" + - label: "TH reads CurrentHue attribute from DUT" command: "readAttribute" PICS: CC.S.F00 && CC.S.A0000 attribute: "CurrentHue" @@ -49,7 +49,7 @@ tests: minValue: 0 maxValue: 254 - - label: "Move hue up command" + - label: "TH sends MoveHue command to DUT with MoveMode Up" PICS: CC.S.F00 && CC.S.C01.Rsp command: "MoveHue" arguments: @@ -71,10 +71,8 @@ tests: - name: "ms" value: 3000 - - label: - "Check current hue attribute value matched the value sent by the last - command" - PICS: CC.S.F00 && CC.S.A0000 + - label: "TH reads CurrentHue attribute from DUT several times" + PICS: CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp command: "readAttribute" attribute: "CurrentHue" response: @@ -91,10 +89,8 @@ tests: - name: "ms" value: 2000 - - label: - "Check current hue attribute value matched the value sent by the last - command" - PICS: CC.S.F00 && CC.S.A0000 + - label: "TH reads CurrentHue attribute from DUT several times" + PICS: CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp command: "readAttribute" attribute: "CurrentHue" response: @@ -111,10 +107,8 @@ tests: - name: "ms" value: 3000 - - label: - "Check current hue attribute value matched the value sent by the last - command" - PICS: CC.S.F00 && CC.S.A0000 + - label: "TH reads CurrentHue attribute from DUT several times" + PICS: CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp command: "readAttribute" attribute: "CurrentHue" response: @@ -123,7 +117,7 @@ tests: minValue: 0 maxValue: 254 - - label: "Move hue stop command" + - label: "TH sends MoveHue command to DUT with MoveMode Stop" PICS: CC.S.F00 && CC.S.C01.Rsp command: "MoveHue" arguments: @@ -145,10 +139,8 @@ tests: - name: "ms" value: 1000 - - label: - "Check current hue attribute value matched the value sent by the last - command" - PICS: CC.S.F00 && CC.S.A0000 + - label: "TH reads CurrentHue attribute from DUT several times" + PICS: CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp command: "readAttribute" attribute: "CurrentHue" response: @@ -166,16 +158,14 @@ tests: - name: "ms" value: 1000 - - label: - "Check current hue attribute value matched the value sent by the last - command" - PICS: CC.S.F00 && CC.S.A0000 + - label: "TH reads CurrentHue attribute from DUT several times" + PICS: CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp command: "readAttribute" attribute: "CurrentHue" response: value: CurrentHueValue - - label: "Move hue down command" + - label: "TH sends MoveHue command to DUT with MoveMode Down" PICS: CC.S.F00 && CC.S.C01.Rsp command: "MoveHue" arguments: @@ -197,10 +187,8 @@ tests: - name: "ms" value: 1000 - - label: - "Check current hue attribute value matched the value sent by the last - command" - PICS: CC.S.F00 && CC.S.A0000 + - label: "TH reads CurrentHue attribute from DUT several times" + PICS: CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp command: "readAttribute" attribute: "CurrentHue" response: @@ -217,10 +205,8 @@ tests: - name: "ms" value: 1000 - - label: - "Check current hue attribute value matched the value sent by the last - command" - PICS: CC.S.F00 && CC.S.A0000 + - label: "TH reads CurrentHue attribute from DUT several times" + PICS: CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp command: "readAttribute" attribute: "CurrentHue" response: @@ -237,10 +223,8 @@ tests: - name: "ms" value: 1000 - - label: - "Check current hue attribute value matched the value sent by the last - command" - PICS: CC.S.F00 && CC.S.A0000 + - label: "TH reads CurrentHue attribute from DUT several times" + PICS: CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp command: "readAttribute" attribute: "CurrentHue" response: @@ -249,7 +233,7 @@ tests: minValue: 0 maxValue: 254 - - label: "Move hue stop command" + - label: "TH sends MoveHue command to DUT with MoveMode Stop" PICS: CC.S.F00 && CC.S.C01.Rsp command: "MoveHue" arguments: @@ -271,10 +255,8 @@ tests: - name: "ms" value: 1000 - - label: - "Check current hue attribute value matched the value sent by the last - command" - PICS: CC.S.F00 && CC.S.A0000 + - label: "TH reads CurrentHue attribute from DUT several times" + PICS: CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp command: "readAttribute" attribute: "CurrentHue" response: @@ -292,10 +274,8 @@ tests: - name: "ms" value: 1000 - - label: - "Check current hue attribute value matched the value sent by the last - command" - PICS: CC.S.F00 && CC.S.A0000 + - label: "TH reads CurrentHue attribute from DUT several times" + PICS: CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp command: "readAttribute" attribute: "CurrentHue" response: diff --git a/src/app/tests/suites/certification/Test_TC_CC_3_3.yaml b/src/app/tests/suites/certification/Test_TC_CC_3_3.yaml index 493f75382237ad..68224f07229f27 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_3_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_3_3.yaml @@ -39,7 +39,7 @@ tests: response: value: 1 - - label: "Reads CurrentHue attribute from DUT" + - label: "TH reads CurrentHue attribute from DUT" PICS: CC.S.F00 && CC.S.A0000 command: "readAttribute" attribute: "CurrentHue" @@ -49,7 +49,7 @@ tests: minValue: 0 maxValue: 254 - - label: "Step hue up command" + - label: "TH sends StepHue command to DUT with StepMode Up" PICS: CC.S.F00 && CC.S.C02.Rsp command: "StepHue" arguments: @@ -74,8 +74,8 @@ tests: - name: "ms" value: 1000 - - label: "Over TransitionTime,Read CurrentHue attribute from DUT" - PICS: CC.S.F00 && CC.S.A0000 + - label: "Over TransitionTime, TH reads CurrentHue attribute from DUT" + PICS: CC.S.F00 && CC.S.A0000 && CC.S.C02.Rsp command: "readAttribute" attribute: "CurrentHue" response: @@ -84,7 +84,7 @@ tests: minValue: 5 maxValue: 254 - - label: "Step hue down command" + - label: "TH sends StepHue command to DUT with StepMode Down" PICS: CC.S.F00 && CC.S.C02.Rsp command: "StepHue" arguments: @@ -108,8 +108,8 @@ tests: - name: "ms" value: 1000 - - label: "Over TransitionTime,Read CurrentHue attribute from DUT" - PICS: CC.S.F00 && CC.S.A0000 + - label: "Over TransitionTime, TH reads CurrentHue attribute from DUT" + PICS: CC.S.F00 && CC.S.A0000 && CC.S.C02.Rsp command: "readAttribute" attribute: "CurrentHue" response: diff --git a/src/app/tests/suites/certification/Test_TC_CC_4_1.yaml b/src/app/tests/suites/certification/Test_TC_CC_4_1.yaml index 7b820c7e855836..297c8c1c200177 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_4_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_4_1.yaml @@ -39,7 +39,7 @@ tests: response: value: 1 - - label: "Check Saturation attribute value matched before any change" + - label: "TH reads CurrentSaturation attribute from DUT" PICS: CC.S.F00 && CC.S.A0001 command: "readAttribute" attribute: "CurrentSaturation" @@ -49,7 +49,7 @@ tests: minValue: 0 maxValue: 254 - - label: "Move to saturation command" + - label: "TH sends MoveToSaturation command to DUT" PICS: CC.S.F00 && CC.S.C03.Rsp command: "MoveToSaturation" arguments: @@ -72,9 +72,8 @@ tests: value: 500 - label: - "Check current saturation attribute value matched the value sent by - the last command" - PICS: CC.S.F00 && CC.S.A0001 + "Over TransitionTime, TH reads CurrentSaturation attribute from DUT." + PICS: CC.S.F00 && CC.S.A0001 && CC.S.C03.Rsp command: "readAttribute" attribute: "CurrentSaturation" response: @@ -92,9 +91,8 @@ tests: value: 500 - label: - "Check current saturation attribute value matched the value sent by - the last command" - PICS: CC.S.F00 && CC.S.A0001 + "Over TransitionTime, TH reads CurrentSaturation attribute from DUT." + PICS: CC.S.F00 && CC.S.A0001 && CC.S.C03.Rsp command: "readAttribute" attribute: "CurrentSaturation" response: @@ -112,9 +110,8 @@ tests: value: 1000 - label: - "Check current saturation attribute value matched the value sent by - the last command" - PICS: CC.S.F00 && CC.S.A0001 + "Over TransitionTime, TH reads CurrentSaturation attribute from DUT." + PICS: CC.S.F00 && CC.S.A0001 && CC.S.C03.Rsp command: "readAttribute" attribute: "CurrentSaturation" response: diff --git a/src/app/tests/suites/certification/Test_TC_CC_4_2.yaml b/src/app/tests/suites/certification/Test_TC_CC_4_2.yaml index b8317f46f546b1..3ed36a5da6b041 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_4_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_4_2.yaml @@ -72,7 +72,7 @@ tests: value: 1000 - label: "TH reads CurrentSaturation attribute from DUT several times" - PICS: CC.S.F00 && CC.S.A0001 + PICS: CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp command: "readAttribute" attribute: "CurrentSaturation" response: @@ -90,7 +90,7 @@ tests: value: 1000 - label: "TH reads CurrentSaturation attribute from DUT several times" - PICS: CC.S.F00 && CC.S.A0001 + PICS: CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp command: "readAttribute" attribute: "CurrentSaturation" response: @@ -108,7 +108,7 @@ tests: value: 1000 - label: "TH reads CurrentSaturation attribute from DUT several times" - PICS: CC.S.F00 && CC.S.A0001 + PICS: CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp command: "readAttribute" attribute: "CurrentSaturation" response: @@ -140,7 +140,7 @@ tests: value: 1000 - label: "TH reads CurrentSaturation attribute from DUT several times." - PICS: CC.S.F00 && CC.S.A0001 + PICS: CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp command: "readAttribute" attribute: "CurrentSaturation" response: @@ -158,7 +158,7 @@ tests: value: 1000 - label: "TH reads CurrentSaturation attribute from DUT several times." - PICS: CC.S.F00 && CC.S.A0001 + PICS: CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp command: "readAttribute" attribute: "CurrentSaturation" response: @@ -176,7 +176,7 @@ tests: value: 1000 - label: "TH reads CurrentSaturation attribute from DUT several times." - PICS: CC.S.F00 && CC.S.A0001 + PICS: CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp command: "readAttribute" attribute: "CurrentSaturation" response: @@ -210,7 +210,7 @@ tests: value: 1000 - label: "TH reads CurrentSaturation attribute from DUT" - PICS: CC.S.F00 && CC.S.A0001 + PICS: CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp command: "readAttribute" attribute: "CurrentSaturation" response: @@ -244,7 +244,7 @@ tests: value: 1000 - label: "TH reads CurrentSaturation attribute from DUT." - PICS: CC.S.F00 && CC.S.A0001 + PICS: CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp command: "readAttribute" attribute: "CurrentSaturation" response: @@ -263,7 +263,7 @@ tests: value: 1000 - label: "CurrentSaturation value Stops incrementing" - PICS: CC.S.F00 && CC.S.A0001 + PICS: CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp command: "readAttribute" attribute: "CurrentSaturation" response: @@ -294,7 +294,7 @@ tests: value: 1000 - label: "TH reads CurrentSaturation attribute from DUT several times." - PICS: CC.S.F00 && CC.S.A0001 + PICS: CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp command: "readAttribute" attribute: "CurrentSaturation" response: @@ -313,7 +313,7 @@ tests: value: 1000 - label: "TH reads CurrentSaturation attribute from DUT several times." - PICS: CC.S.F00 && CC.S.A0001 + PICS: CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp command: "readAttribute" attribute: "CurrentSaturation" response: @@ -347,7 +347,7 @@ tests: value: 1000 - label: "TH reads CurrentSaturation attribute from DUT" - PICS: CC.S.F00 && CC.S.A0001 + PICS: CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp command: "readAttribute" attribute: "CurrentSaturation" response: @@ -366,7 +366,7 @@ tests: value: 1000 - label: "CurrentSaturation value Stops decrementing" - PICS: CC.S.F00 && CC.S.A0001 + PICS: CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp command: "readAttribute" attribute: "CurrentSaturation" response: diff --git a/src/app/tests/suites/certification/Test_TC_CC_4_3.yaml b/src/app/tests/suites/certification/Test_TC_CC_4_3.yaml index 27aa46fcfabcc8..d66a60978a4a10 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_4_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_4_3.yaml @@ -75,7 +75,7 @@ tests: value: 1000 - label: "Over TransitionTime,TH read CurrentSaturation attribute from DUT" - PICS: CC.S.F00 && CC.S.A0001 + PICS: CC.S.F00 && CC.S.A0001 && CC.S.C05.Rsp command: "readAttribute" attribute: "CurrentSaturation" response: @@ -109,7 +109,7 @@ tests: value: 1000 - label: "Over TransitionTime,TH reads CurrentSaturation attribute from DUT" - PICS: CC.S.F00 && CC.S.A0001 + PICS: CC.S.F00 && CC.S.A0001 && CC.S.C05.Rsp command: "readAttribute" attribute: "CurrentSaturation" response: diff --git a/src/app/tests/suites/certification/Test_TC_CC_4_4.yaml b/src/app/tests/suites/certification/Test_TC_CC_4_4.yaml index 45609eb2840b78..d2ae7c41b0d3eb 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_4_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_4_4.yaml @@ -85,7 +85,7 @@ tests: value: 1000 - label: "Over TransitionTime, TH reads CurrentHue attribute from DUT" - PICS: CC.S.F01 && CC.S.A0000 + PICS: CC.S.F01 && CC.S.A0000 && CC.S.C06.Rsp command: "readAttribute" attribute: "CurrentHue" response: @@ -96,7 +96,7 @@ tests: - label: "Over TransitionTime, TH reads CurrentSaturation attribute from DUT" - PICS: CC.S.F01 && CC.S.A0001 + PICS: CC.S.F01 && CC.S.A0001 && CC.S.C06.Rsp command: "readAttribute" attribute: "CurrentSaturation" response: diff --git a/src/app/tests/suites/certification/Test_TC_CC_5_1.yaml b/src/app/tests/suites/certification/Test_TC_CC_5_1.yaml index 512fc6ac2965ac..60db8c7c0dd9b6 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_5_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_5_1.yaml @@ -84,7 +84,7 @@ tests: value: 1500 - label: "Over TransitionTime, TH reads CurrentX attribute from DUT" - PICS: CC.S.F03 && CC.S.A0003 + PICS: CC.S.F03 && CC.S.A0003 && CC.S.C07.Rsp command: "readAttribute" attribute: "CurrentX" response: @@ -95,7 +95,7 @@ tests: maxValue: 65279 - label: "Over TransitionTime, TH reads CurrentY attribute from DUT" - PICS: CC.S.F03 && CC.S.A0004 + PICS: CC.S.F03 && CC.S.A0004 && CC.S.C07.Rsp command: "readAttribute" attribute: "CurrentY" response: diff --git a/src/app/tests/suites/certification/Test_TC_CC_5_2.yaml b/src/app/tests/suites/certification/Test_TC_CC_5_2.yaml index fb65dab348c3ec..37a7803236b957 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_5_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_5_2.yaml @@ -82,7 +82,7 @@ tests: value: 1000 - label: "TH reads CurrentX attribute from DUT" - PICS: CC.S.F03 && CC.S.A0003 + PICS: CC.S.F03 && CC.S.A0003 && CC.S.C08.Rsp command: "readAttribute" attribute: "CurrentX" response: @@ -92,7 +92,7 @@ tests: maxValue: 65279 - label: "TH reads CurrentY attribute from DUT" - PICS: CC.S.F03 && CC.S.A0004 + PICS: CC.S.F03 && CC.S.A0004 && CC.S.C08.Rsp command: "readAttribute" attribute: "CurrentY" response: @@ -112,7 +112,7 @@ tests: value: 0 - label: "TH reads CurrentX attribute from DUT" - PICS: CC.S.F03 && CC.S.A0003 + PICS: CC.S.F03 && CC.S.A0003 && CC.S.C47.Rsp command: "readAttribute" attribute: "CurrentX" response: @@ -122,7 +122,7 @@ tests: maxValue: 65279 - label: "TH reads CurrentY attribute from DUT" - PICS: CC.S.F03 && CC.S.A0004 + PICS: CC.S.F03 && CC.S.A0004 && CC.S.C47.Rsp command: "readAttribute" attribute: "CurrentY" response: diff --git a/src/app/tests/suites/certification/Test_TC_CC_5_3.yaml b/src/app/tests/suites/certification/Test_TC_CC_5_3.yaml index 0af6ac0f279197..36da57449a9448 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_5_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_5_3.yaml @@ -84,7 +84,7 @@ tests: value: 1000 - label: "Over TransitionTime, TH reads CurrentX attribute from DUT" - PICS: CC.S.F03 && CC.S.A0003 + PICS: CC.S.F03 && CC.S.A0003 && CC.S.C09.Rsp command: "readAttribute" attribute: "CurrentX" response: @@ -94,7 +94,7 @@ tests: maxValue: 65279 - label: "Over TransitionTime, TH reads CurrentY attribute from DUT" - PICS: CC.S.F03 && CC.S.A0004 + PICS: CC.S.F03 && CC.S.A0004 && CC.S.C09.Rsp command: "readAttribute" attribute: "CurrentY" response: diff --git a/src/app/tests/suites/certification/Test_TC_CC_6_1.yaml b/src/app/tests/suites/certification/Test_TC_CC_6_1.yaml index 19ee17ef5aa102..2b068130234d2c 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_6_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_6_1.yaml @@ -79,7 +79,7 @@ tests: arguments: values: - name: "colorTemperature" - value: 100 + value: ColorTempPhysicalMaxMiredsValue - name: "TransitionTime" value: 10 - name: "OptionsMask" @@ -100,7 +100,7 @@ tests: command: "readAttribute" attribute: "ColorTemperature" response: - value: 100 + value: ColorTempPhysicalMaxMiredsValue constraints: type: uint16 minValue: ColorTempPhysicalMinMiredsValue diff --git a/src/app/tests/suites/certification/Test_TC_CC_6_2.yaml b/src/app/tests/suites/certification/Test_TC_CC_6_2.yaml index c8757584ef0127..3cc7effdef61b1 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_6_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_6_2.yaml @@ -99,7 +99,7 @@ tests: value: 1000 - label: "Read current color temprature attribute from DUT several times" - PICS: CC.S.F04 && CC.S.A0007 + PICS: CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp command: "readAttribute" attribute: "ColorTemperature" response: @@ -117,7 +117,7 @@ tests: value: 1000 - label: "Read current color temprature attribute from DUT several times" - PICS: CC.S.F04 && CC.S.A0007 + PICS: CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp command: "readAttribute" attribute: "ColorTemperature" response: @@ -135,7 +135,7 @@ tests: value: 1000 - label: "Read current color temprature attribute from DUT several times" - PICS: CC.S.F04 && CC.S.A0007 + PICS: CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp command: "readAttribute" attribute: "ColorTemperature" response: @@ -171,7 +171,7 @@ tests: value: 1000 - label: "Read current color temprature attribute from DUT several times" - PICS: CC.S.F04 && CC.S.A0007 + PICS: CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp command: "readAttribute" attribute: "ColorTemperature" response: @@ -189,7 +189,7 @@ tests: value: 1000 - label: "Read current color temprature attribute from DUT several times" - PICS: CC.S.F04 && CC.S.A0007 + PICS: CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp command: "readAttribute" attribute: "ColorTemperature" response: @@ -207,7 +207,7 @@ tests: value: 1000 - label: "Read current color temprature attribute from DUT several times" - PICS: CC.S.F04 && CC.S.A0007 + PICS: CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp command: "readAttribute" attribute: "ColorTemperature" response: @@ -261,7 +261,7 @@ tests: value: 1000 - label: "Read current color temprature attribute from DUT several times" - PICS: CC.S.F04 && CC.S.A0007 + PICS: CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp command: "readAttribute" attribute: "ColorTemperature" response: @@ -280,7 +280,7 @@ tests: value: 1000 - label: "Read current color temprature attribute from DUT several times" - PICS: CC.S.F04 && CC.S.A0007 + PICS: CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp command: "readAttribute" attribute: "ColorTemperature" response: @@ -299,7 +299,7 @@ tests: value: 1000 - label: "Read current color temprature attribute from DUT several times" - PICS: CC.S.F04 && CC.S.A0007 + PICS: CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp command: "readAttribute" attribute: "ColorTemperature" response: @@ -354,7 +354,7 @@ tests: value: 1000 - label: "Read current color temprature attribute from DUT several times" - PICS: CC.S.F04 && CC.S.A0007 + PICS: CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp command: "readAttribute" attribute: "ColorTemperature" response: @@ -373,7 +373,7 @@ tests: value: 1000 - label: "Read current color temprature attribute from DUT several times" - PICS: CC.S.F04 && CC.S.A0007 + PICS: CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp command: "readAttribute" attribute: "ColorTemperature" response: @@ -392,7 +392,7 @@ tests: value: 1000 - label: "Read current color temprature attribute from DUT several times" - PICS: CC.S.F04 && CC.S.A0007 + PICS: CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp command: "readAttribute" attribute: "ColorTemperature" response: diff --git a/src/app/tests/suites/certification/Test_TC_CC_6_3.yaml b/src/app/tests/suites/certification/Test_TC_CC_6_3.yaml index 75c811bf9765fc..7b667e0ec601a2 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_6_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_6_3.yaml @@ -101,7 +101,7 @@ tests: value: 500 - label: "TH reads ColorTemperatureMireds attribute from DUT several times" - PICS: CC.S.F04 && CC.S.A0007 + PICS: CC.S.F04 && CC.S.A0007 && CC.S.C4C.Rsp command: "readAttribute" attribute: "ColorTemperature" response: @@ -119,7 +119,7 @@ tests: value: 500 - label: "TH reads ColorTemperatureMireds attribute from DUT several times" - PICS: CC.S.F04 && CC.S.A0007 + PICS: CC.S.F04 && CC.S.A0007 && CC.S.C4C.Rsp command: "readAttribute" attribute: "ColorTemperature" response: @@ -137,7 +137,7 @@ tests: value: 500 - label: "TH reads ColorTemperatureMireds attribute from DUT several times" - PICS: CC.S.F04 && CC.S.A0007 + PICS: CC.S.F04 && CC.S.A0007 && CC.S.C4C.Rsp command: "readAttribute" attribute: "ColorTemperature" response: @@ -175,7 +175,7 @@ tests: value: 500 - label: "TH reads ColorTemperatureMireds attribute from DUT several times" - PICS: CC.S.F04 && CC.S.A0007 + PICS: CC.S.F04 && CC.S.A0007 && CC.S.C4C.Rsp command: "readAttribute" attribute: "ColorTemperature" response: @@ -193,7 +193,7 @@ tests: value: 500 - label: "TH reads ColorTemperatureMireds attribute from DUT several times" - PICS: CC.S.F04 && CC.S.A0007 + PICS: CC.S.F04 && CC.S.A0007 && CC.S.C4C.Rsp command: "readAttribute" attribute: "ColorTemperature" response: @@ -211,7 +211,7 @@ tests: value: 500 - label: "TH reads ColorTemperatureMireds attribute from DUT several times" - PICS: CC.S.F04 && CC.S.A0007 + PICS: CC.S.F04 && CC.S.A0007 && CC.S.C4C.Rsp command: "readAttribute" attribute: "ColorTemperature" response: diff --git a/src/app/tests/suites/certification/Test_TC_CC_7_1.yaml b/src/app/tests/suites/certification/Test_TC_CC_7_1.yaml index 58979af157d6e7..a20be46e8fcd99 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_7_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_7_1.yaml @@ -57,7 +57,7 @@ tests: value: 0 - label: "TH reads EnhancedCurrentHue attribute from DUT" - PICS: CC.S.F01 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp command: "readAttribute" attribute: "EnhancedCurrentHue" response: @@ -91,7 +91,7 @@ tests: value: 5500 - label: "TH reads EnhancedCurrentHue attribute from DUT periodically" - PICS: CC.S.F01 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp command: "readAttribute" attribute: "EnhancedCurrentHue" response: @@ -109,7 +109,7 @@ tests: value: 5500 - label: "TH reads EnhancedCurrentHue attribute from DUT periodically" - PICS: CC.S.F01 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp command: "readAttribute" attribute: "EnhancedCurrentHue" response: @@ -127,7 +127,7 @@ tests: value: 20000 - label: "TH reads EnhancedCurrentHue attribute from DUT periodically" - PICS: CC.S.F01 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp command: "readAttribute" attribute: "EnhancedCurrentHue" response: @@ -162,7 +162,7 @@ tests: value: 5500 - label: "TH reads EnhancedCurrentHue attribute from DUT periodically" - PICS: CC.S.F01 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp command: "readAttribute" attribute: "EnhancedCurrentHue" response: @@ -180,7 +180,7 @@ tests: value: 5500 - label: "TH reads EnhancedCurrentHue attribute from DUT periodically" - PICS: CC.S.F01 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp command: "readAttribute" attribute: "EnhancedCurrentHue" response: @@ -198,7 +198,7 @@ tests: value: 20000 - label: "TH reads EnhancedCurrentHue attribute from DUT periodically" - PICS: CC.S.F01 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp command: "readAttribute" attribute: "EnhancedCurrentHue" response: @@ -233,7 +233,7 @@ tests: value: 5500 - label: "TH reads EnhancedCurrentHue attribute from DUT periodically" - PICS: CC.S.F01 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp command: "readAttribute" attribute: "EnhancedCurrentHue" response: @@ -251,7 +251,7 @@ tests: value: 5500 - label: "TH reads EnhancedCurrentHue attribute from DUT periodically" - PICS: CC.S.F01 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp command: "readAttribute" attribute: "EnhancedCurrentHue" response: @@ -269,7 +269,7 @@ tests: value: 20000 - label: "TH reads EnhancedCurrentHue attribute from DUT periodically" - PICS: CC.S.F01 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp command: "readAttribute" attribute: "EnhancedCurrentHue" response: @@ -304,7 +304,7 @@ tests: value: 5500 - label: "TH reads EnhancedCurrentHue attribute from DUT periodically" - PICS: CC.S.F01 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp command: "readAttribute" attribute: "EnhancedCurrentHue" response: @@ -322,7 +322,7 @@ tests: value: 5500 - label: "TH reads EnhancedCurrentHue attribute from DUT periodically" - PICS: CC.S.F01 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp command: "readAttribute" attribute: "EnhancedCurrentHue" response: @@ -340,7 +340,7 @@ tests: value: 20000 - label: "TH reads EnhancedCurrentHue attribute from DUT periodically" - PICS: CC.S.F01 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp command: "readAttribute" attribute: "EnhancedCurrentHue" response: diff --git a/src/app/tests/suites/certification/Test_TC_CC_7_2.yaml b/src/app/tests/suites/certification/Test_TC_CC_7_2.yaml index 5fc32f48434c2b..8f872730f41126 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_7_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_7_2.yaml @@ -72,7 +72,7 @@ tests: value: 1000 - label: "TH reads EnhancedCurrentHue attribute from DUT several times." - PICS: CC.S.F01 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.A4000 && CC.S.C41.Rsp command: "readAttribute" attribute: "EnhancedCurrentHue" response: @@ -90,7 +90,7 @@ tests: value: 1000 - label: "TH reads EnhancedCurrentHue attribute from DUT several times." - PICS: CC.S.F01 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.A4000 && CC.S.C41.Rsp command: "readAttribute" attribute: "EnhancedCurrentHue" response: @@ -108,7 +108,7 @@ tests: value: 1000 - label: "TH reads EnhancedCurrentHue attribute from DUT several times." - PICS: CC.S.F01 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.A4000 && CC.S.C41.Rsp command: "readAttribute" attribute: "EnhancedCurrentHue" response: @@ -132,7 +132,7 @@ tests: value: 0 - label: "TH reads EnhancedCurrentHue attribute from DUT several times" - PICS: CC.S.F01 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.A4000 && CC.S.C41.Rsp command: "readAttribute" attribute: "EnhancedCurrentHue" response: @@ -164,7 +164,7 @@ tests: value: 500 - label: "TH reads EnhancedCurrentHue attribute from DUT several times" - PICS: CC.S.F01 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.A4000 && CC.S.C41.Rsp command: "readAttribute" attribute: "EnhancedCurrentHue" response: @@ -182,7 +182,7 @@ tests: value: 500 - label: "TH reads EnhancedCurrentHue attribute from DUT several times" - PICS: CC.S.F01 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.A4000 && CC.S.C41.Rsp command: "readAttribute" attribute: "EnhancedCurrentHue" response: @@ -200,7 +200,7 @@ tests: value: 500 - label: "TH reads EnhancedCurrentHue attribute from DUT several times" - PICS: CC.S.F01 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.A4000 && CC.S.C41.Rsp command: "readAttribute" attribute: "EnhancedCurrentHue" response: @@ -224,7 +224,7 @@ tests: value: 0 - label: "TH reads EnhancedCurrentHue attribute from DUT several times." - PICS: CC.S.F01 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.A4000 && CC.S.C41.Rsp command: "readAttribute" attribute: "EnhancedCurrentHue" response: diff --git a/src/app/tests/suites/certification/Test_TC_CC_7_3.yaml b/src/app/tests/suites/certification/Test_TC_CC_7_3.yaml index d2054dd100c021..32a28ba65a1f09 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_7_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_7_3.yaml @@ -75,7 +75,7 @@ tests: - label: "Over TransitionTime,Read EnhancedCurrentHue attribute from DUT" command: "readAttribute" - PICS: CC.S.F01 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.A4000 && CC.S.C42.Rsp attribute: "EnhancedCurrentHue" response: constraints: @@ -109,7 +109,7 @@ tests: - label: "Over TransitionTime,Read EnhancedCurrentHue attribute from DUT" command: "readAttribute" - PICS: CC.S.F01 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.A4000 && CC.S.C42.Rsp attribute: "EnhancedCurrentHue" response: constraints: diff --git a/src/app/tests/suites/certification/Test_TC_CC_7_4.yaml b/src/app/tests/suites/certification/Test_TC_CC_7_4.yaml index 9b4068a4fad660..dac1cc25ce9a1f 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_7_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_7_4.yaml @@ -78,7 +78,7 @@ tests: - label: "Check EnhancedCurrentHue attribute value matched the value sent by the last command" - PICS: CC.S.F01 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.A4000 && CC.S.C43.Rsp command: "readAttribute" attribute: "EnhancedCurrentHue" response: diff --git a/src/app/tests/suites/certification/Test_TC_CC_8_1.yaml b/src/app/tests/suites/certification/Test_TC_CC_8_1.yaml index d05d0a49ed19d7..1d57ead0895230 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_8_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_8_1.yaml @@ -40,7 +40,7 @@ tests: value: 1 - label: "TH sends MoveHue command to DUT" - PICS: CC.S.C01.Rsp + PICS: CC.S.C01.Rsp && CC.S.F00 command: "MoveHue" arguments: values: @@ -54,7 +54,7 @@ tests: value: 0 - label: "TH reads CurrentHue attribute from DUT" - PICS: CC.S.A0000 + PICS: CC.S.A0000 && CC.S.C01.Rsp && CC.S.F00 command: "readAttribute" attribute: "CurrentHue" response: @@ -64,7 +64,7 @@ tests: maxValue: 254 - label: "TH sends StopMoveStep command to DUT" - PICS: CC.S.C47.Rsp + PICS: CC.S.C47.Rsp && CC.S.F00 command: "StopMoveStep" arguments: values: @@ -74,7 +74,7 @@ tests: value: 0 - label: "TH reads CurrentHue attribute from DUT" - PICS: CC.S.A0000 + PICS: CC.S.A0000 && CC.S.C47.Rsp && CC.S.F00 command: "readAttribute" attribute: "CurrentHue" response: @@ -93,7 +93,7 @@ tests: value: 100 - label: "TH reads CurrentHue attribute from DUT" - PICS: CC.S.A0000 + PICS: CC.S.A0000 && CC.S.C47.Rsp && CC.S.F00 command: "readAttribute" attribute: "CurrentHue" response: @@ -104,7 +104,7 @@ tests: maxValue: 254 - label: "TH sends MoveSaturation command to DUT" - PICS: CC.S.C04.Rsp + PICS: CC.S.C04.Rsp && CC.S.F00 command: "MoveSaturation" arguments: values: @@ -118,7 +118,7 @@ tests: value: 0 - label: "TH reads CurrentSaturation attribute from DUT" - PICS: CC.S.A0001 + PICS: CC.S.A0001 && CC.S.C04.Rsp && CC.S.F00 command: "readAttribute" attribute: "CurrentSaturation" response: @@ -128,7 +128,7 @@ tests: maxValue: 254 - label: "TH sends StopMoveStep command to DUT" - PICS: CC.S.C47.Rsp + PICS: CC.S.C47.Rsp && CC.S.F00 command: "StopMoveStep" arguments: values: @@ -139,7 +139,7 @@ tests: - label: "TH reads CurrentSaturation attribute from DUT" command: "readAttribute" - PICS: CC.S.A0001 + PICS: CC.S.A0001 && CC.S.C47.Rsp && CC.S.F00 attribute: "CurrentSaturation" response: saveAs: CurrentSaturationValue @@ -157,7 +157,7 @@ tests: value: 100 - label: "TH reads CurrentSaturation attribute from DUT" - PICS: CC.S.A0001 + PICS: CC.S.A0001 && CC.S.C47.Rsp && CC.S.F00 command: "readAttribute" attribute: "CurrentSaturation" response: @@ -168,7 +168,7 @@ tests: maxValue: 254 - label: "TH sends MoveColor command to DUT" - PICS: CC.S.C08.Rsp + PICS: CC.S.C08.Rsp && CC.S.F03 command: "MoveColor" arguments: values: @@ -182,7 +182,7 @@ tests: value: 0 - label: "TH reads CurrentX attribute from DUT" - PICS: CC.S.A0003 + PICS: CC.S.A0003 && CC.S.C08.Rsp && CC.S.F03 command: "readAttribute" attribute: "CurrentX" response: @@ -192,7 +192,7 @@ tests: maxValue: 65279 - label: "TH reads CurrentY attribute from DUT" - PICS: CC.S.A0004 + PICS: CC.S.A0004 && CC.S.C08.Rsp && CC.S.F03 command: "readAttribute" attribute: "CurrentY" response: @@ -202,7 +202,7 @@ tests: maxValue: 65279 - label: "TH sends StopMoveStep command to DUT" - PICS: CC.S.C47.Rsp + PICS: CC.S.C47.Rsp && CC.S.F03 command: "StopMoveStep" arguments: values: @@ -212,7 +212,7 @@ tests: value: 0 - label: "TH reads CurrentX attribute from DUT" - PICS: CC.S.A0003 + PICS: CC.S.A0003 && CC.S.C47.Rsp && CC.S.F03 command: "readAttribute" attribute: "CurrentX" response: @@ -223,7 +223,7 @@ tests: maxValue: 65279 - label: "TH reads CurrentY attribute from DUT" - PICS: CC.S.A0004 + PICS: CC.S.A0004 && CC.S.C47.Rsp && CC.S.F03 command: "readAttribute" attribute: "CurrentY" response: @@ -242,7 +242,7 @@ tests: value: 100 - label: "TH reads CurrentY attribute from DUT" - PICS: CC.S.A0003 + PICS: CC.S.A0003 && CC.S.C47.Rsp && CC.S.F03 command: "readAttribute" attribute: "CurrentX" response: @@ -253,7 +253,7 @@ tests: maxValue: 65279 - label: "TH reads CurrentY attribute from DUT" - PICS: CC.S.A0004 + PICS: CC.S.A0004 && CC.S.C47.Rsp && CC.S.F03 command: "readAttribute" attribute: "CurrentY" response: @@ -264,7 +264,7 @@ tests: maxValue: 65279 - label: "TH sends MoveColorTemperature command to DUT" - PICS: CC.S.C4B.Rsp + PICS: CC.S.C4B.Rsp && CC.S.F04 command: "MoveColorTemperature" arguments: values: @@ -282,7 +282,7 @@ tests: value: 0 - label: "TH reads ColorTemperatureMireds attribute from DUT" - PICS: CC.S.A0007 + PICS: CC.S.A0007 && CC.S.C4B.Rsp && CC.S.F04 command: "readAttribute" attribute: "ColorTemperature" response: @@ -292,7 +292,7 @@ tests: maxValue: 65279 - label: "TH sends StopMoveStep command to DUT" - PICS: CC.S.C47.Rsp + PICS: CC.S.C47.Rsp && CC.S.F04 command: "StopMoveStep" arguments: values: @@ -302,7 +302,7 @@ tests: value: 0 - label: "TH reads ColorTemperatureMireds attribute from DUT" - PICS: CC.S.A0007 + PICS: CC.S.A0007 && CC.S.C47.Rsp && CC.S.F04 command: "readAttribute" attribute: "ColorTemperature" response: @@ -323,7 +323,7 @@ tests: - label: "Reads current color attribute value matched the value sent by the last attribute" - PICS: CC.S.A0007 + PICS: CC.S.A0007 && CC.S.C47.Rsp && CC.S.F04 command: "readAttribute" attribute: "ColorTemperature" response: @@ -334,7 +334,7 @@ tests: maxValue: 65279 - label: "TH sends EnhancedMoveHue command to DUT." - PICS: CC.S.C41.Rsp + PICS: CC.S.C41.Rsp && CC.S.F01 command: "EnhancedMoveHue" arguments: values: @@ -348,7 +348,7 @@ tests: value: 0 - label: "TH reads EnhancedCurrentHue attribute from DUT" - PICS: CC.S.A4000 + PICS: CC.S.A4000 && CC.S.C41.Rsp && CC.S.F01 command: "readAttribute" attribute: "EnhancedCurrentHue" response: @@ -358,7 +358,7 @@ tests: maxValue: 65535 - label: "TH sends StopMoveStep command to DUT" - PICS: CC.S.C47.Rsp + PICS: CC.S.C47.Rsp && CC.S.F01 command: "StopMoveStep" arguments: values: @@ -368,7 +368,7 @@ tests: value: 0 - label: "TH reads EnhancedCurrentHue attribute from DUT" - PICS: CC.S.A4000 + PICS: CC.S.A4000 && CC.S.C47.Rsp && CC.S.F01 command: "readAttribute" attribute: "EnhancedCurrentHue" response: @@ -387,7 +387,7 @@ tests: value: 100 - label: "TH reads EnhancedCurrentHue attribute from DUT" - PICS: CC.S.A4000 + PICS: CC.S.A4000 && CC.S.C47.Rsp && CC.S.F01 command: "readAttribute" attribute: "EnhancedCurrentHue" response: diff --git a/src/app/tests/suites/certification/Test_TC_CC_9_1.yaml b/src/app/tests/suites/certification/Test_TC_CC_9_1.yaml index 30ab329b518a5f..293bfbc24c1ada 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_9_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_9_1.yaml @@ -45,7 +45,7 @@ tests: "Precondition : Set DUT EnhancedCurrentHue to 0x4000 using EnhancedMoveToHue command" command: "EnhancedMoveToHue" - PICS: CC.S.C40.Rsp + PICS: CC.S.F02 && CC.S.F01 && CC.S.C40.Rsp arguments: values: - name: "enhancedHue" @@ -69,7 +69,7 @@ tests: - label: "Sends ColorLoopSet Command - Set all Attributes" command: "ColorLoopSet" - PICS: CC.S.C44.Rsp + PICS: CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp arguments: values: - name: "updateFlags" @@ -90,13 +90,13 @@ tests: - label: "Read ColorLoopActive attribute from DUT" command: "readAttribute" attribute: "ColorLoopActive" - PICS: CC.S.A4002 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4002 && CC.S.C44.Rsp response: value: 0 - label: "Sends ColorLoopSet Command - Set all Attributes" command: "ColorLoopSet" - PICS: CC.S.C44.Rsp + PICS: CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp arguments: values: - name: "updateFlags" @@ -117,13 +117,13 @@ tests: - label: "Read ColorLoopDirection attribute from DUT" command: "readAttribute" attribute: "ColorLoopDirection" - PICS: CC.S.A4003 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4003 && CC.S.C44.Rsp response: value: 0 - label: "Sends ColorLoopSet Command - Set all Attributes" command: "ColorLoopSet" - PICS: CC.S.C44.Rsp + PICS: CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp arguments: values: - name: "updateFlags" @@ -144,13 +144,13 @@ tests: - label: "Read ColorLoopTime attribute from DUT" command: "readAttribute" attribute: "ColorLoopTime" - PICS: CC.S.A4004 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4004 && CC.S.C44.Rsp response: value: 30 - label: "Sends ColorLoopSet Command - Set all Attributes" command: "ColorLoopSet" - PICS: CC.S.C44.Rsp + PICS: CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp arguments: values: - name: "updateFlags" @@ -171,13 +171,13 @@ tests: - label: "Read ColorLoopStartEnhancedHue attribute from DUT" command: "readAttribute" attribute: "ColorLoopStartEnhancedHue" - PICS: CC.S.A4005 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4005 && CC.S.C44.Rsp response: value: 160 - label: "Sends ColorLoopSet Command - Set all Attributes" command: "ColorLoopSet" - PICS: CC.S.C44.Rsp + PICS: CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp arguments: values: - name: "updateFlags" @@ -198,14 +198,14 @@ tests: - label: "Read ColorLoopActive attribute from DUT" command: "readAttribute" attribute: "ColorLoopActive" - PICS: CC.S.A4002 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4002 && CC.S.C44.Rsp response: value: 1 - label: "Read ColorLoopStoredEnhancedHue attribute from DUT" command: "readAttribute" attribute: "ColorLoopStoredEnhancedHue" - PICS: CC.S.A4006 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4006 && CC.S.C40.Rsp response: value: 16384 @@ -220,14 +220,14 @@ tests: - label: "Read ColorLoopStartEnhancedHue attribute from DUT" command: "readAttribute" attribute: "ColorLoopStartEnhancedHue" - PICS: CC.S.A4005 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4005 && CC.S.C44.Rsp response: saveAs: ColorLoopStartEnhancedHueStep5d - label: "Read EnhancedCurrentHue attribute from DUT" command: "readAttribute" attribute: "EnhancedCurrentHue" - PICS: CC.S.A4000 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4000 && CC.S.C44.Rsp response: constraints: type: uint16 @@ -245,7 +245,7 @@ tests: - label: "Read EnhancedCurrentHue attribute from DUT" command: "readAttribute" attribute: "EnhancedCurrentHue" - PICS: CC.S.A4000 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4000 && CC.S.C44.Rsp response: constraints: type: uint16 @@ -254,7 +254,7 @@ tests: - label: "Sends ColorLoopSet Command - Set all Attributes" command: "ColorLoopSet" - PICS: CC.S.C44.Rsp + PICS: CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp arguments: values: - name: "updateFlags" @@ -275,27 +275,27 @@ tests: - label: "Read ColorLoopActive attribute from DUT" command: "readAttribute" attribute: "ColorLoopActive" - PICS: CC.S.A4002 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4002 && CC.S.C44.Rsp response: value: 0 - label: "Read ColorLoopStoredEnhancedHue attribute from DUT." command: "readAttribute" attribute: "ColorLoopStoredEnhancedHue" - PICS: CC.S.A4006 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4006 && CC.S.C44.Rsp response: saveAs: ColorLoopStoredEnhancedHueStep6c - label: "Read EnhancedCurrentHue attribute from DUT" command: "readAttribute" attribute: "EnhancedCurrentHue" - PICS: CC.S.A4000 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4000 && CC.S.C44.Rsp response: value: ColorLoopStoredEnhancedHueStep6c - label: "Sends ColorLoopSet Command - Set all Attributes" command: "ColorLoopSet" - PICS: CC.S.C44.Rsp + PICS: CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp arguments: values: - name: "updateFlags" @@ -316,13 +316,13 @@ tests: - label: "Read ColorLoopDirection attribute from DUT" command: "readAttribute" attribute: "ColorLoopDirection" - PICS: CC.S.A4003 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4003 && CC.S.C44.Rsp response: value: 1 - label: "Sends ColorLoopSet Command - Set all Attributes" command: "ColorLoopSet" - PICS: CC.S.C44.Rsp + PICS: CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp arguments: values: - name: "updateFlags" @@ -343,14 +343,14 @@ tests: - label: "Read ColorLoopActive attribute from DUT" command: "readAttribute" attribute: "ColorLoopActive" - PICS: CC.S.A4002 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4002 && CC.S.C44.Rsp response: value: 1 - label: "Read ColorLoopStoredEnhancedHue attribute from DUT" command: "readAttribute" attribute: "ColorLoopStoredEnhancedHue" - PICS: CC.S.A4006 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4006 && CC.S.C40.Rsp response: value: 16384 @@ -365,14 +365,14 @@ tests: - label: "Read ColorLoopStartEnhancedHue attribute from DUT" command: "readAttribute" attribute: "ColorLoopStartEnhancedHue" - PICS: CC.S.A4005 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4005 && CC.S.C44.Rsp response: saveAs: ColorLoopStartEnhancedHueStep8d - label: "Read EnhancedCurrentHue attribute from DUT" command: "readAttribute" attribute: "EnhancedCurrentHue" - PICS: CC.S.A4000 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4000 && CC.S.C44.Rsp response: constraints: type: uint16 @@ -390,7 +390,7 @@ tests: - label: "Read EnhancedCurrentHue attribute from DUT" command: "readAttribute" attribute: "EnhancedCurrentHue" - PICS: CC.S.A4000 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4000 && CC.S.C44.Rsp response: constraints: type: uint16 @@ -399,7 +399,7 @@ tests: - label: "Sends ColorLoopSet Command - Set all Attributes" command: "ColorLoopSet" - PICS: CC.S.C44.Rsp + PICS: CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp arguments: values: - name: "updateFlags" @@ -420,27 +420,27 @@ tests: - label: "Read ColorLoopActive attribute from DUT" command: "readAttribute" attribute: "ColorLoopActive" - PICS: CC.S.A4002 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4002 && CC.S.C44.Rsp response: value: 0 - label: "Read ColorLoopStoredEnhancedHue attribute from DUT" command: "readAttribute" attribute: "ColorLoopStoredEnhancedHue" - PICS: CC.S.A4006 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4006 && CC.S.C44.Rsp response: saveAs: ColorLoopStoredEnhancedHueStep9c - label: "Read EnhancedCurrentHue attribute from DUT" command: "readAttribute" attribute: "EnhancedCurrentHue" - PICS: CC.S.A4000 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4000 && CC.S.C44.Rsp response: value: ColorLoopStoredEnhancedHueStep9c - label: "Enhanced Move To Hue command" command: "EnhancedMoveToHue" - PICS: CC.S.C40.Rsp + PICS: CC.S.F02 && CC.S.F01 && CC.S.C40.Rsp arguments: values: - name: "enhancedHue" @@ -465,13 +465,13 @@ tests: - label: "Read EnhancedCurrentHue attribute from DUT" command: "readAttribute" attribute: "EnhancedCurrentHue" - PICS: CC.S.A4000 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp response: value: 16384 - label: "Sends ColorLoopSet Command - Set all Attributes" command: "ColorLoopSet" - PICS: CC.S.C44.Rsp + PICS: CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp arguments: values: - name: "updateFlags" @@ -492,13 +492,13 @@ tests: - label: "Read ColorLoopDirection attribute from DUT" command: "readAttribute" attribute: "ColorLoopDirection" - PICS: CC.S.A4003 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4003 && CC.S.C44.Rsp response: value: 0 - label: "Sends ColorLoopSet Command - Set all Attributes" command: "ColorLoopSet" - PICS: CC.S.C44.Rsp + PICS: CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp arguments: values: - name: "updateFlags" @@ -519,14 +519,14 @@ tests: - label: "Read ColorLoopActive attribute from DUT" command: "readAttribute" attribute: "ColorLoopActive" - PICS: CC.S.A4002 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4002 && CC.S.C44.Rsp response: value: 1 - label: "Read ColorLoopStoredEnhancedHue attribute from DUT" command: "readAttribute" attribute: "ColorLoopStoredEnhancedHue" - PICS: CC.S.A4006 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4006 && CC.S.C40.Rsp response: value: 16384 @@ -541,14 +541,14 @@ tests: - label: "Read ColorLoopStartEnhancedHue attribute from DUT" command: "readAttribute" attribute: "ColorLoopStartEnhancedHue" - PICS: CC.S.A4005 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4005 && CC.S.C44.Rsp response: saveAs: ColorLoopStartEnhancedHueStep12d - label: "Read EnhancedCurrentHue attribute from DUT" command: "readAttribute" attribute: "EnhancedCurrentHue" - PICS: CC.S.A4000 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4000 && CC.S.C44.Rsp response: constraints: type: uint16 @@ -566,7 +566,7 @@ tests: - label: "Read EnhancedCurrentHue attribute from DUT" command: "readAttribute" attribute: "EnhancedCurrentHue" - PICS: CC.S.A4000 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4000 && CC.S.C44.Rsp response: constraints: type: uint16 @@ -575,7 +575,7 @@ tests: - label: "Sends ColorLoopSet Command - Set all Attributes" command: "ColorLoopSet" - PICS: CC.S.C44.Rsp + PICS: CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp arguments: values: - name: "updateFlags" @@ -596,27 +596,27 @@ tests: - label: "Read ColorLoopActive attribute from DUT" command: "readAttribute" attribute: "ColorLoopActive" - PICS: CC.S.A4002 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4002 && CC.S.C44.Rsp response: value: 0 - label: "Read ColorLoopStoredEnhancedHue attribute from DUT." command: "readAttribute" attribute: "ColorLoopStoredEnhancedHue" - PICS: CC.S.A4006 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4006 && CC.S.C44.Rsp response: saveAs: ColorLoopStoredEnhancedHueStep13c - label: "Read EnhancedCurrentHue attribute from DUT" command: "readAttribute" attribute: "EnhancedCurrentHue" - PICS: CC.S.A4000 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4000 && CC.S.C44.Rsp response: value: ColorLoopStoredEnhancedHueStep13c - label: "Sends ColorLoopSet Command - Set all Attributes" command: "ColorLoopSet" - PICS: CC.S.C44.Rsp + PICS: CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp arguments: values: - name: "updateFlags" @@ -637,13 +637,13 @@ tests: - label: "Read ColorLoopDirection attribute from DUT" command: "readAttribute" attribute: "ColorLoopDirection" - PICS: CC.S.A4003 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4003 && CC.S.C44.Rsp response: value: 1 - label: "Sends ColorLoopSet Command - Set all Attributes" command: "ColorLoopSet" - PICS: CC.S.C44.Rsp + PICS: CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp arguments: values: - name: "updateFlags" @@ -664,14 +664,14 @@ tests: - label: "Read ColorLoopActive attribute from DUT" command: "readAttribute" attribute: "ColorLoopActive" - PICS: CC.S.A4002 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4002 && CC.S.C44.Rsp response: value: 1 - label: "Read ColorLoopStoredEnhancedHue attribute from DUT" command: "readAttribute" attribute: "ColorLoopStoredEnhancedHue" - PICS: CC.S.A4006 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4006 && CC.S.C40.Rsp response: value: 16384 @@ -686,14 +686,14 @@ tests: - label: "Read ColorLoopStartEnhancedHue attribute from DUT" command: "readAttribute" attribute: "ColorLoopStartEnhancedHue" - PICS: CC.S.A4005 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4005 && CC.S.C44.Rsp response: saveAs: ColorLoopStartEnhancedHueStep15d - label: "Read EnhancedCurrentHue attribute from DUT" command: "readAttribute" attribute: "EnhancedCurrentHue" - PICS: CC.S.A4000 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4000 && CC.S.C44.Rsp response: constraints: type: uint16 @@ -711,7 +711,7 @@ tests: - label: "Read EnhancedCurrentHue attribute from DUT" command: "readAttribute" attribute: "EnhancedCurrentHue" - PICS: CC.S.A4000 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4000 && CC.S.C44.Rsp response: constraints: type: uint16 @@ -720,7 +720,7 @@ tests: - label: "Sends ColorLoopSet Command - Set all Attributes" command: "ColorLoopSet" - PICS: CC.S.C44.Rsp + PICS: CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp arguments: values: - name: "updateFlags" @@ -741,21 +741,21 @@ tests: - label: "Read ColorLoopActive attribute from DUT" command: "readAttribute" attribute: "ColorLoopActive" - PICS: CC.S.A4002 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4002 && CC.S.C44.Rsp response: value: 0 - label: "Read ColorLoopStoredEnhancedHue attribute from DUT." command: "readAttribute" attribute: "ColorLoopStoredEnhancedHue" - PICS: CC.S.A4006 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4006 && CC.S.C44.Rsp response: saveAs: ColorLoopStoredEnhancedHueStep16b - label: "Read EnhancedCurrentHue attribute from DUT" command: "readAttribute" attribute: "EnhancedCurrentHue" - PICS: CC.S.A4000 + PICS: CC.S.F02 && CC.S.F01 && CC.S.A4000 && CC.S.C44.Rsp response: value: ColorLoopStoredEnhancedHueStep16b diff --git a/src/app/tests/suites/certification/Test_TC_CC_9_2.yaml b/src/app/tests/suites/certification/Test_TC_CC_9_2.yaml index 2ec011abdabfca..2e321454f04260 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_9_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_9_2.yaml @@ -91,28 +91,28 @@ tests: - label: "Read ColorLoopActive attribute from DUT" command: "readAttribute" attribute: "ColorLoopActive" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4002 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4002 && CC.S.C44.Rsp response: value: 0 - label: "Read ColorLoopDirection attribute from DUT." command: "readAttribute" attribute: "ColorLoopDirection" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4003 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4003 && CC.S.C44.Rsp response: value: 0 - label: "Read ColorLoopTime attribute from DUT." command: "readAttribute" attribute: "ColorLoopTime" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4004 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4004 && CC.S.C44.Rsp response: value: 30 - label: "Read ColorLoopStartEnhancedHue attribute from DUT." command: "readAttribute" attribute: "ColorLoopStartEnhancedHue" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4005 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4005 && CC.S.C44.Rsp response: value: 160 @@ -139,14 +139,14 @@ tests: - label: "Read ColorLoopActive attribute from DUT." command: "readAttribute" attribute: "ColorLoopActive" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4002 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4002 && CC.S.C44.Rsp response: value: 1 - label: "Read ColorLoopStoredEnhancedHue attribute from DUT." command: "readAttribute" attribute: "ColorLoopStoredEnhancedHue" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4006 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4006 && CC.S.C40.Rsp response: value: 16384 @@ -161,14 +161,14 @@ tests: - label: "Read ColorLoopStartEnhancedHue attribute from DUT." command: "readAttribute" attribute: "ColorLoopStartEnhancedHue" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4005 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4005 && CC.S.C44.Rsp response: saveAs: ColorLoopStartEnhancedHueValue - label: "Read EnhancedCurrentHue attribute from DUT" command: "readAttribute" attribute: "EnhancedCurrentHue" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4000 && CC.S.C44.Rsp response: constraints: type: uint16 @@ -186,7 +186,7 @@ tests: - label: "Read EnhancedCurrentHue attribute from DUT" command: "readAttribute" attribute: "EnhancedCurrentHue" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4000 && CC.S.C44.Rsp response: constraints: type: uint16 @@ -216,7 +216,7 @@ tests: - label: "Read ColorLoopDirection attribute from DUT." command: "readAttribute" attribute: "ColorLoopDirection" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4003 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4003 && CC.S.C44.Rsp response: value: 1 @@ -231,14 +231,14 @@ tests: - label: "Read ColorLoopStartEnhancedHue attribute from DUT." command: "readAttribute" attribute: "ColorLoopStartEnhancedHue" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4005 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4005 && CC.S.C44.Rsp response: saveAs: ColorLoopStartEnhancedHue - label: "Read EnhancedCurrentHue attribute from DUT" command: "readAttribute" attribute: "EnhancedCurrentHue" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4000 && CC.S.C44.Rsp response: constraints: type: uint16 @@ -256,7 +256,7 @@ tests: - label: "Read EnhancedCurrentHue attribute from DUT" command: "readAttribute" attribute: "EnhancedCurrentHue" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4000 && CC.S.C44.Rsp response: constraints: type: uint16 @@ -286,13 +286,13 @@ tests: - label: "Read ColorLoopActive attribute from DUT" command: "readAttribute" attribute: "ColorLoopActive" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4002 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4002 && CC.S.C44.Rsp response: value: 0 - label: "Read ColorLoopStoredEnhancedHue attribute from DUT." command: "readAttribute" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4006 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4006 && CC.S.C44.Rsp attribute: "ColorLoopStoredEnhancedHue" response: saveAs: ColorLoopStoredEnhancedHueValue @@ -300,7 +300,7 @@ tests: - label: "Read EnhancedCurrentHue attribute from DUT." command: "readAttribute" attribute: "EnhancedCurrentHue" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4000 && CC.S.C44.Rsp response: value: ColorLoopStoredEnhancedHueValue diff --git a/src/app/tests/suites/certification/Test_TC_CC_9_3.yaml b/src/app/tests/suites/certification/Test_TC_CC_9_3.yaml index 413036ca4df292..8ad46f10d5fc30 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_9_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_9_3.yaml @@ -90,28 +90,28 @@ tests: - label: "Read ColorLoopActive attribute from DUT" command: "readAttribute" attribute: "ColorLoopActive" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4002 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4002 && CC.S.C44.Rsp response: value: 0 - label: "Read ColorLoopDirection attribute from DUT." command: "readAttribute" attribute: "ColorLoopDirection" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4003 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4003 && CC.S.C44.Rsp response: value: 0 - label: "Read ColorLoopTime attribute from DUT." command: "readAttribute" attribute: "ColorLoopTime" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4004 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4004 && CC.S.C44.Rsp response: value: 30 - label: "Read ColorLoopStartEnhancedHue attribute from DUT." command: "readAttribute" attribute: "ColorLoopStartEnhancedHue" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4005 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4005 && CC.S.C44.Rsp response: value: 160 @@ -138,14 +138,14 @@ tests: - label: "Read ColorLoopActive attribute from DUT." command: "readAttribute" attribute: "ColorLoopActive" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4002 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4002 && CC.S.C44.Rsp response: value: 1 - label: "Read ColorLoopStoredEnhancedHue attribute from DUT." command: "readAttribute" attribute: "ColorLoopStoredEnhancedHue" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4006 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4006 && CC.S.C40.Rsp response: value: 16384 @@ -160,14 +160,14 @@ tests: - label: "Read ColorLoopStartEnhancedHue attribute from DUT." command: "readAttribute" attribute: "ColorLoopStartEnhancedHue" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4005 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4005 && CC.S.C44.Rsp response: saveAs: ColorLoopStartEnhancedHueValue - label: "Read EnhancedCurrentHue attribute from DUT" command: "readAttribute" attribute: "EnhancedCurrentHue" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4000 && CC.S.C44.Rsp response: constraints: type: uint16 @@ -185,7 +185,7 @@ tests: - label: "Read EnhancedCurrentHue attribute from DUT" command: "readAttribute" attribute: "EnhancedCurrentHue" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4000 && CC.S.C44.Rsp response: constraints: type: uint16 @@ -215,7 +215,7 @@ tests: - label: "Read ColorLoopTime attribute from DUT." command: "readAttribute" attribute: "ColorLoopTime" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4004 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4004 && CC.S.C44.Rsp response: value: 60 @@ -230,7 +230,7 @@ tests: - label: "Read EnhancedCurrentHue attribute from DUT" command: "readAttribute" attribute: "EnhancedCurrentHue" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4000 && CC.S.C44.Rsp response: constraints: type: uint16 @@ -248,7 +248,7 @@ tests: - label: "Read EnhancedCurrentHue attribute from DUT" command: "readAttribute" attribute: "EnhancedCurrentHue" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4000 && CC.S.C44.Rsp response: constraints: type: uint16 @@ -278,21 +278,21 @@ tests: - label: "Read ColorLoopActive attribute from DUT" command: "readAttribute" attribute: "ColorLoopActive" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4002 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4002 && CC.S.C44.Rsp response: value: 0 - label: "Read ColorLoopStoredEnhancedHue attribute from DUT." command: "readAttribute" attribute: "ColorLoopStoredEnhancedHue" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4006 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4006 && CC.S.C44.Rsp response: saveAs: ColorLoopStoredEnhancedHueValue - label: "Read EnhancedCurrentHue attribute from DUT." command: "readAttribute" attribute: "EnhancedCurrentHue" - PICS: CC.S.F01 && CC.S.F02 && CC.S.A4000 + PICS: CC.S.F01 && CC.S.F02 && CC.S.A4000 && CC.S.C44.Rsp response: value: ColorLoopStoredEnhancedHueValue diff --git a/src/app/tests/suites/certification/Test_TC_CHANNEL_1_6.yaml b/src/app/tests/suites/certification/Test_TC_CHANNEL_1_6.yaml index cbeacb670c8dbb..db0e92fae503a6 100644 --- a/src/app/tests/suites/certification/Test_TC_CHANNEL_1_6.yaml +++ b/src/app/tests/suites/certification/Test_TC_CHANNEL_1_6.yaml @@ -48,7 +48,6 @@ tests: maxValue: 3 - label: "Read the global attribute: AttributeList" - PICS: CHANNEL.S.A0000 && CHANNEL.S.A0001 && CHANNEL.S.A0002 command: "readAttribute" attribute: "AttributeList" response: @@ -112,6 +111,15 @@ tests: type: list contains: [3] + - label: "Read the global attribute: GeneratedCommandList" + PICS: " !CHANNEL.S.C01.Tx " + command: "readAttribute" + attribute: "GeneratedCommandList" + response: + value: [] + constraints: + type: list + - label: "Read the global attribute: GeneratedCommandList" PICS: CHANNEL.S.C01.Tx command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_CHANNEL_5_2.yaml b/src/app/tests/suites/certification/Test_TC_CHANNEL_5_2.yaml index 907eb82d7b032d..5164e3b55f9f55 100644 --- a/src/app/tests/suites/certification/Test_TC_CHANNEL_5_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_CHANNEL_5_2.yaml @@ -55,7 +55,7 @@ tests: - label: "Verify that the channel has changed on the device" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && CHANNEL.S.C02.Rsp arguments: values: - name: "message" diff --git a/src/app/tests/suites/certification/Test_TC_CHANNEL_5_3.yaml b/src/app/tests/suites/certification/Test_TC_CHANNEL_5_3.yaml index bc1d705bd0daab..032adb8c97b8b1 100644 --- a/src/app/tests/suites/certification/Test_TC_CHANNEL_5_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_CHANNEL_5_3.yaml @@ -69,7 +69,7 @@ tests: - label: "Verify that the channel has changed on the device" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && CHANNEL.S.C03.Rsp arguments: values: - name: "message" diff --git a/src/app/tests/suites/certification/Test_TC_DD_2_1.yaml b/src/app/tests/suites/certification/Test_TC_DD_2_1.yaml index d5e124bd904ae6..4b5f223fce099a 100644 --- a/src/app/tests/suites/certification/Test_TC_DD_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DD_2_1.yaml @@ -118,7 +118,8 @@ tests: - label: "TH scans and finds the DUT SSID" PICS: MCORE.DD.WIFI verification: | - BLOCKED: SoftAP commissioning not currently supported on TH=chip-tool + Out of Scope for V1.0 + SoftAP commissioning not currently supported on TH=chip-tool disabled: true - label: @@ -127,18 +128,105 @@ tests: (or reset manually)" PICS: MCORE.DD.WIFI verification: | - BLOCKED: SoftAP commissioning not currently supported on TH=chip-tool + Out of Scope for V1.0 + SoftAP commissioning not currently supported on TH=chip-tool disabled: true - label: "TH scans and finds the DUT SSID" - PICS: MCORE.DD.WIFI && MCORE.DD.IE + PICS: MCORE.DD.WIFI & MCORE.DD.IE verification: | - BLOCKED: SoftAP commissioning not currently supported on TH=chip-tool + Out of Scope for V1.0 + SoftAP commissioning not currently supported on TH=chip-tool disabled: true - - label: "TH is connected to the DUT through an Ethernet connection" + - label: + "TH and DUT are connected to the same network and the DUT is sending + mandatory Commissionable Node Discovery service records over DNS-SD." verification: | - $ ./out/chip-tool/chip-tool discover commissionables + $ ./chip-tool discover commissionables + + Example output using all-clusters-app's advertisements: + [1651256405894] [18453:593886] CHIP: [DL] Mdns: OnNewAddress interface: 7 ip:192.168.1.2 + [1651256405894] [18453:593886] CHIP: [DIS] Vendor ID: 65521 + [1651256405894] [18453:593886] CHIP: [DIS] Product ID: 32769 + [1651256405894] [18453:593886] CHIP: [DIS] Long Discriminator: 3840 + [1651256405894] [18453:593886] CHIP: [DIS] Pairing Hint: 33 + [1651256405894] [18453:593886] CHIP: [DIS] Hostname: DCA6328D2B9F0000 + [1651256405894] [18453:593886] CHIP: [DIS] Instance Name: 8FFEE04E82830E26 + [1651256405894] [18453:593886] CHIP: [DIS] IP Address #1: fd54:23a1:c6de:4637:dea6:32ff:fe8d:2b9f + [1651256405894] [18453:593886] CHIP: [DIS] IP Address #2: fe80::dea6:32ff:fe8d:2b9f + [1651256405894] [18453:593886] CHIP: [DIS] IP Address #3: fe80::dea6:32ff:fe8d:2ba0 + [1651256405894] [18453:593886] CHIP: [DIS] IP Address #4: 192.168.1.2 + [1651256405894] [18453:593886] CHIP: [DIS] Port: 5540 + [1651256405894] [18453:593886] CHIP: [DIS] Commissioning Mode: 1 + [1651256405894] [18453:593886] CHIP: [DIS] Mrp Interval idle: 5000 ms + [1651256405894] [18453:593886] CHIP: [DIS] Mrp Interval active: 300 ms + disabled: true + + - label: + "TH and DUT are connected to the same network and the DUT is sending + optional Commissionable Node Discovery service records over DNS-SD." + PICS: + MCORE.DD.TXT_KEY_VP && MCORE.DD.TXT_KEY_DT && MCORE.DD.TXT_KEY_DN && + MCORE.DD.TXT_KEY_RI && MCORE.DD.TXT_KEY_PH && MCORE.DD.TXT_KEY_PI + verification: | + $ ./chip-tool discover commissionables + + Example output using all-clusters-app's advertisements: + [1657218902314] [29617:16663220] CHIP: [DL] Browsing for: _matterc._udp + [1657218902488] [29617:16663220] CHIP: [DL] Mdns: OnBrowseAdd name: 5B4185091B6CAD28, type: _matterc._udp., domain: local., interface: 7 + [1657218902488] [29617:16663220] CHIP: [DL] Resolve type=_matterc._udp name=5B4185091B6CAD28 interface=7 + [1657218902489] [29617:16663220] CHIP: [DL] Mdns : OnNewInterface hostname:DCA6328D2B9F0000.local. fullname:5B4185091B6CAD28._matterc._udp.local. interface: 7 + [1657218902490] [29617:16663220] CHIP: [DL] Mdns: OnNewAddress interface: 7 ip:fd54:23a1:c6de:4637:4c4:ee82:2a0f:b5e2 + [1657218902490] [29617:16663220] CHIP: [DL] Mdns: OnNewAddress interface: 7 ip:fe80::1e81:3e0:3865:2d29 + [1657218902490] [29617:16663220] CHIP: [DL] Mdns: OnNewAddress interface: 7 ip:192.168.1.10 + [1657218902490] [29617:16663220] CHIP: [DIS] Hostname: DCA6328D2B9F0000 + [1657218902490] [29617:16663220] CHIP: [DIS] IP Address #1: fd54:23a1:c6de:4637:4c4:ee82:2a0f:b5e2 + [1657218902490] [29617:16663220] CHIP: [DIS] IP Address #2: fe80::1e81:3e0:3865:2d29 + [1657218902490] [29617:16663220] CHIP: [DIS] IP Address #3: 192.168.1.10 + [1657218902490] [29617:16663220] CHIP: [DIS] Port: 5540 + [1657218902490] [29617:16663220] CHIP: [DIS] Mrp Interval idle: 5000 ms + [1657218902490] [29617:16663220] CHIP: [DIS] Mrp Interval active: 300 ms + [1657218902490] [29617:16663220] CHIP: [DIS] Vendor ID: 65521 + [1657218902490] [29617:16663220] CHIP: [DIS] Product ID: 32769 + [1657218902490] [29617:16663220] CHIP: [DIS] Long Discriminator: 3840 + [1657218902490] [29617:16663220] CHIP: [DIS] Pairing Hint: 33 + [1657218902490] [29617:16663220] CHIP: [DIS] Instance Name: 5B4185091B6CAD28 + [1657218902490] [29617:16663220] CHIP: [DIS] Commissioning Mode: 1 + + + OR + 1. User a dns-sd records browser + $ avahi-browse _matterc._udp -r + + Example output using all-clusters-app's advertisements: + + eth0 IPv6 1E36C55245E2908D _matterc._udp local + = eth0 IPv6 1E36C55245E2908D _matterc._udp local + hostname = [DCA6328D2B9F0000.local] + address = [192.168.1.10] + port = [5540] + txt = ["PI=" "PH=33" "CM=1" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"] + disabled: true + + - label: "Place the DUT device into a non-commissionable state" + PICS: MCORE.DD.EXTENDED_DISCOVERY + verification: | + 1. Vendor specific, take DUT out of commissioning mode + + 2. Use a dns-sd browser to check for _CM subtype. Should be empty. + $ dns-sd -B _matterc._udp,_CM + Browsing for _matterc._udp,_CM + DATE: ---Thu 07 Jul 2022--- + 11:51:34.814 ...STARTING... + disabled: true + + - label: + "TH and DUT are connected to the same network and the DUT is sending a + Commissionable Node Discovery service record over DNS-SD." + verification: | + $ ./chip-tool discover commissionables + + Example output using all-clusters-app's advertisements: [1651256405894] [18453:593886] CHIP: [DL] Mdns: OnNewAddress interface: 7 ip:192.168.1.2 [1651256405894] [18453:593886] CHIP: [DIS] Vendor ID: 65521 [1651256405894] [18453:593886] CHIP: [DIS] Product ID: 32769 @@ -155,3 +243,81 @@ tests: [1651256405894] [18453:593886] CHIP: [DIS] Mrp Interval idle: 5000 ms [1651256405894] [18453:593886] CHIP: [DIS] Mrp Interval active: 300 ms disabled: true + + - label: + "Mandatory Commissioning Subtypes: Send a browse request for + '_services._dns-sd._udp' using a DNS-SD records command-line test tool + (i.e. 'dns-sd -B _services._dns-sd._udp' or 'avahi-browse + _services._dns-sd._udp -r')" + verification: | + $ dns-sd -B _services._dns-sd._udp + + Example output using all-clusters-app's advertisements: + 11:30:36.040 Add 3 7 . _sub.local. _L3840 + 11:30:36.040 Add 3 7 . _sub.local. _S15 + 11:30:36.040 Add 2 7 . _sub.local. _CM + disabled: true + + - label: + "Optional Commissioning Subtypes: Send a browse request for + '_services._dns-sd._udp' using a DNS-SD records command-line test tool + (i.e. 'dns-sd -B _services._dns-sd._udp' or 'avahi-browse + _services._dns-sd._udp -r')" + PICS: MCORE.DD.COMMISSIONING_SUBTYPE_V && MCORE.DD.COMMISSIONING_SUBTYPE_T + verification: | + $ dns-sd -B _services._dns-sd._udp + + Example output using all-clusters-app's advertisements: + 11:56:29.770 Add 3 7 . _sub.local. _V65521 + disabled: true + + - label: "Place the DUT device into Commissioning mode" + verification: | + $ ./chip-tool discover commissionables + + Example output using all-clusters-app's advertisements: + [1651256405894] [18453:593886] CHIP: [DL] Mdns: OnNewAddress interface: 7 ip:192.168.1.2 + [1651256405894] [18453:593886] CHIP: [DIS] Vendor ID: 65521 + [1651256405894] [18453:593886] CHIP: [DIS] Product ID: 32769 + [1651256405894] [18453:593886] CHIP: [DIS] Long Discriminator: 3840 + [1651256405894] [18453:593886] CHIP: [DIS] Pairing Hint: 33 + [1651256405894] [18453:593886] CHIP: [DIS] Hostname: DCA6328D2B9F0000 + [1651256405894] [18453:593886] CHIP: [DIS] Instance Name: 8FFEE04E82830E26 + [1651256405894] [18453:593886] CHIP: [DIS] IP Address #1: fd54:23a1:c6de:4637:dea6:32ff:fe8d:2b9f + [1651256405894] [18453:593886] CHIP: [DIS] IP Address #2: fe80::dea6:32ff:fe8d:2b9f + [1651256405894] [18453:593886] CHIP: [DIS] IP Address #3: fe80::dea6:32ff:fe8d:2ba0 + [1651256405894] [18453:593886] CHIP: [DIS] IP Address #4: 192.168.1.2 + [1651256405894] [18453:593886] CHIP: [DIS] Port: 5540 + [1651256405894] [18453:593886] CHIP: [DIS] Commissioning Mode: 1 + [1651256405894] [18453:593886] CHIP: [DIS] Mrp Interval idle: 5000 ms + [1651256405894] [18453:593886] CHIP: [DIS] Mrp Interval active: 300 ms + disabled: true + + - label: + "Send a browse request for '_matterc._udp' using a DNS-SD records + command-line test tool (i.e. 'dns-sd -B _matterc._udp' or + 'avahi-browse _matterc._udp -r')" + verification: | + $ ./chip-tool discover commissionables + + [1657220492275] [29906:16679893] CHIP: [DL] Browsing for: _matterc._udp + [1657220492275] [29906:16679893] CHIP: [DL] Mdns: OnBrowseAdd name: 74AFA51731B2E373, type: _matterc._udp., domain: local., interface: 7 + [1657220492275] [29906:16679893] CHIP: [DL] Resolve type=_matterc._udp name=74AFA51731B2E373 interface=7 + [1657220492276] [29906:16679893] CHIP: [DL] Mdns : OnNewInterface hostname:DCA6328D2B9F0000.local. fullname:74AFA51731B2E373._matterc._udp.local. interface: 7 + [1657220492277] [29906:16679893] CHIP: [DL] Mdns: OnNewAddress interface: 7 ip:fd54:23a1:c6de:4637:4c4:ee82:2a0f:b5e2 + [1657220492277] [29906:16679893] CHIP: [DL] Mdns: OnNewAddress interface: 7 ip:fe80::1e81:3e0:3865:2d29 + [1657220492277] [29906:16679893] CHIP: [DL] Mdns: OnNewAddress interface: 7 ip:192.168.1.10 + [1657220492277] [29906:16679893] CHIP: [DIS] Hostname: DCA6328D2B9F0000 + [1657220492277] [29906:16679893] CHIP: [DIS] IP Address #1: fd54:23a1:c6de:4637:4c4:ee82:2a0f:b5e2 + [1657220492277] [29906:16679893] CHIP: [DIS] IP Address #2: fe80::1e81:3e0:3865:2d29 + [1657220492277] [29906:16679893] CHIP: [DIS] IP Address #3: 192.168.1.10 + [1657220492277] [29906:16679893] CHIP: [DIS] Port: 5540 + [1657220492277] [29906:16679893] CHIP: [DIS] Mrp Interval idle: 5000 ms + [1657220492277] [29906:16679893] CHIP: [DIS] Mrp Interval active: 300 ms + [1657220492277] [29906:16679893] CHIP: [DIS] Vendor ID: 65521 + [1657220492277] [29906:16679893] CHIP: [DIS] Product ID: 32769 + [1657220492277] [29906:16679893] CHIP: [DIS] Long Discriminator: 3840 + [1657220492277] [29906:16679893] CHIP: [DIS] Pairing Hint: 33 + [1657220492277] [29906:16679893] CHIP: [DIS] Instance Name: 74AFA51731B2E373 + [1657220492277] [29906:16679893] CHIP: [DIS] Commissioning Mode: 1 + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DD_2_2.yaml b/src/app/tests/suites/certification/Test_TC_DD_2_2.yaml index 8812465160b3c8..21f2b82ea65b68 100644 --- a/src/app/tests/suites/certification/Test_TC_DD_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_DD_2_2.yaml @@ -23,46 +23,44 @@ config: endpoint: 0 tests: - - label: - "If (PICS_BLE) TH starts matter announcement procedure using BLE - transport" + - label: "TH starts matter announcement procedure using BLE transport" PICS: MCORE.DD.BLE verification: | - $ ./out/all-clusters-app/chip-all-clusters-app --wifi --discriminator 3841 + $ ./out/ble/chip-all-clusters-app --ble-device 1 --discriminator 3841 - [1653087913.247229][8083:8083] CHIP:SVR: Server Listening... - [1653087913.247636][8083:8083] CHIP:DL: Device Configuration: - [1653087913.248094][8083:8083] CHIP:DL: Serial Number: TEST_SN - [1653087913.248608][8083:8083] CHIP:DL: Vendor Id: 65521 (0xFFF1) - [1653087913.249146][8083:8083] CHIP:DL: Product Id: 32769 (0x8001) - [1653087913.249610][8083:8083] CHIP:DL: Hardware Version: 0 - [1653087913.250082][8083:8083] CHIP:DL: Setup Pin Code (0 for UNKNOWN/ERROR): 20202021 - [1653087913.250739][8083:8083] CHIP:DL: Setup Discriminator (0xFFFF for UNKNOWN/ERROR): 3841 (0xF01) - [1653087913.251234][8083:8083] CHIP:DL: Manufacturing Date: (not set) - [1653087913.251732][8083:8083] CHIP:DL: Device Type: 65535 (0xFFFF) - [1653087913.252171][8083:8083] CHIP:SVR: SetupQRCode: [MT:-24J048N01KA0648G00] - [1653087913.252710][8083:8083] CHIP:SVR: Copy/paste the below URL in a browser to see the QR Code: - [1653087913.253175][8083:8083] CHIP:SVR: https://project-chip.github.io/connectedhomeip/qrcode.html?data=MT%3A-24J048N01KA0648G00 - [1653087913.253681][8083:8083] CHIP:SVR: Manual pairing code: [749701123365521327694] - [1653087913.254268][8083:8083] CHIP:DMG: Endpoint 0, Cluster 0x0000_001D update version to 29f72814 + [1657221603.350406][368108:368108] CHIP:DL: Device Configuration: + [1657221603.350445][368108:368108] CHIP:DL: Serial Number: TEST_SN + [1657221603.350488][368108:368108] CHIP:DL: Vendor Id: 65521 (0xFFF1) + [1657221603.350523][368108:368108] CHIP:DL: Product Id: 32769 (0x8001) + [1657221603.350555][368108:368108] CHIP:DL: Hardware Version: 0 + [1657221603.350579][368108:368108] CHIP:DL: Setup Pin Code (0 for UNKNOWN/ERROR): 20202021 + [1657221603.350599][368108:368108] CHIP:DL: Setup Discriminator (0xFFFF for UNKNOWN/ERROR): 3841 (0xF01) + [1657221603.350627][368108:368108] CHIP:DL: Manufacturing Date: (not set) + [1657221603.350649][368108:368108] CHIP:DL: Device Type: 65535 (0xFFFF) + [1657221603.350684][368108:368108] CHIP:SVR: SetupQRCode: [MT:-24J048N01KA0648G00] + [1657221603.350719][368108:368108] CHIP:SVR: Copy/paste the below URL in a browser to see the QR Code: + [1657221603.350739][368108:368108] CHIP:SVR: https://dhrishi.github.io/connectedhomeip/qrcode.html?data=MT%3A-24J048N01KA0648G00 + [1657221603.350773][368108:368108] CHIP:SVR: Manual pairing code: [749701123365521327694] + [1657221603.350846][368108:368108] CHIP:DMG: Endpoint 0, Cluster 0x0000_001D update version to 4dd11284 + [1657221603.353048][368108:368113] CHIP:DL: TRACE: Bluez mainloop starting Thread + [1657221603.353167][368108:368111] CHIP:DL: TRACE: Bus acquired for name MATTER-3841 disabled: true - label: - "If (PICS_BLE) DUT starts BLE scan across all three advertising - channels with a sufficient dwell time, interval, and overall duration - of scan" + "DUT starts BLE scan across all three advertising channels with a + sufficient dwell time, interval, and overall duration of scan" PICS: MCORE.DD.BLE verification: | 1. Discover commissionables over BLE using DUT=chip-tool pairing - DUT Logs - $ ./out/chip-tool/chip-tool pairing ble-wifi 1 zigbeehome matter123 20202021 3841 + Verify in TH as server side + $ ./chip-tool pairing ble-wifi 1 zigbeehome matter123 20202021 3841 [1651743342.299897][3461:3464] CHIP:BLE: New device scanned: E4:5F:01:0F:1A:02 [1651743342.299951][3461:3464] CHIP:BLE: Device discriminator match. Attempting to connect. [1651743342.303783][3461:3464] CHIP:BLE: Scan complete notification without an active scan. [1651743346.244175][3461:3464] CHIP:DL: ConnectDevice complete - TH Logs + Verify in DUT as client side [1651743346.152716][5072:5075] CHIP:DL: Device E4:5F:01:0F:3B:B1 (Path: /org/bluez/hci0/dev_E4_5F_01_0F_3B_B1) Connected [1651743347.908807][5072:5075] CHIP:DL: BluezCharacteristicAcquireWrite is called, conn: 0xffffa0043700 [1651743347.911151][5072:5075] CHIP:DL: c1 BluezCharacteristicWriteFD mtu, 517 @@ -108,19 +106,19 @@ tests: [1651743348.446962][5072:5072] CHIP:SVR: Commissioning completed session establishment step disabled: true - - label: "If (PICS_BLE) DUT starts scan in background using BLE transport" + - label: "DUT starts scan in background using BLE transport" PICS: MCORE.DD.BLE verification: | 1. Discover commissionables over BLE using DUT=chip-tool pairing command - DUT Logs - $ ./out/chip-tool/chip-tool pairing ble-wifi 1 zigbeehome matter123 20202021 3841 + Verify in TH as server side + $ ./chip-tool pairing ble-wifi 1 zigbeehome matter123 20202021 3841 [1651743342.299897][3461:3464] CHIP:BLE: New device scanned: E4:5F:01:0F:1A:02 [1651743342.299951][3461:3464] CHIP:BLE: Device discriminator match. Attempting to connect. [1651743342.303783][3461:3464] CHIP:BLE: Scan complete notification without an active scan. [1651743346.244175][3461:3464] CHIP:DL: ConnectDevice complete - TH Logs + Verify in DUT as client side [1651743346.152716][5072:5075] CHIP:DL: Device E4:5F:01:0F:3B:B1 (Path: /org/bluez/hci0/dev_E4_5F_01_0F_3B_B1) Connected [1651743347.908807][5072:5075] CHIP:DL: BluezCharacteristicAcquireWrite is called, conn: 0xffffa0043700 [1651743347.911151][5072:5075] CHIP:DL: c1 BluezCharacteristicWriteFD mtu, 517 @@ -166,11 +164,12 @@ tests: [1651743348.446962][5072:5072] CHIP:SVR: Commissioning completed session establishment step disabled: true - - label: "If (PICS_BLE) TH starts matter announcement using BLE transport" + - label: "TH starts matter announcement using BLE transport" PICS: MCORE.DD.BLE verification: | $ ./out/all-clusters-app/chip-all-clusters-app --wifi --discriminator 3841 + Verify in TH as server side [1653087913.247229][8083:8083] CHIP:SVR: Server Listening... [1653087913.247636][8083:8083] CHIP:DL: Device Configuration: [1653087913.248094][8083:8083] CHIP:DL: Serial Number: TEST_SN @@ -183,45 +182,114 @@ tests: [1653087913.251732][8083:8083] CHIP:DL: Device Type: 65535 (0xFFFF) [1653087913.252171][8083:8083] CHIP:SVR: SetupQRCode: [MT:-24J048N01KA0648G00] [1653087913.252710][8083:8083] CHIP:SVR: Copy/paste the below URL in a browser to see the QR Code: - [1653087913.253175][8083:8083] CHIP:SVR: https://project-chip.github.io/connectedhomeip/qrcode.html?data=MT%3A-24J048N01KA0648G00 + [1653087913.253175][8083:8083] CHIP:SVR: https://dhrishi.github.io/connectedhomeip/qrcode.html?data=MT%3A-24J048N01KA0648G00 [1653087913.253681][8083:8083] CHIP:SVR: Manual pairing code: [749701123365521327694] [1653087913.254268][8083:8083] CHIP:DMG: Endpoint 0, Cluster 0x0000_001D update version to 29f72814 disabled: true - - label: - "If (PICS_WIFI) TH starts SoftAP and begin matter announcement - procedure" - PICS: MCORE.DD.WIFI + - label: "TH starts matter announcement using BLE transport" + PICS: MCORE.DD.BLE verification: | - BLOCKED: SoftAP commissioning not currently supported on DUT=chip-tool + 1. Discover commissionables over BLE using DUT=chip-tool pairing command + + Verify in TH as server side + $ ./chip-tool pairing ble-wifi 1 zigbeehome matter123 20202021 3841 + [1651743342.299897][3461:3464] CHIP:BLE: New device scanned: E4:5F:01:0F:1A:02 + [1651743342.299951][3461:3464] CHIP:BLE: Device discriminator match. Attempting to connect. + [1651743342.303783][3461:3464] CHIP:BLE: Scan complete notification without an active scan. + [1651743346.244175][3461:3464] CHIP:DL: ConnectDevice complete + + Verify in DUT as client side + [1651743346.152716][5072:5075] CHIP:DL: Device E4:5F:01:0F:3B:B1 (Path: /org/bluez/hci0/dev_E4_5F_01_0F_3B_B1) Connected + [1651743347.908807][5072:5075] CHIP:DL: BluezCharacteristicAcquireWrite is called, conn: 0xffffa0043700 + [1651743347.911151][5072:5075] CHIP:DL: c1 BluezCharacteristicWriteFD mtu, 517 + [1651743347.911349][5072:5075] CHIP:BLE: Write request received debug 0xffffa0043700 + [1651743347.911754][5072:5072] CHIP:BLE: local and remote recv window sizes = 6 + [1651743347.911829][5072:5072] CHIP:BLE: selected BTP version 4 + [1651743347.911877][5072:5072] CHIP:BLE: using BTP fragment sizes rx 244 / tx 244. + [1651743348.006770][5072:5075] CHIP:DL: CHIPoBLE subscribe received + [1651743348.007026][5072:5072] CHIP:IN: BLE EndPoint 0xaaaab7bb3c20 Connection Complete + [1651743348.007132][5072:5072] CHIP:DL: HandlePlatformSpecificBLEEvent 32778 + [1651743348.007196][5072:5072] CHIP:DL: Receive kCHIPoBLEConnectionEstablished + [1651743348.150980][5072:5075] CHIP:BLE: Indication confirmation, 0xffffa0043700 + [1651743348.199997][5072:5075] CHIP:DL: c1 BluezCharacteristicWriteFD mtu, 517 + [1651743348.200614][5072:5075] CHIP:BLE: Write request received debug 0xffffa0043700 + [1651743348.201013][5072:5072] CHIP:EM: Received message of type 0x20 with protocolId (0, 0) and MessageCounter:3306320356 on exchange 29381r + [1651743348.201117][5072:5072] CHIP:EM: Handling via exchange: 29381r, Delegate: 0xaaaab7bb2a90 + [1651743348.201191][5072:5072] CHIP:SC: Received PBKDF param request + [1651743348.201280][5072:5072] CHIP:SC: Peer assigned session ID 14881 + [1651743348.201349][5072:5072] CHIP:SC: Found MRP parameters in the message + [1651743348.201520][5072:5072] CHIP:SC: Including MRP parameters in PBKDF param response + [1651743348.201884][5072:5072] CHIP:IN: Prepared unauthenticated message 0xffffdcf2ef78 to 0x0000000000000000 (0) of type 0x21 and protocolId (0, 0) on exchange 29381r with MessageCounter:2627159088. + [1651743348.201989][5072:5072] CHIP:IN: Sending unauthenticated msg 0xffffdcf2ef78 with MessageCounter:2627159088 to 0x0000000000000000 at monotonic time: 0000000000FF6731 msec + [1651743348.202196][5072:5072] CHIP:SC: Sent PBKDF param response + [1651743348.298384][5072:5075] CHIP:BLE: Indication confirmation, 0xffffa0043700 + [1651743348.299274][5072:5075] CHIP:DL: c1 BluezCharacteristicWriteFD mtu, 517 + [1651743348.300132][5072:5075] CHIP:BLE: Write request received debug 0xffffa0043700 + [1651743348.300571][5072:5072] CHIP:EM: Received message of type 0x22 with protocolId (0, 0) and MessageCounter:3306320357 on exchange 29381r + [1651743348.300655][5072:5072] CHIP:EM: Found matching exchange: 29381r, Delegate: 0xaaaab7bb2a90 + [1651743348.300741][5072:5072] CHIP:SC: Received spake2p msg1 + [1651743348.304696][5072:5072] CHIP:IN: Prepared unauthenticated message 0xffffdcf2ee58 to 0x0000000000000000 (0) of type 0x23 and protocolId (0, 0) on exchange 29381r with MessageCounter:2627159089. + [1651743348.304817][5072:5072] CHIP:IN: Sending unauthenticated msg 0xffffdcf2ee58 with MessageCounter:2627159089 to 0x0000000000000000 at monotonic time: 0000000000FF6798 msec + [1651743348.305007][5072:5072] CHIP:SC: Sent spake2p msg2 + [1651743348.444144][5072:5075] CHIP:BLE: Indication confirmation, 0xffffa0043700 + [1651743348.444992][5072:5075] CHIP:DL: c1 BluezCharacteristicWriteFD mtu, 517 + [1651743348.445608][5072:5075] CHIP:BLE: Write request received debug 0xffffa0043700 + [1651743348.445888][5072:5072] CHIP:EM: Received message of type 0x24 with protocolId (0, 0) and MessageCounter:3306320358 on exchange 29381r + [1651743348.445943][5072:5072] CHIP:EM: Found matching exchange: 29381r, Delegate: 0xaaaab7bb2a90 + [1651743348.446001][5072:5072] CHIP:SC: Received spake2p msg3 + [1651743348.446130][5072:5072] CHIP:SC: Sending status report. Protocol code 0, exchange 29381 + [1651743348.446202][5072:5072] CHIP:IN: Prepared unauthenticated message 0xffffdcf2eea8 to 0x0000000000000000 (0) of type 0x40 and protocolId (0, 0) on exchange 29381r with MessageCounter:2627159090. + [1651743348.446262][5072:5072] CHIP:IN: Sending unauthenticated msg 0xffffdcf2eea8 with MessageCounter:2627159090 to 0x0000000000000000 at monotonic time: 0000000000FF6825 msec + [1651743348.446452][5072:5072] CHIP:IN: New secure session created for device , LSID:2138 PSID:14881! + [1651743348.446962][5072:5072] CHIP:SVR: Commissioning completed session establishment step + disabled: true + + - label: "TH starts SoftAP and begin matter announcement procedure" + PICS: MCORE.DD.DISCOVERY_SOFTAP + verification: | + Out of Scope V1.0 + SoftAP commissioning not currently supported on TH=all-clusters-app disabled: true - label: - "If (PICS_WIFI) DUT starts Wi-Fi scan of all 2.4 GHz Wi-Fi channels - allowed per its operational regulatory domain (channels 1, 6, and 11 - are preferred)" - PICS: MCORE.DD.WIFI + "DUT starts Wi-Fi scan of all 2.4 GHz Wi-Fi channels allowed per its + operational regulatory domain (channels 1, 6, and 11 are preferred)" + PICS: MCORE.DD.DISCOVERY_SOFTAP verification: | - BLOCKED: SoftAP commissioning not currently supported on DUT=chip-tool + Out of Scope V1.0 + SoftAP commissioning not currently supported on TH=all-clusters-app disabled: true - - label: "If (PICS_WIFI) DUT scans using Wi-Fi in background" - PICS: MCORE.DD.WIFI + - label: "DUT scans using Wi-Fi in background" + PICS: MCORE.DD.DISCOVERY_SOFTAP verification: | - BLOCKED: SoftAP commissioning not currently supported on DUT=chip-tool + Out of Scope V1.0 + SoftAP commissioning not currently supported on TH=all-clusters-app disabled: true - - label: - "If (PICS_WIFI) TH starts SoftAP and begin matter announcement - procedure" - PICS: MCORE.DD.WIFI + - label: "TH starts SoftAP and begin matter announcement procedure" + PICS: MCORE.DD.DISCOVERY_SOFTAP verification: | - BLOCKED: SoftAP commissioning not currently supported on DUT=chip-tool + Out of Scope V1.0 + SoftAP commissioning not currently supported on TH=all-clusters-app disabled: true - - label: "DUT performs service discovery using DNS-SD" + - label: "TH starts SoftAP and begin matter announcement procedure" + PICS: MCORE.DD.DISCOVERY_SOFTAP verification: | - $ ./out/chip-tool/chip-tool discover commissionables + Out of Scope V1.0 + SoftAP commissioning not currently supported on TH=all-clusters-app + disabled: true + + - label: + "With DUT and TH connected to the same network over IP, DUT performs + service discovery using DNS-SD" + verification: | + 1. TH is in commissioning mode and discoverable by DUT over IP through DNS-SD advertisements + + Verify in DUT as client side + $ ./chip-tool discover commissionables [1651256405894] [18453:593886] CHIP: [DL] Mdns: OnNewAddress interface: 7 ip:192.168.1.2 [1651256405894] [18453:593886] CHIP: [DIS] Vendor ID: 65521 [1651256405894] [18453:593886] CHIP: [DIS] Product ID: 32769 diff --git a/src/app/tests/suites/certification/Test_TC_DESC_2_1.yaml b/src/app/tests/suites/certification/Test_TC_DESC_2_1.yaml index 6751b292a96e2b..a3d2b4280a4391 100644 --- a/src/app/tests/suites/certification/Test_TC_DESC_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DESC_2_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 81.2. [TC-DESC-2.1] Descriptor Cluster Attributes with DUT as Server +name: 84.2.1. [TC-DESC-2.1] Descriptor Cluster Attributes [DUT-Server] config: nodeId: 0x12344321 @@ -21,10 +21,15 @@ config: endpoint: 0 tests: - - label: "TH reads DeviceTypeList attribute from DUT." + - label: + "TH reads DeviceTypeList and PartsList attributes from DUT for + Endpoint 0" + PICS: DESC.S.A0000 && DESC.S.A0004 && DESC.S.A0003 verification: | ./chip-tool descriptor read device-list 1 0 + Verify on the TH Log: + [1641454498.809603][16120:16125] CHIP:TOO: Descriptor.DeviceList response: 1 entries [1641454498.809737][16120:16125] CHIP:TOO: [1]: { [1641454498.809780][16120:16125] CHIP:TOO: Type: 22 @@ -33,51 +38,79 @@ tests: [1641454498.809938][16120:16125] CHIP:EM: Sending Standalone Ack for MessageCounter:52943 on exchange 24061i disabled: true - - label: "TH reads 'ServerList' attribute. Refer to Precondition " + - label: + "TH reads DeviceTypeList and PartsList attributes from DUT for each + Endpoint supported by DUT (except Endpoint 0)." + PICS: DESC.S.A0000 && DESC.S.A0004 && DESC.S.A0003 + verification: | + ./chip-tool descriptor read device-list 1 1 + + Verify on the TH Log: + + + [1657200303.724408][2509:2514] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 1624758542 + [1657200303.724508][2509:2514] CHIP:TOO: device list: 1 entries + [1657200303.724565][2509:2514] CHIP:TOO: [1]: { + [1657200303.724594][2509:2514] CHIP:TOO: Type: 256 + [1657200303.724621][2509:2514] CHIP:TOO: Revision: 1 + [1657200303.724647][2509:2514] CHIP:TOO: } + disabled: true + + - label: 'TH reads "ServerList" attribute.' + PICS: DESC.S.A0001 verification: | ./chip-tool descriptor read server-list 1 0 - [1650281763.417848][9672:9678] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_0001 DataVersion: 1976976904 - [1650281763.417958][9672:9678] CHIP:TOO: server list: 25 entries - [1650281763.418002][9672:9678] CHIP:TOO: [1]: 3 - [1650281763.418028][9672:9678] CHIP:TOO: [2]: 4 - [1650281763.418053][9672:9678] CHIP:TOO: [3]: 29 - [1650281763.418077][9672:9678] CHIP:TOO: [4]: 30 - [1650281763.418101][9672:9678] CHIP:TOO: [5]: 31 - [1650281763.418125][9672:9678] CHIP:TOO: [6]: 40 - [1650281763.418149][9672:9678] CHIP:TOO: [7]: 42 - [1650281763.418173][9672:9678] CHIP:TOO: [8]: 43 - [1650281763.418197][9672:9678] CHIP:TOO: [9]: 44 - [1650281763.418218][9672:9678] CHIP:TOO: [10]: 45 - [1650281763.418238][9672:9678] CHIP:TOO: [11]: 46 - [1650281763.418257][9672:9678] CHIP:TOO: [12]: 48 - [1650281763.418277][9672:9678] CHIP:TOO: [13]: 49 - [1650281763.418297][9672:9678] CHIP:TOO: [14]: 50 - [1650281763.418316][9672:9678] CHIP:TOO: [15]: 51 - [1650281763.418336][9672:9678] CHIP:TOO: [16]: 52 - [1650281763.418356][9672:9678] CHIP:TOO: [17]: 53 - [1650281763.418382][9672:9678] CHIP:TOO: [18]: 54 - [1650281763.418406][9672:9678] CHIP:TOO: [19]: 55 - [1650281763.418430][9672:9678] CHIP:TOO: [20]: 60 - [1650281763.418454][9672:9678] CHIP:TOO: [21]: 62 - [1650281763.418478][9672:9678] CHIP:TOO: [22]: 63 - [1650281763.418502][9672:9678] CHIP:TOO: [23]: 64 - [1650281763.418526][9672:9678] CHIP:TOO: [24]: 65 - [1650281763.418550][9672:9678] CHIP:TOO: [25]: 1029 + Verify on the TH Log: + + [1654155402.956829][3701:3706] CHIP:TOO: server list: 26 entries + [1654155402.956863][3701:3706] CHIP:TOO: [1]: 3 + [1654155402.956889][3701:3706] CHIP:TOO: [2]: 4 + [1654155402.956914][3701:3706] CHIP:TOO: [3]: 29 + [1654155402.956939][3701:3706] CHIP:TOO: [4]: 30 + [1654155402.956963][3701:3706] CHIP:TOO: [5]: 31 + [1654155402.956988][3701:3706] CHIP:TOO: [6]: 40 + [1654155402.957012][3701:3706] CHIP:TOO: [7]: 42 + [1654155402.957037][3701:3706] CHIP:TOO: [8]: 43 + [1654155402.957061][3701:3706] CHIP:TOO: [9]: 44 + [1654155402.957086][3701:3706] CHIP:TOO: [10]: 45 + [1654155402.957110][3701:3706] CHIP:TOO: [11]: 46 + [1654155402.957135][3701:3706] CHIP:TOO: [12]: 47 + [1654155402.957159][3701:3706] CHIP:TOO: [13]: 48 + [1654155402.957183][3701:3706] CHIP:TOO: [14]: 49 + [1654155402.957207][3701:3706] CHIP:TOO: [15]: 50 + [1654155402.957231][3701:3706] CHIP:TOO: [16]: 51 + [1654155402.957256][3701:3706] CHIP:TOO: [17]: 52 + [1654155402.957280][3701:3706] CHIP:TOO: [18]: 53 + [1654155402.957304][3701:3706] CHIP:TOO: [19]: 54 + [1654155402.957328][3701:3706] CHIP:TOO: [20]: 55 + [1654155402.957352][3701:3706] CHIP:TOO: [21]: 60 + [1654155402.957376][3701:3706] CHIP:TOO: [22]: 62 + [1654155402.957400][3701:3706] CHIP:TOO: [23]: 63 + [1654155402.957424][3701:3706] CHIP:TOO: [24]: 64 + [1654155402.957449][3701:3706] CHIP:TOO: [25]: 65 + [1654155402.957473][3701:3706] CHIP:TOO: [26]: 1029 disabled: true - - label: "TH reads 'ClientList' attribute" + - label: 'TH reads "ClientList" attribute' + PICS: DESC.S.A0002 verification: | ./chip-tool descriptor read client-list 1 0 + + Verify on the TH Log: + [1650281818.533446][9679:9684] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_0002 DataVersion: 1976976904 [1650281818.533514][9679:9684] CHIP:TOO: client list: 1 entries [1650281818.533563][9679:9684] CHIP:TOO: [1]: 41 disabled: true - - label: "TH reads 'PartsList' attribute." + - label: 'TH reads "PartsList" attribute.' + PICS: DESC.S.A0003 verification: | ./chip-tool descriptor read parts-list 1 0 + Verify on the TH Log: + [1641456769.777217][16238:16244] CHIP:DMG: SuppressResponse = true, [1641456769.777267][16238:16244] CHIP:DMG: } [1641456769.777839][16238:16244] CHIP:TOO: Descriptor.PartsList response: 2 entries @@ -85,3 +118,11 @@ tests: [1641456769.777978][16238:16244] CHIP:TOO: [2]: 2 [1641456769.778080][16238:16244] CHIP:EM: Sending Standalone Ack for MessageCounter:2830202 on exchange 38042i disabled: true + + - label: + "The cluster tests applicable to each Device Type should be executed + to make sure all mandatory (and applicable optional) + attributes/commands are implemented." + verification: | + + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DESC_2_2.yaml b/src/app/tests/suites/certification/Test_TC_DESC_2_2.yaml index 8850b14bd322d5..d8ac172d6fde78 100644 --- a/src/app/tests/suites/certification/Test_TC_DESC_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_DESC_2_2.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 81.3. [TC-DESC-2.2] Descriptor Cluster Attributes with DUT as Client +name: 84.2.2. [TC-DESC-2.2] Descriptor Cluster Attributes [DUT-Client] config: nodeId: 0x12344321 @@ -22,95 +22,89 @@ config: tests: - label: "DUT reads DeviceTypeList from TH." + PICS: DESC.C.A0000 verification: | ./chip-tool descriptor read device-list 1 0 - [1651220525.982478][11001:11001] CHIP:EM: Handling via exchange: 13340r, Delegate: 0xaaaaacdc5098 - [1651220525.982545][11001:11001] CHIP:IM: Received Read request - [1651220525.982624][11001:11001] CHIP:DMG: ReadRequestMessage = - [1651220525.982667][11001:11001] CHIP:DMG: { - [1651220525.982703][11001:11001] CHIP:DMG: AttributePathIBs = - [1651220525.982745][11001:11001] CHIP:DMG: [ - [1651220525.982784][11001:11001] CHIP:DMG: AttributePathIB = - [1651220525.982840][11001:11001] CHIP:DMG: { - [1651220525.982892][11001:11001] CHIP:DMG: Endpoint = 0x0, - [1651220525.982948][11001:11001] CHIP:DMG: Cluster = 0x1d, - [1651220525.983005][11001:11001] CHIP:DMG: Attribute = 0x0000_0000, - [1651220525.983054][11001:11001] CHIP:DMG: } - [1651220525.983104][11001:11001] CHIP:DMG: - [1651220525.983149][11001:11001] CHIP:DMG: ], - [1651220525.983195][11001:11001] CHIP:DMG: - [1651220525.983238][11001:11001] CHIP:DMG: isFabricFiltered = true, - [1651220525.983279][11001:11001] CHIP:DMG: InteractionModelRevision = 1 - [1651220525.983318][11001:11001] CHIP:DMG: }, + verify TH(On a reference app) receives the right Read Request Message for the data sent in the above command + + Verify in DUT as client side: + + [1657095358.858070][3443:3448] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 2880250959 + [1657095358.858130][3443:3448] CHIP:TOO: device list: 1 entries + [1657095358.858213][3443:3448] CHIP:TOO: [1]: { + [1657095358.858255][3443:3448] CHIP:TOO: Type: 22 + [1657095358.858283][3443:3448] CHIP:TOO: Revision: 1 + [1657095358.858310][3443:3448] CHIP:TOO: } disabled: true - label: "DUT reads ServerList from the TH" + PICS: DESC.C.A0001 verification: | ./chip-tool descriptor read server-list 1 0 - [1651220576.025574][11001:11001] CHIP:IM: Received Read request - [1651220576.025629][11001:11001] CHIP:DMG: ReadRequestMessage = - [1651220576.025655][11001:11001] CHIP:DMG: { - [1651220576.025677][11001:11001] CHIP:DMG: AttributePathIBs = - [1651220576.025703][11001:11001] CHIP:DMG: [ - [1651220576.025728][11001:11001] CHIP:DMG: AttributePathIB = - [1651220576.025763][11001:11001] CHIP:DMG: { - [1651220576.025792][11001:11001] CHIP:DMG: Endpoint = 0x0, - [1651220576.025823][11001:11001] CHIP:DMG: Cluster = 0x1d, - [1651220576.025856][11001:11001] CHIP:DMG: Attribute = 0x0000_0001, - [1651220576.025882][11001:11001] CHIP:DMG: } - [1651220576.025910][11001:11001] CHIP:DMG: - [1651220576.025936][11001:11001] CHIP:DMG: ], - [1651220576.025964][11001:11001] CHIP:DMG: - [1651220576.025990][11001:11001] CHIP:DMG: isFabricFiltered = true, - [1651220576.026015][11001:11001] CHIP:DMG: InteractionModelRevision = 1 - [1651220576.026039][11001:11001] CHIP:DMG: }, + verify TH(On a reference app) receives the right Read Request Message for the data sent in the above command + + Verify in DUT as client side: + + + [1657095388.496869][3451:3456] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_0001 DataVersion: 2880250959 + [1657095388.496964][3451:3456] CHIP:TOO: server list: 26 entries + [1657095388.496996][3451:3456] CHIP:TOO: [1]: 3 + [1657095388.497023][3451:3456] CHIP:TOO: [2]: 4 + [1657095388.497049][3451:3456] CHIP:TOO: [3]: 29 + [1657095388.497074][3451:3456] CHIP:TOO: [4]: 30 + [1657095388.497098][3451:3456] CHIP:TOO: [5]: 31 + [1657095388.497123][3451:3456] CHIP:TOO: [6]: 40 + [1657095388.497147][3451:3456] CHIP:TOO: [7]: 42 + [1657095388.497172][3451:3456] CHIP:TOO: [8]: 43 + [1657095388.497197][3451:3456] CHIP:TOO: [9]: 44 + [1657095388.497221][3451:3456] CHIP:TOO: [10]: 45 + [1657095388.497246][3451:3456] CHIP:TOO: [11]: 46 + [1657095388.497271][3451:3456] CHIP:TOO: [12]: 47 + [1657095388.497295][3451:3456] CHIP:TOO: [13]: 48 + [1657095388.497320][3451:3456] CHIP:TOO: [14]: 49 + [1657095388.497344][3451:3456] CHIP:TOO: [15]: 50 + [1657095388.497369][3451:3456] CHIP:TOO: [16]: 51 + [1657095388.497394][3451:3456] CHIP:TOO: [17]: 52 + [1657095388.497418][3451:3456] CHIP:TOO: [18]: 53 + [1657095388.497443][3451:3456] CHIP:TOO: [19]: 54 + [1657095388.497468][3451:3456] CHIP:TOO: [20]: 55 + [1657095388.497493][3451:3456] CHIP:TOO: [21]: 60 + [1657095388.497517][3451:3456] CHIP:TOO: [22]: 62 + [1657095388.497542][3451:3456] CHIP:TOO: [23]: 63 + [1657095388.497567][3451:3456] CHIP:TOO: [24]: 64 + [1657095388.497591][3451:3456] CHIP:TOO: [25]: 65 + [1657095388.497616][3451:3456] CHIP:TOO: [26]: 1029 disabled: true - label: "DUT reads ClientList from the TH" + PICS: DESC.C.A0002 verification: | ./chip-tool descriptor read client-list 1 0 - [1651220639.440188][11001:11001] CHIP:IM: Received Read request - [1651220639.440259][11001:11001] CHIP:DMG: ReadRequestMessage = - [1651220639.440298][11001:11001] CHIP:DMG: { - [1651220639.440330][11001:11001] CHIP:DMG: AttributePathIBs = - [1651220639.440367][11001:11001] CHIP:DMG: [ - [1651220639.440402][11001:11001] CHIP:DMG: AttributePathIB = - [1651220639.440447][11001:11001] CHIP:DMG: { - [1651220639.440491][11001:11001] CHIP:DMG: Endpoint = 0x0, - [1651220639.440539][11001:11001] CHIP:DMG: Cluster = 0x1d, - [1651220639.440589][11001:11001] CHIP:DMG: Attribute = 0x0000_0002, - [1651220639.440634][11001:11001] CHIP:DMG: } - [1651220639.440675][11001:11001] CHIP:DMG: - [1651220639.440715][11001:11001] CHIP:DMG: ], - [1651220639.440756][11001:11001] CHIP:DMG: - [1651220639.440794][11001:11001] CHIP:DMG: isFabricFiltered = true, - [1651220639.440830][11001:11001] CHIP:DMG: InteractionModelRevision = 1 - [1651220639.440864][11001:11001] CHIP:DMG: }, + verify TH(On a reference app) receives the right Read Request Message for the data sent in the above command + + Verify in DUT as client side: + + + [1657095415.492647][3459:3464] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_0002 DataVersion: 2880250959 + [1657095415.492717][3459:3464] CHIP:TOO: client list: 1 entries + [1657095415.492749][3459:3464] CHIP:TOO: [1]: 41 disabled: true - label: "DUT reads PartsList from the TH" + PICS: DESC.C.A0003 verification: | ./chip-tool descriptor read parts-list 1 0 - [1651220678.308560][11001:11001] CHIP:EM: Handling via exchange: 30507r, Delegate: 0xaaaaacdc5098 - [1651220678.308658][11001:11001] CHIP:IM: Received Read request - [1651220678.308766][11001:11001] CHIP:DMG: ReadRequestMessage = - [1651220678.308828][11001:11001] CHIP:DMG: { - [1651220678.308882][11001:11001] CHIP:DMG: AttributePathIBs = - [1651220678.308945][11001:11001] CHIP:DMG: [ - [1651220678.309053][11001:11001] CHIP:DMG: AttributePathIB = - [1651220678.309137][11001:11001] CHIP:DMG: { - [1651220678.309210][11001:11001] CHIP:DMG: Endpoint = 0x0, - [1651220678.309284][11001:11001] CHIP:DMG: Cluster = 0x1d, - [1651220678.309355][11001:11001] CHIP:DMG: Attribute = 0x0000_0003, - [1651220678.309422][11001:11001] CHIP:DMG: } - [1651220678.309485][11001:11001] CHIP:DMG: - [1651220678.309558][11001:11001] CHIP:DMG: ], - [1651220678.309629][11001:11001] CHIP:DMG: - [1651220678.309693][11001:11001] CHIP:DMG: isFabricFiltered = true, - [1651220678.309755][11001:11001] CHIP:DMG: InteractionModelRevision = 1 - [1651220678.309810][11001:11001] CHIP:DMG: }, + verify TH(On a reference app) receives the right Read Request Message for the data sent in the above command + + Verify in DUT as client side: + + + [1657095439.967554][3470:3475] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 2880250959 + [1657095439.967633][3470:3475] CHIP:TOO: parts list: 2 entries + [1657095439.967668][3470:3475] CHIP:TOO: [1]: 1 + [1657095439.967697][3470:3475] CHIP:TOO: [2]: 2 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DGSW_2_2.yaml b/src/app/tests/suites/certification/Test_TC_DGSW_2_2.yaml index 243aad00e637fc..8d4778dbc2192b 100644 --- a/src/app/tests/suites/certification/Test_TC_DGSW_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGSW_2_2.yaml @@ -51,7 +51,7 @@ tests: [1649682271.390714][9722:9727] CHIP:EM: Sending Standalone Ack for MessageCounter:4574884 on exchange 14495i cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && DGSW.S.E00 arguments: values: - name: "message" diff --git a/src/app/tests/suites/certification/Test_TC_DGTHREAD_2_1.yaml b/src/app/tests/suites/certification/Test_TC_DGTHREAD_2_1.yaml index 3f8eb5a01cb48c..0835823ecfb43d 100644 --- a/src/app/tests/suites/certification/Test_TC_DGTHREAD_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGTHREAD_2_1.yaml @@ -417,6 +417,8 @@ tests: response: constraints: type: uint32 + minValue: 0x0 + maxValue: 0xFFFFFFFF #issue #14097 - label: diff --git a/src/app/tests/suites/certification/Test_TC_DGWIFI_2_1.yaml b/src/app/tests/suites/certification/Test_TC_DGWIFI_2_1.yaml index b395fbb0fc5202..4b3250de88e642 100644 --- a/src/app/tests/suites/certification/Test_TC_DGWIFI_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGWIFI_2_1.yaml @@ -28,14 +28,13 @@ tests: - name: "nodeId" value: nodeId - - label: "Reads NetworkInterface structure attribute from DUT" + - label: "TH reads BSSID attribute from DUT" PICS: DGWIFI.S.A0000 - cluster: "General Diagnostics" command: "readAttribute" - attribute: "NetworkInterfaces" + attribute: "BSSID" response: constraints: - type: list + type: octstr #issue #13645 - label: "Reads SecurityType attribute constraints" diff --git a/src/app/tests/suites/certification/Test_TC_DGWIFI_3_1.yaml b/src/app/tests/suites/certification/Test_TC_DGWIFI_3_1.yaml index dcfa35600960df..47ad8a10280ed0 100644 --- a/src/app/tests/suites/certification/Test_TC_DGWIFI_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGWIFI_3_1.yaml @@ -26,7 +26,7 @@ tests: disabled: true - - label: "DUT reads NetworkInterface structure attribute from TH." + - label: "TH reads BSSID attribute from DUT." PICS: DGWIFI.S.A0000 verification: | verify on Reference app receives the right response for the data sent in the below commands diff --git a/src/app/tests/suites/certification/Test_TC_DRLK_2_2.yaml b/src/app/tests/suites/certification/Test_TC_DRLK_2_2.yaml index a7efd0c912d0bf..a990de02601054 100644 --- a/src/app/tests/suites/certification/Test_TC_DRLK_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_DRLK_2_2.yaml @@ -131,6 +131,24 @@ tests: arguments: value: false + - label: + "TH writes the RequirePINforRemoteOperation attribute value as False + on the DUT and Verify DUT responds with UNSUPPORTED_WRITE" + PICS: "!DRLK.S.A0033" + command: "writeAttribute" + attribute: "RequirePINforRemoteOperation" + arguments: + value: false + response: + error: UNSUPPORTED_WRITE + + - label: "TH reads the RequirePINforRemoteOperation attribute from the DUT" + PICS: DRLK.S.F07 && DRLK.S.F00 && DRLK.S.A0033 + command: "readAttribute" + attribute: "RequirePINforRemoteOperation" + response: + value: false + - label: "TH sends Lock Door Command to the DUT without PINCode" PICS: DRLK.S.C00.Rsp command: "LockDoor" @@ -156,6 +174,17 @@ tests: arguments: value: true + - label: + "TH writes the RequirePINforRemoteOperation attribute value as True on + the DUT and Verify DUT responds with UNSUPPORTED_WRITE" + PICS: "!DRLK.S.A0033" + command: "writeAttribute" + attribute: "RequirePINforRemoteOperation" + arguments: + value: true + response: + error: UNSUPPORTED_WRITE + - label: "TH reads the RequirePINforRemoteOperation attribute from the DUT" PICS: DRLK.S.F07 && DRLK.S.F00 && DRLK.S.A0033 command: "readAttribute" @@ -164,7 +193,7 @@ tests: value: true - label: "TH sends Lock Door Command to the DUT with valid PINCode" - PICS: DRLK.S.C00.Rsp + PICS: DRLK.S.C00.Rsp && DRLK.S.A0033 command: "LockDoor" timedInteractionTimeoutMs: 10000 arguments: @@ -173,7 +202,7 @@ tests: value: "123456" - label: "TH sends Lock Door Command to the DUT without valid PINCode" - PICS: DRLK.S.C00.Rsp + PICS: DRLK.S.C00.Rsp && DRLK.S.A0033 command: "LockDoor" timedInteractionTimeoutMs: 10000 arguments: @@ -185,17 +214,15 @@ tests: - label: "TH sends Lock Door Command to the DUT without any argument PINCode" - PICS: DRLK.S.C00.Rsp + PICS: DRLK.S.C00.Rsp && DRLK.S.A0033 command: "LockDoor" timedInteractionTimeoutMs: 10000 - arguments: - values: - - name: "pinCode" - value: "" response: error: FAILURE - - label: "TH writes WrongCodeEntryLimit attribute value as 3 on the DUT" + - label: + "TH writes WrongCodeEntryLimit attribute value as 3 on the DUT and + Verify that the DUT sends Success response" PICS: DRLK.S.A0030 command: "writeAttribute" attribute: "WrongCodeEntryLimit" @@ -203,14 +230,36 @@ tests: value: 3 - label: - "TH writes UserCodeTemporaryDisableTime attribute value as 5 seconds - on the DUT" + "TH writes WrongCodeEntryLimit attribute value as 3 on the DUT and + verify DUT responds with UNSUPPORTED_WRITE" + PICS: "!DRLK.S.A0030" + command: "writeAttribute" + attribute: "WrongCodeEntryLimit" + arguments: + value: 3 + response: + error: UNSUPPORTED_WRITE + + - label: + "TH writes UserCodeTemporaryDisableTime attribute value as 15 seconds + on the DUT and Verify that the DUT send the Success response" PICS: DRLK.S.A0031 command: "writeAttribute" attribute: "UserCodeTemporaryDisableTime" arguments: value: 15 + - label: + "TH writes UserCodeTemporaryDisableTime attribute value as 15 seconds + on the DUT and Verify DUT responds with UNSUPPORTED_WRITE" + PICS: "!DRLK.S.A0031" + command: "writeAttribute" + attribute: "UserCodeTemporaryDisableTime" + arguments: + value: 15 + response: + error: UNSUPPORTED_WRITE + - label: "TH sends Lock Door Command to the DUT with invalid PINCode" PICS: DRLK.S.C00.Rsp command: "LockDoor" @@ -218,7 +267,7 @@ tests: arguments: values: - name: "pinCode" - value: "12345" + value: "123458" response: error: FAILURE @@ -229,7 +278,7 @@ tests: arguments: values: - name: "pinCode" - value: "54321" + value: "123458" response: error: FAILURE @@ -240,7 +289,7 @@ tests: arguments: values: - name: "pinCode" - value: "987623" + value: "123458" response: error: FAILURE @@ -251,25 +300,49 @@ tests: arguments: values: - name: "pinCode" - value: "67890" + value: "123458" response: error: FAILURE - - label: "TH reads UserCodeTemporaryDisableTime attribute from DUT" - PICS: DRLK.S.A0031 - command: "readAttribute" - attribute: "UserCodeTemporaryDisableTime" - response: - value: 15 + - label: + "TH reads UserCodeTemporaryDisableTime attribute from DUT and After + sending 3 failure responses verify that UserCodeTemporaryDisableTime + attribute is triggered" + verification: | + ./chip-tool doorlock read user-code-temporary-disable-time 1 1 - - label: "TH sends Lock Door Command to the DUT with valid PINCode" - PICS: DRLK.S.C00.Rsp - command: "LockDoor" - timedInteractionTimeoutMs: 10000 + On TH, verify the UserCodeTemporaryDisableTime value as 15 + + [1657867358.396037][2551:2556] CHIP:DMG: + [1657867358.396067][2551:2556] CHIP:DMG: SuppressResponse = true, + [1657867358.396099][2551:2556] CHIP:DMG: InteractionModelRevision = 1 + [1657867358.396129][2551:2556] CHIP:DMG: } + [1657867358.396286][2551:2556] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0031 DataVersion: 2082875948 + [1657867358.396378][2551:2556] CHIP:TOO: UserCodeTemporaryDisableTime: 15 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && DRLK.S.A0031 arguments: values: - - name: "pinCode" - value: "123456" + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + - label: + "TH sends Lock Command to the DUT with valid PINCode before + UserCodeTemporaryDisableTime attribute time expires" + verification: | + Verify that DUT sends failure response to the TH + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && DRLK.S.C00.Rsp + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Clean the created user" command: "ClearUser" diff --git a/src/app/tests/suites/certification/Test_TC_FLW_1_1.yaml b/src/app/tests/suites/certification/Test_TC_FLW_1_1.yaml index 1d58d50196d9f3..a8f56a9df5d383 100644 --- a/src/app/tests/suites/certification/Test_TC_FLW_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_FLW_1_1.yaml @@ -45,7 +45,6 @@ tests: type: map32 - label: "Read the global attribute: AttributeList" - PICS: " !FLW.S.A0003 " command: "readAttribute" attribute: "AttributeList" response: @@ -53,14 +52,14 @@ tests: type: list contains: [0, 1, 2, 65528, 65529, 65531, 65532, 65533] - - label: "Read the global attribute: AttributeList" + - label: "Read the optional attribute(Tolerance) in AttributeList" PICS: FLW.S.A0003 command: "readAttribute" attribute: "AttributeList" response: constraints: type: list - contains: [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533] + contains: [3] - label: "Read the global attribute: AcceptedCommandList" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_FLW_2_1.yaml b/src/app/tests/suites/certification/Test_TC_FLW_2_1.yaml index 63013e0ee27d8e..24b69a92b0e3c3 100644 --- a/src/app/tests/suites/certification/Test_TC_FLW_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_FLW_2_1.yaml @@ -58,7 +58,7 @@ tests: minValue: 0 maxValue: 65535 - - label: "read the optional attribute: Tolerance" + - label: "Read the optional attribute: Tolerance" PICS: FLW.S.A0003 command: "readAttribute" attribute: "Tolerance" diff --git a/src/app/tests/suites/certification/Test_TC_FLW_2_2.yaml b/src/app/tests/suites/certification/Test_TC_FLW_2_2.yaml index 0ad7b2405f308a..5bbd6c9197ab24 100644 --- a/src/app/tests/suites/certification/Test_TC_FLW_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_FLW_2_2.yaml @@ -51,7 +51,7 @@ tests: value: "y" - label: "read the mandatory attribute: MeasuredValue" - PICS: FLW.S.A0000 + PICS: FLW.S.A0000 && FLW.M.FlowChange command: "readAttribute" attribute: "MeasuredValue" response: diff --git a/src/app/tests/suites/certification/Test_TC_IDM_1_1.yaml b/src/app/tests/suites/certification/Test_TC_IDM_1_1.yaml index 9244fb77e99e4a..8ad6f966270767 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_1_1.yaml @@ -30,8 +30,8 @@ tests: ./chip-tool onoff on 1 1 - Verify we are getting EndpointID, CommandID, ClusterID in the response data (as below) matching with the data sent in the above command - Verify TH all-clusters-app Log + On TH all-clusters-app, Verify we are getting EndpointID, CommandID, ClusterID in the response data (as below) matching with the data sent in the above command + [1655717373.046081][10909:10909] CHIP:DMG: InvokeRequestMessage = [1655717373.046137][10909:10909] CHIP:DMG: { [1655717373.046185][10909:10909] CHIP:DMG: suppressResponse = false, @@ -58,6 +58,13 @@ tests: [1655717373.047482][10909:10909] CHIP:DMG: }, [1655717373.047599][10909:10909] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0006 e=1 p=o [1655717373.047665][10909:10909] CHIP:DMG: AccessControl: allowed + + On DUT as a client side, verify that TH all-clusters-app sent success response + + [1657867897.521090][2728:2733] CHIP:DMG: }, + [1657867897.521162][2728:2733] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0006 Command=0x0000_0001 Status=0x0 + [1657867897.521212][2728:2733] CHIP:DMG: ICR moving to [AwaitingDe] + [1657867897.521275][2728:2733] CHIP:EM: Sending Standalone Ack for MessageCounter:30068876 on exchange 7104i disabled: true - label: @@ -86,10 +93,7 @@ tests: In case of chip tool, here is an example command to use ./chip-tool onoff off 1 1 - Verify we are getting EndpointID, CommandID, ClusterID in the response data (as below) matching with the data sent in the above command - - Verify TH all-clusters-app Log - + On TH all-clusters-app, verify that we are getting EndpointID, CommandID, ClusterID in the response data (as below) matching with the data sent in the above command [1655717456.105815][10909:10909] CHIP:DMG: InvokeRequestMessage = [1655717456.105853][10909:10909] CHIP:DMG: { [1655717456.105887][10909:10909] CHIP:DMG: suppressResponse = false, @@ -118,6 +122,16 @@ tests: [1655717456.106954][10909:10909] CHIP:DMG: AccessControl: allowed + On DUT as a client side, verify that TH all-clusters-app sent success response + [1657868210.442226][2746:2751] CHIP:DMG: + [1657868210.442265][2746:2751] CHIP:DMG: InteractionModelRevision = 1 + [1657868210.442306][2746:2751] CHIP:DMG: }, + [1657868210.442398][2746:2751] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0006 Command=0x0000_0000 Status=0x0 + [1657868210.442463][2746:2751] CHIP:DMG: ICR moving to [AwaitingDe] + [1657868210.442539][2746:2751] CHIP:EM: Sending Standalone Ack for MessageCounter:19470563 on exchange 18884i + + + ./chip-tool onoff off 1 1 Verify we are getting EndpointID, CommandID, ClusterID in the response data (as below) matching with the data sent in the above command diff --git a/src/app/tests/suites/certification/Test_TC_IDM_1_2.yaml b/src/app/tests/suites/certification/Test_TC_IDM_1_2.yaml index b45d044c68a746..d5e51573696be2 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_1_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_1_2.yaml @@ -75,17 +75,20 @@ tests: To Setup the TH such that it should not have the privilege for the cluster in the path. , 1st we need to send below mentioned ACL command + Here by sending below mentioned ACL command giving only access for identify cluster(3), So except identify cluster command if try to send any other command will get status as unsupported access. - ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets":[{ "cluster": 3, "endpoint": 1, "deviceType": null }]}]' 1 0 + ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets":[{ "cluster": 3, "endpoint": 1, "deviceType": null }]}]' 1 0 ./chip-tool onoff on 1 1 On TH, verify DUT responsds as UNSUPPORTED_ACCESS for the data sent in the above command + [1657869005.834700][2816:2821] CHIP:DMG: }, + [1657869005.834790][2816:2821] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0006 Command=0x0000_0001 Status=0x7e + [1657869005.834841][2816:2821] CHIP:TOO: Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) + [1657869005.834899][2816:2821] CHIP:DMG: ICR moving to [AwaitingDe] - [1654079683.774619][14540:14546] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0006 Command=0x0000_0001 Status=0x7e - [1654079683.774630][14540:14546] CHIP:TOO: Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) - [1654079683.774643][14540:14546] CHIP:DMG: ICR moving to [AwaitingDe] + With the above command, we are overwriting the default privilege that chip-tool has as an admin. After this test step you need to factory reset the DUT and reprovision the DUT again, Otherwise the below steps can not be executed. disabled: true - label: @@ -95,7 +98,11 @@ tests: verification: | To Setup the TH such that there is no accessing fabric, 1st we need to send below mentioned ACL command - ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1234], "targets": null}]' 1 0 + To Setup the TH such that it should not have the privilege for the cluster in the path. , 1st we need to send below mentioned ACL command + Here by sending below mentioned ACL command giving only access for identify cluster(3), So except identify cluster command if try to send any other command will get status as unsupported access. + + ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets":[{ "cluster": 3, "endpoint": 1, "deviceType": null }]}]' 1 0 + The cluster used in the below command is an example, User can use any supported chip cluster. ./chip-tool generalcommissioning commissioning-complete 1 0 @@ -105,6 +112,8 @@ tests: [1654079608.667986][14525:14530] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0004 Status=0x7e [1654079608.668000][14525:14530] CHIP:TOO: Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) [1654079608.668011][14525:14530] CHIP:DMG: ICR moving to [AwaitingDe] + + With the above command, we are overwriting the default privilege that chip-tool has as an admin. After this test step you need to factory reset the DUT and reprovision the DUT again, Otherwise the below steps can not be executed. disabled: true - label: @@ -161,17 +170,21 @@ tests: CommandDataIB and SuppressResponse set to True" verification: | Out of Scope for V1.0 + https://github.com/project-chip/connectedhomeip/issues/8043 disabled: true - label: "TH sends a Invoke Request Message to the DUT with the TimedRequest set as TRUE.(There should be no previous Timed Invoke action.)" verification: | - To Setup the TH such that there is no accessing fabric, 1st we need to send below mentioned ACL command + The cluster used in the below command is an example, User can use any supported chip cluster. + + To Setup the TH such that it should not have the privilege for the cluster in the path. , 1st we need to send below mentioned ACL command + Here by sending below mentioned ACL command giving only access for identify cluster(3), So except identify cluster command if try to send any other command will get status as unsupported access. + + ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets":[{ "cluster": 3, "endpoint": 1, "deviceType": null }]}]' 1 0 - ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1234], "targets": null}]' 1 0 - The cluster used in the below command is an example, User can use any supported chip cluster. ./chip-tool onoff on 1 1 --timedInteractionTimeoutMs 100 On TH, verify DUT responsds as UNSUPPORTED_ACCESS for the data sent in the above command @@ -180,6 +193,8 @@ tests: [1657613026.975513][10484:10489] CHIP:TOO: Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) [1657613026.975556][10484:10489] CHIP:DMG: ICR moving to [AwaitingDe] [1657613026.975622][10484:10489] CHIP:EM: Sending Standalone Ack for MessageCounter:99688132 on exchange 24183i + + With the above command, we are overwriting the default privilege that chip-tool has as an admin. After this test step you need to factory reset the DUT and reprovision the DUT again, Otherwise the below steps can not be executed. disabled: true - label: @@ -187,7 +202,13 @@ tests: path that requires a Timed Invoke transaction to invoke and this action is not part of a Timed Invoke transaction" verification: | + As in the previous step, we enabled accesscontrol to a specific cluster, we need to remove the accesscontrol using below command. + As the EP used here is an example, user needs to provide the endpoint id, which they use. + + + The cluster used in the below command is an example, User can use any supported chip cluster. + ./chip-tool administratorcommissioning open-basic-commissioning-window 500 1 0 On TH, verify DUT responsds as NEEDS_TIMED_INTERACTION for the data sent in the above command diff --git a/src/app/tests/suites/certification/Test_TC_IDM_2_1.yaml b/src/app/tests/suites/certification/Test_TC_IDM_2_1.yaml index 40ef36126ba94e..2ba56f2cf32c0a 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_2_1.yaml @@ -52,6 +52,13 @@ tests: [1655720917.721101][10909:10909] CHIP:DMG: InteractionModelRevision = 1 [1655720917.721144][10909:10909] CHIP:DMG: }, [1655720917.721267][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] + + On DUT as a client side, verify that TH all-clusters-app sent success response + + [1657881522.001890][2575:2580] CHIP:DMG: } + [1657881522.002053][2575:2580] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 3999381333 + [1657881522.002133][2575:2580] CHIP:TOO: identify time: 0 + [1657881522.002227][2575:2580] CHIP:EM: Sending Standalone Ack for MessageCounter:54477998 on exchange 6586i disabled: true - label: @@ -86,6 +93,35 @@ tests: [1655721163.412212][10909:10909] CHIP:DMG: InteractionModelRevision = 1 [1655721163.412236][10909:10909] CHIP:DMG: }, [1655721163.412312][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] + + + + On DUT as a client side, verify that TH all-clusters-app sent success response + [1657881584.166241][2584:2589] CHIP:DMG: } + [1657881584.166599][2584:2589] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 4079829024 + [1657881584.166672][2584:2589] CHIP:TOO: identify time: 0 + [1657881584.166734][2584:2589] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 4079829024 + [1657881584.166761][2584:2589] CHIP:TOO: identify type: 2 + [1657881584.166817][2584:2589] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFC DataVersion: 4079829024 + [1657881584.166844][2584:2589] CHIP:TOO: FeatureMap: 0 + [1657881584.166900][2584:2589] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 4079829024 + [1657881584.166940][2584:2589] CHIP:TOO: ClusterRevision: 4 + [1657881584.167054][2584:2589] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFF8 DataVersion: 4079829024 + [1657881584.167101][2584:2589] CHIP:TOO: GeneratedCommandList: 0 entries + [1657881584.167276][2584:2589] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFF9 DataVersion: 4079829024 + [1657881584.167309][2584:2589] CHIP:TOO: AcceptedCommandList: 2 entries + [1657881584.167337][2584:2589] CHIP:TOO: [1]: 0 + [1657881584.167362][2584:2589] CHIP:TOO: [2]: 64 + [1657881584.167690][2584:2589] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFB DataVersion: 4079829024 + [1657881584.167725][2584:2589] CHIP:TOO: AttributeList: 7 entries + [1657881584.167752][2584:2589] CHIP:TOO: [1]: 0 + [1657881584.167777][2584:2589] CHIP:TOO: [2]: 1 + [1657881584.167801][2584:2589] CHIP:TOO: [3]: 65528 + [1657881584.167825][2584:2589] CHIP:TOO: [4]: 65529 + [1657881584.167850][2584:2589] CHIP:TOO: [5]: 65531 + [1657881584.167874][2584:2589] CHIP:TOO: [6]: 65532 + [1657881584.167898][2584:2589] CHIP:TOO: [7]: 65533 + [1657881584.168029][2584:2589] CHIP:EM: Sending Standalone Ack for MessageCounter:84499870 on exchange 45190i disabled: true - label: @@ -98,7 +134,8 @@ tests: ./chip-tool any read-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0xFFFF - verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command + verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command and + On DUT as a client side, verify that TH all-clusters-app sent success response with attribute values disabled: true - label: @@ -127,6 +164,8 @@ tests: [1655721447.463334][10909:10909] CHIP:DMG: InteractionModelRevision = 1 [1655721447.463382][10909:10909] CHIP:DMG: }, [1655721447.463503][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] + + On DUT as a client side, verify that TH all-clusters-app sent success response with attribute values disabled: true - label: @@ -158,6 +197,56 @@ tests: [1655721586.588310][10909:10909] CHIP:DMG: }, [1655721586.588403][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] [1655721586.588510][10909:10909] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + + On DUT as a client side, verify that TH all-clusters-app sent success response with attribute values + [1657881729.900518][2608:2613] CHIP:DMG: } + [1657881729.901108][2608:2613] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 4079829024 + [1657881729.901182][2608:2613] CHIP:TOO: identify time: 0 + [1657881729.901245][2608:2613] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 4079829024 + [1657881729.901273][2608:2613] CHIP:TOO: identify type: 2 + [1657881729.901331][2608:2613] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFC DataVersion: 4079829024 + [1657881729.901359][2608:2613] CHIP:TOO: FeatureMap: 0 + [1657881729.901431][2608:2613] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 4079829024 + [1657881729.901472][2608:2613] CHIP:TOO: ClusterRevision: 4 + [1657881729.901586][2608:2613] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFF8 DataVersion: 4079829024 + [1657881729.901632][2608:2613] CHIP:TOO: GeneratedCommandList: 0 entries + [1657881729.901806][2608:2613] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFF9 DataVersion: 4079829024 + [1657881729.901840][2608:2613] CHIP:TOO: AcceptedCommandList: 2 entries + [1657881729.901868][2608:2613] CHIP:TOO: [1]: 0 + [1657881729.901893][2608:2613] CHIP:TOO: [2]: 64 + [1657881729.902242][2608:2613] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFB DataVersion: 4079829024 + [1657881729.902279][2608:2613] CHIP:TOO: AttributeList: 7 entries + [1657881729.902305][2608:2613] CHIP:TOO: [1]: 0 + [1657881729.902329][2608:2613] CHIP:TOO: [2]: 1 + [1657881729.902354][2608:2613] CHIP:TOO: [3]: 65528 + [1657881729.902378][2608:2613] CHIP:TOO: [4]: 65529 + [1657881729.902402][2608:2613] CHIP:TOO: [5]: 65531 + [1657881729.902426][2608:2613] CHIP:TOO: [6]: 65532 + [1657881729.902451][2608:2613] CHIP:TOO: [7]: 65533 + [1657881729.902474][2608:2613] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 3999381333 + [1657881729.902500][2608:2613] CHIP:TOO: identify time: 0 + [1657881729.902556][2608:2613] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 3999381333 + [1657881729.902583][2608:2613] CHIP:TOO: identify type: 2 + [1657881729.902640][2608:2613] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFFC DataVersion: 3999381333 + [1657881729.902665][2608:2613] CHIP:TOO: FeatureMap: 0 + [1657881729.902721][2608:2613] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 3999381333 + [1657881729.902746][2608:2613] CHIP:TOO: ClusterRevision: 4 + [1657881729.902843][2608:2613] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFF8 DataVersion: 3999381333 + [1657881729.902872][2608:2613] CHIP:TOO: GeneratedCommandList: 0 entries + [1657881729.903021][2608:2613] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFF9 DataVersion: 3999381333 + [1657881729.903053][2608:2613] CHIP:TOO: AcceptedCommandList: 2 entries + [1657881729.903079][2608:2613] CHIP:TOO: [1]: 0 + [1657881729.903104][2608:2613] CHIP:TOO: [2]: 64 + [1657881729.903427][2608:2613] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFFB DataVersion: 3999381333 + [1657881729.903462][2608:2613] CHIP:TOO: AttributeList: 7 entries + [1657881729.903488][2608:2613] CHIP:TOO: [1]: 0 + [1657881729.903513][2608:2613] CHIP:TOO: [2]: 1 + [1657881729.903537][2608:2613] CHIP:TOO: [3]: 65528 + [1657881729.903561][2608:2613] CHIP:TOO: [4]: 65529 + [1657881729.903586][2608:2613] CHIP:TOO: [5]: 65531 + [1657881729.903610][2608:2613] CHIP:TOO: [6]: 65532 + [1657881729.903634][2608:2613] CHIP:TOO: [7]: 65533 + [1657881729.903843][2608:2613] CHIP:EM: Sending Standalone Ack for MessageCounter:174033086 on exchange 10540i disabled: true - label: @@ -189,6 +278,15 @@ tests: [1655721699.305827][10909:10909] CHIP:DMG: InteractionModelRevision = 1 [1655721699.305870][10909:10909] CHIP:DMG: }, [1655721699.305990][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] + + + On DUT as a client side, verify that TH all-clusters-app sent success response with attribute values + [1657881792.350417][2616:2621] CHIP:DMG: } + [1657881792.350641][2616:2621] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 4079829024 + [1657881792.350742][2616:2621] CHIP:TOO: identify type: 2 + [1657881792.350845][2616:2621] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 3999381333 + [1657881792.350891][2616:2621] CHIP:TOO: identify type: 2 + [1657881792.351000][2616:2621] CHIP:EM: Sending Standalone Ack for MessageCounter:222990264 on exchange 23721i disabled: true - label: @@ -220,6 +318,10 @@ tests: [1655721846.894594][10909:10909] CHIP:DMG: InteractionModelRevision = 1 [1655721846.894628][10909:10909] CHIP:DMG: }, [1655721846.894724][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] + + + + On DUT as a client side, verify that TH all-clusters-app sent success response with attribute values disabled: true - label: @@ -233,7 +335,7 @@ tests: ./chip-tool any read-by-id 0xFFFFFFFF 0xFFFD 1 0 - verify TH receives the right Read Request Message for the data sent in the above command + verify TH(reference app) receives the right Read Request Message for the data sent in the above command [1655721935.483404][10909:10909] CHIP:EM: Handling via exchange: 59853r, Delegate: 0xaaaac37ce418 [1655721935.483474][10909:10909] CHIP:IM: Received Read request @@ -253,6 +355,63 @@ tests: [1655721935.484392][10909:10909] CHIP:DMG: InteractionModelRevision = 1 [1655721935.484450][10909:10909] CHIP:DMG: }, [1655721935.484595][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] + + + On DUT as a client side, verify that TH all-clusters-app sent success response with attribute values + [1657881935.225146][2631:2636] CHIP:DMG: } + [1657881935.225620][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 4079829024 + [1657881935.225700][2631:2636] CHIP:TOO: ClusterRevision: 4 + [1657881935.225763][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Attribute 0x0000_FFFD DataVersion: 130355893 + [1657881935.225790][2631:2636] CHIP:TOO: ClusterRevision: 4 + [1657881935.225846][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_FFFD DataVersion: 2043826222 + [1657881935.225872][2631:2636] CHIP:TOO: ClusterRevision: 1 + [1657881935.225928][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001E Attribute 0x0000_FFFD DataVersion: 539126375 + [1657881935.225954][2631:2636] CHIP:TOO: ClusterRevision: 1 + [1657881935.226010][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_FFFD DataVersion: 821022762 + [1657881935.226037][2631:2636] CHIP:TOO: ClusterRevision: 1 + [1657881935.226093][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_FFFD DataVersion: 745595402 + [1657881935.226120][2631:2636] CHIP:TOO: ClusterRevision: 1 + [1657881935.226175][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002A Attribute 0x0000_FFFD DataVersion: 2914015802 + [1657881935.226201][2631:2636] CHIP:TOO: ClusterRevision: 1 + [1657881935.226258][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002B Attribute 0x0000_FFFD DataVersion: 2733214794 + [1657881935.226284][2631:2636] CHIP:TOO: ClusterRevision: 1 + [1657881935.226340][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFFD DataVersion: 3273895737 + [1657881935.226365][2631:2636] CHIP:TOO: ClusterRevision: 1 + [1657881935.226420][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_FFFD DataVersion: 2449855749 + [1657881935.226447][2631:2636] CHIP:TOO: ClusterRevision: 1 + [1657881935.226504][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002E Attribute 0x0000_FFFD DataVersion: 2597243070 + [1657881935.226530][2631:2636] CHIP:TOO: ClusterRevision: 1 + [1657881935.226586][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002F Attribute 0x0000_FFFD DataVersion: 714742425 + [1657881935.226611][2631:2636] CHIP:TOO: ClusterRevision: 1 + [1657881935.226667][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Attribute 0x0000_FFFD DataVersion: 3643421834 + [1657881935.226693][2631:2636] CHIP:TOO: ClusterRevision: 1 + [1657881935.226747][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_FFFD DataVersion: 3610511831 + [1657881935.226773][2631:2636] CHIP:TOO: ClusterRevision: 1 + [1657881935.226831][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0032 Attribute 0x0000_FFFD DataVersion: 3399712075 + [1657881935.226857][2631:2636] CHIP:TOO: ClusterRevision: 1 + [1657881935.226916][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_FFFD DataVersion: 4165139953 + [1657881935.226941][2631:2636] CHIP:TOO: ClusterRevision: 1 + [1657881935.226996][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Attribute 0x0000_FFFD DataVersion: 3623073226 + [1657881935.227022][2631:2636] CHIP:TOO: ClusterRevision: 1 + [1657881935.227077][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_FFFD DataVersion: 3137436487 + [1657881935.227103][2631:2636] CHIP:TOO: ClusterRevision: 1 + [1657881935.227159][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_FFFD DataVersion: 1172053040 + [1657881935.227185][2631:2636] CHIP:TOO: ClusterRevision: 1 + [1657881935.227241][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0037 Attribute 0x0000_FFFD DataVersion: 3832336232 + [1657881935.227267][2631:2636] CHIP:TOO: ClusterRevision: 1 + [1657881935.227325][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003C Attribute 0x0000_FFFD DataVersion: 4072501061 + [1657881935.227350][2631:2636] CHIP:TOO: ClusterRevision: 1 + [1657881935.227407][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_FFFD DataVersion: 1112172817 + [1657881935.227433][2631:2636] CHIP:TOO: ClusterRevision: 1 + [1657881935.227488][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_FFFD DataVersion: 2917149142 + [1657881935.227515][2631:2636] CHIP:TOO: ClusterRevision: 1 + [1657881935.227572][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0040 Attribute 0x0000_FFFD DataVersion: 1676181270 + [1657881935.227611][2631:2636] CHIP:TOO: ClusterRevision: 1 + [1657881935.227669][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0041 Attribute 0x0000_FFFD DataVersion: 4002139741 + [1657881935.227695][2631:2636] CHIP:TOO: ClusterRevision: 1 + [1657881935.227752][2631:2636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0405 Attribute 0x0000_FFFD DataVersion: 2945088432 + [1657881935.227778][2631:2636] CHIP:TOO: ClusterRevision: 3 + [1657881935.227936][2631:2636] CHIP:EM: Sending Standalone Ack for MessageCounter:199380325 on exchange 6370i disabled: true - label: @@ -284,6 +443,13 @@ tests: [1655722298.459581][10909:10909] CHIP:DMG: InteractionModelRevision = 1 [1655722298.459659][10909:10909] CHIP:DMG: }, [1655722298.459820][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] + + + On DUT as a client side, verify that TH all-clusters-app sent success response with attribute values + [1657881978.415828][2640:2645] CHIP:DMG: } + [1657881978.416014][2640:2645] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 4019194565 + [1657881978.416091][2640:2645] CHIP:TOO: OnOff: FALSE + [1657881978.416245][2640:2645] CHIP:EM: Sending Standalone Ack for MessageCounter:144208215 on exchange 38107i disabled: true - label: @@ -314,6 +480,13 @@ tests: [1655722750.453268][10909:10909] CHIP:DMG: InteractionModelRevision = 1 [1655722750.453316][10909:10909] CHIP:DMG: }, [1655722750.453457][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] + + + On DUT as a client side, verify that TH all-clusters-app sent success response with attribute values + [1657882077.867099][2655:2660] CHIP:DMG: } + [1657882077.867278][2655:2660] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0000 DataVersion: 321966114 + [1657882077.867352][2655:2660] CHIP:TOO: Description: Coffee + [1657882077.867466][2655:2660] CHIP:EM: Sending Standalone Ack for MessageCounter:62608362 on exchange 57811i disabled: true - label: @@ -344,6 +517,14 @@ tests: [1655722980.957477][10909:10909] CHIP:DMG: InteractionModelRevision = 1 [1655722980.957506][10909:10909] CHIP:DMG: }, [1655722980.957605][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] + + + + On DUT as a client side, verify that TH all-clusters-app sent success response with attribute values + [1657882043.053353][2648:2653] CHIP:DMG: } + [1657882043.053561][2648:2653] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 4079829024 + [1657882043.053662][2648:2653] CHIP:TOO: identify type: 2 + [1657882043.053774][2648:2653] CHIP:EM: Sending Standalone Ack for MessageCounter:228608905 on exchange 11019i disabled: true - label: @@ -374,6 +555,14 @@ tests: [1655723021.113318][10909:10909] CHIP:DMG: InteractionModelRevision = 1 [1655723021.113349][10909:10909] CHIP:DMG: }, [1655723021.113441][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] + + + + On DUT as a client side, verify that TH all-clusters-app sent success response with attribute values + [1657882152.821695][2665:2670] CHIP:DMG: } + [1657882152.821886][2665:2670] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0403 Attribute 0x0000_0000 DataVersion: 1184750328 + [1657882152.821981][2665:2670] CHIP:TOO: MeasuredValue: 0 + [1657882152.822099][2665:2670] CHIP:EM: Sending Standalone Ack for MessageCounter:178527554 on exchange 52092i disabled: true - label: @@ -412,6 +601,14 @@ tests: [1655723062.691441][10909:10909] CHIP:DMG: InteractionModelRevision = 1 [1655723062.691494][10909:10909] CHIP:DMG: }, [1655723062.691635][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] + + + On DUT as a client side, verify that TH all-clusters-app sent success response with attribute values + [1657882197.831561][2673:2678] CHIP:DMG: } + [1657882197.831802][2673:2678] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0004 DataVersion: 1112172817 + [1657882197.831892][2673:2678] CHIP:TOO: TrustedRootCertificates: 1 entries + [1657882197.831940][2673:2678] CHIP:TOO: [1]: 1530010100240201370324140018260480228127260580254D3A37062414001824070124080130094104EC98F1D5F8E4FF3B2B1B23B154C016A02843600C0D3073EFA38123BBFC62056CA4C90C591C80D1D66206DB31F3C0FA2E2A3B11377C28D1A2D5E3ED9C79B3DD75370A3501290118240260300414D3A7631B0D05BF3D059263A09502826A7E02768F300514D3A7631B0D05BF3D059263A09502826A7E02768F18300B401A2FD4DAE286A0C0E7F2A54014D19C3AA7F8A814664B14D4EDFE6D6366746B5EF86A677807BCCE30A71A1C112FF843B88044D4212197281859CED7D21D39A42418 + [1657882197.832044][2673:2678] CHIP:EM: Sending Standalone Ack for MessageCounter:182457329 on exchange 8706i disabled: true - label: @@ -443,6 +640,17 @@ tests: [1655723112.902618][10909:10909] CHIP:DMG: InteractionModelRevision = 1 [1655723112.902664][10909:10909] CHIP:DMG: }, [1655723112.902782][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] + + + On DUT as a client side, verify that TH all-clusters-app sent success response with attribute values + [1657882247.469521][2681:2686] CHIP:DMG: InteractionModelRevision = 1 + [1657882247.469553][2681:2686] CHIP:DMG: } + [1657882247.469732][2681:2686] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Attribute 0x0000_0001 DataVersion: 3643421834 + [1657882247.469825][2681:2686] CHIP:TOO: BasicCommissioningInfo: { + [1657882247.469886][2681:2686] CHIP:TOO: FailSafeExpiryLengthSeconds: 60 + [1657882247.469921][2681:2686] CHIP:TOO: MaxCumulativeFailsafeSeconds: 900 + [1657882247.469952][2681:2686] CHIP:TOO: } + [1657882247.470043][2681:2686] CHIP:EM: Sending Standalone Ack for MessageCounter:52322886 on exchange 1487i disabled: true - label: @@ -474,6 +682,41 @@ tests: [1655723151.160110][10909:10909] CHIP:DMG: InteractionModelRevision = 1 [1655723151.160147][10909:10909] CHIP:DMG: }, [1655723151.160243][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] + + + On DUT as a client side, verify that TH all-clusters-app sent success response with attribute values + + [1657882339.679133][2701:2706] CHIP:DMG: } + [1657882339.679605][2701:2706] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0002 DataVersion: 321966114 + [1657882339.679722][2701:2706] CHIP:TOO: SupportedModes: 3 entries + [1657882339.679786][2701:2706] CHIP:TOO: [1]: { + [1657882339.679813][2701:2706] CHIP:TOO: Label: Black + [1657882339.679852][2701:2706] CHIP:TOO: Mode: 0 + [1657882339.679883][2701:2706] CHIP:TOO: SemanticTags: 1 entries + [1657882339.679918][2701:2706] CHIP:TOO: [1]: { + [1657882339.679943][2701:2706] CHIP:TOO: MfgCode: 0 + [1657882339.679966][2701:2706] CHIP:TOO: Value: 0 + [1657882339.679986][2701:2706] CHIP:TOO: } + [1657882339.680006][2701:2706] CHIP:TOO: } + [1657882339.680040][2701:2706] CHIP:TOO: [2]: { + [1657882339.680065][2701:2706] CHIP:TOO: Label: Cappuccino + [1657882339.680088][2701:2706] CHIP:TOO: Mode: 4 + [1657882339.680131][2701:2706] CHIP:TOO: SemanticTags: 1 entries + [1657882339.680163][2701:2706] CHIP:TOO: [1]: { + [1657882339.680188][2701:2706] CHIP:TOO: MfgCode: 0 + [1657882339.680212][2701:2706] CHIP:TOO: Value: 0 + [1657882339.680236][2701:2706] CHIP:TOO: } + [1657882339.680261][2701:2706] CHIP:TOO: } + [1657882339.680296][2701:2706] CHIP:TOO: [3]: { + [1657882339.680320][2701:2706] CHIP:TOO: Label: Espresso + [1657882339.680344][2701:2706] CHIP:TOO: Mode: 7 + [1657882339.680371][2701:2706] CHIP:TOO: SemanticTags: 1 entries + [1657882339.680402][2701:2706] CHIP:TOO: [1]: { + [1657882339.680427][2701:2706] CHIP:TOO: MfgCode: 0 + [1657882339.680451][2701:2706] CHIP:TOO: Value: 0 + [1657882339.680474][2701:2706] CHIP:TOO: } + [1657882339.680499][2701:2706] CHIP:TOO: } + [1657882339.680600][2701:2706] CHIP:EM: Sending Standalone Ack for MessageCounter:207994304 on exchange 48282i disabled: true - label: @@ -504,6 +747,12 @@ tests: [1655723234.549038][10909:10909] CHIP:DMG: InteractionModelRevision = 1 [1655723234.549097][10909:10909] CHIP:DMG: }, [1655723234.549241][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] + + On DUT as a client side, verify that TH all-clusters-app sent success response with attribute values + [1657882403.876372][2715:2720] CHIP:DMG: } + [1657882403.876514][2715:2720] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0406 Attribute 0x0000_0001 DataVersion: 737072536 + [1657882403.876595][2715:2720] CHIP:TOO: occupancy sensor type: 0 + [1657882403.876679][2715:2720] CHIP:EM: Sending Standalone Ack for MessageCounter:153370776 on exchange 37640i disabled: true - label: @@ -534,6 +783,14 @@ tests: [1655723282.098112][10909:10909] CHIP:DMG: InteractionModelRevision = 1 [1655723282.098134][10909:10909] CHIP:DMG: }, [1655723282.098206][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] + + + On DUT as a client side, verify that TH all-clusters-app sent success response with attribute values + [1657882440.996840][2725:2730] CHIP:DMG: InteractionModelRevision = 1 + [1657882440.996862][2725:2730] CHIP:DMG: } + [1657882440.997003][2725:2730] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_000F DataVersion: 3900213102 + [1657882440.997084][2725:2730] CHIP:TOO: options: 0 + [1657882440.997170][2725:2730] CHIP:EM: Sending Standalone Ack for MessageCounter:250919190 on exchange 53994i disabled: true - label: @@ -565,6 +822,14 @@ tests: [1655723372.329162][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] + On DUT as a client side, verify that TH all-clusters-app sent success response with attribute values + [1657883628.582877][2780:2785] CHIP:DMG: InteractionModelRevision = 1 + [1657883628.582909][2780:2785] CHIP:DMG: } + [1657883628.583066][2780:2785] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0406 Attribute 0x0000_0000 DataVersion: 737072536 + [1657883628.583146][2780:2785] CHIP:TOO: occupancy: 0 + [1657883628.583225][2780:2785] CHIP:EM: Sending Standalone Ack for MessageCounter:68376422 on exchange 7437i + + ./chip-tool occupancysensing read occupancy 1 1 verify TH receives the right Read Request Message for the data sent in the above command @@ -579,4 +844,29 @@ tests: the last one, DUT sends a status response." verification: | DUT implementation required to verify read an attribute which is is larger than 1 MTU(1280 bytes) + Below sample wildcard read command will read all the attributes from the all-clusters-app and generates 1 MTU size of data. + If the dut doesn't support generating the large chunk data, then this test step can be skipped. + Verify the last chunked data is having Suppress response True & TH will not send the Ack message. + + ./chip-tool any read-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0xFFFF + + The message flow can expect as mentioned below + TH -> DUT ReadRequest + DUT -> TH ReportData, not last chunk + TH -> DUT StatusResponse + Possibly repeat steps 2 & 3 a few times + DUT -> TH ReportData, last chunk, SuppressResponse set to true + TH -> DUT standalone ack + + On TH verify that The last chunked message should not receive any status response from the DUT + + [1658396687.401934][3726:3731] CHIP:DMG: + [1658396687.401958][3726:3731] CHIP:DMG: }, + [1658396687.401987][3726:3731] CHIP:DMG: + [1658396687.402010][3726:3731] CHIP:DMG: ], + [1658396687.402048][3726:3731] CHIP:DMG: + [1658396687.402072][3726:3731] CHIP:DMG: SuppressResponse = true, + [1658396687.402097][3726:3731] CHIP:DMG: InteractionModelRevision = 1 + [1658396687.402119][3726:3731] CHIP:DMG: } + [1658396687.402400][3726:3731] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0201 Attribute 0x0000_FFFB DataVersion: 3456275847 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_2_2.yaml b/src/app/tests/suites/certification/Test_TC_IDM_2_2.yaml index 0aec602e9d8e06..6036888ff00dd5 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_2_2.yaml @@ -73,9 +73,9 @@ tests: verification: | The cluster used in the below command is an example, User can use any supported chip cluster. - sudo ./chip-tool any read-by-id 0x03 0xFFFFFFFF 1 0xFFFF + sudo ./chip-tool any read-by-id 0x03 0xFFFFFFFF 1 0 - Verify on TH , DUT responds the right attribute value for above command + on TH , Verify that DUT responds the right attribute value for above command [1655727546.354466][5286:5291] CHIP:DMG: [1655727546.354512][5286:5291] CHIP:DMG: SuppressResponse = true, @@ -104,30 +104,6 @@ tests: [1655727546.356716][5286:5291] CHIP:TOO: [5]: 65531 [1655727546.356741][5286:5291] CHIP:TOO: [6]: 65532 [1655727546.356766][5286:5291] CHIP:TOO: [7]: 65533 - [1655727546.356790][5286:5291] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 236949823 - [1655727546.356815][5286:5291] CHIP:TOO: identify time: 0 - [1655727546.356895][5286:5291] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 236949823 - [1655727546.356946][5286:5291] CHIP:TOO: identify type: 2 - [1655727546.357022][5286:5291] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFFC DataVersion: 236949823 - [1655727546.357065][5286:5291] CHIP:TOO: FeatureMap: 0 - [1655727546.357143][5286:5291] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 236949823 - [1655727546.357171][5286:5291] CHIP:TOO: ClusterRevision: 4 - [1655727546.357312][5286:5291] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFF8 DataVersion: 236949823 - [1655727546.357362][5286:5291] CHIP:TOO: GeneratedCommandList: 0 entries - [1655727546.357555][5286:5291] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFF9 DataVersion: 236949823 - [1655727546.357610][5286:5291] CHIP:TOO: AcceptedCommandList: 2 entries - [1655727546.357638][5286:5291] CHIP:TOO: [1]: 0 - [1655727546.357662][5286:5291] CHIP:TOO: [2]: 64 - [1655727546.358014][5286:5291] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFFB DataVersion: 236949823 - [1655727546.358052][5286:5291] CHIP:TOO: AttributeList: 7 entries - [1655727546.358078][5286:5291] CHIP:TOO: [1]: 0 - [1655727546.358103][5286:5291] CHIP:TOO: [2]: 1 - [1655727546.358127][5286:5291] CHIP:TOO: [3]: 65528 - [1655727546.358152][5286:5291] CHIP:TOO: [4]: 65529 - [1655727546.358176][5286:5291] CHIP:TOO: [5]: 65531 - [1655727546.358200][5286:5291] CHIP:TOO: [6]: 65532 - [1655727546.358225][5286:5291] CHIP:TOO: [7]: 65533 - [1655727546.358492][5286:5291] CHIP:EM: Sending Standalone Ack for MessageCounter:220291395 on exchange 53799i disabled: true - label: @@ -597,7 +573,11 @@ tests: the path that requires a privilege that is not granted for the cluster in the path. DUT responds with the report data action." verification: | - To Setup the TH such that there is no accessing fabric, 1st we need to send below mentioned ACL command + To Setup the TH such that it should not have the privilege for the cluster in the path. , 1st we need to send below mentioned ACL command + Here by sending below mentioned ACL command giving only access for identify cluster(3), So except identify cluster command if try to send any other command will get status as unsupported access. + + ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets":[{ "cluster": 3, "endpoint": 1, "deviceType": null }]}]' 1 0 + ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1234], "targets": null}]' 1 0 @@ -612,6 +592,9 @@ tests: [1652964769.384668][39268:39273] CHIP:DMG: InteractionModelRevision = 1 [1652964769.384682][39268:39273] CHIP:DMG: } [1652964769.384788][39268:39273] CHIP:TOO: Response Failure: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) + + + With the above command, we are overwriting the default privilege that chip-tool has as an admin. After this test step you need to factory reset the DUT and reprovision the DUT again, Otherwise the below steps can not be executed. disabled: true - label: @@ -1046,7 +1029,10 @@ tests: The cluster used in the below command is an example, User can use any supported chip cluster. - To Setup the TH such that there is no accessing fabric, 1st we need to send below mentioned ACL command + + To Setup the TH such that it should not have the privilege for the cluster in the path. , 1st we need to send below mentioned ACL command + Here by sending below mentioned ACL command giving only access for identify cluster(3), So except identify cluster command if try to send any other command will get status as unsupported access. + ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets":[{ "cluster": 3, "endpoint": 1, "deviceType": null }]}]' 1 0 @@ -1081,6 +1067,9 @@ tests: [1657537120.035342][9438:9443] CHIP:TOO: [6]: 65532 [1657537120.035405][9438:9443] CHIP:TOO: [7]: 65533 [1657537120.035801][9438:9443] CHIP:EM: Sending Standalone Ack for MessageCounter:64174919 on exchange 48017i + + + With the above command, we are overwriting the default privilege that chip-tool has as an admin. After this test step you need to factory reset the DUT and reprovision the DUT again, Otherwise the below steps can not be executed. disabled: true - label: diff --git a/src/app/tests/suites/certification/Test_TC_IDM_3_1.yaml b/src/app/tests/suites/certification/Test_TC_IDM_3_1.yaml index 533e21320f81e3..ff0f7947a2e31a 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_3_1.yaml @@ -30,7 +30,7 @@ tests: sudo ./chip-tool levelcontrol write on-level 2 1 1 - verify on TH receives the right write Request Message for the data sent in the above command + verify on TH(reference app) receives the right write Request Message for the data sent in the above command [1655795552.551487][7331:7331] CHIP:EM: Handling via exchange: 41640r, Delegate: 0xaaaad9aed418 [1655795552.551552][7331:7331] CHIP:IM: Received Write request @@ -59,7 +59,57 @@ tests: [1655795552.552647][7331:7331] CHIP:DMG: InteractionModelRevision = 1 [1655795552.552686][7331:7331] CHIP:DMG: }, + On DUT as a client side, verify that TH all-clusters-app sent success response + [1657883782.721742][2796:2801] CHIP:DMG: WriteResponseMessage = + [1657883782.721783][2796:2801] CHIP:DMG: { + [1657883782.721819][2796:2801] CHIP:DMG: AttributeStatusIBs = + [1657883782.721874][2796:2801] CHIP:DMG: [ + [1657883782.721914][2796:2801] CHIP:DMG: AttributeStatusIB = + [1657883782.721959][2796:2801] CHIP:DMG: { + [1657883782.722002][2796:2801] CHIP:DMG: AttributePathIB = + [1657883782.722054][2796:2801] CHIP:DMG: { + [1657883782.722112][2796:2801] CHIP:DMG: Endpoint = 0x1, + [1657883782.722172][2796:2801] CHIP:DMG: Cluster = 0x8, + [1657883782.722227][2796:2801] CHIP:DMG: Attribute = 0x0000_0011, + [1657883782.722278][2796:2801] CHIP:DMG: } + [1657883782.722335][2796:2801] CHIP:DMG: + [1657883782.722384][2796:2801] CHIP:DMG: StatusIB = + [1657883782.722435][2796:2801] CHIP:DMG: { + [1657883782.722493][2796:2801] CHIP:DMG: status = 0x00 (SUCCESS), + [1657883782.722547][2796:2801] CHIP:DMG: }, + [1657883782.722605][2796:2801] CHIP:DMG: + [1657883782.722648][2796:2801] CHIP:DMG: }, + [1657883782.722697][2796:2801] CHIP:DMG: + [1657883782.722736][2796:2801] CHIP:DMG: ], + [1657883782.722783][2796:2801] CHIP:DMG: + [1657883782.722823][2796:2801] CHIP:DMG: InteractionModelRevision = 1 + [1657883782.722860][2796:2801] CHIP:DMG: } + [1657883782.722967][2796:2801] CHIP:DMG: WriteClient moving to [AwaitingDe] + [1657883782.723047][2796:2801] CHIP:EM: Sending Standalone Ack for MessageCounter:76592104 on exchange 56753i + + sudo ./chip-tool levelcontrol read on-level 1 1 + verify on TH(reference app) receives the right write Request Message for the data sent in the above command + [1657883808.062792][2457:2457] CHIP:IM: Received Read request + [1657883808.062871][2457:2457] CHIP:DMG: ReadRequestMessage = + [1657883808.062900][2457:2457] CHIP:DMG: { + [1657883808.062922][2457:2457] CHIP:DMG: AttributePathIBs = + [1657883808.062949][2457:2457] CHIP:DMG: [ + [1657883808.062972][2457:2457] CHIP:DMG: AttributePathIB = + [1657883808.063000][2457:2457] CHIP:DMG: { + [1657883808.063028][2457:2457] CHIP:DMG: Endpoint = 0x1, + [1657883808.063068][2457:2457] CHIP:DMG: Cluster = 0x8, + [1657883808.063105][2457:2457] CHIP:DMG: Attribute = 0x0000_0011, + [1657883808.063138][2457:2457] CHIP:DMG: } + [1657883808.063167][2457:2457] CHIP:DMG: + [1657883808.063192][2457:2457] CHIP:DMG: ], + [1657883808.063221][2457:2457] CHIP:DMG: + [1657883808.063247][2457:2457] CHIP:DMG: isFabricFiltered = true, + [1657883808.063272][2457:2457] CHIP:DMG: InteractionModelRevision = 1 + [1657883808.063295][2457:2457] CHIP:DMG: }, + [1657883808.063369][2457:2457] CHIP:DMG: IM RH moving to [GeneratingReports] + + On DUT as a client side, verify that TH all-clusters-app sent success response [1655795604.755214][6880:6885] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 737039636 [1655795604.755363][6880:6885] CHIP:TOO: on level: 2 [1655795604.755460][6880:6885] CHIP:EM: Sending Standalone Ack for MessageCounter:83198098 on exchange 53763i @@ -81,7 +131,7 @@ tests: ./chip-tool basic write local-config-disabled 1 1 0 - verify on TH receives the right write Request Message for the data sent in the above command + verify on TH(reference app) receives the right write Request Message for the data sent in the above command [1655795795.033946][7331:7331] CHIP:EM: Handling via exchange: 11668r, Delegate: 0xaaaad9aed418 [1655795795.034011][7331:7331] CHIP:IM: Received Write request @@ -111,7 +161,62 @@ tests: [1655795795.035138][7331:7331] CHIP:DMG: }, [1655795795.035259][7331:7331] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0028 e=0 p=m + + + On DUT as a client side, verify that TH all-clusters-app sent success response + + [1657883938.394965][2822:2827] CHIP:DMG: WriteResponseMessage = + [1657883938.394995][2822:2827] CHIP:DMG: { + [1657883938.395022][2822:2827] CHIP:DMG: AttributeStatusIBs = + [1657883938.395060][2822:2827] CHIP:DMG: [ + [1657883938.395090][2822:2827] CHIP:DMG: AttributeStatusIB = + [1657883938.395127][2822:2827] CHIP:DMG: { + [1657883938.395158][2822:2827] CHIP:DMG: AttributePathIB = + [1657883938.395196][2822:2827] CHIP:DMG: { + [1657883938.395241][2822:2827] CHIP:DMG: Endpoint = 0x0, + [1657883938.395283][2822:2827] CHIP:DMG: Cluster = 0x28, + [1657883938.395324][2822:2827] CHIP:DMG: Attribute = 0x0000_0010, + [1657883938.395363][2822:2827] CHIP:DMG: } + [1657883938.395406][2822:2827] CHIP:DMG: + [1657883938.395446][2822:2827] CHIP:DMG: StatusIB = + [1657883938.395485][2822:2827] CHIP:DMG: { + [1657883938.395522][2822:2827] CHIP:DMG: status = 0x00 (SUCCESS), + [1657883938.395561][2822:2827] CHIP:DMG: }, + [1657883938.395603][2822:2827] CHIP:DMG: + [1657883938.395636][2822:2827] CHIP:DMG: }, + [1657883938.395672][2822:2827] CHIP:DMG: + [1657883938.395700][2822:2827] CHIP:DMG: ], + [1657883938.395735][2822:2827] CHIP:DMG: + [1657883938.395765][2822:2827] CHIP:DMG: InteractionModelRevision = 1 + [1657883938.395794][2822:2827] CHIP:DMG: } + [1657883938.395875][2822:2827] CHIP:DMG: WriteClient moving to [AwaitingDe] + [1657883938.395940][2822:2827] CHIP:EM: Sending Standalone Ack for MessageCounter:157043526 on exchange 18989i + + ./chip-tool basic read local-config-disabled 1 0 + + verify on TH(reference app) receives the right write Request Message for the data sent in the above command + [1657884119.522809][2748:2748] CHIP:IM: Received Read request + [1657884119.522885][2748:2748] CHIP:DMG: ReadRequestMessage = + [1657884119.522911][2748:2748] CHIP:DMG: { + [1657884119.522933][2748:2748] CHIP:DMG: AttributePathIBs = + [1657884119.522959][2748:2748] CHIP:DMG: [ + [1657884119.522982][2748:2748] CHIP:DMG: AttributePathIB = + [1657884119.523009][2748:2748] CHIP:DMG: { + [1657884119.523037][2748:2748] CHIP:DMG: Endpoint = 0x0, + [1657884119.523067][2748:2748] CHIP:DMG: Cluster = 0x28, + [1657884119.523097][2748:2748] CHIP:DMG: Attribute = 0x0000_0010, + [1657884119.523126][2748:2748] CHIP:DMG: } + [1657884119.523153][2748:2748] CHIP:DMG: + [1657884119.523179][2748:2748] CHIP:DMG: ], + [1657884119.523207][2748:2748] CHIP:DMG: + [1657884119.523233][2748:2748] CHIP:DMG: isFabricFiltered = true, + [1657884119.523257][2748:2748] CHIP:DMG: InteractionModelRevision = 1 + [1657884119.523280][2748:2748] CHIP:DMG: }, + + + + On DUT as a client side, verify that TH all-clusters-app sent success response [1655795843.336042][6902:6907] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0010 DataVersion: 1263909562 [1655795843.336093][6902:6907] CHIP:TOO: LocalConfigDisabled: TRUE [1655795843.336251][6902:6907] CHIP:EM: Sending Standalone Ack for MessageCounter:108030495 on exchange 43207i @@ -127,7 +232,7 @@ tests: ./chip-tool basic write node-label node 1 0 - verify on TH receives the right write Request Message for the data sent in the above command + verify on TH(reference app) receives the right write Request Message for the data sent in the above command [1655796035.022296][7331:7331] CHIP:EM: Handling via exchange: 64908r, Delegate: 0xaaaad9aed418 [1655796035.022365][7331:7331] CHIP:IM: Received Write request @@ -158,7 +263,58 @@ tests: [1655796035.023791][7331:7331] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0028 e=0 p=m [1655796035.023851][7331:7331] CHIP:DMG: AccessControl: allowed + On DUT as a client side, verify that TH all-clusters-app sent success response + [1657884155.221193][2865:2870] CHIP:DMG: WriteResponseMessage = + [1657884155.221246][2865:2870] CHIP:DMG: { + [1657884155.221292][2865:2870] CHIP:DMG: AttributeStatusIBs = + [1657884155.221356][2865:2870] CHIP:DMG: [ + [1657884155.221406][2865:2870] CHIP:DMG: AttributeStatusIB = + [1657884155.221464][2865:2870] CHIP:DMG: { + [1657884155.221518][2865:2870] CHIP:DMG: AttributePathIB = + [1657884155.221588][2865:2870] CHIP:DMG: { + [1657884155.221635][2865:2870] CHIP:DMG: Endpoint = 0x0, + [1657884155.221673][2865:2870] CHIP:DMG: Cluster = 0x28, + [1657884155.221710][2865:2870] CHIP:DMG: Attribute = 0x0000_0005, + [1657884155.221798][2865:2870] CHIP:DMG: } + [1657884155.221837][2865:2870] CHIP:DMG: + [1657884155.221868][2865:2870] CHIP:DMG: StatusIB = + [1657884155.221900][2865:2870] CHIP:DMG: { + [1657884155.221932][2865:2870] CHIP:DMG: status = 0x00 (SUCCESS), + [1657884155.221965][2865:2870] CHIP:DMG: }, + [1657884155.221996][2865:2870] CHIP:DMG: + [1657884155.222022][2865:2870] CHIP:DMG: }, + [1657884155.222052][2865:2870] CHIP:DMG: + [1657884155.222077][2865:2870] CHIP:DMG: ], + [1657884155.222108][2865:2870] CHIP:DMG: + [1657884155.222132][2865:2870] CHIP:DMG: InteractionModelRevision = 1 + [1657884155.222157][2865:2870] CHIP:DMG: } + [1657884155.222229][2865:2870] CHIP:DMG: WriteClient moving to [AwaitingDe] + + ./chip-tool basic read node-label 1 0 + verify on TH(reference app) receives the right write Request Message for the data sent in the above command + [1657884173.738798][2748:2748] CHIP:IM: Received Read request + [1657884173.738877][2748:2748] CHIP:DMG: ReadRequestMessage = + [1657884173.738904][2748:2748] CHIP:DMG: { + [1657884173.738926][2748:2748] CHIP:DMG: AttributePathIBs = + [1657884173.738952][2748:2748] CHIP:DMG: [ + [1657884173.738975][2748:2748] CHIP:DMG: AttributePathIB = + [1657884173.739009][2748:2748] CHIP:DMG: { + [1657884173.739041][2748:2748] CHIP:DMG: Endpoint = 0x0, + [1657884173.739073][2748:2748] CHIP:DMG: Cluster = 0x28, + [1657884173.739105][2748:2748] CHIP:DMG: Attribute = 0x0000_0005, + [1657884173.739134][2748:2748] CHIP:DMG: } + [1657884173.739162][2748:2748] CHIP:DMG: + [1657884173.739188][2748:2748] CHIP:DMG: ], + [1657884173.739215][2748:2748] CHIP:DMG: + [1657884173.739241][2748:2748] CHIP:DMG: isFabricFiltered = true, + [1657884173.739266][2748:2748] CHIP:DMG: InteractionModelRevision = 1 + [1657884173.739288][2748:2748] CHIP:DMG: }, + + + + On DUT as a client side, verify that TH all-clusters-app sent success response + [1655796082.079468][6918:6923] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 1263909563 [1655796082.079509][6918:6923] CHIP:TOO: NodeLabel: node [1655796082.079608][6918:6923] CHIP:EM: Sending Standalone Ack for MessageCounter:256008218 on exchange 23185i @@ -173,7 +329,7 @@ tests: ./chip-tool any write-by-id 0x0008 0x0010 1 1 1 - verify on TH receives the right write Request Message for the data sent in the above command + verify on TH(reference app) receives the right write Request Message for the data sent in the above command [1655796141.166846][7331:7331] CHIP:IM: Received Write request [1655796141.166889][7331:7331] CHIP:DMG: IM WH moving to [Initialized] @@ -203,8 +359,59 @@ tests: [1655796141.168253][7331:7331] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0008 e=1 p=o [1655796141.168313][7331:7331] CHIP:DMG: AccessControl: allowed + On DUT as a client side, verify that TH all-clusters-app sent success response + [1657884204.951658][2878:2883] CHIP:DMG: WriteResponseMessage = + [1657884204.951700][2878:2883] CHIP:DMG: { + [1657884204.951736][2878:2883] CHIP:DMG: AttributeStatusIBs = + [1657884204.951786][2878:2883] CHIP:DMG: [ + [1657884204.951826][2878:2883] CHIP:DMG: AttributeStatusIB = + [1657884204.951871][2878:2883] CHIP:DMG: { + [1657884204.951913][2878:2883] CHIP:DMG: AttributePathIB = + [1657884204.951965][2878:2883] CHIP:DMG: { + [1657884204.952018][2878:2883] CHIP:DMG: Endpoint = 0x1, + [1657884204.952075][2878:2883] CHIP:DMG: Cluster = 0x8, + [1657884204.952173][2878:2883] CHIP:DMG: Attribute = 0x0000_0010, + [1657884204.952226][2878:2883] CHIP:DMG: } + [1657884204.952286][2878:2883] CHIP:DMG: + [1657884204.952340][2878:2883] CHIP:DMG: StatusIB = + [1657884204.952396][2878:2883] CHIP:DMG: { + [1657884204.952449][2878:2883] CHIP:DMG: status = 0x00 (SUCCESS), + [1657884204.952500][2878:2883] CHIP:DMG: }, + [1657884204.952552][2878:2883] CHIP:DMG: + [1657884204.952597][2878:2883] CHIP:DMG: }, + [1657884204.952645][2878:2883] CHIP:DMG: + [1657884204.952684][2878:2883] CHIP:DMG: ], + [1657884204.952731][2878:2883] CHIP:DMG: + [1657884204.952770][2878:2883] CHIP:DMG: InteractionModelRevision = 1 + [1657884204.952808][2878:2883] CHIP:DMG: } + [1657884204.952914][2878:2883] CHIP:DMG: WriteClient moving to [AwaitingDe] + [1657884204.952998][2878:2883] CHIP:EM: Sending Standalone Ack for MessageCounter:264044678 + ./chip-tool any read-by-id 0x0008 0x0010 1 1 + + verify on TH(reference app) receives the read Request Message for the data sent in the above command + [1657884227.859836][2748:2748] CHIP:IM: Received Read request + [1657884227.859916][2748:2748] CHIP:DMG: ReadRequestMessage = + [1657884227.859942][2748:2748] CHIP:DMG: { + [1657884227.859964][2748:2748] CHIP:DMG: AttributePathIBs = + [1657884227.859989][2748:2748] CHIP:DMG: [ + [1657884227.860012][2748:2748] CHIP:DMG: AttributePathIB = + [1657884227.860045][2748:2748] CHIP:DMG: { + [1657884227.860076][2748:2748] CHIP:DMG: Endpoint = 0x1, + [1657884227.860112][2748:2748] CHIP:DMG: Cluster = 0x8, + [1657884227.860147][2748:2748] CHIP:DMG: Attribute = 0x0000_0010, + [1657884227.860181][2748:2748] CHIP:DMG: } + [1657884227.860211][2748:2748] CHIP:DMG: + [1657884227.860239][2748:2748] CHIP:DMG: ], + [1657884227.860266][2748:2748] CHIP:DMG: + [1657884227.860292][2748:2748] CHIP:DMG: isFabricFiltered = true, + [1657884227.860316][2748:2748] CHIP:DMG: InteractionModelRevision = 1 + [1657884227.860339][2748:2748] CHIP:DMG: }, + [1657884227.860413][2748:2748] CHIP:DMG: IM RH moving to [GeneratingReports] + + + On DUT as a client side, verify that TH all-clusters-app sent success response [1655796192.032715][6931:6936] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0010 DataVersion: 737039637 [1655796192.032807][6931:6936] CHIP:TOO: on off transition time: 1 [1655796192.032908][6931:6936] CHIP:EM: Sending Standalone Ack for MessageCounter:249349258 on exchange 7433i @@ -253,7 +460,7 @@ tests: ./chip-tool any write-by-id 0x0204 0 1 1 1 - verify on TH receives the right write Request Message for the data sent in the above command + verify on TH (reference app) receives the right write Request Message for the data sent in the above command [1655796297.607841][7331:7331] CHIP:EM: Handling via exchange: 37495r, Delegate: 0xaaaad9aed418 [1655796297.607911][7331:7331] CHIP:IM: Received Write request @@ -284,7 +491,43 @@ tests: [1655796297.609342][7331:7331] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0204 e=1 p=o [1655796297.609403][7331:7331] CHIP:DMG: AccessControl: allowed + On DUT as a client side, verify that TH all-clusters-app sent success response + [1657884258.383116][2892:2897] CHIP:DMG: WriteResponseMessage = + [1657884258.383157][2892:2897] CHIP:DMG: { + [1657884258.383192][2892:2897] CHIP:DMG: AttributeStatusIBs = + [1657884258.383255][2892:2897] CHIP:DMG: [ + [1657884258.383295][2892:2897] CHIP:DMG: AttributeStatusIB = + [1657884258.383339][2892:2897] CHIP:DMG: { + [1657884258.383381][2892:2897] CHIP:DMG: AttributePathIB = + [1657884258.383431][2892:2897] CHIP:DMG: { + [1657884258.383482][2892:2897] CHIP:DMG: Endpoint = 0x1, + [1657884258.383538][2892:2897] CHIP:DMG: Cluster = 0x204, + [1657884258.383592][2892:2897] CHIP:DMG: Attribute = 0x0000_0000, + [1657884258.383647][2892:2897] CHIP:DMG: } + [1657884258.383703][2892:2897] CHIP:DMG: + [1657884258.383750][2892:2897] CHIP:DMG: StatusIB = + [1657884258.383800][2892:2897] CHIP:DMG: { + [1657884258.383851][2892:2897] CHIP:DMG: status = 0x00 (SUCCESS), + [1657884258.383905][2892:2897] CHIP:DMG: }, + [1657884258.383955][2892:2897] CHIP:DMG: + [1657884258.383996][2892:2897] CHIP:DMG: }, + [1657884258.384043][2892:2897] CHIP:DMG: + [1657884258.384081][2892:2897] CHIP:DMG: ], + [1657884258.384170][2892:2897] CHIP:DMG: + [1657884258.384212][2892:2897] CHIP:DMG: InteractionModelRevision = 1 + [1657884258.384249][2892:2897] CHIP:DMG: } + [1657884258.384358][2892:2897] CHIP:DMG: WriteClient moving to [AwaitingDe] + [1657884258.384441][2892:2897] CHIP:EM: Sending Standalone Ack for MessageCounter:255796912 on exchange 26584i + + ./chip-tool any read-by-id 0x0204 0 1 1 + verify on TH (reference app) receives the right write Request Message for the data sent in the above command + [1657884282.303557][2898:2903] CHIP:DMG: } + [1657884282.303695][2898:2903] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_0000 DataVersion: 2387607084 + [1657884282.303778][2898:2903] CHIP:TOO: temperature display mode: 1 + [1657884282.303862][2898:2903] CHIP:EM: Sending Standalone Ack for MessageCounter:147756485 on exchange 42871i + + On DUT as a client side, verify that TH all-clusters-app sent success response [1655796341.132655][6946:6951] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_0000 DataVersion: 3165945391 [1655796341.132864][6946:6951] CHIP:TOO: temperature display mode: 1 [1655796341.132973][6946:6951] CHIP:EM: Sending Standalone Ack for MessageCounter:245498041 on exchange 51992i @@ -300,7 +543,7 @@ tests: ./chip-tool colorcontrol write-by-id 0x000f 1 1 1 - verify on TH receives the right write Request Message for the data sent in the above command + verify on TH(reference app) receives the right write Request Message for the data sent in the above command [1655796429.696904][7331:7331] CHIP:IM: Received Write request [1655796429.696947][7331:7331] CHIP:DMG: IM WH moving to [Initialized] @@ -331,7 +574,61 @@ tests: [1655796429.698446][7331:7331] CHIP:DMG: AccessControl: allowed - sudo ./chip-tool colorcontrol read-by-id 0x000f 1 1 + On DUT as a client side, verify that TH all-clusters-app sent success response + + [1657884309.994598][2907:2912] CHIP:DMG: WriteResponseMessage = + [1657884309.994627][2907:2912] CHIP:DMG: { + [1657884309.994652][2907:2912] CHIP:DMG: AttributeStatusIBs = + [1657884309.994688][2907:2912] CHIP:DMG: [ + [1657884309.994715][2907:2912] CHIP:DMG: AttributeStatusIB = + [1657884309.994754][2907:2912] CHIP:DMG: { + [1657884309.994787][2907:2912] CHIP:DMG: AttributePathIB = + [1657884309.994823][2907:2912] CHIP:DMG: { + [1657884309.994861][2907:2912] CHIP:DMG: Endpoint = 0x1, + [1657884309.994902][2907:2912] CHIP:DMG: Cluster = 0x300, + [1657884309.994941][2907:2912] CHIP:DMG: Attribute = 0x0000_000F, + [1657884309.994977][2907:2912] CHIP:DMG: } + [1657884309.995021][2907:2912] CHIP:DMG: + [1657884309.995057][2907:2912] CHIP:DMG: StatusIB = + [1657884309.995096][2907:2912] CHIP:DMG: { + [1657884309.995132][2907:2912] CHIP:DMG: status = 0x00 (SUCCESS), + [1657884309.995168][2907:2912] CHIP:DMG: }, + [1657884309.995203][2907:2912] CHIP:DMG: + [1657884309.995234][2907:2912] CHIP:DMG: }, + [1657884309.995268][2907:2912] CHIP:DMG: + [1657884309.995295][2907:2912] CHIP:DMG: ], + [1657884309.995329][2907:2912] CHIP:DMG: + [1657884309.995356][2907:2912] CHIP:DMG: InteractionModelRevision = 1 + [1657884309.995383][2907:2912] CHIP:DMG: } + [1657884309.995461][2907:2912] CHIP:DMG: WriteClient moving to [AwaitingDe] + [1657884309.995524][2907:2912] CHIP:EM: Sending Standalone Ack for MessageCounter:243574725 on exchange 27981i + + + + ./chip-tool colorcontrol read-by-id 0x000f 1 1 + + verify on TH (reference app) receives the right write Request Message for the data sent in the above command + [1657884334.613535][2748:2748] CHIP:IM: Received Read request + [1657884334.613615][2748:2748] CHIP:DMG: ReadRequestMessage = + [1657884334.613641][2748:2748] CHIP:DMG: { + [1657884334.613663][2748:2748] CHIP:DMG: AttributePathIBs = + [1657884334.613685][2748:2748] CHIP:DMG: [ + [1657884334.613746][2748:2748] CHIP:DMG: AttributePathIB = + [1657884334.613775][2748:2748] CHIP:DMG: { + [1657884334.613803][2748:2748] CHIP:DMG: Endpoint = 0x1, + [1657884334.613834][2748:2748] CHIP:DMG: Cluster = 0x300, + [1657884334.613869][2748:2748] CHIP:DMG: Attribute = 0x0000_000F, + [1657884334.613898][2748:2748] CHIP:DMG: } + [1657884334.613926][2748:2748] CHIP:DMG: + [1657884334.613952][2748:2748] CHIP:DMG: ], + [1657884334.613980][2748:2748] CHIP:DMG: + [1657884334.614005][2748:2748] CHIP:DMG: isFabricFiltered = true, + [1657884334.614030][2748:2748] CHIP:DMG: InteractionModelRevision = 1 + [1657884334.614053][2748:2748] CHIP:DMG: }, + [1657884334.614128][2748:2748] CHIP:DMG: IM RH moving to [GeneratingReports] + + + On DUT as a client side, verify that TH all-clusters-app sent success response [1655796493.233673][6961:6966] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_000F DataVersion: 2788050502 [1655796493.233761][6961:6966] CHIP:TOO: Options: 1 [1655796493.233865][6961:6966] CHIP:EM: Sending Standalone Ack for MessageCounter:185730221 on exchange 37136i @@ -342,6 +639,8 @@ tests: attribute data which has to be sent in multiple messages." verification: | DUT implementation required to verify write an attribute which is is larger than 1 MTU(1280 bytes) + Here is an example command to verify the write functionality. User must choose an attribute which has large list of attribute data. + ./chip-tool basic write node-label node 1 0 disabled: true - label: @@ -353,7 +652,7 @@ tests: ./chip-tool any write-by-id 0x0204 0 1 1 1 - verify on TH receives the right write Request Message for the data sent in the above command + verify on TH(reference app) receives the right write Request Message for the data sent in the above command [1655796724.510633][7331:7331] CHIP:EM: Handling via exchange: 51058r, Delegate: 0xaaaad9aed418 [1655796724.510711][7331:7331] CHIP:IM: Received Write request @@ -383,7 +682,60 @@ tests: [1655796724.512195][7331:7331] CHIP:DMG: }, [1655796724.512344][7331:7331] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0204 e=1 p=o - ./chip-tool any read-by-id 0x0204 0 1 1 + On DUT as a client side, verify that TH all-clusters-app sent success response + [1657884369.932192][2923:2928] CHIP:DMG: WriteResponseMessage = + [1657884369.932226][2923:2928] CHIP:DMG: { + [1657884369.932255][2923:2928] CHIP:DMG: AttributeStatusIBs = + [1657884369.932297][2923:2928] CHIP:DMG: [ + [1657884369.932329][2923:2928] CHIP:DMG: AttributeStatusIB = + [1657884369.932366][2923:2928] CHIP:DMG: { + [1657884369.932400][2923:2928] CHIP:DMG: AttributePathIB = + [1657884369.932446][2923:2928] CHIP:DMG: { + [1657884369.932490][2923:2928] CHIP:DMG: Endpoint = 0x1, + [1657884369.932534][2923:2928] CHIP:DMG: Cluster = 0x204, + [1657884369.932579][2923:2928] CHIP:DMG: Attribute = 0x0000_0000, + [1657884369.932621][2923:2928] CHIP:DMG: } + [1657884369.932667][2923:2928] CHIP:DMG: + [1657884369.932711][2923:2928] CHIP:DMG: StatusIB = + [1657884369.932753][2923:2928] CHIP:DMG: { + [1657884369.932794][2923:2928] CHIP:DMG: status = 0x00 (SUCCESS), + [1657884369.932835][2923:2928] CHIP:DMG: }, + [1657884369.932876][2923:2928] CHIP:DMG: + [1657884369.932912][2923:2928] CHIP:DMG: }, + [1657884369.932952][2923:2928] CHIP:DMG: + [1657884369.932983][2923:2928] CHIP:DMG: ], + [1657884369.933022][2923:2928] CHIP:DMG: + [1657884369.933054][2923:2928] CHIP:DMG: InteractionModelRevision = 1 + [1657884369.933085][2923:2928] CHIP:DMG: } + [1657884369.933178][2923:2928] CHIP:DMG: WriteClient moving to [AwaitingDe] + [1657884369.933244][2923:2928] CHIP:EM: Sending Standalone Ack for MessageCounter:101663641 on exchange 44315i + + + + + ./chip-tool any read-by-id 0x0204 0 1 1 + verify on TH (reference app) receives the right write Request Message for the data sent in the above command + [1657884399.502355][2748:2748] CHIP:IM: Received Read request + [1657884399.502442][2748:2748] CHIP:DMG: ReadRequestMessage = + [1657884399.502473][2748:2748] CHIP:DMG: { + [1657884399.502497][2748:2748] CHIP:DMG: AttributePathIBs = + [1657884399.502530][2748:2748] CHIP:DMG: [ + [1657884399.502558][2748:2748] CHIP:DMG: AttributePathIB = + [1657884399.502589][2748:2748] CHIP:DMG: { + [1657884399.502621][2748:2748] CHIP:DMG: Endpoint = 0x1, + [1657884399.502658][2748:2748] CHIP:DMG: Cluster = 0x204, + [1657884399.502693][2748:2748] CHIP:DMG: Attribute = 0x0000_0000, + [1657884399.502730][2748:2748] CHIP:DMG: } + [1657884399.502762][2748:2748] CHIP:DMG: + [1657884399.502791][2748:2748] CHIP:DMG: ], + [1657884399.502822][2748:2748] CHIP:DMG: + [1657884399.502852][2748:2748] CHIP:DMG: isFabricFiltered = true, + [1657884399.502881][2748:2748] CHIP:DMG: InteractionModelRevision = 1 + [1657884399.502907][2748:2748] CHIP:DMG: }, + [1657884399.502989][2748:2748] CHIP:DMG: IM RH moving to [GeneratingReports] + + + On DUT as a client side, verify that TH all-clusters-app sent success response [1655796786.513406][6976:6981] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_0000 DataVersion: 3165945392 [1655796786.513496][6976:6981] CHIP:TOO: temperature display mode: 1 [1655796786.513593][6976:6981] CHIP:EM: Sending Standalone Ack for MessageCounter:190446058 on exchange 28240i diff --git a/src/app/tests/suites/certification/Test_TC_IDM_3_2.yaml b/src/app/tests/suites/certification/Test_TC_IDM_3_2.yaml index 59975fb0312591..4ab23bcd230c99 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_3_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_3_2.yaml @@ -26,7 +26,7 @@ tests: a given cluster and endpoint. On receipt of this message, DUT should send a write response action." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. @@ -78,7 +78,7 @@ tests: "[Optional] TH sends the WriteRequestMessage to the DUT to write an attribute of data type bool." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool basic write local-config-disabled 1 1 0 @@ -122,7 +122,7 @@ tests: "[Optional] TH sends the WriteRequestMessage to the DUT to write an attribute of data type string." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. ./chip-tool basic write node-label new 1 0 @@ -166,7 +166,7 @@ tests: "[Optional] TH sends the WriteRequestMessage to the DUT to write an attribute of data type unsigned integer." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. ./chip-tool any write-by-id 0x0008 0x0010 1 1 1 @@ -245,7 +245,7 @@ tests: "[Optional] TH sends the WriteRequestMessage to the DUT to write an attribute of data type enum." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool any write-by-id 0x0204 0 1 1 1 @@ -289,7 +289,7 @@ tests: "[Optional] TH sends the WriteRequestMessage to the DUT to write an attribute of data type bitmap." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool colorcontrol write-by-id 0x000f 1 1 1 @@ -339,7 +339,7 @@ tests: "TH sends the WriteRequestMessage to the DUT to write any attribute on an unsupported Endpoint. DUT responds with the Write Response action" verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool levelcontrol write on-level 2 1 20 @@ -378,7 +378,7 @@ tests: "TH sends the WriteRequestMessage to the DUT to write any attribute on an unsupported cluster. DUT responds with the Write Response action" verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool thermostat write unoccupied-heating-setpoint 1200 1 0 @@ -416,7 +416,7 @@ tests: "TH sends the WriteRequestMessage to the DUT to write an unsupported attribute DUT responds with the Write Response action" verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool thermostat write unoccupied-heating-setpoint 1200 1 1 @@ -454,7 +454,7 @@ tests: "TH sends the WriteRequestMessage to the DUT to write an attribute which is not writable. DUT responds with the Write Response action" verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. ./chip-tool basic write-by-id 0x7 2 1 0 @@ -494,11 +494,12 @@ tests: in the path that requires a privilege that is not granted for the cluster in the path. DUT responds with the Write Response action" verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. - To Setup the TH such that there is no accessing fabric, 1st we need to send below mentioned ACL command + To Setup the TH such that it should not have the privilege for the cluster in the path. , 1st we need to send below mentioned ACL command + Here by sending below mentioned ACL command giving only access for identify cluster(3), So except identify cluster command if try to send any other command will get status as unsupported access. - ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1234], "targets": null}]' 1 0 + ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets":[{ "cluster": 3, "endpoint": 1, "deviceType": null }]}]' 1 0 sudo ./chip-tool thermostatuserinterfaceconfiguration write temperature-display-mode 2 1 1 @@ -529,14 +530,16 @@ tests: [1650552778.853780][17227:17232] CHIP:DMG: InteractionModelRevision = 1 [1650552778.853813][17227:17232] CHIP:DMG: } [1650552778.853890][17227:17232] CHIP:TOO: Response Failure: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) - [1650552778.853935][17227:17232] CHIP:DMG: WriteClient moving to [AwaitingDe]" + [1650552778.853935][17227:17232] CHIP:DMG: WriteClient moving to [AwaitingDe] + + With the above command, we are overwriting the default privilege that chip-tool has as an admin. After this test step you need to factory reset the DUT and reprovision the DUT again, Otherwise the below steps can not be executed. disabled: true - label: "TH sends the WriteRequestMessage to the DUT to write one attribute on a given cluster and endpoint. Repeat the above steps 3 times." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool levelcontrol write on-level 2 1 1 @@ -642,7 +645,7 @@ tests: WriteRequestMessage to the DUT to modify the value of one attribute with the DataVersion field set to the one received in the prior step." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. ./chip-tool levelcontrol read on-level 1 1 @@ -724,7 +727,7 @@ tests: DUT to modify the value of an attribute with the dataversion field set to the value received earlier." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. diff --git a/src/app/tests/suites/certification/Test_TC_IDM_4_1.yaml b/src/app/tests/suites/certification/Test_TC_IDM_4_1.yaml index d45d10e3f8aa4e..025efaa968ad8f 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_4_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_4_1.yaml @@ -55,6 +55,52 @@ tests: [1657446108.598241][11525:11525] CHIP:DMG: }, [1657446108.598388][11525:11525] CHIP:DMG: Final negotiated min/max parameters: Min = 10s, Max = 80s [1657446108.598559][11525:11525] CHIP:DMG: IM RH moving to [GeneratingReports] + + + On DUT as a client side, verify that TH all-clusters-app sent Subscription report with unic subscriptionID + [1657884469.617473][2938:2943] CHIP:DMG: ReportDataMessage = + [1657884469.617508][2938:2943] CHIP:DMG: { + [1657884469.617538][2938:2943] CHIP:DMG: SubscriptionId = 0x2d030a2b, + [1657884469.617572][2938:2943] CHIP:DMG: AttributeReportIBs = + [1657884469.617610][2938:2943] CHIP:DMG: [ + [1657884469.617641][2938:2943] CHIP:DMG: AttributeReportIB = + [1657884469.617680][2938:2943] CHIP:DMG: { + [1657884469.617712][2938:2943] CHIP:DMG: AttributeDataIB = + [1657884469.617749][2938:2943] CHIP:DMG: { + [1657884469.617790][2938:2943] CHIP:DMG: DataVersion = 0x42da0cab, + [1657884469.617830][2938:2943] CHIP:DMG: AttributePathIB = + [1657884469.617875][2938:2943] CHIP:DMG: { + [1657884469.617918][2938:2943] CHIP:DMG: Endpoint = 0x1, + [1657884469.617961][2938:2943] CHIP:DMG: Cluster = 0x6, + [1657884469.618006][2938:2943] CHIP:DMG: Attribute = 0x0000_0000, + [1657884469.618051][2938:2943] CHIP:DMG: } + [1657884469.618094][2938:2943] CHIP:DMG: + [1657884469.618137][2938:2943] CHIP:DMG: Data = false, + [1657884469.618176][2938:2943] CHIP:DMG: }, + [1657884469.618216][2938:2943] CHIP:DMG: + [1657884469.618250][2938:2943] CHIP:DMG: }, + [1657884469.618288][2938:2943] CHIP:DMG: + [1657884469.618317][2938:2943] CHIP:DMG: ], + [1657884469.618354][2938:2943] CHIP:DMG: + [1657884469.618384][2938:2943] CHIP:DMG: InteractionModelRevision = 1 + [1657884469.618413][2938:2943] CHIP:DMG: } + [1657884469.618568][2938:2943] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 1121586347 + [1657884469.618632][2938:2943] CHIP:TOO: OnOff: FALSE + [1657884469.618690][2938:2943] CHIP:DMG: MoveToState ReadClient[0xffffa40091f0]: Moving to [AwaitingSu] + [1657884469.618749][2938:2943] CHIP:EM: Piggybacking Ack for MessageCounter:137911467 on exchange: 45823i + [1657884469.618817][2938:2943] CHIP:IN: Prepared secure message 0xffffa4000d48 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 45823i with MessageCounter:83158075. + [1657884469.618860][2938:2943] CHIP:IN: Sending encrypted msg 0xffffa4000d48 with MessageCounter:83158075 to 0x0000000000000001 (1) at monotonic time: 00000000006D764A msec + [1657884469.620359][2938:2943] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:137911468 on exchange 45823i + [1657884469.620401][2938:2943] CHIP:EM: Found matching exchange: 45823i, Delegate: 0xffffa40091f0 + [1657884469.620439][2938:2943] CHIP:EM: Rxd Ack; Removing MessageCounter:83158075 from Retrans Table on exchange 45823i + [1657884469.620469][2938:2943] CHIP:EM: Removed CHIP MessageCounter:83158075 from RetransTable on exchange 45823i + [1657884469.620523][2938:2943] CHIP:DMG: SubscribeResponseMessage = + [1657884469.620557][2938:2943] CHIP:DMG: { + [1657884469.620587][2938:2943] CHIP:DMG: SubscriptionId = 0x2d030a2b, + [1657884469.620619][2938:2943] CHIP:DMG: MaxInterval = 0x50, + [1657884469.620650][2938:2943] CHIP:DMG: InteractionModelRevision = 1 + [1657884469.620679][2938:2943] CHIP:DMG: } + [1657884469.620711][2938:2943] CHIP:DMG: Subscription established with SubscriptionID = 0x2d030a2b MinInterval = 10s MaxInterval = 80s Peer = 01:0000000000000001 disabled: true - label: @@ -76,6 +122,51 @@ tests: [1657446108.604614][11525:11525] CHIP:DMG: } [1657446108.604672][11525:11525] CHIP:IM: Received status response, status is 0x00 (SUCCESS) [1657446108.604755][11525:11525] CHIP:DMG: Refresh Subscribe Sync Timer with max 80 seconds + + On DUT as a client side, verify that TH all-clusters-app sent Subscription report with unic subscriptionID + [1657884569.751004][2938:2943] CHIP:DMG: ReportDataMessage = + [1657884569.751034][2938:2943] CHIP:DMG: { + [1657884569.751059][2938:2943] CHIP:DMG: SubscriptionId = 0x47cd6fdb, + [1657884569.751111][2938:2943] CHIP:DMG: AttributeReportIBs = + [1657884569.751147][2938:2943] CHIP:DMG: [ + [1657884569.751173][2938:2943] CHIP:DMG: AttributeReportIB = + [1657884569.751219][2938:2943] CHIP:DMG: { + [1657884569.751259][2938:2943] CHIP:DMG: AttributeDataIB = + [1657884569.751304][2938:2943] CHIP:DMG: { + [1657884569.751351][2938:2943] CHIP:DMG: DataVersion = 0x42da0cab, + [1657884569.751395][2938:2943] CHIP:DMG: AttributePathIB = + [1657884569.751441][2938:2943] CHIP:DMG: { + [1657884569.751493][2938:2943] CHIP:DMG: Endpoint = 0x1, + [1657884569.751544][2938:2943] CHIP:DMG: Cluster = 0x6, + [1657884569.751596][2938:2943] CHIP:DMG: Attribute = 0x0000_0000, + [1657884569.751645][2938:2943] CHIP:DMG: } + [1657884569.751696][2938:2943] CHIP:DMG: + [1657884569.751749][2938:2943] CHIP:DMG: Data = false, + [1657884569.751796][2938:2943] CHIP:DMG: }, + [1657884569.751843][2938:2943] CHIP:DMG: + [1657884569.751874][2938:2943] CHIP:DMG: }, + [1657884569.751915][2938:2943] CHIP:DMG: + [1657884569.751941][2938:2943] CHIP:DMG: ], + [1657884569.751971][2938:2943] CHIP:DMG: + [1657884569.751996][2938:2943] CHIP:DMG: InteractionModelRevision = 1 + [1657884569.752022][2938:2943] CHIP:DMG: } + [1657884569.752174][2938:2943] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 1121586347 + [1657884569.752217][2938:2943] CHIP:TOO: OnOff: FALSE + [1657884569.752255][2938:2943] CHIP:DMG: MoveToState ReadClient[0xffffa40092e0]: Moving to [AwaitingSu] + [1657884569.752319][2938:2943] CHIP:EM: Piggybacking Ack for MessageCounter:137911471 on exchange: 45824i + [1657884569.752393][2938:2943] CHIP:IN: Prepared secure message 0xaaaafe09b548 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 45824i with MessageCounter:83158079. + [1657884569.752435][2938:2943] CHIP:IN: Sending encrypted msg 0xaaaafe09b548 with MessageCounter:83158079 to 0x0000000000000001 (1) at monotonic time: 00000000006EFD70 msec + [1657884569.754254][2938:2943] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:137911472 on exchange 45824i + [1657884569.754333][2938:2943] CHIP:EM: Found matching exchange: 45824i, Delegate: 0xffffa40092e0 + [1657884569.754372][2938:2943] CHIP:EM: Rxd Ack; Removing MessageCounter:83158079 from Retrans Table on exchange 45824i + [1657884569.754397][2938:2943] CHIP:EM: Removed CHIP MessageCounter:83158079 from RetransTable on exchange 45824i + [1657884569.754449][2938:2943] CHIP:DMG: SubscribeResponseMessage = + [1657884569.754478][2938:2943] CHIP:DMG: { + [1657884569.754502][2938:2943] CHIP:DMG: SubscriptionId = 0x47cd6fdb, + [1657884569.754533][2938:2943] CHIP:DMG: MaxInterval = 0x50, + [1657884569.754559][2938:2943] CHIP:DMG: InteractionModelRevision = 1 + [1657884569.754581][2938:2943] CHIP:DMG: } + [1657884569.754610][2938:2943] CHIP:DMG: Subscription established with SubscriptionID = 0x47cd6fdb MinInterval = 10s MaxInterval = 80s Peer = 01:0000000000000001 disabled: true - label: @@ -109,6 +200,53 @@ tests: [1657445962.258950][11525:11525] CHIP:DMG: } [1657445962.258975][11525:11525] CHIP:IM: Received status response, status is 0x00 (SUCCESS) [1657445962.259002][11525:11525] CHIP:DMG: OnReportConfirm: NumReports = 0 + + + + On DUT as a client side, verify that TH all-clusters-app sent Subscription report with unic subscriptionID + [1657884643.152038][2938:2943] CHIP:DMG: ReportDataMessage = + [1657884643.152141][2938:2943] CHIP:DMG: { + [1657884643.152206][2938:2943] CHIP:DMG: SubscriptionId = 0x2e0592e3, + [1657884643.152276][2938:2943] CHIP:DMG: AttributeReportIBs = + [1657884643.152353][2938:2943] CHIP:DMG: [ + [1657884643.152414][2938:2943] CHIP:DMG: AttributeReportIB = + [1657884643.152497][2938:2943] CHIP:DMG: { + [1657884643.152565][2938:2943] CHIP:DMG: AttributeDataIB = + [1657884643.152640][2938:2943] CHIP:DMG: { + [1657884643.152722][2938:2943] CHIP:DMG: DataVersion = 0xe411d149, + [1657884643.152809][2938:2943] CHIP:DMG: AttributePathIB = + [1657884643.152898][2938:2943] CHIP:DMG: { + [1657884643.152989][2938:2943] CHIP:DMG: Endpoint = 0x0, + [1657884643.153069][2938:2943] CHIP:DMG: Cluster = 0x28, + [1657884643.153134][2938:2943] CHIP:DMG: Attribute = 0x0000_0010, + [1657884643.153282][2938:2943] CHIP:DMG: } + [1657884643.153349][2938:2943] CHIP:DMG: + [1657884643.153412][2938:2943] CHIP:DMG: Data = true, + [1657884643.153471][2938:2943] CHIP:DMG: }, + [1657884643.153529][2938:2943] CHIP:DMG: + [1657884643.153576][2938:2943] CHIP:DMG: }, + [1657884643.153631][2938:2943] CHIP:DMG: + [1657884643.153675][2938:2943] CHIP:DMG: ], + [1657884643.153731][2938:2943] CHIP:DMG: + [1657884643.153776][2938:2943] CHIP:DMG: InteractionModelRevision = 1 + [1657884643.153821][2938:2943] CHIP:DMG: } + [1657884643.153988][2938:2943] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0010 DataVersion: 3826372937 + [1657884643.154049][2938:2943] CHIP:TOO: LocalConfigDisabled: TRUE + [1657884643.154117][2938:2943] CHIP:DMG: MoveToState ReadClient[0xffffa40064f0]: Moving to [AwaitingSu] + [1657884643.154200][2938:2943] CHIP:EM: Piggybacking Ack for MessageCounter:137911473 on exchange: 45825i + [1657884643.154295][2938:2943] CHIP:IN: Prepared secure message 0xffffa4000d48 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 45825i with MessageCounter:83158082. + [1657884643.154361][2938:2943] CHIP:IN: Sending encrypted msg 0xffffa4000d48 with MessageCounter:83158082 to 0x0000000000000001 (1) at monotonic time: 0000000000701C2A msec + [1657884643.155638][2938:2943] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:137911474 on exchange 45825i + [1657884643.155696][2938:2943] CHIP:EM: Found matching exchange: 45825i, Delegate: 0xffffa40064f0 + [1657884643.155750][2938:2943] CHIP:EM: Rxd Ack; Removing MessageCounter:83158082 from Retrans Table on exchange 45825i + [1657884643.155794][2938:2943] CHIP:EM: Removed CHIP MessageCounter:83158082 from RetransTable on exchange 45825i + [1657884643.155865][2938:2943] CHIP:DMG: SubscribeResponseMessage = + [1657884643.155913][2938:2943] CHIP:DMG: { + [1657884643.155957][2938:2943] CHIP:DMG: SubscriptionId = 0x2e0592e3, + [1657884643.156005][2938:2943] CHIP:DMG: MaxInterval = 0x64, + [1657884643.156051][2938:2943] CHIP:DMG: InteractionModelRevision = 1 + [1657884643.156093][2938:2943] CHIP:DMG: } + [1657884643.156176][2938:2943] CHIP:DMG: Subscription established with SubscriptionID = 0x2e0592e3 MinInterval = 10s MaxInterval = 100s Peer = 01:0000000000000001 disabled: true - label: @@ -138,6 +276,8 @@ tests: basic write node-label label 1 0 + + On TH (On the reference app) Verify if DUT is responding with the below status response for the above command [1657446721.226280][11525:11525] CHIP:DMG: StatusResponseMessage = [1657446721.226345][11525:11525] CHIP:DMG: { [1657446721.226431][11525:11525] CHIP:DMG: Status = 0x00 (SUCCESS), @@ -146,6 +286,37 @@ tests: [1657446721.226628][11525:11525] CHIP:IM: Received status response, status is 0x00 (SUCCESS) [1657446721.226711][11525:11525] CHIP:DMG: OnReportConfirm: NumReports = 0 [1657446721.226773][11525:11525] CHIP:DMG: IM RH moving to [GeneratingReports] + + On DUT as a client side, verify that TH all-clusters-app sent Subscription report with unic subscriptionID + [1657884902.175205][2938:2943] CHIP:DMG: ReportDataMessage = + [1657884902.175255][2938:2943] CHIP:DMG: { + [1657884902.175299][2938:2943] CHIP:DMG: SubscriptionId = 0x6a6457a1, + [1657884902.175343][2938:2943] CHIP:DMG: AttributeReportIBs = + [1657884902.175399][2938:2943] CHIP:DMG: [ + [1657884902.175444][2938:2943] CHIP:DMG: AttributeReportIB = + [1657884902.175509][2938:2943] CHIP:DMG: { + [1657884902.175560][2938:2943] CHIP:DMG: AttributeDataIB = + [1657884902.175615][2938:2943] CHIP:DMG: { + [1657884902.175674][2938:2943] CHIP:DMG: DataVersion = 0xe411d14c, + [1657884902.175733][2938:2943] CHIP:DMG: AttributePathIB = + [1657884902.175798][2938:2943] CHIP:DMG: { + [1657884902.175866][2938:2943] CHIP:DMG: Endpoint = 0x0, + [1657884902.175936][2938:2943] CHIP:DMG: Cluster = 0x28, + [1657884902.176007][2938:2943] CHIP:DMG: Attribute = 0x0000_0005, + [1657884902.176067][2938:2943] CHIP:DMG: } + [1657884902.176147][2938:2943] CHIP:DMG: + [1657884902.176215][2938:2943] CHIP:DMG: Data = "label", + [1657884902.176265][2938:2943] CHIP:DMG: }, + [1657884902.176322][2938:2943] CHIP:DMG: + [1657884902.176369][2938:2943] CHIP:DMG: }, + [1657884902.176424][2938:2943] CHIP:DMG: + [1657884902.176467][2938:2943] CHIP:DMG: ], + [1657884902.176522][2938:2943] CHIP:DMG: + [1657884902.176568][2938:2943] CHIP:DMG: InteractionModelRevision = 1 + [1657884902.176610][2938:2943] CHIP:DMG: } + [1657884902.176771][2938:2943] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 3826372940 + [1657884902.176833][2938:2943] CHIP:TOO: NodeLabel: label + [1657884902.176910][2938:2943] CHIP:DMG: Refresh LivenessCheckTime for 225000 milliseconds with SubscriptionId = 0x6a6457a1 Peer = 01:0000000000000001 disabled: true - label: @@ -156,10 +327,9 @@ tests: verification: | In the case of chip tool as a client, here is an example command the client can subscribe to the TH - Verify DUT is responsds with status response for the data sent in the all below commands - On TH (On the reference app) any subscribe-by-id 0x0008 0x0010 10 100 1 1 + On TH (On the reference app) Verify if DUT is responding with the below status response for the above command [1657448410.108491][11525:11525] CHIP:EM: Removed CHIP MessageCounter:11055857 from RetransTable on exchange 33616r [1657448410.108543][11525:11525] CHIP:DMG: StatusResponseMessage = [1657448410.108571][11525:11525] CHIP:DMG: { @@ -168,12 +338,59 @@ tests: [1657448410.108650][11525:11525] CHIP:DMG: } [1657448410.108674][11525:11525] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - + On DUT as a client side, verify that TH all-clusters-app sent Subscription report with unic subscriptionID + [1657884929.244585][2938:2943] CHIP:DMG: ReportDataMessage = + [1657884929.244654][2938:2943] CHIP:DMG: { + [1657884929.244716][2938:2943] CHIP:DMG: SubscriptionId = 0x6cee9660, + [1657884929.244791][2938:2943] CHIP:DMG: AttributeReportIBs = + [1657884929.244873][2938:2943] CHIP:DMG: [ + [1657884929.244935][2938:2943] CHIP:DMG: AttributeReportIB = + [1657884929.245032][2938:2943] CHIP:DMG: { + [1657884929.245098][2938:2943] CHIP:DMG: AttributeDataIB = + [1657884929.245170][2938:2943] CHIP:DMG: { + [1657884929.245245][2938:2943] CHIP:DMG: DataVersion = 0xccfe0684, + [1657884929.245319][2938:2943] CHIP:DMG: AttributePathIB = + [1657884929.245395][2938:2943] CHIP:DMG: { + [1657884929.245474][2938:2943] CHIP:DMG: Endpoint = 0x1, + [1657884929.245556][2938:2943] CHIP:DMG: Cluster = 0x8, + [1657884929.245638][2938:2943] CHIP:DMG: Attribute = 0x0000_0010, + [1657884929.245696][2938:2943] CHIP:DMG: } + [1657884929.245773][2938:2943] CHIP:DMG: + [1657884929.245841][2938:2943] CHIP:DMG: Data = 1, + [1657884929.245897][2938:2943] CHIP:DMG: }, + [1657884929.245955][2938:2943] CHIP:DMG: + [1657884929.246003][2938:2943] CHIP:DMG: }, + [1657884929.246059][2938:2943] CHIP:DMG: + [1657884929.246104][2938:2943] CHIP:DMG: ], + [1657884929.246160][2938:2943] CHIP:DMG: + [1657884929.246207][2938:2943] CHIP:DMG: InteractionModelRevision = 1 + [1657884929.246252][2938:2943] CHIP:DMG: } + [1657884929.246416][2938:2943] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0010 DataVersion: 3439199876 + [1657884929.246496][2938:2943] CHIP:TOO: on off transition time: 0 + [1657884929.246565][2938:2943] CHIP:DMG: MoveToState ReadClient[0xffffa40064f0]: Moving to [AwaitingSu] + [1657884929.246666][2938:2943] CHIP:EM: Piggybacking Ack for MessageCounter:137911484 on exchange: 45830i + [1657884929.246777][2938:2943] CHIP:IN: Prepared secure message 0xffffa4000db8 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 45830i with MessageCounter:83158096. + [1657884929.246851][2938:2943] CHIP:IN: Sending encrypted msg 0xffffa4000db8 with MessageCounter:83158096 to 0x0000000000000001 (1) at monotonic time: 00000000007479B6 msec + [1657884929.248540][2938:2943] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:137911485 on exchange 45830i + [1657884929.248614][2938:2943] CHIP:EM: Found matching exchange: 45830i, Delegate: 0xffffa40064f0 + [1657884929.248678][2938:2943] CHIP:EM: Rxd Ack; Removing MessageCounter:83158096 from Retrans Table on exchange 45830i + [1657884929.248724][2938:2943] CHIP:EM: Removed CHIP MessageCounter:83158096 from RetransTable on exchange 45830i + [1657884929.248809][2938:2943] CHIP:DMG: SubscribeResponseMessage = + [1657884929.248858][2938:2943] CHIP:DMG: { + [1657884929.248904][2938:2943] CHIP:DMG: SubscriptionId = 0x6cee9660, + [1657884929.248953][2938:2943] CHIP:DMG: MaxInterval = 0x64, + [1657884929.249003][2938:2943] CHIP:DMG: InteractionModelRevision = 1 + [1657884929.249047][2938:2943] CHIP:DMG: } + [1657884929.249098][2938:2943] CHIP:DMG: Subscription established with SubscriptionID = 0x6cee9660 MinInterval = 10s MaxInterval = 100s Peer = 01:0000000000000001 In the case of chip tool as a client, here is an example command the client can write an attribute in the basic cluster in the TH to change the value that the client subscribed in the above command. + + In the case of chip tool as a client, here is an example command the client can write an attribute in the basic cluster in the TH to change the value that the client subscribed in the above command. + any write-by-id 0x0008 0x0010 1 1 1 + [1657448453.234310][11525:11525] CHIP:EM: Removed CHIP MessageCounter:11055860 from RetransTable on exchange 8514i [1657448453.234372][11525:11525] CHIP:DMG: StatusResponseMessage = [1657448453.234409][11525:11525] CHIP:DMG: { @@ -184,6 +401,36 @@ tests: [1657448453.234577][11525:11525] CHIP:DMG: OnReportConfirm: NumReports = 0 + On DUT as a client side, verify that TH all-clusters-app sent Subscription report with unic subscriptionID + [1657884955.073466][2938:2943] CHIP:DMG: ReportDataMessage = + [1657884955.073516][2938:2943] CHIP:DMG: { + [1657884955.073562][2938:2943] CHIP:DMG: SubscriptionId = 0x6cee9660, + [1657884955.073608][2938:2943] CHIP:DMG: AttributeReportIBs = + [1657884955.073666][2938:2943] CHIP:DMG: [ + [1657884955.073711][2938:2943] CHIP:DMG: AttributeReportIB = + [1657884955.073770][2938:2943] CHIP:DMG: { + [1657884955.073818][2938:2943] CHIP:DMG: AttributeDataIB = + [1657884955.073882][2938:2943] CHIP:DMG: { + [1657884955.073943][2938:2943] CHIP:DMG: DataVersion = 0xccfe0685, + [1657884955.074003][2938:2943] CHIP:DMG: AttributePathIB = + [1657884955.074064][2938:2943] CHIP:DMG: { + [1657884955.074128][2938:2943] CHIP:DMG: Endpoint = 0x1, + [1657884955.074199][2938:2943] CHIP:DMG: Cluster = 0x8, + [1657884955.074263][2938:2943] CHIP:DMG: Attribute = 0x0000_0010, + [1657884955.074329][2938:2943] CHIP:DMG: } + [1657884955.074393][2938:2943] CHIP:DMG: + [1657884955.074455][2938:2943] CHIP:DMG: Data = 1, + [1657884955.074512][2938:2943] CHIP:DMG: }, + [1657884955.074574][2938:2943] CHIP:DMG: + [1657884955.074625][2938:2943] CHIP:DMG: }, + [1657884955.074684][2938:2943] CHIP:DMG: + [1657884955.074732][2938:2943] CHIP:DMG: ], + [1657884955.074788][2938:2943] CHIP:DMG: + [1657884955.074833][2938:2943] CHIP:DMG: InteractionModelRevision = 1 + [1657884955.074877][2938:2943] CHIP:DMG: } + [1657884955.075032][2938:2943] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0010 DataVersion: 3439199877 + [1657884955.075095][2938:2943] CHIP:TOO: on off transition time: 1 + [1657884955.075170][2938:2943] CHIP:DMG: Refresh LivenessCheckTime for 125000 milliseconds with SubscriptionId = 0x6cee9660 Peer = 01:0000000000000001 Verify the above command multiple times by changing attribute value(3 times) @@ -264,30 +511,7 @@ tests: [1657449168.666488][11525:11525] CHIP:DMG: InteractionModelRevision = 1 [1657449168.666545][11525:11525] CHIP:DMG: }, [1657449168.666762][11525:11525] CHIP:DMG: Final negotiated min/max parameters: Min = 10s, Max = 100s - [1657449168.666949][11525:11525] CHIP:DMG: IM RH moving to [GeneratingReports] - [1657449168.667136][11525:11525] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 - [1657449168.667204][11525:11525] CHIP:DMG: Cluster 3, Attribute 0 is dirty - [1657449168.667256][11525:11525] CHIP:DMG: Reading attribute: Cluster=0x0000_0003 Endpoint=1 AttributeId=0x0000_0000 (expanded=0) - [1657449168.667317][11525:11525] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0003 e=1 p=v - [1657449168.667388][11525:11525] CHIP:DMG: AccessControl: allowed - [1657449168.667523][11525:11525] CHIP:DMG: Cluster 8, Attribute 1 is dirty - [1657449168.667580][11525:11525] CHIP:DMG: Reading attribute: Cluster=0x0000_0008 Endpoint=1 AttributeId=0x0000_0001 (expanded=0) - [1657449168.667636][11525:11525] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0008 e=1 p=v - [1657449168.667696][11525:11525] CHIP:DMG: AccessControl: allowed - [1657449168.667768][11525:11525] CHIP:DMG: Cluster 6, Attribute 0 is dirty - [1657449168.667824][11525:11525] CHIP:DMG: Reading attribute: Cluster=0x0000_0006 Endpoint=1 AttributeId=0x0000_0000 (expanded=0) - [1657449168.667882][11525:11525] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0006 e=1 p=v - [1657449168.667941][11525:11525] CHIP:DMG: AccessControl: allowed - [1657449168.668024][11525:11525] CHIP:DMG: Sending report (payload has 91 bytes)... - [1657449168.668092][11525:11525] CHIP:DMG: IM RH moving to [AwaitingReportResponse] - [1657449168.668168][11525:11525] CHIP:EM: Piggybacking Ack for MessageCounter:190733016 on exchange: 33620r - [1657449168.668301][11525:11525] CHIP:IN: Prepared secure message 0xaaab1651a358 to 0x000000000001B669 (1) of type 0x5 and protocolId (0, 1) on exchange 33620r with MessageCounter:11055871. - [1657449168.668386][11525:11525] CHIP:IN: Sending encrypted msg 0xaaab1651a358 with MessageCounter:11055871 to 0x000000000001B669 (1) at monotonic time: 000000000096B758 msec - [1657449168.668756][11525:11525] CHIP:DMG: ReportsInFlight = 1 with readHandler 1, RE has no more messages - [1657449168.668827][11525:11525] CHIP:DMG: All ReadHandler-s are clean, clear GlobalDirtySet - [1657449168.674031][11525:11525] CHIP:EM: Received message of type 0x1 with protocolId (0, 1) and MessageCounter:190733017 on exchange 33620r - [1657449168.674074][11525:11525] CHIP:EM: Found matching exchange: 33620r, Delegate: 0xaaab16517540 - [1657449168.674114][11525:11525] CHIP:EM: Rxd Ack; Removing MessageCounter:11055871 from Retrans Table on exchange 33620r + [1657449168.674140][11525:11525] CHIP:EM: Removed CHIP MessageCounter:11055871 from RetransTable on exchange 33620r [1657449168.674191][11525:11525] CHIP:DMG: StatusResponseMessage = [1657449168.674220][11525:11525] CHIP:DMG: { @@ -296,6 +520,36 @@ tests: [1657449168.674297][11525:11525] CHIP:DMG: } [1657449168.674324][11525:11525] CHIP:IM: Received status response, status is 0x00 (SUCCESS) [1657449168.674365][11525:11525] CHIP:DMG: Refresh Subscribe Sync Timer with max 100 seconds + + + On DUT as a client side, verify that TH all-clusters-app sent Subscription report with unic subscriptionID + 884990.165955][2938:2943] CHIP:DMG: }, + [1657884990.166021][2938:2943] CHIP:DMG: + [1657884990.166072][2938:2943] CHIP:DMG: ], + [1657884990.166149][2938:2943] CHIP:DMG: + [1657884990.166201][2938:2943] CHIP:DMG: InteractionModelRevision = 1 + [1657884990.166255][2938:2943] CHIP:DMG: } + [1657884990.166480][2938:2943] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 2311319147 + [1657884990.166551][2938:2943] CHIP:TOO: identify time: 0 + [1657884990.166667][2938:2943] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0001 DataVersion: 3439199877 + [1657884990.166727][2938:2943] CHIP:TOO: remaining time: 0 + [1657884990.166850][2938:2943] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 1121586347 + [1657884990.166907][2938:2943] CHIP:TOO: OnOff: FALSE + [1657884990.166994][2938:2943] CHIP:DMG: MoveToState ReadClient[0xffffa40091f0]: Moving to [AwaitingSu] + [1657884990.167092][2938:2943] CHIP:EM: Piggybacking Ack for MessageCounter:137911489 on exchange: 45832i + [1657884990.167206][2938:2943] CHIP:IN: Prepared secure message 0xffffa4000db8 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 45832i with MessageCounter:83158102. + [1657884990.167277][2938:2943] CHIP:IN: Sending encrypted msg 0xffffa4000db8 with MessageCounter:83158102 to 0x0000000000000001 (1) at monotonic time: 00000000007567AF msec + [1657884990.169637][2938:2943] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:137911490 on exchange 45832i + [1657884990.169705][2938:2943] CHIP:EM: Found matching exchange: 45832i, Delegate: 0xffffa40091f0 + [1657884990.169769][2938:2943] CHIP:EM: Rxd Ack; Removing MessageCounter:83158102 from Retrans Table on exchange 45832i + [1657884990.169821][2938:2943] CHIP:EM: Removed CHIP MessageCounter:83158102 from RetransTable on exchange 45832i + [1657884990.169905][2938:2943] CHIP:DMG: SubscribeResponseMessage = + [1657884990.169960][2938:2943] CHIP:DMG: { + [1657884990.170011][2938:2943] CHIP:DMG: SubscriptionId = 0x496bb4cf, + [1657884990.170067][2938:2943] CHIP:DMG: MaxInterval = 0x64, + [1657884990.170120][2938:2943] CHIP:DMG: InteractionModelRevision = 1 + [1657884990.170169][2938:2943] CHIP:DMG: } + [1657884990.170223][2938:2943] CHIP:DMG: Subscription established with SubscriptionID = 0x496bb4cf MinInterval = 10s MaxInterval = 100s Peer = 01:0000000000000001 disabled: true - label: @@ -316,62 +570,126 @@ tests: verification: | In the case of chip tool as a client, here is an example command the client can subscribe to the TH - onoff subscribe on-off 10 100 1 - [1657461297.413790][12604:12609] CHIP:DMG: ReportDataMessage = - [1657461297.413859][12604:12609] CHIP:DMG: { - [1657461297.413895][12604:12609] CHIP:DMG: SubscriptionId = 0x4a7b129e, - [1657461297.413933][12604:12609] CHIP:DMG: AttributeReportIBs = - [1657461297.413975][12604:12609] CHIP:DMG: [ - [1657461297.414009][12604:12609] CHIP:DMG: AttributeReportIB = - [1657461297.414053][12604:12609] CHIP:DMG: { - [1657461297.414088][12604:12609] CHIP:DMG: AttributeDataIB = - [1657461297.414130][12604:12609] CHIP:DMG: { - [1657461297.414174][12604:12609] CHIP:DMG: DataVersion = 0x1979c48, - [1657461297.414218][12604:12609] CHIP:DMG: AttributePathIB = - [1657461297.414263][12604:12609] CHIP:DMG: { - [1657461297.414309][12604:12609] CHIP:DMG: Endpoint = 0x1, - [1657461297.414358][12604:12609] CHIP:DMG: Cluster = 0x6, - [1657461297.414406][12604:12609] CHIP:DMG: Attribute = 0x0000_0000, - [1657461297.414455][12604:12609] CHIP:DMG: } - [1657461297.414503][12604:12609] CHIP:DMG: - [1657461297.414670][12604:12609] CHIP:DMG: Data = false, - [1657461297.414718][12604:12609] CHIP:DMG: }, - [1657461297.414765][12604:12609] CHIP:DMG: - [1657461297.414837][12604:12609] CHIP:DMG: }, - [1657461297.414884][12604:12609] CHIP:DMG: - [1657461297.414917][12604:12609] CHIP:DMG: ], - [1657461297.414958][12604:12609] CHIP:DMG: - [1657461297.414992][12604:12609] CHIP:DMG: InteractionModelRevision = 1 - [1657461297.415025][12604:12609] CHIP:DMG: } - [1657461297.415190][12604:12609] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 26713160 - [1657461297.415237][12604:12609] CHIP:TOO: OnOff: FALSE - [1657461297.415289][12604:12609] CHIP:DMG: MoveToState ReadClient[0xffff80008e40]: Moving to [AwaitingSu] - - - - onoff subscribe on-off 100 1000 1 1 --data-version 0x32c52d73 - - On Reference app verify Attribute data is not sent for the second subscription, when Start another subscription with the DataVersionFilter field set to the data version received above - - [1655890477.269305][1518:1523] CHIP:EM: Removed CHIP MessageCounter:196305006 from RetransTable on exchange 43437i - [1655890477.269385][1518:1523] CHIP:DMG: ReportDataMessage = - [1655890477.269425][1518:1523] CHIP:DMG: { - [1655890477.269473][1518:1523] CHIP:DMG: SubscriptionId = 0x72322357, - [1655890477.269523][1518:1523] CHIP:DMG: InteractionModelRevision = 1 - [1655890477.269577][1518:1523] CHIP:DMG: } - [1655890477.269643][1518:1523] CHIP:DMG: MoveToState ReadClient[0xffff98002df0]: Moving to [AwaitingSu] - [1655890477.269707][1518:1523] CHIP:EM: Piggybacking Ack for MessageCounter:19565255 on exchange: 43437i - [1655890477.269794][1518:1523] CHIP:IN: Prepared secure message 0xaaaaca508b78 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 43437i with MessageCounter:196305007. - [1655890477.269858][1518:1523] CHIP:IN: Sending encrypted msg 0xaaaaca508b78 with MessageCounter:196305007 to 0x0000000000000001 (1) at monotonic time: 00000000000F351F msec - [1655890477.271312][1518:1523] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:19565256 on exchange 43437i - [1655890477.271359][1518:1523] CHIP:EM: Found matching exchange: 43437i, Delegate: 0xffff98002df0 - [1655890477.271405][1518:1523] CHIP:EM: Rxd Ack; Removing MessageCounter:196305007 from Retrans Table on exchange 43437i - [1655890477.271440][1518:1523] CHIP:EM: Removed CHIP MessageCounter:196305007 from RetransTable on exchange 43437i - [1655890477.271497][1518:1523] CHIP:DMG: SubscribeResponseMessage = - [1655890477.271549][1518:1523] CHIP:DMG: { - [1655890477.271586][1518:1523] CHIP:DMG: SubscriptionId = 0x72322357, - [1655890477.271644][1518:1523] CHIP:DMG: MaxInterval = 0x3e8, - [1655890477.271681][1518:1523] CHIP:DMG: InteractionModelRevision = 1 - [1655890477.271732][1518:1523] CHIP:DMG: } - [1655890477.271771][1518:1523] CHIP:DMG: Subscription established with SubscriptionID = 0x72322357 MinInterval = 0s MaxInterval = 1000s Peer = 01:0000000000000001 + onoff subscribe on-off 10 80 1 1 + + On TH(Reference app) verify the report data action with the data of the attribute along with the data version + [1657885412.662766][2748:2748] CHIP:DMG: SubscribeRequestMessage = + [1657885412.662793][2748:2748] CHIP:DMG: { + [1657885412.662816][2748:2748] CHIP:DMG: KeepSubscriptions = false, + [1657885412.662842][2748:2748] CHIP:DMG: MinIntervalFloorSeconds = 0xa, + [1657885412.662868][2748:2748] CHIP:DMG: MaxIntervalCeilingSeconds = 0x50, + [1657885412.662892][2748:2748] CHIP:DMG: AttributePathIBs = + [1657885412.662917][2748:2748] CHIP:DMG: [ + [1657885412.662941][2748:2748] CHIP:DMG: AttributePathIB = + [1657885412.662967][2748:2748] CHIP:DMG: { + [1657885412.662995][2748:2748] CHIP:DMG: Endpoint = 0x1, + [1657885412.663030][2748:2748] CHIP:DMG: Cluster = 0x6, + [1657885412.663061][2748:2748] CHIP:DMG: Attribute = 0x0000_0000, + [1657885412.663089][2748:2748] CHIP:DMG: } + [1657885412.663119][2748:2748] CHIP:DMG: + [1657885412.663145][2748:2748] CHIP:DMG: ], + [1657885412.663172][2748:2748] CHIP:DMG: + [1657885412.663199][2748:2748] CHIP:DMG: isFabricFiltered = true, + [1657885412.663223][2748:2748] CHIP:DMG: InteractionModelRevision = 1 + [1657885412.663245][2748:2748] CHIP:DMG: }, + [1657885412.663314][2748:2748] CHIP:DMG: Final negotiated min/max parameters: Min = 10s, Max = 80s + + + On DUT as a client side, verify that TH all-clusters-app sent Subscription report with unic subscriptionID + [1657885412.620231][2979:2984] CHIP:DMG: ReportDataMessage = + [1657885412.620274][2979:2984] CHIP:DMG: { + [1657885412.620300][2979:2984] CHIP:DMG: SubscriptionId = 0x5ccc5161, + [1657885412.620326][2979:2984] CHIP:DMG: AttributeReportIBs = + [1657885412.620368][2979:2984] CHIP:DMG: [ + [1657885412.620393][2979:2984] CHIP:DMG: AttributeReportIB = + [1657885412.620442][2979:2984] CHIP:DMG: { + [1657885412.620480][2979:2984] CHIP:DMG: AttributeDataIB = + [1657885412.620510][2979:2984] CHIP:DMG: { + [1657885412.620551][2979:2984] CHIP:DMG: DataVersion = 0x42da0cab, + [1657885412.620581][2979:2984] CHIP:DMG: AttributePathIB = + [1657885412.620622][2979:2984] CHIP:DMG: { + [1657885412.620655][2979:2984] CHIP:DMG: Endpoint = 0x1, + [1657885412.620699][2979:2984] CHIP:DMG: Cluster = 0x6, + [1657885412.620742][2979:2984] CHIP:DMG: Attribute = 0x0000_0000, + [1657885412.620773][2979:2984] CHIP:DMG: } + [1657885412.620816][2979:2984] CHIP:DMG: + [1657885412.620859][2979:2984] CHIP:DMG: Data = false, + [1657885412.620889][2979:2984] CHIP:DMG: }, + [1657885412.620929][2979:2984] CHIP:DMG: + [1657885412.620955][2979:2984] CHIP:DMG: }, + [1657885412.620996][2979:2984] CHIP:DMG: + [1657885412.621021][2979:2984] CHIP:DMG: ], + [1657885412.621063][2979:2984] CHIP:DMG: + [1657885412.621087][2979:2984] CHIP:DMG: InteractionModelRevision = 1 + [1657885412.621120][2979:2984] CHIP:DMG: } + [1657885412.621284][2979:2984] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 1121586347 + [1657885412.621346][2979:2984] CHIP:TOO: OnOff: FALSE + [1657885412.621399][2979:2984] CHIP:DMG: MoveToState ReadClient[0xffffa40091f0]: Moving to [AwaitingSu] + + + On TH(Reference app) verify Attribute data is not sent for the second subscription, when Start another subscription with the DataVersionFilter field set to the data version received above + + onoff subscribe on-off 10 50 1 1 --data-version 0x42da0cab + + + On TH (On the reference app) Verify if DUT is responding with the below status response for the above command + [1657885449.497461][2748:2748] CHIP:DMG: SubscribeRequestMessage = + [1657885449.497490][2748:2748] CHIP:DMG: { + [1657885449.497514][2748:2748] CHIP:DMG: KeepSubscriptions = false, + [1657885449.497540][2748:2748] CHIP:DMG: MinIntervalFloorSeconds = 0xa, + [1657885449.497567][2748:2748] CHIP:DMG: MaxIntervalCeilingSeconds = 0x32, + [1657885449.497592][2748:2748] CHIP:DMG: AttributePathIBs = + [1657885449.497617][2748:2748] CHIP:DMG: [ + [1657885449.497641][2748:2748] CHIP:DMG: AttributePathIB = + [1657885449.497668][2748:2748] CHIP:DMG: { + [1657885449.497696][2748:2748] CHIP:DMG: Endpoint = 0x1, + [1657885449.497742][2748:2748] CHIP:DMG: Cluster = 0x6, + [1657885449.497772][2748:2748] CHIP:DMG: Attribute = 0x0000_0000, + [1657885449.497799][2748:2748] CHIP:DMG: } + [1657885449.497827][2748:2748] CHIP:DMG: + [1657885449.497853][2748:2748] CHIP:DMG: ], + [1657885449.497880][2748:2748] CHIP:DMG: + [1657885449.497906][2748:2748] CHIP:DMG: isFabricFiltered = true, + [1657885449.497930][2748:2748] CHIP:DMG: DataVersionFilterIBs = + [1657885449.497960][2748:2748] CHIP:DMG: [ + [1657885449.497984][2748:2748] CHIP:DMG: DataVersionFilterIB = + [1657885449.498011][2748:2748] CHIP:DMG: { + [1657885449.498036][2748:2748] CHIP:DMG: ClusterPathIB = + [1657885449.498064][2748:2748] CHIP:DMG: { + [1657885449.498093][2748:2748] CHIP:DMG: Endpoint = 0x1, + [1657885449.498122][2748:2748] CHIP:DMG: Cluster = 0x6, + [1657885449.498150][2748:2748] CHIP:DMG: } + [1657885449.498180][2748:2748] CHIP:DMG: + [1657885449.498209][2748:2748] CHIP:DMG: DataVersion = 0x42da0cab, + [1657885449.498236][2748:2748] CHIP:DMG: }, + [1657885449.498263][2748:2748] CHIP:DMG: + [1657885449.498287][2748:2748] CHIP:DMG: ], + [1657885449.498315][2748:2748] CHIP:DMG: + [1657885449.498339][2748:2748] CHIP:DMG: InteractionModelRevision = 1 + [1657885449.498362][2748:2748] CHIP:DMG: }, + [1657885449.498459][2748:2748] CHIP:DMG: Final negotiated min/max parameters: Min = 10s, Max = 50s + + + On DUT as a client side, verify that TH all-clusters-app sent Subscription report with unic subscriptionID + [1657885449.455150][2979:2984] CHIP:EM: Removed CHIP MessageCounter:157900434 from RetransTable on exchange 50588i + [1657885449.455222][2979:2984] CHIP:DMG: ReportDataMessage = + [1657885449.455284][2979:2984] CHIP:DMG: { + [1657885449.455321][2979:2984] CHIP:DMG: SubscriptionId = 0xd9b77c33, + [1657885449.455375][2979:2984] CHIP:DMG: InteractionModelRevision = 1 + [1657885449.455410][2979:2984] CHIP:DMG: } + [1657885449.455480][2979:2984] CHIP:DMG: MoveToState ReadClient[0xffffa40092e0]: Moving to [AwaitingSu] + [1657885449.455561][2979:2984] CHIP:EM: Piggybacking Ack for MessageCounter:260146719 on exchange: 50588i + [1657885449.455651][2979:2984] CHIP:IN: Prepared secure message 0xffffa4000d48 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 50588i with MessageCounter:157900435. + [1657885449.455704][2979:2984] CHIP:IN: Sending encrypted msg 0xffffa4000d48 with MessageCounter:157900435 to 0x0000000000000001 (1) at monotonic time: 00000000007C69C7 msec + [1657885449.456845][2979:2984] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:260146720 on exchange 50588i + [1657885449.456892][2979:2984] CHIP:EM: Found matching exchange: 50588i, Delegate: 0xffffa40092e0 + [1657885449.456937][2979:2984] CHIP:EM: Rxd Ack; Removing MessageCounter:157900435 from Retrans Table on exchange 50588i + [1657885449.456973][2979:2984] CHIP:EM: Removed CHIP MessageCounter:157900435 from RetransTable on exchange 50588i + [1657885449.457029][2979:2984] CHIP:DMG: SubscribeResponseMessage = + [1657885449.457068][2979:2984] CHIP:DMG: { + [1657885449.457106][2979:2984] CHIP:DMG: SubscriptionId = 0xd9b77c33, + [1657885449.457148][2979:2984] CHIP:DMG: MaxInterval = 0x32, + [1657885449.457186][2979:2984] CHIP:DMG: InteractionModelRevision = 1 + [1657885449.457221][2979:2984] CHIP:DMG: } + [1657885449.457260][2979:2984] CHIP:DMG: Subscription established with SubscriptionID = 0xd9b77c33 MinInterval = 10s MaxInterval = 50s Peer = 01:0000000000000001 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_4_2.yaml b/src/app/tests/suites/certification/Test_TC_IDM_4_2.yaml index 5b5f2aedd4d0d5..c7cfe9dfee7b1c 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_4_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_4_2.yaml @@ -146,11 +146,12 @@ tests: verification: | The cluster used in the below command is an example, User can use any supported chip cluster. + To Setup the TH such that it should not have the privilege for the cluster in the path. , 1st we need to send below mentioned ACL command + Here by sending below mentioned ACL command giving only access for identify cluster(3), So except identify cluster command if try to send any other command will get status as unsupported access. + + accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets":[{ "cluster": 3, "endpoint": 1, "deviceType": null }]}]' 1 0 - To Setup the TH2 such that there is no accessing fabric, 1st we need to send below mentioned ACL command - accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": [{"cluster": null, "endpoint": 0, "deviceType": null}]}, {"fabricIndex": 1, "privilege": 1, "authMode": 3, "subjects": null, "targets": [{"cluster": 0006 , "endpoint": 1 , "deviceType": null}]}]' 1 0 - The cluster used in the below command is an example, User can use any supported chip cluster. any subscribe-by-id 0006 0 10 100 2 1 verify DUT is responsds with UNSUPPORTED_ACCESS for the data sent in the above command @@ -185,6 +186,10 @@ tests: [1657450420.474128][8713:8718] CHIP:DMG: } [1657450420.474229][8713:8718] CHIP:TOO: Response Failure: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) [1657450420.474271][8713:8718] CHIP:DMG: MoveToState ReadClient[0xffffa4008e40]: Moving to [AwaitingSu] + + + + With the above command, we are overwriting the default privilege that chip-tool has as an admin. After this test step you need to factory reset the DUT and reprovision the DUT again, Otherwise the below steps can not be executed. disabled: true - label: @@ -193,13 +198,16 @@ tests: on a specific Endpoint for which it does not have access. AttributePath = [[ Endpoint = EndpointID ]]." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. - accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": [{"cluster": null, "endpoint": 0, "deviceType": null}]}, {"fabricIndex": 1, "privilege": 1, "authMode": 3, "subjects": null, "targets": [{"cluster": null , "endpoint": 1 , "deviceType": null}]}]' 1 0 + To Setup the TH such that it should not have the privilege for the cluster in the path. , 1st we need to send below mentioned ACL command + Here by sending below mentioned ACL command giving only access for identify cluster(3), So except identify cluster command if try to send any other command will get status as unsupported access. - sudo ./chip-tool thermostatuserinterfaceconfiguration subscribe temperature-display-mode 100 1000 1 1 + accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets":[{ "cluster": 3, "endpoint": 1, "deviceType": null }]}]' 1 0 - verify DUT is responsds with UNSUPPORTED_ACCESS for the data sent in the above command + thermostatuserinterfaceconfiguration subscribe temperature-display-mode 100 1000 1 1 + + on TH verify DUT is responsds with UNSUPPORTED_ACCESS for the data sent in the above command [1654862486.785468][32309:32314] CHIP:DMG: ReportDataMessage = [1654862486.785508][32309:32314] CHIP:DMG: { @@ -232,6 +240,9 @@ tests: [1654862486.786720][32309:32314] CHIP:DMG: } [1654862486.786862][32309:32314] CHIP:TOO: Response Failure: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) [1654862486.786918][32309:32314] CHIP:DMG: MoveToState ReadClient[0xffff840040e0]: Moving to + + + With the above command, we are overwriting the default privilege that chip-tool has as an admin. After this test step you need to factory reset the DUT and reprovision the DUT again, Otherwise the below steps can not be executed. disabled: true - label: @@ -254,7 +265,7 @@ tests: onoff subscribe start-up-on-off 50 800 1 1 - On reference app verify subscription is activated between TH and DUT + On reference app verify that subscription is activated between TH and DUT [1657450742.453824][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733047 from RetransTable on exchange 33629i [1657450742.453885][11635:11640] CHIP:DMG: ReportDataMessage = diff --git a/src/app/tests/suites/certification/Test_TC_IDM_4_3.yaml b/src/app/tests/suites/certification/Test_TC_IDM_4_3.yaml index c7fb9ebb5391c7..b906bce117696b 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_4_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_4_3.yaml @@ -40,7 +40,7 @@ tests: The cluster used in the below command is an example, User can use any supported chip cluster. onoff subscribe start-up-on-off 30 100 1 1 - Verify on TH , DUT is responds right attribute value for above command + on TH, verify that DUT is responds right attribute value for above command [1657451357.177831][11635:11640] CHIP:DMG: { [1657451357.177894][11635:11640] CHIP:DMG: SubscriptionId = 0xf3aa49ef, @@ -115,8 +115,7 @@ tests: The cluster used in the below command is an example, User can use any supported chip cluster. onoff subscribe on-off 10 200 1 1 - - Verify on TH , DUT is responds right attribute value for above command + on TH verify Verify that DUT is responds right attribute value for above command [1657451491.078934][11635:11640] CHIP:DMG: ReportDataMessage = [1657451491.079004][11635:11640] CHIP:DMG: { @@ -179,7 +178,7 @@ tests: The cluster used in the below command is an example, User can use any supported chip cluster. - Verify on TH , DUT is responds right attribute value for below command and then send write command to change the attribute value, verify the attribute value is modified or not. + on TH verify that DUT is responds right attribute value for below command and then send write command to change the attribute value, verify the attribute value is modified or not. basic subscribe local-config-disabled 100 200 1 0 [1657451690.259096][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733078 from RetransTable on exchange 33639i @@ -266,7 +265,7 @@ tests: basic subscribe node-label 10 100 1 0 - Verify on TH , DUT is responds right attribute value for below command and then send write command to change the attribute value, verify the attribute value is modified or not. + on TH verify that DUT is responds right attribute value for below command and then send write command to change the attribute value, verify the attribute value is modified or not. 1657452002.280167][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733100 from RetransTable on exchange 33648i [1657452002.280291][11635:11640] CHIP:DMG: ReportDataMessage = @@ -348,7 +347,7 @@ tests: any subscribe-by-id 0x0008 0x0010 10 100 1 1 - Verify on TH , DUT is responds right attribute value for below command and then send write command to change the attribute value, verify the attribute value is modified or not. + on TH verify that DUT is responds right attribute value for below command and then send write command to change the attribute value, verify the attribute value is modified or not. [1657452196.617935][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733107 from RetransTable on exchange 33650i [1657452196.618061][11635:11640] CHIP:DMG: ReportDataMessage = @@ -451,8 +450,7 @@ tests: userlabel subscribe label-list 100 500 1 0 - - Verify on TH , DUT is responds right attribute value for above command + On TH verify that DUT is responds right attribute value for above command [1655896309.160632][1885:1890] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0041 Attribute 0x0000_0000 DataVersion: 3773922725 [1655896309.160795][1885:1890] CHIP:TOO: label list: 0 entries [1655896309.160851][1885:1890] CHIP:DMG: MoveToState ReadClient[0xffffa0005710]: Moving to [AwaitingSu] @@ -488,8 +486,7 @@ tests: basic subscribe local-config-disabled 10 100 1 0 --keepSubscriptions 0 - - Verify on TH , DUT is responds right attribute value for below command and then send write command to change the attribute value, verify the attribute value is modified or not. + on TH verify that DUT is responds right attribute value for below command and then send write command to change the attribute value, verify the attribute value is modified or not. [1657453109.707943][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733139 from RetransTable on exchange 33658i [1657453109.708065][11635:11640] CHIP:DMG: ReportDataMessage = @@ -600,7 +597,7 @@ tests: levelcontrol subscribe on-level 10 80 1 1 - Verify on TH , DUT is responds right attribute value for below command and then send write command to change the attribute value, verify the attribute value is modified or not. + On TH verify that DUT is responds right attribute value for below command and then send write command to change the attribute value, verify the attribute value is modified or not. [1657453503.538054][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733149 from RetransTable on exchange 33661i @@ -725,7 +722,7 @@ tests: >>> onoff subscribe off-wait-time 10 500 1 1 --keepSubscriptions 1 - Verify on TH , DUT is responds right attribute value for below command and then send write command to change the attribute value, verify the attribute value is modified or not for both attributes + On TH verify that DUT is responds right attribute value for below command and then send write command to change the attribute value, verify the attribute value is modified or not for both attributes [1657454078.091825][11635:11640] CHIP:DMG: ReportDataMessage = @@ -864,7 +861,7 @@ tests: onoff subscribe on-time 10 100 1 1 --keepSubscriptions 1 - Verify on TH , DUT is responds right attribute value for below command and then send write command to change the attribute value, verify the attribute value is modified or not for both attributes. Verify that the first subscription is terminated after the MaxInterval of the first subscription is reached. + On TH verify that DUT is responds right attribute value for below command and then send write command to change the attribute value, verify the attribute value is modified or not for both attributes. Verify that the first subscription is terminated after the MaxInterval of the first subscription is reached. 1657454443.310644][11635:11640] CHIP:DMG: ReportDataMessage = @@ -1039,7 +1036,89 @@ tests: Attribute, Cluster = ClusterID ]]. Set the MinIntervalFloor to some value say "N"(seconds). Change the attribute on the DUT' verification: | - Out of Scope for V1.0 + onoff subscribe-by-id 0x4001 200 700 1 0xFFFF + on TH, verify that DUT is responds right attribute value for command and then send write command to change the attribute value, + [1658322253.825601][4866:4871] CHIP:DMG: ReportDataMessage = + [1658322253.825662][4866:4871] CHIP:DMG: { + [1658322253.825714][4866:4871] CHIP:DMG: SubscriptionId = 0x42baa1, + [1658322253.825767][4866:4871] CHIP:DMG: AttributeReportIBs = + [1658322253.825831][4866:4871] CHIP:DMG: [ + [1658322253.825904][4866:4871] CHIP:DMG: AttributeReportIB = + [1658322253.825998][4866:4871] CHIP:DMG: { + [1658322253.826055][4866:4871] CHIP:DMG: AttributeDataIB = + [1658322253.826137][4866:4871] CHIP:DMG: { + [1658322253.826209][4866:4871] CHIP:DMG: DataVersion = 0xa6fa1c6d, + [1658322253.826295][4866:4871] CHIP:DMG: AttributePathIB = + [1658322253.826391][4866:4871] CHIP:DMG: { + [1658322253.826465][4866:4871] CHIP:DMG: Endpoint = 0x1, + [1658322253.826557][4866:4871] CHIP:DMG: Cluster = 0x6, + [1658322253.826650][4866:4871] CHIP:DMG: Attribute = 0x0000_4001, + [1658322253.826722][4866:4871] CHIP:DMG: } + [1658322253.826810][4866:4871] CHIP:DMG: + [1658322253.826882][4866:4871] CHIP:DMG: Data = 1, + [1658322253.826967][4866:4871] CHIP:DMG: }, + [1658322253.827054][4866:4871] CHIP:DMG: + [1658322253.827110][4866:4871] CHIP:DMG: }, + [1658322253.827204][4866:4871] CHIP:DMG: + [1658322253.827258][4866:4871] CHIP:DMG: AttributeReportIB = + [1658322253.827341][4866:4871] CHIP:DMG: { + [1658322253.827397][4866:4871] CHIP:DMG: AttributeDataIB = + [1658322253.827478][4866:4871] CHIP:DMG: { + [1658322253.827545][4866:4871] CHIP:DMG: DataVersion = 0x73700d2f, + [1658322253.827612][4866:4871] CHIP:DMG: AttributePathIB = + [1658322253.827680][4866:4871] CHIP:DMG: { + [1658322253.827750][4866:4871] CHIP:DMG: Endpoint = 0x2, + [1658322253.827823][4866:4871] CHIP:DMG: Cluster = 0x6, + [1658322253.827896][4866:4871] CHIP:DMG: Attribute = 0x0000_4001, + [1658322253.827964][4866:4871] CHIP:DMG: } + [1658322253.828034][4866:4871] CHIP:DMG: + [1658322253.828105][4866:4871] CHIP:DMG: Data = 0, + [1658322253.828169][4866:4871] CHIP:DMG: }, + [1658322253.828237][4866:4871] CHIP:DMG: + [1658322253.828294][4866:4871] CHIP:DMG: }, + [1658322253.828357][4866:4871] CHIP:DMG: + [1658322253.828407][4866:4871] CHIP:DMG: ], + [1658322253.828479][4866:4871] CHIP:DMG: + [1658322253.828529][4866:4871] CHIP:DMG: InteractionModelRevision = 1 + [1658322253.828579][4866:4871] CHIP:DMG: } + [1658322253.828785][4866:4871] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 2801409133 + [1658322253.828857][4866:4871] CHIP:TOO: OnTime: 0 + [1658322253.829013][4866:4871] CHIP:TOO: Endpoint: 2 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 1936723247 + [1658322253.829073][4866:4871] CHIP:TOO: OnTime: 0 + [1658322253.829154][4866:4871] CHIP:DMG: MoveToState ReadClient[0xffffa4003810]: Moving to [AwaitingSu] + + + onoff write-by-id 0x4001 1 1 1 + On TH, Verify that the DUT sends reports for all the attributes that have changed after N(200) seconds + [1658322453.896805][4866:4871] CHIP:DMG: ReportDataMessage = + [1658322453.896834][4866:4871] CHIP:DMG: { + [1658322453.896859][4866:4871] CHIP:DMG: SubscriptionId = 0x42baa1, + [1658322453.896884][4866:4871] CHIP:DMG: AttributeReportIBs = + [1658322453.896915][4866:4871] CHIP:DMG: [ + [1658322453.896974][4866:4871] CHIP:DMG: AttributeReportIB = + [1658322453.897009][4866:4871] CHIP:DMG: { + [1658322453.897074][4866:4871] CHIP:DMG: AttributeDataIB = + [1658322453.897155][4866:4871] CHIP:DMG: { + [1658322453.897235][4866:4871] CHIP:DMG: DataVersion = 0xa6fa1c6e, + [1658322453.897321][4866:4871] CHIP:DMG: AttributePathIB = + [1658322453.897412][4866:4871] CHIP:DMG: { + [1658322453.897501][4866:4871] CHIP:DMG: Endpoint = 0x1, + [1658322453.897588][4866:4871] CHIP:DMG: Cluster = 0x6, + [1658322453.897675][4866:4871] CHIP:DMG: Attribute = 0x0000_4001, + [1658322453.897757][4866:4871] CHIP:DMG: } + [1658322453.897842][4866:4871] CHIP:DMG: + [1658322453.897934][4866:4871] CHIP:DMG: Data = 1, + [1658322453.898011][4866:4871] CHIP:DMG: }, + [1658322453.898095][4866:4871] CHIP:DMG: + [1658322453.898158][4866:4871] CHIP:DMG: }, + [1658322453.898232][4866:4871] CHIP:DMG: + [1658322453.898292][4866:4871] CHIP:DMG: ], + [1658322453.898367][4866:4871] CHIP:DMG: + [1658322453.898427][4866:4871] CHIP:DMG: InteractionModelRevision = 1 + [1658322453.898486][4866:4871] CHIP:DMG: } + [1658322453.898693][4866:4871] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 2801409134 + [1658322453.898777][4866:4871] CHIP:TOO: OnTime: 1 + [1658322453.898879][4866:4871] CHIP:DMG: Refresh LivenessCheckTime for 725000 milliseconds with SubscriptionId = 0x0042baa1 Peer = 01:0000000000000001 disabled: true - label: diff --git a/src/app/tests/suites/certification/Test_TC_IDM_5_1.yaml b/src/app/tests/suites/certification/Test_TC_IDM_5_1.yaml index 7ec4ee63f413b7..c389ba63df59ba 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_5_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_5_1.yaml @@ -30,9 +30,7 @@ tests: In the case of chip tool as a client, here is an example command the client can send invoke request to the TH ./chip-tool onoff on 1 1 --timedInteractionTimeoutMs 200 - Verify that the DUT sent the invoke message to the TH after the specified timeout value for above command - - on the TH (reference all cluster app) you should see + On TH (On the reference app) Verify if DUT is responding with the below status response for the above command [1655797318.624018][7331:7331] CHIP:EM: Handling via exchange: 28067r, Delegate: 0xaaaad9aed418 [1655797318.624129][7331:7331] CHIP:DMG: TimedRequestMessage = [1655797318.624185][7331:7331] CHIP:DMG: { @@ -67,6 +65,49 @@ tests: [1655797318.627383][7331:7331] CHIP:DMG: InteractionModelRevision = 1 [1655797318.627406][7331:7331] CHIP:DMG: }, [1655797318.627467][7331:7331] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0006 e=1 p=o + + + On DUT as a client side, verify that TH all-clusters-app sent success response + [1657886182.184612][3396:3401] CHIP:DMG: StatusResponseMessage = + [1657886182.184642][3396:3401] CHIP:DMG: { + [1657886182.184667][3396:3401] CHIP:DMG: Status = 0x00 (SUCCESS), + [1657886182.184693][3396:3401] CHIP:DMG: InteractionModelRevision = 1 + [1657886182.184716][3396:3401] CHIP:DMG: } + [1657886182.184742][3396:3401] CHIP:IM: Received status response, status is 0x00 (SUCCESS) + + + 61453140 from RetransTable on exchange 17901i + [1657886182.190976][3396:3401] CHIP:DMG: ICR moving to [ResponseRe] + [1657886182.191027][3396:3401] CHIP:DMG: InvokeResponseMessage = + [1657886182.191052][3396:3401] CHIP:DMG: { + [1657886182.191076][3396:3401] CHIP:DMG: suppressResponse = false, + [1657886182.191101][3396:3401] CHIP:DMG: InvokeResponseIBs = + [1657886182.191132][3396:3401] CHIP:DMG: [ + [1657886182.191157][3396:3401] CHIP:DMG: InvokeResponseIB = + [1657886182.191190][3396:3401] CHIP:DMG: { + [1657886182.191216][3396:3401] CHIP:DMG: CommandStatusIB = + [1657886182.191253][3396:3401] CHIP:DMG: { + [1657886182.191286][3396:3401] CHIP:DMG: CommandPathIB = + [1657886182.191325][3396:3401] CHIP:DMG: { + [1657886182.191365][3396:3401] CHIP:DMG: EndpointId = 0x1, + [1657886182.191400][3396:3401] CHIP:DMG: ClusterId = 0x6, + [1657886182.191439][3396:3401] CHIP:DMG: CommandId = 0x1, + [1657886182.191472][3396:3401] CHIP:DMG: }, + [1657886182.191510][3396:3401] CHIP:DMG: + [1657886182.191541][3396:3401] CHIP:DMG: StatusIB = + [1657886182.191575][3396:3401] CHIP:DMG: { + [1657886182.191613][3396:3401] CHIP:DMG: status = 0x00 (SUCCESS), + [1657886182.191649][3396:3401] CHIP:DMG: }, + [1657886182.191683][3396:3401] CHIP:DMG: + [1657886182.191712][3396:3401] CHIP:DMG: }, + [1657886182.191746][3396:3401] CHIP:DMG: + [1657886182.191772][3396:3401] CHIP:DMG: }, + [1657886182.191802][3396:3401] CHIP:DMG: + [1657886182.191826][3396:3401] CHIP:DMG: ], + [1657886182.191856][3396:3401] CHIP:DMG: + [1657886182.191880][3396:3401] CHIP:DMG: InteractionModelRevision = 1 + [1657886182.191903][3396:3401] CHIP:DMG: }, + [1657886182.191963][3396:3401] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0006 Command=0x0000_0001 Status=0x0 disabled: true - label: @@ -78,8 +119,7 @@ tests: Chip-tool as controller , here is the example command you can use ./chip-tool onoff write on-time 2 1 1 --timedInteractionTimeoutMs 200 - Verify that the DUT sent the writerequest message to the TH after the specified timeout value for above command - + On TH (On the reference app) Verify if DUT is responding with the below status response for the above command [1657459639.597900][11525:11525] CHIP:EM: Handling via exchange: 17116r, Delegate: 0xaaaae00c1430 [1657459639.598014][11525:11525] CHIP:DMG: TimedRequestMessage = @@ -118,6 +158,44 @@ tests: [1657459639.600842][11525:11525] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0006 e=1 p=o [1657459639.600888][11525:11525] CHIP:DMG: AccessControl: allowed [1657459639.600936][11525:11525] CHIP:DMG: Endpoint 1, Cluster 0x0000_0006 update version to 1979c48 + + + On DUT as a client side, verify that TH all-clusters-app sent success response + + [1657886272.645704][3404:3409] CHIP:DMG: StatusResponseMessage = + [1657886272.645751][3404:3409] CHIP:DMG: { + [1657886272.645792][3404:3409] CHIP:DMG: Status = 0x00 (SUCCESS), + [1657886272.645839][3404:3409] CHIP:DMG: InteractionModelRevision = 1 + [1657886272.645878][3404:3409] CHIP:DMG: } + [1657886272.645918][3404:3409] CHIP:IM: Received status response, status is 0x00 (SUCCESS) + + [1657886272.648220][3404:3409] CHIP:DMG: WriteClient moving to [ResponseRe] + [1657886272.648285][3404:3409] CHIP:DMG: WriteResponseMessage = + [1657886272.648326][3404:3409] CHIP:DMG: { + [1657886272.648361][3404:3409] CHIP:DMG: AttributeStatusIBs = + [1657886272.648410][3404:3409] CHIP:DMG: [ + [1657886272.648450][3404:3409] CHIP:DMG: AttributeStatusIB = + [1657886272.648494][3404:3409] CHIP:DMG: { + [1657886272.648535][3404:3409] CHIP:DMG: AttributePathIB = + [1657886272.648593][3404:3409] CHIP:DMG: { + [1657886272.648644][3404:3409] CHIP:DMG: Endpoint = 0x1, + [1657886272.648698][3404:3409] CHIP:DMG: Cluster = 0x6, + [1657886272.648752][3404:3409] CHIP:DMG: Attribute = 0x0000_4001, + [1657886272.648803][3404:3409] CHIP:DMG: } + [1657886272.648860][3404:3409] CHIP:DMG: + [1657886272.648910][3404:3409] CHIP:DMG: StatusIB = + [1657886272.648959][3404:3409] CHIP:DMG: { + [1657886272.649011][3404:3409] CHIP:DMG: status = 0x00 (SUCCESS), + [1657886272.649067][3404:3409] CHIP:DMG: }, + [1657886272.649115][3404:3409] CHIP:DMG: + [1657886272.649161][3404:3409] CHIP:DMG: }, + [1657886272.649212][3404:3409] CHIP:DMG: + [1657886272.649250][3404:3409] CHIP:DMG: ], + [1657886272.649283][3404:3409] CHIP:DMG: + [1657886272.649308][3404:3409] CHIP:DMG: InteractionModelRevision = 1 + [1657886272.649333][3404:3409] CHIP:DMG: } + [1657886272.649415][3404:3409] CHIP:DMG: WriteClient moving to [AwaitingDe] + [1657886272.649481][3404:3409] CHIP:EM: Sending Standalone Ack for MessageCounter:137181137 on exchange 234i disabled: true - label: @@ -127,4 +205,5 @@ tests: the received timed request." verification: | This is not testable in normal scenario, and needs to be tested as part of Unit test. + https://github.com/CHIP-Specifications/chip-test-plans/issues/1885 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_6_1.yaml b/src/app/tests/suites/certification/Test_TC_IDM_6_1.yaml index dabd2edd4d8ee9..c5fc410b9ac5e6 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_6_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_6_1.yaml @@ -27,7 +27,8 @@ tests: specific node that is, [Node = Specific, Endpoint = Specific, Cluster = Specific, Event = Specific]." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. + sudo ./chip-tool basic read-event start-up 1 0 @@ -79,7 +80,7 @@ tests: node that is, [Node = Specific, Endpoint = Specific, Cluster = Specific, Event = Wildcard]." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. ./chip-tool any read-event-by-id 0x0028 0x0FFFFFFFF 1 0 On TH verify DUT sends Report Data Message with the data for specific event in Read Request Message. @@ -129,8 +130,6 @@ tests: that is, [Node = Specific, Endpoint = Specific, Cluster = Wildcard, Event = Wildcard]." verification: | - In case of chip tool, here is an example command to use - ./chip-tool any read-event-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0 On TH verify DUT sends Report Data Message with the data for specific event in Read Request Message. @@ -174,7 +173,7 @@ tests: node that is, [Node = Specific, Endpoint = Wildcard, Cluster = Specific, Event = Specific]." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool basic read-event start-up 1 0xFFFF @@ -226,7 +225,7 @@ tests: that is, [Node = Specific, Endpoint = Wildcard, Cluster = Specific, Event = Wildcard]." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool basic read-event-by-id 0xFFFFFFFF 1 0xFFFF On TH verify DUT sends Report Data Message with the data for specific event in Read Request Message. @@ -277,8 +276,6 @@ tests: [Node = Specific, Endpoint = Wildcard, Cluster = Wildcard, Event = Wildcard]." verification: | - In case of chip tool, here is an example command to use - sudo ./chip-tool any read-event-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0xFFFF On TH verify DUT sends Report Data Message with the data for specific event in Read Request Message. [1653051769.144914][11706:11711] CHIP:DMG: ReportDataMessage = @@ -415,11 +412,13 @@ tests: which requires a privilege that is not granted for the cluster in the path." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. - To Setup the TH such that there is no accessing fabric, 1st we need to send below mentioned ACL command + To Setup the TH such that it should not have the privilege for the cluster in the path. , 1st we need to send below mentioned ACL command + Here by sending below mentioned ACL command giving only access for identify cluster(3), So except identify cluster command if try to send any other command will get status as unsupported access. + + ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets":[{ "cluster": 3, "endpoint": 1, "deviceType": null }]}]' 1 0 - ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1234], "targets": null}]' 1 0 ./chip-tool any read-event-by-id 0x28 0 1 0 verify DUT is responsds with UNSUPPORTED_ACCESS for the data sent in the above command @@ -453,6 +452,8 @@ tests: [1653054249.515083][12265:12270] CHIP:DMG: SuppressResponse = true, [1653054249.515090][12265:12270] CHIP:DMG: InteractionModelRevision = 1 [1653054249.515102][12265:12270] CHIP:DMG: } + + With the above command, we are overwriting the default privilege that chip-tool has as an admin. After this test step you need to factory reset the DUT and reprovision the DUT again, Otherwise the below steps can not be executed. disabled: true - label: @@ -460,8 +461,6 @@ tests: Wildcard path where reading an event in the path requires a privilege that is not granted for the cluster in the path." verification: | - In case of chip tool, here is an example command to use - To Setup the TH such that there is no accessing fabric, 1st we need to send below mentioned ACL command ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1234], "targets": null}]' 1 0 @@ -473,6 +472,9 @@ tests: [1653054297.608292][12300:12305] CHIP:DMG: SuppressResponse = true, [1653054297.608306][12300:12305] CHIP:DMG: InteractionModelRevision = 1 [1653054297.608317][12300:12305] CHIP:DMG: } + + + With the above command, we are overwriting the default privilege that chip-tool has as an admin. After this test step you need to factory reset the DUT and reprovision the DUT again, Otherwise the below steps can not be executed. disabled: true - label: @@ -482,8 +484,6 @@ tests: EventMin field set to a number less than what was received in the previous step." verification: | - here is the example command you can use - sudo ./chip-tool any read-event-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0xFFFF @@ -556,8 +556,7 @@ tests: EventMin field set to a number much greater than what was received in the previous step." verification: | - In case of chip tool, here is an example command to use - + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool basic read-event start-up 1 0 --event-min 131073 On TH verify that the DUT sends Report Data Message with empty EventReports @@ -574,15 +573,78 @@ tests: event data. For every chunked data message received, DUT sends a status response." verification: | - tried in doorlock app, Sent wildcard read-event command from TH to DUT to verify this test-step, - On TH verify that The last chunked message should not receive any status response from the DUT. + Try to verify this step in doorlock app, below mentioned wildcard command to read-event from TH to DUT. ./chip-tool any read-event-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0xFFFF - The message flow I would expect here is: + The message flow can expect as mentioned below TH -> DUT ReadRequest DUT -> TH ReportData, not last chunk TH -> DUT StatusResponse Possibly repeat steps 2 & 3 a few times DUT -> TH ReportData, last chunk, SuppressResponse set to true TH -> DUT standalone ack + + On TH verify that The last chunked message should not receive any status response from the DUT + + [1656510389.524811][20396:20396] CHIP:DMG: Fetched 16 events + [1656510389.524838][20396:20396] CHIP:DMG: Sending report (payload has 973 bytes)... + [1656510389.524864][20396:20396] CHIP:DMG: IM RH moving to [AwaitingReportResponse] + + [1656510389.553113][20396:20396] CHIP:EM: Found matching exchange: 51910r, Delegate: 0xaaab0b90c330 + [1656510389.553190][20396:20396] CHIP:EM: Rxd Ack; Removing MessageCounter:206023646 from Retrans Table on exchange 51910r + [1656510389.553248][20396:20396] CHIP:EM: Removed CHIP MessageCounter:206023646 from RetransTable on exchange 51910r + [1656510389.553347][20396:20396] CHIP:DMG: StatusResponseMessage = + [1656510389.553413][20396:20396] CHIP:DMG: { + [1656510389.553472][20396:20396] CHIP:DMG: Status = 0x00 (SUCCESS), + [1656510389.553534][20396:20396] CHIP:DMG: InteractionModelRevision = 1 + [1656510389.553592][20396:20396] CHIP:DMG: } + [1656510389.553648][20396:20396] CHIP:IM: Received status response, status is 0x00 (SUCCESS) + [1656510389.553711][20396:20396] CHIP:DMG: OnReportConfirm: NumReports = 0 + [1656510389.553770][20396:20396] CHIP:DMG: IM RH moving to [GeneratingReports] + [1656510389.553924][20396:20396] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + [1656510389.555237][20396:20396] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0101 e=1 p=v + [1656510389.555318][20396:20396] CHIP:DMG: AccessControl: allowed + [1656510389.555503][20396:20396] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0101 e=1 p=v + [1656510389.555570][20396:20396] CHIP:DMG: AccessControl: allowed + [1656510389.555749][20396:20396] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0101 e=1 p=v + [1656510389.555814][20396:20396] CHIP:DMG: AccessControl: allowed + [1656510389.555990][20396:20396] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0101 e=1 p=v + [1656510389.556054][20396:20396] CHIP:DMG: AccessControl: allowed + [1656510389.556221][20396:20396] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0101 e=1 p=v + [1656510389.556285][20396:20396] CHIP:DMG: AccessControl: allowed + [1656510389.556456][20396:20396] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0101 e=1 p=v + [1656510389.556627][20396:20396] CHIP:DMG: AccessControl: allowed + [1656510389.556808][20396:20396] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0101 e=1 p=v + [1656510389.556875][20396:20396] CHIP:DMG: AccessControl: allowed + [1656510389.557055][20396:20396] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0101 e=1 p=v + [1656510389.557122][20396:20396] CHIP:DMG: AccessControl: allowed + [1656510389.557300][20396:20396] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0101 e=1 p=v + [1656510389.557365][20396:20396] CHIP:DMG: AccessControl: allowed + [1656510389.557538][20396:20396] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0101 e=1 p=v + [1656510389.557602][20396:20396] CHIP:DMG: AccessControl: allowed + [1656510389.557777][20396:20396] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0101 e=1 p=v + [1656510389.557842][20396:20396] CHIP:DMG: AccessControl: allowed + [1656510389.558015][20396:20396] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0101 e=1 p=v + [1656510389.558081][20396:20396] CHIP:DMG: AccessControl: allowed + [1656510389.558288][20396:20396] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0101 e=1 p=v + [1656510389.558332][20396:20396] CHIP:DMG: AccessControl: allowed + [1656510389.558515][20396:20396] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0101 e=1 p=v + [1656510389.558561][20396:20396] CHIP:DMG: AccessControl: allowed + [1656510389.558677][20396:20396] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0101 e=1 p=v + [1656510389.558721][20396:20396] CHIP:DMG: AccessControl: allowed + [1656510389.558836][20396:20396] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0101 e=1 p=v + [1656510389.558878][20396:20396] CHIP:DMG: AccessControl: allowed + [1656510389.558964][20396:20396] CHIP:DMG: Fetched 16 events + [1656510389.559007][20396:20396] CHIP:DMG: Sending report (payload has 911 bytes)... + [1656510389.559061][20396:20396] CHIP:EM: Piggybacking Ack for MessageCounter:90464643 on exchange: 51910r + [1656510389.559228][20396:20396] CHIP:IN: Prepared secure message 0xaaab0b95c688 to 0x000000000001B669 (1) of type 0x5 and protocolId (0, 1) on exchange 51910r with MessageCounter:206023647. + [1656510389.559287][20396:20396] CHIP:IN: Sending encrypted msg 0xaaab0b95c688 with MessageCounter:206023647 to 0x000000000001B669 (1) at monotonic time: 0000000001ECA505 msec + [1656510389.559519][20396:20396] CHIP:DMG: OnReportConfirm: NumReports = 0 + [1656510389.559563][20396:20396] CHIP:DMG: ReportsInFlight = 0 with readHandler 0, RE has no more messages + [1656510389.559597][20396:20396] CHIP:DMG: IM RH moving to [AwaitingDestruction] + [1656510389.559639][20396:20396] CHIP:DMG: All ReadHandler-s are clean, clear GlobalDirtySet + [1656510389.586362][20396:20396] CHIP:EM: Received message of type 0x10 with protocolId (0, 0) and MessageCounter:90464644 on exchange 51910r + [1656510389.586431][20396:20396] CHIP:EM: Found matching exchange: 51910r, Delegate: (nil) + [1656510389.586492][20396:20396] CHIP:EM: Rxd Ack; Removing MessageCounter:206023647 from Retrans Table on exchange 51910r + [1656510389.586535][20396:20396] CHIP:EM: Removed CHIP MessageCounter:206023647 from RetransTable on exchange 51910r disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_6_2.yaml b/src/app/tests/suites/certification/Test_TC_IDM_6_2.yaml index e1b9e4470d4853..66eb73a15f99de 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_6_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_6_2.yaml @@ -29,7 +29,11 @@ tests: specific node that is, [Node = Specific, Endpoint = Specific, Cluster = Specific, Event = Specific]." verification: | - chip tool is used as TH and send the below command from TH + The cluster used in the below command is an example, User can use any supported chip cluster on DUT. + + Pls run this test in chip tool interactive mode ./chip-tool interactive start + + On the TH (chip-tool) pls subscribe to start-up event (below command), right after you power on the DUT. If DUT vendor is subscribing to any other event, Pls use appropriate steps on the DUT to generate that event and use subscribe to that event from TH. basic subscribe-event start-up 20 100 1 0 @@ -85,6 +89,7 @@ tests: = Specific, Event = Wildcard]." verification: | The cluster used in the below command is an example, User can use any supported chip cluster. + Pls run this test in chip tool interactive mode ./chip-tool interactive start basic subscribe-event-by-id 0xFFFFFFFF 10 100 1 0 @@ -141,7 +146,7 @@ tests: Event = Wildcard]." verification: | The cluster used in the below command is an example, User can use any supported chip cluster. - + Please run this test in chip tool interactive mode ./chip-tool interactive start any subscribe-event-by-id 0xFFFFFFFF 0xFFFFFFFF 20 100 1 0 On TH verify that the Report Data Message with SubscriptionId which uniquely identifies this subscription on the publisher and data for events in Subscribe Request Message from DUT @@ -248,6 +253,7 @@ tests: Specific, Event = Specific]." verification: | The cluster used in the below command is an example, User can use any supported chip cluster. + Please run this test in chip tool interactive mode ./chip-tool interactive start basic subscribe-event-by-id 0x00 10 700 1 0xFFFF On TH verify that the Report Data Message with SubscriptionId which uniquely identifies this subscription on the publisher and data for events in Subscribe Request Message from DUT @@ -300,6 +306,7 @@ tests: Event = Wildcard]." verification: | The cluster used in the below command is an example, User can use any supported chip cluster. + Please run this test in chip tool interactive mode ./chip-tool interactive start basic subscribe-event-by-id 0xFFFFFFFF 10 100 1 0xFFFF On TH verify that the Report Data Message with SubscriptionId which uniquely identifies this subscription on the publisher and data for events in Subscribe Request Message from DUT @@ -353,6 +360,8 @@ tests: is, [Node = Specific, Endpoint = Wildcard, Cluster = Wildcard, Event = Wildcard]." verification: | + Please run this test in chip tool interactive mode ./chip-tool interactive start + any subscribe-event-by-id 0xFFFFFFFF 0xFFFFFFFF 100 1000 1 0xFFFF On TH verify that the Report Data Message with SubscriptionId which uniquely identifies this subscription on the publisher and data for events in Subscribe Request Message from DUT [1657456221.167627][11635:11640] CHIP:DMG: ReportDataMessage = @@ -571,7 +580,7 @@ tests: is, [Node = Specific, Endpoint = Wildcard, Cluster = Wildcard, Event = Wildcard]." verification: | - Repeat the above Test step + test step repeated, needs to be removed from test plan, https://github.com/CHIP-Specifications/chip-test-plans/issues/1888 disabled: true - label: @@ -579,6 +588,7 @@ tests: event on the DUT before minimum interval." verification: | The cluster used in the below command is an example, User can use any supported chip cluster. + Please run this test in chip tool interactive mode ./chip-tool interactive start basic subscribe-event-by-id 0x000 100 1000 1 0 @@ -633,6 +643,7 @@ tests: SubscribeRequestMessage." verification: | The cluster used in the below command is an example, User can use any supported chip cluster. + Please run this test in chip tool interactive mode ./chip-tool interactive start basic subscribe-event start-up 30 100 1 0 --is-urgent true @@ -683,10 +694,10 @@ tests: triggering attribute values before maximum interval." verification: | The cluster used in the below command is an example, User can use any supported chip cluster. + Please run this test in chip tool interactive mode ./chip-tool interactive start basic subscribe-event start-up 20 100 1 0 - On TH verify that the Report Data Message from DUT to TH [1656586853.121700][3433:3438] CHIP:EM: Removed CHIP MessageCounter:63910370 from RetransTable on exchange 37869i @@ -736,6 +747,7 @@ tests: Subscribe Request Message to DUT with KeepSubscriptions as False." verification: | The cluster used in the below command is an example, User can use any supported chip cluster. + Please run this test in chip tool interactive mode ./chip-tool interactive start basic subscribe-event-by-id 0x000 10 500 1 0 @@ -830,6 +842,7 @@ tests: code." verification: | The cluster used in the below command is an example, User can use any supported chip cluster. + Please run this test in chip tool interactive mode ./chip-tool interactive start basic subscribe-event-by-id 0x000 20 400 1 0 @@ -850,14 +863,14 @@ tests: Status." verification: | This is not testable in normal scenario, and needs to be tested as part of Unit test. - This test is not testable. + https://github.com/CHIP-Specifications/chip-test-plans/issues/1885 disabled: true - label: "TH sends Subscribe Request Message to DUT with EventRequests set to path which indicates a cluster event that is not supported." verification: | - Out of Scope for V1.0 + Mark this as not testable /NA. Out of Scope for V1.0 disabled: true - label: @@ -866,10 +879,14 @@ tests: the path." verification: | The cluster used in the below command is an example, User can use any supported chip cluster. + Please run this test in chip tool interactive mode ./chip-tool interactive start - To Setup the TH such that there is no accessing fabric, 1st we need to send the below mentioned ACL command - accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1234], "targets": null}]' 1 0 + To Setup the TH such that it should not have the privilege for the cluster in the path. , 1st we need to send below mentioned ACL command + Here by sending below mentioned ACL command giving only access for identify cluster(3), So except identify cluster command if try to send any other command will get status as unsupported access. + + accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets":[{ "cluster": 3, "endpoint": 1, "deviceType": null }]}]' 1 0 + basic subscribe-event-by-id 0x000 100 1000 1 0 In TH log verify DUT responds with UNSUPPORTED_ACCESS for the data sent in the above command @@ -905,6 +922,9 @@ tests: [1653479886.551532][22629:22634] CHIP:DMG: InteractionModelRevision = 1 [1653479886.551538][22629:22634] CHIP:DMG: } [1653479886.551583][22629:22634] CHIP:TOO: Response Failure: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) + + + With the above command, we are overwriting the default privilege that chip-tool has as an admin. After this test step you need to factory reset the DUT and reprovision the DUT again, Otherwise the below steps can not be executed. disabled: true - label: @@ -914,13 +934,15 @@ tests: verification: | chip tool is used as TH and send the below command from TH + Please run this test in chip tool interactive mode ./chip-tool interactive start + To Setup the TH such that there is no accessing fabric, 1st we need to send below mentioned ACL command accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1234], "targets": null}]' 1 0 - any subscribe-event-by-id 0xFFFFFFFF 0xFFFFFFFF 100 1000 1 0xFFFF + any subscribe-event-by-id 0xFFFFFFFF 0xFFFFFFFF 100 1000 1 0xFFFF - verify DUT is responsds with Report Data Message with no entry for that event in EventReports list. for the data sent in the above command + verify DUT is responds with Report Data Message with no entry for that event in the EventReports list. for the data sent in the above command [1653480007.965861][22654:22659] CHIP:DMG: ReportDataMessage = [1653480007.965882][22654:22659] CHIP:DMG: { @@ -928,6 +950,8 @@ tests: [1653480007.965916][22654:22659] CHIP:DMG: InteractionModelRevision = 1 [1653480007.965929][22654:22659] CHIP:DMG: } [1653480007.965969][22654:22659] CHIP:DMG: MoveToState ReadClient[0x7efe84002fd0]: Moving to [AwaitingSu] + + With the above command, we are overwriting the default privilege that chip-tool has as an admin. After this test step you need to factory reset the DUT and reprovision the DUT again, Otherwise the below steps can not be executed. disabled: true - label: @@ -937,10 +961,15 @@ tests: verification: | The cluster used in the below command is an example, User can use any supported chip cluster. + + Please run this test in chip tool interactive mode ./chip-tool interactive start + accesscontrol subscribe-event access-control-entry-changed 5 10 1 0 + + On TH, verify that the Report Data Message with EventReports for event numbers higher than the EventMin field and Verify that the subsequent ReportData actions as part of the subscription include the latest EventNo associated with each node generating new events - accesscontrol subscribe-event access-control-entry-changed 5 10 1 0 + [1655979825.174136][4566:4571] CHIP:DMG: ReportDataMessage = [1655979825.174177][4566:4571] CHIP:DMG: { [1655979825.174213][4566:4571] CHIP:DMG: SubscriptionId = 0xd263227e, @@ -1006,8 +1035,7 @@ tests: [1655979825.177433][4566:4571] CHIP:DMG: MoveToState ReadClient[0xffff84006d40]: Moving to [AwaitingSu] - - sudo ./chip-tool accesscontrol subscribe-event access-control-entry-changed 5 10 1 0 --event-min 0 + accesscontrol subscribe-event access-control-entry-changed 5 10 1 0 --event-min 0 [1655979915.863156][4607:4612] CHIP:DMG: ReportDataMessage = [1655979915.863196][4607:4612] CHIP:DMG: { [1655979915.863232][4607:4612] CHIP:DMG: SubscriptionId = 0xeb39dedd, @@ -1144,6 +1172,9 @@ tests: verification: | The cluster used in the below command is an example, User can use any supported chip cluster. + + Please run this test in chip tool interactive mode ./chip-tool interactive start + basic subscribe-event-by-id 0x000 100 1000 1 0 --event-min 1 @@ -1164,145 +1195,127 @@ tests: verification: | The cluster used in the below command is an example, User can use any supported chip cluster. - Provision DUT and TH. - - To generate the software fault event, execute the following - 1. Get the PID of the DUT & KIll it . - ps -aef|grep all-clusters-app - sudo kill -SIGUSR1 - - - On TH, Verify that each event record is assigned a number that is exactly 1 greater than the last created event record on that Node. by sending the below command - softwarediagnostics subscribe-event software-fault 1 0 - [1656509949.252105][1593:1598] CHIP:DMG: InteractionModelRevision = 1 - [1656509949.252131][1593:1598] CHIP:DMG: } - [1656509949.252482][1593:1598] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Event 0x0000_0000 - [1656509949.252514][1593:1598] CHIP:TOO: Event number: 7 - [1656509949.252540][1593:1598] CHIP:TOO: Priority: Info - [1656509949.252564][1593:1598] CHIP:TOO: Timestamp: 1667389 - [1656509949.252673][1593:1598] CHIP:TOO: SoftwareFault: { - [1656509949.252726][1593:1598] CHIP:TOO: Id: 1609 - [1656509949.252755][1593:1598] CHIP:TOO: Name: 1609 - [1656509949.252785][1593:1598] CHIP:TOO: FaultRecording: 576564204A756E2032392031333A33343A353220323032320A - [1656509949.252812][1593:1598] CHIP:TOO: } - [1656509949.252919][1593:1598] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Event 0x0000_0000 - [1656509949.252946][1593:1598] CHIP:TOO: Event number: 8 - [1656509949.252970][1593:1598] CHIP:TOO: Priority: Info - [1656509949.252994][1593:1598] CHIP:TOO: Timestamp: 1668865 - [1656509949.253028][1593:1598] CHIP:TOO: SoftwareFault: { - [1656509949.253054][1593:1598] CHIP:TOO: Id: 1609 - [1656509949.253079][1593:1598] CHIP:TOO: Name: 1609 - [1656509949.253106][1593:1598] CHIP:TOO: FaultRecording: 576564204A756E2032392031333A33343A353420323032320A - [1656509949.253131][1593:1598] CHIP:TOO: } - [1656509949.253235][1593:1598] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Event 0x0000_0000 - [1656509949.253262][1593:1598] CHIP:TOO: Event number: 9 - [1656509949.253286][1593:1598] CHIP:TOO: Priority: Info - [1656509949.253310][1593:1598] CHIP:TOO: Timestamp: 1671097 - [1656509949.253343][1593:1598] CHIP:TOO: SoftwareFault: { - [1656509949.253370][1593:1598] CHIP:TOO: Id: 1609 - [1656509949.253394][1593:1598] CHIP:TOO: Name: 1609 - [1656509949.253420][1593:1598] CHIP:TOO: FaultRecording: 576564204A756E2032392031333A33343A353620323032320A - [1656509949.253445][1593:1598] CHIP:TOO: } - [1656509949.253552][1593:1598] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Event 0x0000_0000 - [1656509949.253578][1593:1598] CHIP:TOO: Event number: 10 - [1656509949.253602][1593:1598] CHIP:TOO: Priority: Info - [1656509949.253626][1593:1598] CHIP:TOO: Timestamp: 1899745 - [1656509949.253658][1593:1598] CHIP:TOO: SoftwareFault: { - [1656509949.253685][1593:1598] CHIP:TOO: Id: 1609 - [1656509949.253708][1593:1598] CHIP:TOO: Name: 1609 - [1656509949.253734][1593:1598] CHIP:TOO: FaultRecording: 576564204A756E2032392031333A33383A343520323032320A - [1656509949.253755][1593:1598] CHIP:TOO: } - [1656509949.253856][1593:1598] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Event 0x0000_0000 - [1656509949.253883][1593:1598] CHIP:TOO: Event number: 11 - [1656509949.253904][1593:1598] CHIP:TOO: Priority: Info - [1656509949.253924][1593:1598] CHIP:TOO: Timestamp: 1901573 - [1656509949.253954][1593:1598] CHIP:TOO: SoftwareFault: { - [1656509949.253977][1593:1598] CHIP:TOO: Id: 1609 - [1656509949.253997][1593:1598] CHIP:TOO: Name: 1609 - [1656509949.254020][1593:1598] CHIP:TOO: FaultRecording: 576564204A756E2032392031333A33383A343620323032320A - [1656509949.254042][1593:1598] CHIP:TOO: } - [1656509949.254132][1593:1598] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Event 0x0000_0000 - [1656509949.254155][1593:1598] CHIP:TOO: Event number: 12 - [1656509949.254176][1593:1598] CHIP:TOO: Priority: Info - [1656509949.254196][1593:1598] CHIP:TOO: Timestamp: 1903174 - [1656509949.254225][1593:1598] CHIP:TOO: SoftwareFault: { - [1656509949.254247][1593:1598] CHIP:TOO: Id: 1609 - [1656509949.254268][1593:1598] CHIP:TOO: Name: 1609 - [1656509949.254291][1593:1598] CHIP:TOO: FaultRecording: 576564204A756E2032392031333A33383A343820323032320A - [1656509949.254313][1593:1598] CHIP:TOO: } - [1656509949.254403][1593:1598] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Event 0x0000_0000 - [1656509949.254426][1593:1598] CHIP:TOO: Event number: 13 - [1656509949.254447][1593:1598] CHIP:TOO: Priority: Info - [1656509949.254468][1593:1598] CHIP:TOO: Timestamp: 1904273 - [1656509949.254496][1593:1598] CHIP:TOO: SoftwareFault: { - [1656509949.254519][1593:1598] CHIP:TOO: Id: 1609 - [1656509949.254540][1593:1598] CHIP:TOO: Name: 1609 - [1656509949.254563][1593:1598] CHIP:TOO: FaultRecording: 576564204A756E2032392031333A33383A343920323032320A - [1656509949.254584][1593:1598] CHIP:TOO: } - [1656509949.254674][1593:1598] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Event 0x0000_0000 - [1656509949.254697][1593:1598] CHIP:TOO: Event number: 14 - [1656509949.254718][1593:1598] CHIP:TOO: Priority: Info - [1656509949.254739][1593:1598] CHIP:TOO: Timestamp: 1905286 - [1656509949.254766][1593:1598] CHIP:TOO: SoftwareFault: { - [1656509949.254789][1593:1598] CHIP:TOO: Id: 1609 - [1656509949.254810][1593:1598] CHIP:TOO: Name: 1609 - [1656509949.254833][1593:1598] CHIP:TOO: FaultRecording: 576564204A756E2032392031333A33383A353020323032320A - [1656509949.254854][1593:1598] CHIP:TOO: } - [1656509949.254945][1593:1598] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Event 0x0000_0000 - [1656509949.254967][1593:1598] CHIP:TOO: Event number: 15 - [1656509949.254988][1593:1598] CHIP:TOO: Priority: Info - [1656509949.255008][1593:1598] CHIP:TOO: Timestamp: 1907173 - [1656509949.255036][1593:1598] CHIP:TOO: SoftwareFault: { - [1656509949.255059][1593:1598] CHIP:TOO: Id: 1609 - [1656509949.255080][1593:1598] CHIP:TOO: Name: 1609 - [1656509949.255103][1593:1598] CHIP:TOO: FaultRecording: 576564204A756E2032392031333A33383A353220323032320A - [1656509949.255125][1593:1598] CHIP:TOO: } - [1656509949.255214][1593:1598] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Event 0x0000_0000 - [1656509949.255236][1593:1598] CHIP:TOO: Event number: 16 - [1656509949.255257][1593:1598] CHIP:TOO: Priority: Info - [1656509949.255277][1593:1598] CHIP:TOO: Timestamp: 1908021 - [1656509949.255305][1593:1598] CHIP:TOO: SoftwareFault: { - [1656509949.255328][1593:1598] CHIP:TOO: Id: 1609 - [1656509949.255349][1593:1598] CHIP:TOO: Name: 1609 - [1656509949.255372][1593:1598] CHIP:TOO: FaultRecording: 576564204A756E2032392031333A33383A353320323032320A - [1656509949.255393][1593:1598] CHIP:TOO: } - [1656509949.255484][1593:1598] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Event 0x0000_0000 - [1656509949.255506][1593:1598] CHIP:TOO: Event number: 17 - [1656509949.255527][1593:1598] CHIP:TOO: Priority: Info - [1656509949.255548][1593:1598] CHIP:TOO: Timestamp: 1908798 - [1656509949.255575][1593:1598] CHIP:TOO: SoftwareFault: { - [1656509949.255598][1593:1598] CHIP:TOO: Id: 1609 - [1656509949.255618][1593:1598] CHIP:TOO: Name: 1609 - [1656509949.255641][1593:1598] CHIP:TOO: FaultRecording: 576564204A756E2032392031333A33383A353420323032320A - [1656509949.255663][1593:1598] CHIP:TOO: } - [1656509949.255752][1593:1598] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Event 0x0000_0000 - [1656509949.255774][1593:1598] CHIP:TOO: Event number: 18 - [1656509949.255796][1593:1598] CHIP:TOO: Priority: Info - [1656509949.255816][1593:1598] CHIP:TOO: Timestamp: 1909478 - [1656509949.255844][1593:1598] CHIP:TOO: SoftwareFault: { - [1656509949.255866][1593:1598] CHIP:TOO: Id: 1609 - [1656509949.255887][1593:1598] CHIP:TOO: Name: 1609 - [1656509949.255910][1593:1598] CHIP:TOO: FaultRecording: 576564204A756E2032392031333A33383A353420323032320A - [1656509949.255931][1593:1598] CHIP:TOO: } - [1656509949.256022][1593:1598] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Event 0x0000_0000 - [1656509949.256044][1593:1598] CHIP:TOO: Event number: 19 - [1656509949.256065][1593:1598] CHIP:TOO: Priority: Info - [1656509949.256086][1593:1598] CHIP:TOO: Timestamp: 1910178 - [1656509949.256114][1593:1598] CHIP:TOO: SoftwareFault: { - [1656509949.256136][1593:1598] CHIP:TOO: Id: 1609 - [1656509949.256157][1593:1598] CHIP:TOO: Name: 1609 - [1656509949.256193][1593:1598] CHIP:TOO: FaultRecording: 576564204A756E2032392031333A33383A353520323032320A - [1656509949.256216][1593:1598] CHIP:TOO: } - [1656509949.256306][1593:1598] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Event 0x0000_0000 - [1656509949.256328][1593:1598] CHIP:TOO: Event number: 20 - [1656509949.256349][1593:1598] CHIP:TOO: Priority: Info - [1656509949.256370][1593:1598] CHIP:TOO: Timestamp: 1911229 - [1656509949.256398][1593:1598] CHIP:TOO: SoftwareFault: { - [1656509949.256420][1593:1598] CHIP:TOO: Id: 1609 - [1656509949.256442][1593:1598] CHIP:TOO: Name: 1609 - [1656509949.256464][1593:1598] CHIP:TOO: FaultRecording: 576564204A756E2032392031333A33383A353620323032320A - [1656509949.256486][1593:1598] CHIP:TOO: } - [1656509949.256679][1593:1598] CHIP:DMG: MoveToState ReadClient[0xffff74004470]: Moving to [AwaitingSu] + Please run this test in chip tool interactive mode ./chip-tool interactive start + + accesscontrol subscribe-event access-control-entry-changed 20 500 1 0 + On TH verify that each event number + [1658405014.975407][4236:4241] CHIP:DMG: } + [1658405014.975582][4236:4241] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0000 + [1658405014.975608][4236:4241] CHIP:TOO: Event number: 2 + [1658405014.975632][4236:4241] CHIP:TOO: Priority: Info + [1658405014.975656][4236:4241] CHIP:TOO: Timestamp: 24429982 + [1658405014.975774][4236:4241] CHIP:TOO: AccessControlEntryChanged: { + [1658405014.975802][4236:4241] CHIP:TOO: AdminNodeID: null + [1658405014.975837][4236:4241] CHIP:TOO: AdminPasscodeID: 0 + [1658405014.975864][4236:4241] CHIP:TOO: ChangeType: 1 + [1658405014.975889][4236:4241] CHIP:TOO: LatestValue: { + [1658405014.975913][4236:4241] CHIP:TOO: Privilege: 5 + [1658405014.975938][4236:4241] CHIP:TOO: AuthMode: 2 + [1658405014.975968][4236:4241] CHIP:TOO: Subjects: 1 entries + [1658405014.975999][4236:4241] CHIP:TOO: [1]: 112233 + [1658405014.976027][4236:4241] CHIP:TOO: Targets: null + [1658405014.976052][4236:4241] CHIP:TOO: FabricIndex: 1 + [1658405014.976075][4236:4241] CHIP:TOO: } + [1658405014.976100][4236:4241] CHIP:TOO: AdminFabricIndex: 1 + [1658405014.976124][4236:4241] CHIP:TOO: } + [1658405014.976188][4236:4241] CHIP:DMG: MoveToState ReadClient[0xffffa4008e30]: Moving to [AwaitingSu] + + By sending the command mentioned below, change attribute values on DUT to create events multiple times. + + accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 1, "privilege": 1, "authMode": 3, "subjects": [111,222,333,444], "targets": [{"cluster":11 , "endpoint":22, "deviceType": null}]}, {"fabricIndex": 1, "privilege": 3, "authMode": 3, "subjects": [555,666,777,888], "targets": [{"cluster": 55, "endpoint": 66, "deviceType":null }]}]' 1 0 + + On TH Verify that each event record is assigned a number that is exactly 1 greater than the last created event record on that Node. + + [1658405515.109232][4236:4241] CHIP:DMG: } + [1658405515.109475][4236:4241] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0000 + [1658405515.109503][4236:4241] CHIP:TOO: Event number: 3 + [1658405515.109529][4236:4241] CHIP:TOO: Priority: Info + [1658405515.109555][4236:4241] CHIP:TOO: Timestamp: 24557931 + [1658405515.109621][4236:4241] CHIP:TOO: AccessControlEntryChanged: { + [1658405515.109654][4236:4241] CHIP:TOO: AdminNodeID: 112233 + [1658405515.109682][4236:4241] CHIP:TOO: AdminPasscodeID: null + [1658405515.109710][4236:4241] CHIP:TOO: ChangeType: 2 + [1658405515.109736][4236:4241] CHIP:TOO: LatestValue: { + [1658405515.109762][4236:4241] CHIP:TOO: Privilege: 5 + [1658405515.109788][4236:4241] CHIP:TOO: AuthMode: 2 + [1658405515.109819][4236:4241] CHIP:TOO: Subjects: 1 entries + [1658405515.109852][4236:4241] CHIP:TOO: [1]: 112233 + [1658405515.109881][4236:4241] CHIP:TOO: Targets: null + [1658405515.109907][4236:4241] CHIP:TOO: FabricIndex: 1 + [1658405515.109933][4236:4241] CHIP:TOO: } + [1658405515.109960][4236:4241] CHIP:TOO: AdminFabricIndex: 1 + [1658405515.109985][4236:4241] CHIP:TOO: } + [1658405515.110118][4236:4241] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0000 + [1658405515.110146][4236:4241] CHIP:TOO: Event number: 4 + [1658405515.110171][4236:4241] CHIP:TOO: Priority: Info + [1658405515.110196][4236:4241] CHIP:TOO: Timestamp: 24557933 + [1658405515.110240][4236:4241] CHIP:TOO: AccessControlEntryChanged: { + [1658405515.110269][4236:4241] CHIP:TOO: AdminNodeID: 112233 + [1658405515.110296][4236:4241] CHIP:TOO: AdminPasscodeID: null + [1658405515.110322][4236:4241] CHIP:TOO: ChangeType: 1 + [1658405515.110348][4236:4241] CHIP:TOO: LatestValue: { + [1658405515.110373][4236:4241] CHIP:TOO: Privilege: 5 + [1658405515.110399][4236:4241] CHIP:TOO: AuthMode: 2 + [1658405515.110427][4236:4241] CHIP:TOO: Subjects: 1 entries + [1658405515.110457][4236:4241] CHIP:TOO: [1]: 112233 + [1658405515.110485][4236:4241] CHIP:TOO: Targets: null + [1658405515.110511][4236:4241] CHIP:TOO: FabricIndex: 1 + [1658405515.110536][4236:4241] CHIP:TOO: } + [1658405515.110562][4236:4241] CHIP:TOO: AdminFabricIndex: 1 + [1658405515.110587][4236:4241] CHIP:TOO: } + [1658405515.110735][4236:4241] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0000 + [1658405515.110762][4236:4241] CHIP:TOO: Event number: 5 + [1658405515.110788][4236:4241] CHIP:TOO: Priority: Info + [1658405515.110813][4236:4241] CHIP:TOO: Timestamp: 24557935 + [1658405515.110861][4236:4241] CHIP:TOO: AccessControlEntryChanged: { + [1658405515.110890][4236:4241] CHIP:TOO: AdminNodeID: 112233 + [1658405515.110917][4236:4241] CHIP:TOO: AdminPasscodeID: null + [1658405515.110943][4236:4241] CHIP:TOO: ChangeType: 1 + [1658405515.110969][4236:4241] CHIP:TOO: LatestValue: { + [1658405515.110994][4236:4241] CHIP:TOO: Privilege: 1 + [1658405515.111020][4236:4241] CHIP:TOO: AuthMode: 3 + [1658405515.111050][4236:4241] CHIP:TOO: Subjects: 4 entries + [1658405515.111080][4236:4241] CHIP:TOO: [1]: 111 + [1658405515.111109][4236:4241] CHIP:TOO: [2]: 222 + [1658405515.111137][4236:4241] CHIP:TOO: [3]: 333 + [1658405515.111166][4236:4241] CHIP:TOO: [4]: 444 + [1658405515.111198][4236:4241] CHIP:TOO: Targets: 1 entries + [1658405515.111240][4236:4241] CHIP:TOO: [1]: { + [1658405515.111268][4236:4241] CHIP:TOO: Cluster: 11 + [1658405515.111296][4236:4241] CHIP:TOO: Endpoint: 22 + [1658405515.111322][4236:4241] CHIP:TOO: DeviceType: null + [1658405515.111348][4236:4241] CHIP:TOO: } + [1658405515.111376][4236:4241] CHIP:TOO: FabricIndex: 1 + [1658405515.111402][4236:4241] CHIP:TOO: } + [1658405515.111428][4236:4241] CHIP:TOO: AdminFabricIndex: 1 + [1658405515.111453][4236:4241] CHIP:TOO: } + [1658405515.111600][4236:4241] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0000 + [1658405515.111628][4236:4241] CHIP:TOO: Event number: 6 + [1658405515.111653][4236:4241] CHIP:TOO: Priority: Info + [1658405515.111678][4236:4241] CHIP:TOO: Timestamp: 24557937 + [1658405515.111726][4236:4241] CHIP:TOO: AccessControlEntryChanged: { + [1658405515.111755][4236:4241] CHIP:TOO: AdminNodeID: 112233 + [1658405515.111781][4236:4241] CHIP:TOO: AdminPasscodeID: null + [1658405515.111807][4236:4241] CHIP:TOO: ChangeType: 1 + [1658405515.111833][4236:4241] CHIP:TOO: LatestValue: { + [1658405515.111859][4236:4241] CHIP:TOO: Privilege: 3 + [1658405515.111884][4236:4241] CHIP:TOO: AuthMode: 3 + [1658405515.111914][4236:4241] CHIP:TOO: Subjects: 4 entries + [1658405515.111944][4236:4241] CHIP:TOO: [1]: 555 + [1658405515.111973][4236:4241] CHIP:TOO: [2]: 666 + [1658405515.112002][4236:4241] CHIP:TOO: [3]: 777 + [1658405515.112030][4236:4241] CHIP:TOO: [4]: 888 + [1658405515.112063][4236:4241] CHIP:TOO: Targets: 1 entries + [1658405515.112097][4236:4241] CHIP:TOO: [1]: { + [1658405515.112125][4236:4241] CHIP:TOO: Cluster: 55 + [1658405515.112151][4236:4241] CHIP:TOO: Endpoint: 66 + [1658405515.112177][4236:4241] CHIP:TOO: DeviceType: null + [1658405515.112203][4236:4241] CHIP:TOO: } + [1658405515.112231][4236:4241] CHIP:TOO: FabricIndex: 1 + [1658405515.112257][4236:4241] CHIP:TOO: } + [1658405515.112283][4236:4241] CHIP:TOO: AdminFabricIndex: 1 + [1658405515.112308][4236:4241] CHIP:TOO: } + [1658405515.112462][4236:4241] CHIP:DMG: Refresh LivenessCheckTime for 525000 milliseconds with SubscriptionId = 0x0a5a629c Peer = 01:0000000000000001 disabled: true - label: @@ -1311,5 +1324,131 @@ tests: reset on DUT, re-subscribe to events and continue to change attribute values on DUT to create events multiple times." verification: | - https://github.com/CHIP-Specifications/chip-test-plans/issues/1700 + The cluster used in the below command is an example, User can use any supported chip cluster. + + Please run this test in chip tool interactive mode ./chip-tool interactive start + + On Raspi platform the event is triggered with this command, Pls use equivalent command on the respective DUT + + accesscontrol subscribe-event access-control-entry-changed 20 500 1 0 + On TH verify that each event number + [1658405014.975407][4236:4241] CHIP:DMG: } + [1658405014.975582][4236:4241] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0000 + [1658405014.975608][4236:4241] CHIP:TOO: Event number: 2 + [1658405014.975632][4236:4241] CHIP:TOO: Priority: Info + [1658405014.975656][4236:4241] CHIP:TOO: Timestamp: 24429982 + [1658405014.975774][4236:4241] CHIP:TOO: AccessControlEntryChanged: { + [1658405014.975802][4236:4241] CHIP:TOO: AdminNodeID: null + [1658405014.975837][4236:4241] CHIP:TOO: AdminPasscodeID: 0 + [1658405014.975864][4236:4241] CHIP:TOO: ChangeType: 1 + [1658405014.975889][4236:4241] CHIP:TOO: LatestValue: { + [1658405014.975913][4236:4241] CHIP:TOO: Privilege: 5 + [1658405014.975938][4236:4241] CHIP:TOO: AuthMode: 2 + [1658405014.975968][4236:4241] CHIP:TOO: Subjects: 1 entries + [1658405014.975999][4236:4241] CHIP:TOO: [1]: 112233 + [1658405014.976027][4236:4241] CHIP:TOO: Targets: null + [1658405014.976052][4236:4241] CHIP:TOO: FabricIndex: 1 + [1658405014.976075][4236:4241] CHIP:TOO: } + [1658405014.976100][4236:4241] CHIP:TOO: AdminFabricIndex: 1 + [1658405014.976124][4236:4241] CHIP:TOO: } + [1658405014.976188][4236:4241] CHIP:DMG: MoveToState ReadClient[0xffffa4008e30]: Moving to [AwaitingSu] + + By sending the command mentioned below, change attribute values on DUT to create events multiple times. + + accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 1, "privilege": 1, "authMode": 3, "subjects": [111,222,333,444], "targets": [{"cluster":11 , "endpoint":22, "deviceType": null}]}, {"fabricIndex": 1, "privilege": 3, "authMode": 3, "subjects": [555,666,777,888], "targets": [{"cluster": 55, "endpoint": 66, "deviceType":null }]}]' 1 0 + + On TH Verify that each event record is assigned a number that is exactly 1 greater than the last created event record on that Node. + + [1658405515.109232][4236:4241] CHIP:DMG: } + [1658405515.109475][4236:4241] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0000 + [1658405515.109503][4236:4241] CHIP:TOO: Event number: 3 + [1658405515.109529][4236:4241] CHIP:TOO: Priority: Info + [1658405515.109555][4236:4241] CHIP:TOO: Timestamp: 24557931 + [1658405515.109621][4236:4241] CHIP:TOO: AccessControlEntryChanged: { + [1658405515.109654][4236:4241] CHIP:TOO: AdminNodeID: 112233 + [1658405515.109682][4236:4241] CHIP:TOO: AdminPasscodeID: null + [1658405515.109710][4236:4241] CHIP:TOO: ChangeType: 2 + [1658405515.109736][4236:4241] CHIP:TOO: LatestValue: { + [1658405515.109762][4236:4241] CHIP:TOO: Privilege: 5 + [1658405515.109788][4236:4241] CHIP:TOO: AuthMode: 2 + [1658405515.109819][4236:4241] CHIP:TOO: Subjects: 1 entries + [1658405515.109852][4236:4241] CHIP:TOO: [1]: 112233 + [1658405515.109881][4236:4241] CHIP:TOO: Targets: null + [1658405515.109907][4236:4241] CHIP:TOO: FabricIndex: 1 + [1658405515.109933][4236:4241] CHIP:TOO: } + [1658405515.109960][4236:4241] CHIP:TOO: AdminFabricIndex: 1 + [1658405515.109985][4236:4241] CHIP:TOO: } + [1658405515.110118][4236:4241] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0000 + [1658405515.110146][4236:4241] CHIP:TOO: Event number: 4 + [1658405515.110171][4236:4241] CHIP:TOO: Priority: Info + [1658405515.110196][4236:4241] CHIP:TOO: Timestamp: 24557933 + [1658405515.110240][4236:4241] CHIP:TOO: AccessControlEntryChanged: { + [1658405515.110269][4236:4241] CHIP:TOO: AdminNodeID: 112233 + [1658405515.110296][4236:4241] CHIP:TOO: AdminPasscodeID: null + [1658405515.110322][4236:4241] CHIP:TOO: ChangeType: 1 + [1658405515.110348][4236:4241] CHIP:TOO: LatestValue: { + [1658405515.110373][4236:4241] CHIP:TOO: Privilege: 5 + [1658405515.110399][4236:4241] CHIP:TOO: AuthMode: 2 + [1658405515.110427][4236:4241] CHIP:TOO: Subjects: 1 entries + [1658405515.110457][4236:4241] CHIP:TOO: [1]: 112233 + [1658405515.110485][4236:4241] CHIP:TOO: Targets: null + [1658405515.110511][4236:4241] CHIP:TOO: FabricIndex: 1 + [1658405515.110536][4236:4241] CHIP:TOO: } + [1658405515.110562][4236:4241] CHIP:TOO: AdminFabricIndex: 1 + [1658405515.110587][4236:4241] CHIP:TOO: } + [1658405515.110735][4236:4241] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0000 + [1658405515.110762][4236:4241] CHIP:TOO: Event number: 5 + [1658405515.110788][4236:4241] CHIP:TOO: Priority: Info + [1658405515.110813][4236:4241] CHIP:TOO: Timestamp: 24557935 + [1658405515.110861][4236:4241] CHIP:TOO: AccessControlEntryChanged: { + [1658405515.110890][4236:4241] CHIP:TOO: AdminNodeID: 112233 + [1658405515.110917][4236:4241] CHIP:TOO: AdminPasscodeID: null + [1658405515.110943][4236:4241] CHIP:TOO: ChangeType: 1 + [1658405515.110969][4236:4241] CHIP:TOO: LatestValue: { + [1658405515.110994][4236:4241] CHIP:TOO: Privilege: 1 + [1658405515.111020][4236:4241] CHIP:TOO: AuthMode: 3 + [1658405515.111050][4236:4241] CHIP:TOO: Subjects: 4 entries + [1658405515.111080][4236:4241] CHIP:TOO: [1]: 111 + [1658405515.111109][4236:4241] CHIP:TOO: [2]: 222 + [1658405515.111137][4236:4241] CHIP:TOO: [3]: 333 + [1658405515.111166][4236:4241] CHIP:TOO: [4]: 444 + [1658405515.111198][4236:4241] CHIP:TOO: Targets: 1 entries + [1658405515.111240][4236:4241] CHIP:TOO: [1]: { + [1658405515.111268][4236:4241] CHIP:TOO: Cluster: 11 + [1658405515.111296][4236:4241] CHIP:TOO: Endpoint: 22 + [1658405515.111322][4236:4241] CHIP:TOO: DeviceType: null + [1658405515.111348][4236:4241] CHIP:TOO: } + [1658405515.111376][4236:4241] CHIP:TOO: FabricIndex: 1 + [1658405515.111402][4236:4241] CHIP:TOO: } + [1658405515.111428][4236:4241] CHIP:TOO: AdminFabricIndex: 1 + [1658405515.111453][4236:4241] CHIP:TOO: } + [1658405515.111600][4236:4241] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0000 + [1658405515.111628][4236:4241] CHIP:TOO: Event number: 6 + [1658405515.111653][4236:4241] CHIP:TOO: Priority: Info + [1658405515.111678][4236:4241] CHIP:TOO: Timestamp: 24557937 + [1658405515.111726][4236:4241] CHIP:TOO: AccessControlEntryChanged: { + [1658405515.111755][4236:4241] CHIP:TOO: AdminNodeID: 112233 + [1658405515.111781][4236:4241] CHIP:TOO: AdminPasscodeID: null + [1658405515.111807][4236:4241] CHIP:TOO: ChangeType: 1 + [1658405515.111833][4236:4241] CHIP:TOO: LatestValue: { + [1658405515.111859][4236:4241] CHIP:TOO: Privilege: 3 + [1658405515.111884][4236:4241] CHIP:TOO: AuthMode: 3 + [1658405515.111914][4236:4241] CHIP:TOO: Subjects: 4 entries + [1658405515.111944][4236:4241] CHIP:TOO: [1]: 555 + [1658405515.111973][4236:4241] CHIP:TOO: [2]: 666 + [1658405515.112002][4236:4241] CHIP:TOO: [3]: 777 + [1658405515.112030][4236:4241] CHIP:TOO: [4]: 888 + [1658405515.112063][4236:4241] CHIP:TOO: Targets: 1 entries + [1658405515.112097][4236:4241] CHIP:TOO: [1]: { + [1658405515.112125][4236:4241] CHIP:TOO: Cluster: 55 + [1658405515.112151][4236:4241] CHIP:TOO: Endpoint: 66 + [1658405515.112177][4236:4241] CHIP:TOO: DeviceType: null + [1658405515.112203][4236:4241] CHIP:TOO: } + [1658405515.112231][4236:4241] CHIP:TOO: FabricIndex: 1 + [1658405515.112257][4236:4241] CHIP:TOO: } + [1658405515.112283][4236:4241] CHIP:TOO: AdminFabricIndex: 1 + [1658405515.112308][4236:4241] CHIP:TOO: } + [1658405515.112462][4236:4241] CHIP:DMG: Refresh LivenessCheckTime for 525000 milliseconds with SubscriptionId = 0x0a5a629c Peer = 01:0000000000000001 + + After this test step you need to factory reset the DUT and reprovision the DUT again, and re-subscribe the events to continue to change attribute values on DUT to create events multiple times disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_6_3.yaml b/src/app/tests/suites/certification/Test_TC_IDM_6_3.yaml index 1ce970e0ad4f63..44bb587c90dc6e 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_6_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_6_3.yaml @@ -25,9 +25,12 @@ tests: verification: | The cluster used in the below command is an example, User can use any supported chip cluster. + + Please run this test in chip tool interactive mode ./chip-tool interactive start + sudo ./chip-tool any read-event-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0xFFFF - On TH verify that Read Request Message received has these fields EventRequests, EventFilters, and FabricFiltered. + On TH(Reference app) verify that Read Request Message received has these fields EventRequests, EventFilters, and FabricFiltered. diff --git a/src/app/tests/suites/certification/Test_TC_IDM_6_4.yaml b/src/app/tests/suites/certification/Test_TC_IDM_6_4.yaml index 1ba94a0351a97c..b9e12087952bcf 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_6_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_6_4.yaml @@ -27,6 +27,9 @@ tests: "DUT sends Subscribe Request Message to the TH for a supported event." verification: | The cluster used in the below command is an example, User can use any supported chip cluster. + + Please run this test in chip tool interactive mode ./chip-tool interactive start + basic subscribe-event start-up 10 100 1 0 On TH (On the reference app), On reference app verify that the subscription message received has the all fields which mentioned in expected outcome @@ -57,6 +60,49 @@ tests: [1657455555.195593][11525:11525] CHIP:DMG: Final negotiated min/max parameters: Min = 10s, Max = 100s [1657455555.195766][11525:11525] CHIP:DMG: IM RH moving to [GeneratingReports] [1657455555.195955][11525:11525] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + + On DUT as a client side, verify that TH all-clusters-app sent ReportDataMessage + + [1657886501.456822][3430:3435] CHIP:DMG: ReportDataMessage = + [1657886501.456851][3430:3435] CHIP:DMG: { + [1657886501.456886][3430:3435] CHIP:DMG: SubscriptionId = 0xb746e9ed, + [1657886501.456911][3430:3435] CHIP:DMG: EventReportIBs = + [1657886501.456944][3430:3435] CHIP:DMG: [ + [1657886501.456979][3430:3435] CHIP:DMG: EventReportIB = + [1657886501.457015][3430:3435] CHIP:DMG: { + [1657886501.457049][3430:3435] CHIP:DMG: EventDataIB = + [1657886501.457091][3430:3435] CHIP:DMG: { + [1657886501.457118][3430:3435] CHIP:DMG: EventPath = + [1657886501.457162][3430:3435] CHIP:DMG: { + [1657886501.457199][3430:3435] CHIP:DMG: Endpoint = 0x0, + [1657886501.457245][3430:3435] CHIP:DMG: Cluster = 0x28, + [1657886501.457288][3430:3435] CHIP:DMG: Event = 0x0, + [1657886501.457329][3430:3435] CHIP:DMG: }, + [1657886501.457365][3430:3435] CHIP:DMG: + [1657886501.457404][3430:3435] CHIP:DMG: EventNumber = 0x0, + [1657886501.457437][3430:3435] CHIP:DMG: PriorityLevel = 0x2, + [1657886501.457479][3430:3435] CHIP:DMG: SystemTimestamp = 0xa1de6f, + [1657886501.457519][3430:3435] CHIP:DMG: EventData = + [1657886501.457584][3430:3435] CHIP:DMG: { + [1657886501.457632][3430:3435] CHIP:DMG: 0x0 = 1, + [1657886501.457666][3430:3435] CHIP:DMG: }, + [1657886501.457696][3430:3435] CHIP:DMG: }, + [1657886501.457738][3430:3435] CHIP:DMG: + [1657886501.457766][3430:3435] CHIP:DMG: }, + [1657886501.457806][3430:3435] CHIP:DMG: + [1657886501.457830][3430:3435] CHIP:DMG: ], + [1657886501.457873][3430:3435] CHIP:DMG: + [1657886501.457897][3430:3435] CHIP:DMG: InteractionModelRevision = 1 + [1657886501.457929][3430:3435] CHIP:DMG: } + [1657886501.458091][3430:3435] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1657886501.458116][3430:3435] CHIP:TOO: Event number: 0 + [1657886501.458139][3430:3435] CHIP:TOO: Priority: Critical + [1657886501.458160][3430:3435] CHIP:TOO: Timestamp: 10608239 + [1657886501.458237][3430:3435] CHIP:TOO: StartUp: { + [1657886501.458284][3430:3435] CHIP:TOO: SoftwareVersion: 1 + [1657886501.458309][3430:3435] CHIP:TOO: } + [1657886501.458358][3430:3435] CHIP:DMG: MoveToState ReadClient[0xffff6c0091f0]: Moving to [AwaitingSu] + [1657886501.458420][3430:3435] CHIP:EM: Piggybacking Ack for MessageCounter:245754654 on exchange: 20326i disabled: true - label: @@ -65,6 +111,8 @@ tests: verification: | The cluster used in the below command is an example, User can use any supported chip cluster. + Please run this test in chip tool interactive mode ./chip-tool interactive start + basic subscribe-event-by-id 0x000 20 400 1 0 Verify DUT is responsds with status response for the data sent in the above command On TH (On the reference app) @@ -77,6 +125,32 @@ tests: [1657455691.695574][11525:11525] CHIP:DMG: } [1657455691.695600][11525:11525] CHIP:IM: Received status response, status is 0x00 (SUCCESS) [1657455691.695643][11525:11525] CHIP:DMG: Refresh Subscribe Sync Timer with max 400 seconds + + On DUT as a client side, verify that TH all-clusters-app sent ReportDataMessage + + [1657886532.588762][3430:3435] CHIP:DMG: } + [1657886532.588882][3430:3435] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1657886532.588908][3430:3435] CHIP:TOO: Event number: 0 + [1657886532.588930][3430:3435] CHIP:TOO: Priority: Critical + [1657886532.588952][3430:3435] CHIP:TOO: Timestamp: 10608239 + [1657886532.588986][3430:3435] CHIP:TOO: StartUp: { + [1657886532.589013][3430:3435] CHIP:TOO: SoftwareVersion: 1 + [1657886532.589036][3430:3435] CHIP:TOO: } + [1657886532.589085][3430:3435] CHIP:DMG: MoveToState ReadClient[0xffff6c0092e0]: Moving to [AwaitingSu] + [1657886532.589143][3430:3435] CHIP:EM: Piggybacking Ack for MessageCounter:245754656 on exchange: 20327i + [1657886532.589207][3430:3435] CHIP:IN: Prepared secure message 0xaaab13395548 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 20327i with MessageCounter:216322285. + [1657886532.589245][3430:3435] CHIP:IN: Sending encrypted msg 0xaaab13395548 with MessageCounter:216322285 to 0x0000000000000001 (1) at monotonic time: 00000000008CF0C5 msec + [1657886532.590633][3430:3435] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:245754657 on exchange 20327i + [1657886532.590669][3430:3435] CHIP:EM: Found matching exchange: 20327i, Delegate: 0xffff6c0092e0 + [1657886532.590700][3430:3435] CHIP:EM: Rxd Ack; Removing MessageCounter:216322285 from Retrans Table on exchange 20327i + [1657886532.590726][3430:3435] CHIP:EM: Removed CHIP MessageCounter:216322285 from RetransTable on exchange 20327i + [1657886532.590772][3430:3435] CHIP:DMG: SubscribeResponseMessage = + [1657886532.590811][3430:3435] CHIP:DMG: { + [1657886532.590836][3430:3435] CHIP:DMG: SubscriptionId = 0x84d07a37, + [1657886532.590862][3430:3435] CHIP:DMG: MaxInterval = 0x190, + [1657886532.590887][3430:3435] CHIP:DMG: InteractionModelRevision = 1 + [1657886532.590910][3430:3435] CHIP:DMG: } + [1657886532.590935][3430:3435] CHIP:DMG: Subscription established with SubscriptionID = 0x84d07a37 MinInterval = 20s MaxInterval = 400s Peer = 01:0000000000000001 disabled: true - label: @@ -84,6 +158,7 @@ tests: with Report Data message to DUT." verification: | This is not testable in normal scenario, and needs to be tested as part of Unit test. + https://github.com/CHIP-Specifications/chip-test-plans/issues/1885 disabled: true - label: @@ -92,6 +167,7 @@ tests: not respond with Subscribe Response message to DUT." verification: | This is not testable in normal scenario, and needs to be tested as part of Unit test. + https://github.com/CHIP-Specifications/chip-test-plans/issues/1885 disabled: true - label: @@ -99,6 +175,7 @@ tests: Data message to DUT with an inactive SubscriptionId." verification: | This is not testable in normal scenario, and needs to be tested as part of Unit test. + https://github.com/CHIP-Specifications/chip-test-plans/issues/1885 disabled: true - label: @@ -107,4 +184,5 @@ tests: Data." verification: | This is not testable in normal scenario, and needs to be tested as part of Unit test. + https://github.com/CHIP-Specifications/chip-test-plans/issues/1885 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_7_1.yaml b/src/app/tests/suites/certification/Test_TC_IDM_7_1.yaml index 5c8ffe96cbdcfa..df77dc9aa46c5e 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_7_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_7_1.yaml @@ -29,6 +29,9 @@ tests: the attributes that have been subscribed or trigger an action on the DUT to generate an event." verification: | + Please run this test in chip tool interactive mode ./chip-tool interactive start + + Send 3 Subscriptionrequest message from each Reference Device(Eg. RD1...) to DUT and verify all the subscription requests are succes, and change the value of all the attributes by sending write command, after sending write commanfd @@ -639,6 +642,8 @@ tests: contain 3 different paths. The subscription request from RD1 should contain 4 paths." verification: | + Please run this test in chip tool interactive mode ./chip-tool interactive start + Send 3 Subscriptionrequest message from each Reference Device(Eg. RD1...) to DUT and verify all the subscription requests are succes. and in The subscription request from RD1 should contain 4 paths, Verify that the subscriptions from RD2, RD3, RD4 and RD5 are not affected. @@ -981,6 +986,8 @@ tests: Requests are activated, RD1 sends 6 subscription request messages with each of them having 3 different paths." verification: | + Please run this test in chip tool interactive mode ./chip-tool interactive start + Send 3 Subscriptionrequest message from each Reference Device(Eg. RD1...) to DUT and verify all the subscription requests are succes. and in The subscription request from RD1 should contain 6 paths, Verify that the subscriptions from RD2, RD3, RD4 and @@ -988,9 +995,6 @@ tests: Example commands given below are using 3 reference device (User can use 5 reference device and send the below command in from each reference device) - on the first reference deice enter: - - on the first reference deice enter: levelcontrol subscribe min-level 10 100 1 1 @@ -1427,12 +1431,15 @@ tests: Subscription Requests are activated, send a Subscribe request messages having 3 different paths from RD1A to the DUT." verification: | + Please run this test in chip tool interactive mode ./chip-tool interactive start + Send 3 Subscriptionrequest message from each Reference Device(Eg. RD1...) to DUT and verify all the subscription requests are succes, then send a Subscribe request messages having 3 different paths from RD1A to the DUT. Example commands given below are using 3 reference device (User can use 5 reference device and send the below command in from each reference device) + on the 1st reference deice enter: onoff subscribe start-up-on-off 10 100 1 1 [1657716965.736576][6034:6039] CHIP:EM: Removed CHIP MessageCounter:12313969 from RetransTable on exchange 50225i @@ -1608,237 +1615,6 @@ tests: [1657716911.281338][6034:6039] CHIP:DMG: { [1657716911.281408][6034:6039] CHIP:DMG: AttributeDataIB = [1657716911.281487][6034:6039] CHIP:DMG: { - on the first reference deice enter: - - levelcontrol subscribe min-level 10 100 1 1 - [1657717758.176398][6034:6039] CHIP:DMG: ReportDataMessage = - [1657717758.176466][6034:6039] CHIP:DMG: { - [1657717758.176545][6034:6039] CHIP:DMG: SubscriptionId = 0xbf960b6c, - [1657717758.176619][6034:6039] CHIP:DMG: AttributeReportIBs = - [1657717758.176698][6034:6039] CHIP:DMG: [ - [1657717758.176750][6034:6039] CHIP:DMG: AttributeReportIB = - [1657717758.176818][6034:6039] CHIP:DMG: { - [1657717758.176872][6034:6039] CHIP:DMG: AttributeDataIB = - [1657717758.176959][6034:6039] CHIP:DMG: { - [1657717758.177034][6034:6039] CHIP:DMG: DataVersion = 0x319eedab, - [1657717758.177136][6034:6039] CHIP:DMG: AttributePathIB = - [1657717758.177206][6034:6039] CHIP:DMG: { - [1657717758.177269][6034:6039] CHIP:DMG: Endpoint = 0x1, - [1657717758.177377][6034:6039] CHIP:DMG: Cluster = 0x8, - [1657717758.177429][6034:6039] CHIP:DMG: Attribute = 0x0000_0002, - [1657717758.177488][6034:6039] CHIP:DMG: } - [1657717758.177551][6034:6039] CHIP:DMG: - [1657717758.177600][6034:6039] CHIP:DMG: Data = 1, - [1657717758.177655][6034:6039] CHIP:DMG: }, - [1657717758.177716][6034:6039] CHIP:DMG: - [1657717758.177755][6034:6039] CHIP:DMG: }, - [1657717758.177813][6034:6039] CHIP:DMG: - [1657717758.177850][6034:6039] CHIP:DMG: ], - [1657717758.177896][6034:6039] CHIP:DMG: - [1657717758.177933][6034:6039] CHIP:DMG: InteractionModelRevision = 1 - [1657717758.177969][6034:6039] CHIP:DMG: } - [1657717758.178105][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0002 DataVersion: 832499115 - [1657717758.178156][6034:6039] CHIP:TOO: min level: 1 - [1657717758.178215][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c004100]: Moving to [AwaitingSu] - - - - onoff subscribe global-scene-control 10 100 1 1 - [1657717721.303602][6034:6039] CHIP:DMG: ReportDataMessage = - [1657717721.303670][6034:6039] CHIP:DMG: { - [1657717721.303730][6034:6039] CHIP:DMG: SubscriptionId = 0x2b768ffd, - [1657717721.303791][6034:6039] CHIP:DMG: AttributeReportIBs = - [1657717721.303867][6034:6039] CHIP:DMG: [ - [1657717721.303928][6034:6039] CHIP:DMG: AttributeReportIB = - [1657717721.304007][6034:6039] CHIP:DMG: { - [1657717721.304071][6034:6039] CHIP:DMG: AttributeDataIB = - [1657717721.304149][6034:6039] CHIP:DMG: { - [1657717721.304225][6034:6039] CHIP:DMG: DataVersion = 0x734a2d85, - [1657717721.304297][6034:6039] CHIP:DMG: AttributePathIB = - [1657717721.304372][6034:6039] CHIP:DMG: { - [1657717721.304454][6034:6039] CHIP:DMG: Endpoint = 0x1, - [1657717721.304542][6034:6039] CHIP:DMG: Cluster = 0x6, - [1657717721.304628][6034:6039] CHIP:DMG: Attribute = 0x0000_4000, - [1657717721.304711][6034:6039] CHIP:DMG: } - [1657717721.304797][6034:6039] CHIP:DMG: - [1657717721.304881][6034:6039] CHIP:DMG: Data = true, - [1657717721.304958][6034:6039] CHIP:DMG: }, - [1657717721.305039][6034:6039] CHIP:DMG: - [1657717721.305102][6034:6039] CHIP:DMG: }, - [1657717721.305178][6034:6039] CHIP:DMG: - [1657717721.305238][6034:6039] CHIP:DMG: ], - [1657717721.305348][6034:6039] CHIP:DMG: - [1657717721.305412][6034:6039] CHIP:DMG: InteractionModelRevision = 1 - [1657717721.305470][6034:6039] CHIP:DMG: } - [1657717721.305679][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4000 DataVersion: 1934241157 - [1657717721.305761][6034:6039] CHIP:TOO: GlobalSceneControl: TRUE - [1657717721.305849][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c0092b0]: Moving to [AwaitingSu] - - - temperaturemeasurement subscribe tolerance 10 100 1 1 - [1657717893.368431][6034:6039] CHIP:DMG: ReportDataMessage = - [1657717893.368514][6034:6039] CHIP:DMG: { - [1657717893.368562][6034:6039] CHIP:DMG: SubscriptionId = 0x87e778d7, - [1657717893.368649][6034:6039] CHIP:DMG: AttributeReportIBs = - [1657717893.368744][6034:6039] CHIP:DMG: [ - [1657717893.368837][6034:6039] CHIP:DMG: AttributeReportIB = - [1657717893.368943][6034:6039] CHIP:DMG: { - [1657717893.369046][6034:6039] CHIP:DMG: AttributeDataIB = - [1657717893.369138][6034:6039] CHIP:DMG: { - [1657717893.369231][6034:6039] CHIP:DMG: DataVersion = 0x8ca282b3, - [1657717893.369359][6034:6039] CHIP:DMG: AttributePathIB = - [1657717893.369461][6034:6039] CHIP:DMG: { - [1657717893.369563][6034:6039] CHIP:DMG: Endpoint = 0x1, - [1657717893.369674][6034:6039] CHIP:DMG: Cluster = 0x402, - [1657717893.369786][6034:6039] CHIP:DMG: Attribute = 0x0000_0003, - [1657717893.369896][6034:6039] CHIP:DMG: } - [1657717893.370000][6034:6039] CHIP:DMG: - [1657717893.370094][6034:6039] CHIP:DMG: Data = 0, - [1657717893.370192][6034:6039] CHIP:DMG: }, - [1657717893.370284][6034:6039] CHIP:DMG: - [1657717893.370359][6034:6039] CHIP:DMG: }, - [1657717893.370439][6034:6039] CHIP:DMG: - [1657717893.370504][6034:6039] CHIP:DMG: ], - [1657717893.370575][6034:6039] CHIP:DMG: - [1657717893.370630][6034:6039] CHIP:DMG: InteractionModelRevision = 1 - [1657717893.370699][6034:6039] CHIP:DMG: } - [1657717893.370819][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0402 Attribute 0x0000_0003 DataVersion: 2359460531 - [1657717893.370888][6034:6039] CHIP:TOO: Tolerance: 0 - [1657717893.370929][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c0092b0]: Moving to [AwaitingSu] - - - - - - any subscribe-by-id 0x0008 0x0010 10 100 1 1 - - [1657716563.242433][6034:6039] CHIP:DMG: ReportDataMessage = - [1657716563.242475][6034:6039] CHIP:DMG: { - [1657716563.242507][6034:6039] CHIP:DMG: SubscriptionId = 0xebc26cc4, - [1657716563.242538][6034:6039] CHIP:DMG: AttributeReportIBs = - [1657716563.242577][6034:6039] CHIP:DMG: [ - [1657716563.242607][6034:6039] CHIP:DMG: AttributeReportIB = - [1657716563.242648][6034:6039] CHIP:DMG: { - [1657716563.242680][6034:6039] CHIP:DMG: AttributeDataIB = - [1657716563.242721][6034:6039] CHIP:DMG: { - [1657716563.242762][6034:6039] CHIP:DMG: DataVersion = 0x319eedab, - [1657716563.242801][6034:6039] CHIP:DMG: AttributePathIB = - [1657716563.242842][6034:6039] CHIP:DMG: { - [1657716563.242883][6034:6039] CHIP:DMG: Endpoint = 0x1, - [1657716563.242928][6034:6039] CHIP:DMG: Cluster = 0x8, - [1657716563.242971][6034:6039] CHIP:DMG: Attribute = 0x0000_0010, - [1657716563.243012][6034:6039] CHIP:DMG: } - [1657716563.243056][6034:6039] CHIP:DMG: - [1657716563.243100][6034:6039] CHIP:DMG: Data = 1, - [1657716563.243138][6034:6039] CHIP:DMG: }, - [1657716563.243179][6034:6039] CHIP:DMG: - [1657716563.243213][6034:6039] CHIP:DMG: }, - [1657716563.243251][6034:6039] CHIP:DMG: - [1657716563.243280][6034:6039] CHIP:DMG: ], - [1657716563.243318][6034:6039] CHIP:DMG: - [1657716563.243348][6034:6039] CHIP:DMG: InteractionModelRevision = 1 - [1657716563.243377][6034:6039] CHIP:DMG: } - [1657716563.243531][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0010 DataVersion: 832499115 - [1657716563.243601][6034:6039] CHIP:TOO: on off transition time: 1 - [1657716563.243648][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008e30]: Moving to [AwaitingSu] - - - - basic subscribe node-label 10 100 1 0 - [1657716599.928585][6034:6039] CHIP:DMG: ReportDataMessage = - [1657716599.928652][6034:6039] CHIP:DMG: { - [1657716599.928825][6034:6039] CHIP:DMG: SubscriptionId = 0x3d9f1c1, - [1657716599.928890][6034:6039] CHIP:DMG: AttributeReportIBs = - [1657716599.928968][6034:6039] CHIP:DMG: [ - [1657716599.929029][6034:6039] CHIP:DMG: AttributeReportIB = - [1657716599.929122][6034:6039] CHIP:DMG: { - [1657716599.929192][6034:6039] CHIP:DMG: AttributeDataIB = - [1657716599.929278][6034:6039] CHIP:DMG: { - [1657716599.929399][6034:6039] CHIP:DMG: DataVersion = 0x1b93dc36, - [1657716599.929476][6034:6039] CHIP:DMG: AttributePathIB = - [1657716599.929687][6034:6039] CHIP:DMG: { - [1657716599.929774][6034:6039] CHIP:DMG: Endpoint = 0x0, - [1657716599.929861][6034:6039] CHIP:DMG: Cluster = 0x28, - [1657716599.929949][6034:6039] CHIP:DMG: Attribute = 0x0000_0005, - [1657716599.930031][6034:6039] CHIP:DMG: } - [1657716599.930115][6034:6039] CHIP:DMG: - [1657716599.930285][6034:6039] CHIP:DMG: Data = "1", - [1657716599.930370][6034:6039] CHIP:DMG: }, - [1657716599.930454][6034:6039] CHIP:DMG: - [1657716599.930578][6034:6039] CHIP:DMG: }, - [1657716599.930660][6034:6039] CHIP:DMG: - [1657716599.930720][6034:6039] CHIP:DMG: ], - [1657716599.930796][6034:6039] CHIP:DMG: - [1657716599.930856][6034:6039] CHIP:DMG: InteractionModelRevision = 1 - [1657716599.930914][6034:6039] CHIP:DMG: } - [1657716599.931131][6034:6039] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 462674998 - [1657716599.931326][6034:6039] CHIP:TOO: NodeLabel: 1 - [1657716599.931420][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008f20]: Moving to [AwaitingSu] - - onoff subscribe on-time 10 100 1 1 - [1657716634.400468][6034:6039] CHIP:DMG: ReportDataMessage = - [1657716634.400499][6034:6039] CHIP:DMG: { - [1657716634.400525][6034:6039] CHIP:DMG: SubscriptionId = 0xf9b815a2, - [1657716634.400551][6034:6039] CHIP:DMG: AttributeReportIBs = - [1657716634.400585][6034:6039] CHIP:DMG: [ - [1657716634.400610][6034:6039] CHIP:DMG: AttributeReportIB = - [1657716634.400647][6034:6039] CHIP:DMG: { - [1657716634.400674][6034:6039] CHIP:DMG: AttributeDataIB = - [1657716634.400705][6034:6039] CHIP:DMG: { - [1657716634.400739][6034:6039] CHIP:DMG: DataVersion = 0x734a2d85, - [1657716634.400775][6034:6039] CHIP:DMG: AttributePathIB = - [1657716634.400809][6034:6039] CHIP:DMG: { - [1657716634.400847][6034:6039] CHIP:DMG: Endpoint = 0x1, - [1657716634.400883][6034:6039] CHIP:DMG: Cluster = 0x6, - [1657716634.400920][6034:6039] CHIP:DMG: Attribute = 0x0000_4001, - [1657716634.400950][6034:6039] CHIP:DMG: } - [1657716634.400987][6034:6039] CHIP:DMG: - [1657716634.401024][6034:6039] CHIP:DMG: Data = 1, - [1657716634.401058][6034:6039] CHIP:DMG: }, - [1657716634.401092][6034:6039] CHIP:DMG: - [1657716634.401117][6034:6039] CHIP:DMG: }, - [1657716634.401148][6034:6039] CHIP:DMG: - [1657716634.401172][6034:6039] CHIP:DMG: ], - [1657716634.401202][6034:6039] CHIP:DMG: - [1657716634.401227][6034:6039] CHIP:DMG: InteractionModelRevision = 1 - [1657716634.401250][6034:6039] CHIP:DMG: } - [1657716634.401383][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 1934241157 - [1657716634.401428][6034:6039] CHIP:TOO: OnTime: 1 - [1657716634.401466][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008c70]: Moving to [AwaitingSu] - - - levelcontrol subscribe on-level 10 100 1 1 - [1657716667.237484][6034:6039] CHIP:DMG: ReportDataMessage = - [1657716667.237515][6034:6039] CHIP:DMG: { - [1657716667.237541][6034:6039] CHIP:DMG: SubscriptionId = 0xe457240d, - [1657716667.237571][6034:6039] CHIP:DMG: AttributeReportIBs = - [1657716667.237738][6034:6039] CHIP:DMG: [ - [1657716667.237768][6034:6039] CHIP:DMG: AttributeReportIB = - [1657716667.237819][6034:6039] CHIP:DMG: { - [1657716667.237850][6034:6039] CHIP:DMG: AttributeDataIB = - [1657716667.237897][6034:6039] CHIP:DMG: { - [1657716667.237944][6034:6039] CHIP:DMG: DataVersion = 0x319eedab, - [1657716667.237993][6034:6039] CHIP:DMG: AttributePathIB = - [1657716667.238044][6034:6039] CHIP:DMG: { - [1657716667.238094][6034:6039] CHIP:DMG: Endpoint = 0x1, - [1657716667.238145][6034:6039] CHIP:DMG: Cluster = 0x8, - [1657716667.238196][6034:6039] CHIP:DMG: Attribute = 0x0000_0011, - [1657716667.238244][6034:6039] CHIP:DMG: } - [1657716667.238294][6034:6039] CHIP:DMG: - [1657716667.238345][6034:6039] CHIP:DMG: Data = 1, - [1657716667.238391][6034:6039] CHIP:DMG: }, - [1657716667.238437][6034:6039] CHIP:DMG: - [1657716667.238467][6034:6039] CHIP:DMG: }, - [1657716667.238509][6034:6039] CHIP:DMG: - [1657716667.238535][6034:6039] CHIP:DMG: ], - [1657716667.238567][6034:6039] CHIP:DMG: - [1657716667.238591][6034:6039] CHIP:DMG: InteractionModelRevision = 1 - [1657716667.238614][6034:6039] CHIP:DMG: } - [1657716667.238709][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 832499115 - [1657716667.238752][6034:6039] CHIP:TOO: on level: 1 - [1657716667.238790][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c0092b0]: Moving to [AwaitingSu] - - [1657716911.281570][6034:6039] CHIP:DMG: DataVersion = 0x319eedab, [1657716911.281649][6034:6039] CHIP:DMG: AttributePathIB = [1657716911.281723][6034:6039] CHIP:DMG: { @@ -1861,7 +1637,6 @@ tests: [1657716911.283172][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008f20]: Moving to [AwaitingSu] - on the 3rd reference deice enter: levelcontrol subscribe min-level 10 100 1 1 @@ -1963,7 +1738,8 @@ tests: - After all above mentioned subscription are activated send below mentioned command in 1st reference device + After all above mentioned subscription are activated send below mentioned command in 4th reference device which is having same same fabric as 1st reference device + any subscribe-by-id 0x0008 0x0010 10 100 1 1 [1657716563.242433][6034:6039] CHIP:DMG: ReportDataMessage = @@ -2059,36 +1835,4 @@ tests: [1657716634.401383][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 1934241157 [1657716634.401428][6034:6039] CHIP:TOO: OnTime: 1 [1657716634.401466][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008c70]: Moving to [AwaitingSu] - - - levelcontrol subscribe on-level 10 100 1 1 - [1657716667.237484][6034:6039] CHIP:DMG: ReportDataMessage = - [1657716667.237515][6034:6039] CHIP:DMG: { - [1657716667.237541][6034:6039] CHIP:DMG: SubscriptionId = 0xe457240d, - [1657716667.237571][6034:6039] CHIP:DMG: AttributeReportIBs = - [1657716667.237738][6034:6039] CHIP:DMG: [ - [1657716667.237768][6034:6039] CHIP:DMG: AttributeReportIB = - [1657716667.237819][6034:6039] CHIP:DMG: { - [1657716667.237850][6034:6039] CHIP:DMG: AttributeDataIB = - [1657716667.237897][6034:6039] CHIP:DMG: { - [1657716667.237944][6034:6039] CHIP:DMG: DataVersion = 0x319eedab, - [1657716667.237993][6034:6039] CHIP:DMG: AttributePathIB = - [1657716667.238044][6034:6039] CHIP:DMG: { - [1657716667.238094][6034:6039] CHIP:DMG: Endpoint = 0x1, - [1657716667.238145][6034:6039] CHIP:DMG: Cluster = 0x8, - [1657716667.238196][6034:6039] CHIP:DMG: Attribute = 0x0000_0011, - [1657716667.238244][6034:6039] CHIP:DMG: } - [1657716667.238294][6034:6039] CHIP:DMG: - [1657716667.238345][6034:6039] CHIP:DMG: Data = 1, - [1657716667.238391][6034:6039] CHIP:DMG: }, - [1657716667.238437][6034:6039] CHIP:DMG: - [1657716667.238467][6034:6039] CHIP:DMG: }, - [1657716667.238509][6034:6039] CHIP:DMG: - [1657716667.238535][6034:6039] CHIP:DMG: ], - [1657716667.238567][6034:6039] CHIP:DMG: - [1657716667.238591][6034:6039] CHIP:DMG: InteractionModelRevision = 1 - [1657716667.238614][6034:6039] CHIP:DMG: } - [1657716667.238709][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 832499115 - [1657716667.238752][6034:6039] CHIP:TOO: on level: 1 - [1657716667.238790][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c0092b0]: Moving to [AwaitingSu] disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_8_1.yaml b/src/app/tests/suites/certification/Test_TC_IDM_8_1.yaml index 9e2fed69ccd143..47465af39f617e 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_8_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_8_1.yaml @@ -26,8 +26,11 @@ tests: attribute, which is a fabric scoped list, from the DUT. Fabric filtered should be set to false." verification: | - ./chip-tool accesscontrol read acl 1 0 --fabric-filtered 0 + On RC1 and RC2, Verify that the number of entries returned by the DUT for both the reads are same.By sending below commands + + ./chip-tool accesscontrol read acl 1 0 --fabric-filtered 0 + On RC1, verify that the number of entries [1657779742.905642][2620:2625] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_0000 DataVersion: 4140182590 [1657779742.905736][2620:2625] CHIP:TOO: ACL: 2 entries [1657779742.905794][2620:2625] CHIP:TOO: [1]: { @@ -50,7 +53,7 @@ tests: ./chip-tool accesscontrol read acl 2 0 --fabric-filtered 0 - + On RC2, verify that the number of entries [1657777306.528148][2474:2479] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_0000 DataVersion: 3942609879 [1657777306.529101][2474:2479] CHIP:TOO: ACL: 2 entries [1657777306.529144][2474:2479] CHIP:TOO: [1]: { @@ -80,8 +83,10 @@ tests: fabric-filtered Read Request Message from each of RC1 and RC2 to read the fabric scoped list from the DUT." verification: | - ./chip-tool accesscontrol read acl 1 0 --commissioner-name beta + By sending the command mentioned below, change attribute values on DUT to create events multiple times.Send a fabric-filtered Read Request Message from each of RC1 and RC2 + ./chip-tool accesscontrol read acl 1 0 --commissioner-name beta + On RC1, verify that acl atrribute reading an entries from DUT [1657781757.866389][2878:2883] CHIP:DMG: } [1657781757.866649][2878:2883] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_0000 DataVersion: 4140182590 [1657781757.866722][2878:2883] CHIP:TOO: ACL: 1 entries @@ -97,6 +102,7 @@ tests: ./chip-tool accesscontrol read acl 2 0 --commissioner-name gamma + On RC2, verify that acl atrribute reading an entries from DUT [1657781810.474993][2821:2826] CHIP:DMG: } [1657781810.475304][2821:2826] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_0000 DataVersion: 4140182590 [1657781810.475389][2821:2826] CHIP:TOO: ACL: 1 entries @@ -111,7 +117,12 @@ tests: [1657781810.475763][2821:2826] CHIP:EM: Sending Standalone Ack for MessageCounter:227198602 on exchange 37948i + From RC1 send a Write Request message to the DUT to write to an entry in the fabric scoped list associated with its own fabric. + ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets":[{ "cluster": 3, "endpoint": 1, "deviceType": null }]}]' 1 0 --commissioner-name beta + + On RC1, Verify that DUT responds as success + [1657782547.448455][2974:2979] CHIP:DMG: WriteResponseMessage = [1657782547.448486][2974:2979] CHIP:DMG: { [1657782547.448513][2974:2979] CHIP:DMG: AttributeStatusIBs = @@ -157,11 +168,10 @@ tests: - - + Send a fabric-filtered Read Request Message from each of RC1 and RC2 to read the fabric scoped list from the DUT. ./chip-tool accesscontrol read acl 2 0 --fabric-filtered 0 --commissioner-name gamma - + On RC2, Verify that the data received from DUT is same as the data received in first read request [1657782203.827787][2957:2962] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_0000 DataVersion: 4140182592 [1657782203.827866][2957:2962] CHIP:TOO: ACL: 2 entries [1657782203.827914][2957:2962] CHIP:TOO: [1]: { @@ -183,8 +193,10 @@ tests: ./chip-tool accesscontrol read acl 1 0 --commissioner-name beta - [1657782688.737945][2996:3001] CHIP:DMG: SuppressResponse = true, - [1657782688.737974][2996:3001] CHIP:DMG: InteractionModelRevision = 1 + + On RC1, Verify that DUT responds as UNSUPPORTED_ACCESS + [1657782688.737945][2996:3001] CHIP:DMG: SuppressResponse = true, + [1657782688.737974][2996:3001] CHIP:DMG: InteractionModelRevision = 1 [1657782688.737999][2996:3001] CHIP:DMG: } [1657782688.738108][2996:3001] CHIP:TOO: Response Failure: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) [1657782688.738197][2996:3001] CHIP:EM: Sending Standalone Ack for MessageCounter:110177776 on exchange 22939i @@ -198,7 +210,10 @@ tests: non-filtered Read Request Message from RC1 and RC2 to read the fabric scoped list from the DUT.' verification: | + Send a Read Request Message to the DUT from RC1 and RC2 to read the fabric scoped list "Fabrics" from OperationalCredentialsCluster. Fabric filtered should be set to false. + ./chip-tool operationalcredentials read fabrics 1 0 --fabric-filtered 0 --commissioner-name beta + [1657780124.975404][2664:2669] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0001 DataVersion: 1307873919 [1657780124.975642][2664:2669] CHIP:TOO: Fabrics: 2 entries [1657780124.975710][2664:2669] CHIP:TOO: [1]: { @@ -330,7 +345,30 @@ tests: whose value is a list of structs which contain some fabric-sensitive data. Modify attribute1 on the DUT." verification: | - + Please run this test in chip tool interactive mode ./chip-tool interactive start + + + operationalcredentials subscribe nocs 10 100 1 0 + + [1657802879.008816][4548:4553] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0000 DataVersion: 567747175 + [1657802879.008927][4548:4553] CHIP:TOO: NOCs: 1 entries + [1657802879.009017][4548:4553] CHIP:TOO: [1]: { + [1657802879.009105][4548:4553] CHIP:TOO: Noc: 1530010101240201370324130118260480228127260580254D3A37062415012411011824070124080130094104EA61A44385992E365092182D59E3DAF164D2B2F1818B071779A8A0C8832720B52691E4100925D0427C7643BDB43D4ECBCF3D740B0DA0D5E00517143E88676E87370A350128011824020136030402040118300414668A31137585F054F68F571251E644FECF98BEEB3005142179BF06A074A00549577FF0F68071038C6019A118300B407E6F0AFEFAF6EA93D8F39B077C97F175B9C417E37816F229C39D2A36F46576E52787E4610075270222053BFDDE853F06EF52F5C4BCC1102A25F089AFA675200418 + [1657802879.009203][4548:4553] CHIP:TOO: Icac: 1530010100240201370324140018260480228127260580254D3A37062413011824070124080130094104E02FFF23357C6B135568AA3E456204672E5BDDF5B68B1A9B39E670E56B9982298B1BBEEBD9F3723C2B58944A11ACD9B2CD8DE7C94DC6FEEFA67E2CBF0A8CCDBC370A35012901182402603004142179BF06A074A00549577FF0F68071038C6019A130051474B77548C9D04E936F951F0775C7AE9F88AF9FA318300B405AB8763179CF1E865E20E19F81E1286EF7B9D417BDC85D536406230816A438EDB48E946D5821FE54D97D1C337505AA6DEC1746C884344A769F63E9DC8318186918 + [1657802879.009273][4548:4553] CHIP:TOO: FabricIndex: 1 + [1657802879.009329][4548:4553] CHIP:TOO: } + [1657802879.009426][4548:4553] CHIP:DMG: MoveToState ReadClient[0xffff7c008e40]: Moving to [AwaitingSu] + + operationalcredentials subscribe nocs 10 100 2 0 --commissioner-name beta + [1657803363.013803][5522:5527] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0000 DataVersion: 567747179 + [1657803363.013897][5522:5527] CHIP:TOO: NOCs: 1 entries + [1657803363.013971][5522:5527] CHIP:TOO: [1]: { + [1657803363.014015][5522:5527] CHIP:TOO: Noc: 1530010101240201370324130118260480228127260580254D3A37062415022411021824070124080130094104CBB7ECF6D0E5814461597F9EA23B2616F55CA3144225CAFDFA651E88C0C6E79B6E02A734F61F8DA0D0A286C9C6E3C786680E8419C505F07DF431D86F7D900A10370A350128011824020136030402040118300414FE58E8B6E61BD3B492E81DF99EC967B0C26BF711300514A75280F34A91D76EA45936672A84D498FB1D67B418300B40175ECC1BA10A4F90D408468F4E212534B74537AE0178B22E05DBD14048748AD50CB7C5324FFE28356E7D37717384EA500B9B6423D12E64D3B825C4E72CCE199918 + [1657803363.014077][5522:5527] CHIP:TOO: Icac: 1530010100240201370324140018260480228127260580254D3A3706241301182407012408013009410434E10386BC3B08489513C394AC3EFB2151EEAEFC929D157586DD31838D79A2FCED41CCB036D312EBBC879504CA7C5889E447E1F602141F9C9531D6A3178A0B91370A3501290118240260300414A75280F34A91D76EA45936672A84D498FB1D67B43005144DC5ED208AA1EEC31D5C5A52F95EAC45FE6AFA0D18300B40702DEDF1A21987C4675D53F050024AC51BE975CCAC09BC6398522FF337E023AA20185E9D68D7CA22A26B937FD4A9644015AF75EAAB2F43E8415E17F698A48CEA18 + [1657803363.014113][5522:5527] CHIP:TOO: FabricIndex: 2 + [1657803363.014141][5522:5527] CHIP:TOO: } + [1657803363.014189][5522:5527] CHIP:DMG: MoveToState ReadClient[0xffff6c008e70]: Moving to [AwaitingSu] + [1657803363.014248][5522:5527] CHIP:EM: Piggybacking Ack for MessageCounter:84457338 on exchange: 56555i disabled: true - label: @@ -339,7 +377,115 @@ tests: same Event1 which is fabric sensitive. Trigger Event1 on DUT on the fabric where RC1 is present." verification: | - + Please run this test in chip tool interactive mode ./chip-tool interactive start + + + Activate the subscription between RC1 and DUT for an Event1 which is fabric sensitive + accesscontrol subscribe-event access-control-entry-changed 20 500 1 0 + + + [1657887424.932830][3496:3501] CHIP:DMG: } + [1657887424.933020][3496:3501] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0000 + [1657887424.933049][3496:3501] CHIP:TOO: Event number: 1 + [1657887424.933075][3496:3501] CHIP:TOO: Priority: Info + [1657887424.933100][3496:3501] CHIP:TOO: Timestamp: 10640831 + [1657887424.933204][3496:3501] CHIP:TOO: AccessControlEntryChanged: { + [1657887424.933247][3496:3501] CHIP:TOO: AdminNodeID: null + [1657887424.933287][3496:3501] CHIP:TOO: AdminPasscodeID: 0 + [1657887424.933315][3496:3501] CHIP:TOO: ChangeType: 1 + [1657887424.933342][3496:3501] CHIP:TOO: LatestValue: { + [1657887424.933368][3496:3501] CHIP:TOO: Privilege: 5 + [1657887424.933395][3496:3501] CHIP:TOO: AuthMode: 2 + [1657887424.933426][3496:3501] CHIP:TOO: Subjects: 1 entries + [1657887424.933460][3496:3501] CHIP:TOO: [1]: 112233 + [1657887424.933489][3496:3501] CHIP:TOO: Targets: null + [1657887424.933515][3496:3501] CHIP:TOO: FabricIndex: 1 + [1657887424.933541][3496:3501] CHIP:TOO: } + [1657887424.933567][3496:3501] CHIP:TOO: AdminFabricIndex: 1 + [1657887424.933593][3496:3501] CHIP:TOO: } + [1657887424.933661][3496:3501] CHIP:DMG: MoveToState ReadClient[0xffff940091f0]: Moving to [AwaitingSu] + [1657887424.933717][3496:3501] CHIP:EM: Piggybacking Ack for MessageCounter:100554100 on exchange: 44633i + + + accesscontrol subscribe-event access-control-entry-changed 20 700 2 0 --commissioner-name beta + [1657887441.417553][2862:2867] CHIP:DMG: } + [1657887441.417766][2862:2867] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0000 + [1657887441.417796][2862:2867] CHIP:TOO: Event number: 2 + [1657887441.417822][2862:2867] CHIP:TOO: Priority: Info + [1657887441.417849][2862:2867] CHIP:TOO: Timestamp: 13545202 + [1657887441.417964][2862:2867] CHIP:TOO: AccessControlEntryChanged: { + [1657887441.418020][2862:2867] CHIP:TOO: AdminNodeID: null + [1657887441.418061][2862:2867] CHIP:TOO: AdminPasscodeID: 0 + [1657887441.418090][2862:2867] CHIP:TOO: ChangeType: 1 + [1657887441.418128][2862:2867] CHIP:TOO: LatestValue: { + [1657887441.418156][2862:2867] CHIP:TOO: Privilege: 5 + [1657887441.418193][2862:2867] CHIP:TOO: AuthMode: 2 + [1657887441.418228][2862:2867] CHIP:TOO: Subjects: 1 entries + [1657887441.418273][2862:2867] CHIP:TOO: [1]: 112233 + [1657887441.418305][2862:2867] CHIP:TOO: Targets: null + [1657887441.418344][2862:2867] CHIP:TOO: FabricIndex: 2 + [1657887441.418371][2862:2867] CHIP:TOO: } + [1657887441.418409][2862:2867] CHIP:TOO: AdminFabricIndex: 2 + [1657887441.418436][2862:2867] CHIP:TOO: } + [1657887441.418517][2862:2867] CHIP:DMG: MoveToState ReadClient[0xffff74009260]: Moving to [AwaitingSu] + [1657887441.418591][2862:2867] CHIP:EM: Piggybacking Ack for MessageCounter:217452290 on exchange: 44658i + + + accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets":[{ "cluster": 3, "endpoint": 1, "deviceType": null }]}]' 1 0 + [1658231022.614323][2305:2310] CHIP:DMG: } + [1658231022.614489][2305:2310] CHIP:TOO: Response Failure: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) + [1658231022.614598][2305:2310] CHIP:TOO: Response Failure: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) + [1658231022.614699][2305:2310] CHIP:TOO: Response Failure: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) + [1658231022.614795][2305:2310] CHIP:DMG: MoveToState ReadClient[0xffff88008e70]: Moving to [AwaitingSu] + [1658231022.614873][2305:2310] CHIP:EM: Piggybacking Ack for MessageCounter:177580574 on exchange: 34289i + [1658231022.614987][2305:2310] CHIP:IN: Prepared secure message 0xffff880057e8 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 34289i with MessageCounter:134890885. + [1658231022.615047][2305:2310] CHIP:IN: Sending encrypted msg 0xffff880057e8 with MessageCounter:134890885 to 0x0000000000000001 (1) at monotonic time: 00000000000C7D98 msec + [1658231022.616881][2305:2310] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:177580575 on exchange 34289i + [1658231022.616932][2305:2310] CHIP:EM: Found matching exchange: 34289i, Delegate: 0xffff88008e70 + [1658231022.616983][2305:2310] CHIP:EM: Rxd Ack; Removing MessageCounter:134890885 from Retrans Table on exchange 34289i + [1658231022.617023][2305:2310] CHIP:EM: Removed CHIP MessageCounter:134890885 from RetransTable on exchange 34289i + [1658231022.617085][2305:2310] CHIP:DMG: SubscribeResponseMessage = + [1658231022.617129][2305:2310] CHIP:DMG: { + [1658231022.617169][2305:2310] CHIP:DMG: SubscriptionId = 0x1cf72de7, + [1658231022.617214][2305:2310] CHIP:DMG: MaxInterval = 0x1f4, + [1658231022.617257][2305:2310] CHIP:DMG: InteractionModelRevision = 1 + [1658231022.617297][2305:2310] CHIP:DMG: } + [1658231022.617340][2305:2310] CHIP:DMG: Subscription established with SubscriptionID = 0x1cf72de7 MinInterval = 20s MaxInterval = 500s Peer = 01:0000000000000001 + + + [1658231053.511709][10291:10296] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0000 + [1658231053.511772][10291:10296] CHIP:TOO: Event number: 3 + [1658231053.511828][10291:10296] CHIP:TOO: Priority: Info + [1658231053.511879][10291:10296] CHIP:TOO: Timestamp: 386270 + [1658231053.511997][10291:10296] CHIP:TOO: AccessControlEntryChanged: { + [1658231053.512038][10291:10296] CHIP:TOO: AdminNodeID: null + [1658231053.512076][10291:10296] CHIP:TOO: AdminPasscodeID: 0 + [1658231053.512183][10291:10296] CHIP:TOO: ChangeType: 1 + [1658231053.512222][10291:10296] CHIP:TOO: LatestValue: { + [1658231053.512256][10291:10296] CHIP:TOO: Privilege: 5 + [1658231053.512291][10291:10296] CHIP:TOO: AuthMode: 2 + [1658231053.512333][10291:10296] CHIP:TOO: Subjects: 1 entries + [1658231053.512376][10291:10296] CHIP:TOO: [1]: 112233 + [1658231053.512415][10291:10296] CHIP:TOO: Targets: null + [1658231053.512450][10291:10296] CHIP:TOO: FabricIndex: 2 + [1658231053.512484][10291:10296] CHIP:TOO: } + [1658231053.512519][10291:10296] CHIP:TOO: AdminFabricIndex: 2 + [1658231053.512553][10291:10296] CHIP:TOO: } + [1658231053.512642][10291:10296] CHIP:DMG: MoveToState ReadClient[0xffff98009000]: Moving to [AwaitingSu] + [1658231053.512715][10291:10296] CHIP:EM: Piggybacking Ack for MessageCounter:36331302 on exchange: 58513i + [1658231053.512799][10291:10296] CHIP:IN: Prepared secure message 0xaaaac4ba0828 to 0x0000000000000002 (2) of type 0x1 and protocolId (0, 1) on exchange 58513i with MessageCounter:160830417. + [1658231053.512853][10291:10296] CHIP:IN: Sending encrypted msg 0xaaaac4ba0828 with MessageCounter:160830417 to 0x0000000000000002 (2) at monotonic time: 0000000001A6A793 msec + [1658231053.514813][10291:10296] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:36331303 on exchange 58513i + [1658231053.514863][10291:10296] CHIP:EM: Found matching exchange: 58513i, Delegate: 0xffff98009000 + [1658231053.514909][10291:10296] CHIP:EM: Rxd Ack; Removing MessageCounter:160830417 from Retrans Table on exchange 58513i + [1658231053.514946][10291:10296] CHIP:EM: Removed CHIP MessageCounter:160830417 from RetransTable on exchange 58513i + [1658231053.515006][10291:10296] CHIP:DMG: SubscribeResponseMessage = + [1658231053.515046][10291:10296] CHIP:DMG: { + [1658231053.515082][10291:10296] CHIP:DMG: SubscriptionId = 0x8260b5, + [1658231053.515121][10291:10296] CHIP:DMG: MaxInterval = 0x2bc, + [1658231053.515160][10291:10296] CHIP:DMG: InteractionModelRevision = 1 + [1658231053.515195][10291:10296] CHIP:DMG: } + [1658231053.515235][10291:10296] CHIP:DMG: Subscription established with SubscriptionID = 0x008260b5 MinInterval = 20s MaxInterval = 700s Peer = 02:0000000000000002 disabled: true - label: diff --git a/src/app/tests/suites/certification/Test_TC_ILL_2_2.yaml b/src/app/tests/suites/certification/Test_TC_ILL_2_2.yaml index 9d49bf8beaf9f1..1f025a4a4593c3 100644 --- a/src/app/tests/suites/certification/Test_TC_ILL_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_ILL_2_2.yaml @@ -32,17 +32,15 @@ tests: MaxMeasuredValue attribute from DUT." PICS: ILL.S.A0001 && ILL.S.A0002 verification: | - Verify in TH Log - - - ./chip-tool illuminancemeasurement read min-measured-value 1 1 - + ./chip-tool illuminancemeasurement read min-measured-value 1 1 + On TH verify that value for MinMeasuredValue attribute [1650881571.375482][2777:2782] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0400 Attribute 0x0000_0001 DataVersion: 1034665079 [1650881571.375596][2777:2782] CHIP:TOO: MinMeasuredValue: 1 ./chip-tool illuminancemeasurement read max-measured-value 1 1 - + On TH verify that value for MaxMeasuredValue attribute [1650881715.935533][2791:2797] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0400 Attribute 0x0000_0002 DataVersion: 1034665079 + Verify in TH Log [1650881715.935645][2791:2797] CHIP:TOO: MaxMeasuredValue: 65534 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_I_1_1.yaml b/src/app/tests/suites/certification/Test_TC_I_1_1.yaml index 2d5c16e3e89b9f..296cbb8e9ab00e 100644 --- a/src/app/tests/suites/certification/Test_TC_I_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_I_1_1.yaml @@ -63,22 +63,21 @@ tests: contains: [0, 1, 65528, 65529, 65531, 65532, 65533] - label: "Read the global attribute: AcceptedCommandList" - PICS: I.C.C40.Tx command: "readAttribute" attribute: "AcceptedCommandList" response: constraints: type: list - contains: [0, 64] + contains: [0] - - label: "Read the global attribute: AcceptedCommandList" - PICS: " !I.C.C40.Tx " + - label: "Read the optional command(TriggerEffect) in AcceptedCommandList" + PICS: I.C.C40.Tx command: "readAttribute" attribute: "AcceptedCommandList" response: constraints: type: list - contains: [0] + contains: [64] - label: "Read the optional attribute(IdentifyQuery) in AcceptedCommandList" PICS: I.C.C01.Tx @@ -90,20 +89,21 @@ tests: contains: [1] - label: "Read the global attribute: GeneratedCommandList" - PICS: I.S.C00.Tx command: "readAttribute" attribute: "GeneratedCommandList" response: - value: [0] + value: [] constraints: type: list - - label: "Read the global attribute: GeneratedCommandList" - PICS: " !I.S.C00.Tx " + - label: + "Read the optional attribute(IdentifyQueryResponse) in + GeneratedCommandList" + PICS: I.S.C00.Tx command: "readAttribute" attribute: "GeneratedCommandList" response: - value: [] + value: [0] constraints: type: list diff --git a/src/app/tests/suites/certification/Test_TC_I_2_2.yaml b/src/app/tests/suites/certification/Test_TC_I_2_2.yaml index 2326a6c0f11b62..0f9a7c4105b788 100644 --- a/src/app/tests/suites/certification/Test_TC_I_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_I_2_2.yaml @@ -39,14 +39,14 @@ tests: - name: "IdentifyTime" value: 60 - - label: "TH reads immediately IdentifyTime attribute from DUT1" + - label: "TH reads immediately IdentifyTime attribute from DUT" PICS: I.S.A0000 command: "readAttribute" attribute: "identify time" response: constraints: - minValue: 55 - maxValue: 65 + minValue: 51 + maxValue: 69 - label: "Wait 10000ms" cluster: "DelayCommands" @@ -62,8 +62,8 @@ tests: attribute: "identify time" response: constraints: - minValue: 45 - maxValue: 55 + minValue: 43 + maxValue: 57 - label: "TH sends IdentifyQuery command to DUT and Verify @@ -73,7 +73,7 @@ tests: IdentifyQuery is not supported by Matter cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && I.S.C01.Rsp && I.S.C00.Tx arguments: values: - name: "message" @@ -91,7 +91,7 @@ tests: - name: "IdentifyTime" value: 0 - - label: "TH reads immediately IdentifyTime attribute from DUT2" + - label: "TH reads immediately IdentifyTime attribute from DUT" PICS: I.S.A0000 command: "readAttribute" attribute: "identify time" @@ -104,7 +104,7 @@ tests: IdentifyQuery is not supported by Matter cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && I.S.C01.Rsp && I.S.C00.Tx arguments: values: - name: "message" diff --git a/src/app/tests/suites/certification/Test_TC_KEYPADINPUT_3_2.yaml b/src/app/tests/suites/certification/Test_TC_KEYPADINPUT_3_2.yaml index 34634381342c21..7b532f34c1b37e 100644 --- a/src/app/tests/suites/certification/Test_TC_KEYPADINPUT_3_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_KEYPADINPUT_3_2.yaml @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -name: 19.3.1. [TC-KEYPADINPUT-3.1] Send Key Command Verification (DUT as Client) +name: 19.3.2. [TC-KEYPADINPUT-3.2] Location Keys Verification config: nodeId: 0x12344321 diff --git a/src/app/tests/suites/certification/Test_TC_LTIME_1_1.yaml b/src/app/tests/suites/certification/Test_TC_LTIME_1_1.yaml index 89ef7500f882a3..21a4137aea55d0 100644 --- a/src/app/tests/suites/certification/Test_TC_LTIME_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LTIME_1_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 109.1.1. [TC-LTIME-1.1] Global Attributes [DUT as Client] +name: 4.1.1. [TC-LTIME-1.1] Global Attributes [DUT as Client] config: nodeId: 0x12344321 @@ -21,11 +21,15 @@ config: endpoint: 0 tests: - - label: "DUT reads from the TH the (0xFFFD) ClusterRevision attribute" + - label: "Commission DUT to TH" verification: | - Verify in TH all-clusters-app + disabled: true + + - label: "DUT reads from the TH the (0xFFFD) ClusterRevision attribute" + verification: | ./chip-tool timeformatlocalization read cluster-revision 1 0 + Verify in DUT as client side: verify that TH sends ClusterRevision attribute value as 1 [1651185991606] [10988:109915] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFFD DataVersion: 3316530441 [1651185991606] [10988:109915] CHIP: [TOO] ClusterRevision: 1 @@ -33,18 +37,18 @@ tests: - label: "DUT reads from the TH the (0xFFFC) FeatureMap attribute" verification: | - Verify in TH all-clusters-app - ./chip-tool timeformatlocalization read feature-map 1 0 + + Verify in DUT as client side: verify that TH sends FeatureMap attribute value as 1 + [1653379129.497852][7509:7514] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFFC DataVersion: 724978222 [1653379129.497936][7509:7514] CHIP:TOO: FeatureMap: 0 disabled: true - label: "DUT reads from the TH the (0xFFFB) AttributeList attribute" verification: | - Verify in TH all-clusters-app - ./chip-tool timeformatlocalization read attribute-list 1 0 + Verify in DUT as client side: verify that TH sends a list of supported attributes [1653999139.214139][7477:7482] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFFB DataVersion: 3201720795 [1653999139.214208][7477:7482] CHIP:TOO: AttributeList: 8 entries [1653999139.214241][7477:7482] CHIP:TOO: [1]: 0 @@ -65,18 +69,17 @@ tests: - label: "DUT reads from the TH the (0xFFF9) AcceptedCommandList attribute" verification: | - Verify in TH all-clusters-app - ./chip-tool timeformatlocalization read accepted-command-list 1 0 + Verify in DUT as client side: verify that TH responsds as list of Accepted Command as 0 entries. + [1651186189564] [11076:112595] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFF9 DataVersion: 3316530441 [1651186189564] [11076:112595] CHIP: [TOO] AcceptedCommandList: 0 entries disabled: true - label: "DUT reads from the TH the (0xFFF8) GeneratedCommandList attribute" verification: | - Verify in TH all-clusters-app - ./chip-tool timeformatlocalization read generated-command-list 1 0 + Verify in DUT as client side: verify that TH responsds as list of GeneratedCommandList as 0 entries. [1651191789962] [13591:180646] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFF8 DataVersion: 3316530441 [1651191789963] [13591:180646] CHIP: [TOO] GeneratedCommandList: 0 entries disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_LTIME_1_2.yaml b/src/app/tests/suites/certification/Test_TC_LTIME_1_2.yaml index f51f52db956c96..e123e5433af78f 100644 --- a/src/app/tests/suites/certification/Test_TC_LTIME_1_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_LTIME_1_2.yaml @@ -28,9 +28,8 @@ tests: - label: "TH reads from the DUT the (0xFFFD) ClusterRevision attribute" verification: | - Verify in TH log: - ./chip-tool timeformatlocalization read cluster-revision 1 0 + On TH, verify that DUT sends ClusterRevision attribute value as 1 [1651185991606] [10988:109915] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFFD DataVersion: 3316530441 [1651185991606] [10988:109915] CHIP: [TOO] ClusterRevision: 1 @@ -38,10 +37,10 @@ tests: - label: "TH reads from the DUT the (0xFFFC) FeatureMap attribute" verification: | - Verify in TH log: - ./chip-tool timeformatlocalization read feature-map 1 0 + On TH, verify that DUT sends FeatureMap attribute value as 1 + [1653400472.682259][11385:11390] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFFC DataVersion: 4156010624 [1653400472.682314][11385:11390] CHIP:TOO: FeatureMap: 0 [1653400472.682416][11385:11390] CHIP:EM: Sending Standalone Ack for MessageCounter:10442089 on exchange 10027i @@ -49,9 +48,11 @@ tests: - label: "TH reads from the DUT the (0xFFFB) AttributeList attribute" verification: | - Verify in TH log: - ./chip-tool timeformatlocalization read attribute-list 1 0 + + + On TH, verify that DUT sends a list of supported attributes + [1653999139.214139][7477:7482] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFFB DataVersion: 3201720795 [1653999139.214208][7477:7482] CHIP:TOO: AttributeList: 8 entries [1653999139.214241][7477:7482] CHIP:TOO: [1]: 0 @@ -72,18 +73,21 @@ tests: - label: "TH reads from the DUT the (0xFFF9) AcceptedCommandList attribute" verification: | - Verify in TH log: - ./chip-tool timeformatlocalization read accepted-command-list 1 0 + + On TH, verify that DUT responsds as list of Accepted Command as 0 entries. + [1651186189564] [11076:112595] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFF9 DataVersion: 3316530441 [1651186189564] [11076:112595] CHIP: [TOO] AcceptedCommandList: 0 entries disabled: true - label: "TH reads from the DUT the (0xFFF8) GeneratedCommandList attribute" verification: | - Verify in TH log: - ./chip-tool timeformatlocalization read generated-command-list 1 0 + + + On TH, verify that DUT responsds as list of GeneratedCommandList as 0 entries. + [1651191789962] [13591:180646] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFF8 DataVersion: 3316530441 [1651191789963] [13591:180646] CHIP: [TOO] GeneratedCommandList: 0 entries disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_LTIME_2_1.yaml b/src/app/tests/suites/certification/Test_TC_LTIME_2_1.yaml index 9463ccca25630f..97286a7ad5d096 100644 --- a/src/app/tests/suites/certification/Test_TC_LTIME_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LTIME_2_1.yaml @@ -14,7 +14,7 @@ # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: - 109.2.1. [TC-LTIME-2.1] Read and Write Time Format Localization Cluster + 110.2.1. [TC-LTIME-2.1] Read and Write Time Format Localization Cluster Attributes [DUT as Client] config: @@ -26,9 +26,8 @@ tests: - label: "DUT reads HourFormat attribute from TH" PICS: LTIME.C.A0000 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization read hour-format 1 0 + Verify in DUT as client side: Verify that the HourFormat attribute value [1657106866.828694][4891:4896] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0000 DataVersion: 2232855152 [1657106866.828763][4891:4896] CHIP:TOO: HourFormat: 0 @@ -37,9 +36,8 @@ tests: - label: "If (LTIME.C.A0000.12HR) DUT writes 0 to HourFormat attribute" PICS: LTIME.C.A0000.12HR verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization write hour-format 0 1 0 + Verify in DUT as client side: verify that TH sends a success response [1657106893.878113][4897:4902] CHIP:DMG: WriteResponseMessage = [1657106893.878138][4897:4902] CHIP:DMG: { @@ -71,9 +69,8 @@ tests: - label: "DUT reads HourFormat attribute" PICS: LTIME.C.A0000 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization read hour-format 1 0 + Verify in DUT as client side: Verify that the HourFormat attribute value as 0 [1657106866.828694][4891:4896] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0000 DataVersion: 2232855152 [1657106866.828763][4891:4896] CHIP:TOO: HourFormat: 0 @@ -82,9 +79,8 @@ tests: - label: "If (LTIME.C.A0000.24HR) DUT writes 1 to HourFormat attribute" PICS: LTIME.C.A0000.24HR verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization write hour-format 1 1 0 + Verify in DUT as client side: verify that TH sends a success response [1657106989.102102][4907:4912] CHIP:DMG: WriteResponseMessage = [1657106989.102137][4907:4912] CHIP:DMG: { @@ -116,9 +112,8 @@ tests: - label: "DUT reads HourFormat attribute" PICS: LTIME.C.A0000 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization read hour-format 1 0 + Verify in DUT as client side: Verify that HourFormat attribute value as 1 [1654605170.332304][7266:7271] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0000 DataVersion: 3185003975 [1654605170.332388][7266:7271] CHIP:TOO: HourFormat: 1 [1654605170.332493][7266:7271] CHIP:EM: Sending Standalone Ack for MessageCounter:6045450 on exchange 44106i @@ -127,9 +122,8 @@ tests: - label: "DUT reads ActiveCalendarType attribute from DUT" PICS: LTIME.C.A0001 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization read active-calendar-type 1 0 + Verify in DUT as client side: Verify that the ActiveCalendarType attribute value [1657107039.005036][4917:4922] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855154 [1657107039.005112][4917:4922] CHIP:TOO: ActiveCalendarType: 0 @@ -138,9 +132,8 @@ tests: - label: "DUT reads SupportedCalendarTypes attribute from DUT" PICS: LTIME.C.A0002 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization read supported-calendar-types 1 0 + Verify in DUT as client side: Verify that SupportedCalendarTypes attribute value [1657107056.982007][4924:4929] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0002 DataVersion: 2232855154 [1657107056.982095][4924:4929] CHIP:TOO: SupportedCalendarTypes: 12 entries @@ -161,11 +154,10 @@ tests: - label: "If (0 in LTIME.C.A0002.SCT) DUT writes 0 to ActiveCalendarType attribute" - PICS: LTIME.C.A0002.SCT + PICS: LTIME.C.A0002 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization write active-calendar-type 0 1 0 + Verify in DUT as client side: verify that TH sends a success response [1657107074.760869][4932:4937] CHIP:DMG: WriteResponseMessage = [1657107074.760897][4932:4937] CHIP:DMG: { @@ -197,9 +189,8 @@ tests: - label: "DUT reads ActiveCalendarType attribute" PICS: LTIME.C.A0001 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization read active-calendar-type 1 0 + Verify in DUT as client side: Verify that the ActiveCalendarType attribute value as 0 [1657107039.005036][4917:4922] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855154 [1657107039.005112][4917:4922] CHIP:TOO: ActiveCalendarType: 0 @@ -208,11 +199,10 @@ tests: - label: "If (1 in LTIME.C.A0002.SCT) DUT writes 1 to ActiveCalendarType attribute" - PICS: LTIME.C.A0002.SCT + PICS: LTIME.C.A0002 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization write active-calendar-type 1 1 0 + Verify in DUT as client side: verify that TH sends a success response [1657107238.274764][4949:4954] CHIP:DMG: WriteResponseMessage = [1657107238.274795][4949:4954] CHIP:DMG: { @@ -244,9 +234,8 @@ tests: - label: "DUT reads ActiveCalendarType attribute" PICS: LTIME.C.A0001 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization read active-calendar-type 1 0 + Verify in DUT as client side: Verify that the ActiveCalendarType attribute value as 1 [1657107039.005036][4917:4922] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855154 [1657107039.005112][4917:4922] CHIP:TOO: ActiveCalendarType: 1 @@ -255,11 +244,10 @@ tests: - label: "If (2 in LTIME.C.A0002.SCT) DUT writes 2 to ActiveCalendarType attribute" - PICS: LTIME.C.A0002.SCT + PICS: LTIME.C.A0002 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization write active-calendar-type 2 1 0 + Verify in DUT as client side: verify that TH sends a success response [1657107378.279674][4960:4965] CHIP:DMG: WriteResponseMessage = [1657107378.279720][4960:4965] CHIP:DMG: { @@ -291,9 +279,8 @@ tests: - label: "DUT reads ActiveCalendarType attribute" PICS: LTIME.C.A0001 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization read active-calendar-type 1 0 + Verify in DUT as client side: Verify that the ActiveCalendarType attribute value as 2 [1657107404.774339][4968:4973] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855157 [1657107404.774453][4968:4973] CHIP:TOO: ActiveCalendarType: 2 @@ -302,11 +289,10 @@ tests: - label: "If (3 in LTIME.C.A0002.SCT) DUT writes 3 to ActiveCalendarType attribute" - PICS: LTIME.C.A0002.SCT + PICS: LTIME.C.A0002 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization write active-calendar-type 3 1 0 + Verify in DUT as client side: verify that TH sends a success response [1657107432.589832][4975:4980] CHIP:DMG: WriteResponseMessage = [1657107432.589869][4975:4980] CHIP:DMG: { @@ -338,9 +324,8 @@ tests: - label: "DUT reads ActiveCalendarType attribute" PICS: LTIME.C.A0001 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization read active-calendar-type 1 0 + Verify in DUT as client side: Verify that ActiveCalendarType attribute value as 3 [1657107452.389424][4983:4988] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855158 [1657107452.389490][4983:4988] CHIP:TOO: ActiveCalendarType: 3 @@ -349,11 +334,10 @@ tests: - label: "If (4 in LTIME.C.A0002.SCT) DUT writes 4 to ActiveCalendarType attribute" - PICS: LTIME.C.A0002.SCT + PICS: LTIME.C.A0002 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization write active-calendar-type 4 1 0 + Verify in DUT as client side: verify that TH sends a success response [1657107472.754436][4990:4996] CHIP:DMG: WriteResponseMessage = [1657107472.754462][4990:4996] CHIP:DMG: { @@ -385,9 +369,8 @@ tests: - label: "DUT reads ActiveCalendarType attribute" PICS: LTIME.C.A0001 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization read active-calendar-type 1 0 + Verify in DUT as client side: Verify that ActiveCalendarType attribute value as 4 [1657107496.925134][4997:5002] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855159 [1657107496.925199][4997:5002] CHIP:TOO: ActiveCalendarType: 4 @@ -396,11 +379,10 @@ tests: - label: "If (5 in LTIME.C.A0002.SCT) DUT writes 5 to ActiveCalendarType attribute" - PICS: LTIME.C.A0002.SCT + PICS: LTIME.C.A0002 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization write active-calendar-type 5 1 0 + Verify in DUT as client side: verify that TH sends a success response [1657107518.977989][5005:5010] CHIP:DMG: WriteResponseMessage = [1657107518.978030][5005:5010] CHIP:DMG: { @@ -432,9 +414,8 @@ tests: - label: "DUT reads ActiveCalendarType attribute" PICS: LTIME.C.A0001 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization read active-calendar-type 1 0 + Verify in DUT as client side: Verify that ActiveCalendarType attribute value as 5 [1657107552.874504][5011:5016] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855160 [1657107552.874572][5011:5016] CHIP:TOO: ActiveCalendarType: 5 @@ -443,12 +424,10 @@ tests: - label: "If (6 in LTIME.C.A0002.SCT) DUT writes 6 to ActiveCalendarType attribute" - PICS: LTIME.C.A0002.SCT + PICS: LTIME.C.A0002 verification: | - verify on Reference app receives the right response for the data sent in the below commands - - ./chip-tool timeformatlocalization write active-calendar-type 6 1 0 + Verify in DUT as client side: verify that TH sends a success response [1657107711.004508][5030:5035] CHIP:DMG: WriteResponseMessage = [1657107711.004535][5030:5035] CHIP:DMG: { @@ -480,9 +459,8 @@ tests: - label: "DUT reads ActiveCalendarType attribute" PICS: LTIME.C.A0001 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization read active-calendar-type 1 0 + Verify in DUT as client side: Verify that ActiveCalendarType attribute value as 6 [1657107808.981214][5042:5047] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855162 [1657107808.981291][5042:5047] CHIP:TOO: ActiveCalendarType: 6 @@ -491,11 +469,10 @@ tests: - label: "If (7 in LTIME.C.A0002.SCT) DUT writes 7 to ActiveCalendarType attribute" - PICS: LTIME.C.A0002.SCT + PICS: LTIME.C.A0002 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization write active-calendar-type 7 1 0 + Verify in DUT as client side: verify that TH sends a success response [1657107845.528814][5048:5053] CHIP:DMG: WriteResponseMessage = [1657107845.528843][5048:5053] CHIP:DMG: { @@ -527,9 +504,8 @@ tests: - label: "DUT reads ActiveCalendarType attribute" PICS: LTIME.C.A0001 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization read active-calendar-type 1 0 + Verify in DUT as client side: Verify that ActiveCalendarType attribute value as 7 [1657107867.321473][5055:5060] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855163 [1657107867.321550][5055:5060] CHIP:TOO: ActiveCalendarType: 7 @@ -538,11 +514,10 @@ tests: - label: "If (8 in LTIME.C.A0002.SCT) DUT writes 8 to ActiveCalendarType attribute" - PICS: LTIME.C.A0002.SCT + PICS: LTIME.C.A0002 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization write active-calendar-type 8 1 0 + Verify in DUT as client side: verify that TH sends a success response [1657107895.609252][5062:5067] CHIP:DMG: WriteResponseMessage = [1657107895.609278][5062:5067] CHIP:DMG: { @@ -574,9 +549,8 @@ tests: - label: "DUT reads ActiveCalendarType attribute" PICS: LTIME.C.A0001 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization read active-calendar-type 1 0 + Verify in DUT as client side: Verify that ActiveCalendarType attribute value as 8 [1657107912.560322][5068:5073] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855164 [1657107912.560397][5068:5073] CHIP:TOO: ActiveCalendarType: 8 @@ -585,11 +559,10 @@ tests: - label: "If (9 in LTIME.C.A0002.SCT) DUT writes 9 to ActiveCalendarType attribute" - PICS: LTIME.C.A0002.SCT + PICS: LTIME.C.A0002 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization write active-calendar-type 9 1 0 + Verify in DUT as client side: verify that TH sends a success response [1657107930.629239][5076:5081] CHIP:DMG: WriteResponseMessage = [1657107930.629265][5076:5081] CHIP:DMG: { @@ -621,9 +594,8 @@ tests: - label: "DUT reads ActiveCalendarType attribute" PICS: LTIME.C.A0001 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization read active-calendar-type 1 0 + Verify in DUT as client side: Verify that the ActiveCalendarType attribute value as 9 [1657107951.056785][5082:5087] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855165 [1657107951.056861][5082:5087] CHIP:TOO: ActiveCalendarType: 9 @@ -632,11 +604,10 @@ tests: - label: "If (10 in LTIME.C.A0002.SCT) DUT writes 10 to ActiveCalendarType attribute" - PICS: LTIME.C.A0002.SCT + PICS: LTIME.C.A0002 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization write active-calendar-type 10 1 0 + Verify in DUT as client side: verify that TH sends a success response [1657107969.768286][5090:5095] CHIP:DMG: WriteResponseMessage = [1657107969.768313][5090:5095] CHIP:DMG: { @@ -668,9 +639,8 @@ tests: - label: "DUT reads ActiveCalendarType attribute" PICS: LTIME.C.A0001 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization read active-calendar-type 1 0 + Verify in DUT as client side: Verify that the ActiveCalendarType attribute value as 10 [1657107989.893985][5097:5102] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855166 [1657107989.894063][5097:5102] CHIP:TOO: ActiveCalendarType: 10 @@ -679,11 +649,10 @@ tests: - label: "If (11 in LTIME.C.A0002.SCT) DUT writes 11 to ActiveCalendarType attribute" - PICS: LTIME.C.A0002.SCT + PICS: LTIME.C.A0002 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization write active-calendar-type 11 1 0 + Verify in DUT as client side: verify that TH sends a success response [1657108006.545369][5103:5108] CHIP:DMG: WriteResponseMessage = [1657108006.545394][5103:5108] CHIP:DMG: { @@ -715,9 +684,8 @@ tests: - label: "DUT reads ActiveCalendarType attribute" PICS: LTIME.C.A0001 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool timeformatlocalization read active-calendar-type 1 0 + Verify in DUT as client side: Verify that ActiveCalendarType attribute value as 11 [1657108026.518564][5111:5116] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855167 [1657108026.518640][5111:5116] CHIP:TOO: ActiveCalendarType: 11 diff --git a/src/app/tests/suites/certification/Test_TC_LUNIT_2_1.yaml b/src/app/tests/suites/certification/Test_TC_LUNIT_2_1.yaml index 74ef77e3b0d6ba..89b29acacd22c5 100644 --- a/src/app/tests/suites/certification/Test_TC_LUNIT_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LUNIT_2_1.yaml @@ -26,143 +26,57 @@ tests: - label: "DUT reads TemperatureUnit attribute from TH" PICS: LUNIT.C.A0000 verification: | - verify on Reference app receives the right response for the data sent in the below commands - - ./chip-tool unitlocalization read temperature-unit 1 0 - - [1657108071.586424][5119:5124] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_0000 DataVersion: 4164031415 - [1657108071.586491][5119:5124] CHIP:TOO: TemperatureUnit: 0 - disabled: true - - - label: "DUT writes 0 to TemperatureUnit attribute" - PICS: LUNIT.C.A0000.Fahrenheit - verification: | - verify on Reference app receives the right response for the data sent in the below commands - - ./chip-tool unitlocalization write temperature-unit 0 1 0 - - [1657108113.524411][5127:5132] CHIP:DMG: WriteResponseMessage = - [1657108113.524437][5127:5132] CHIP:DMG: { - [1657108113.524460][5127:5132] CHIP:DMG: AttributeStatusIBs = - [1657108113.524497][5127:5132] CHIP:DMG: [ - [1657108113.524521][5127:5132] CHIP:DMG: AttributeStatusIB = - [1657108113.524551][5127:5132] CHIP:DMG: { - [1657108113.524579][5127:5132] CHIP:DMG: AttributePathIB = - [1657108113.524610][5127:5132] CHIP:DMG: { - [1657108113.524645][5127:5132] CHIP:DMG: Endpoint = 0x0, - [1657108113.524678][5127:5132] CHIP:DMG: Cluster = 0x2d, - [1657108113.524708][5127:5132] CHIP:DMG: Attribute = 0x0000_0000, - [1657108113.524739][5127:5132] CHIP:DMG: } - [1657108113.524771][5127:5132] CHIP:DMG: - [1657108113.524800][5127:5132] CHIP:DMG: StatusIB = - [1657108113.524831][5127:5132] CHIP:DMG: { - [1657108113.524862][5127:5132] CHIP:DMG: status = 0x00 (SUCCESS), - [1657108113.524895][5127:5132] CHIP:DMG: }, - [1657108113.524924][5127:5132] CHIP:DMG: - [1657108113.524951][5127:5132] CHIP:DMG: }, - [1657108113.524981][5127:5132] CHIP:DMG: - [1657108113.525005][5127:5132] CHIP:DMG: ], - [1657108113.525034][5127:5132] CHIP:DMG: - [1657108113.525058][5127:5132] CHIP:DMG: InteractionModelRevision = 1 - [1657108113.525081][5127:5132] CHIP:DMG: } - [1657108113.525148][5127:5132] CHIP:DMG: WriteClient moving to [AwaitingDe] - disabled: true - - - label: "DUT reads TemperatureUnit attribute from TH" - PICS: LUNIT.C.A0000 - verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool unitlocalization read temperature-unit 1 0 - - [1657108071.586424][5119:5124] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_0000 DataVersion: 4164031415 - [1657108071.586491][5119:5124] CHIP:TOO: TemperatureUnit: 0 + Verify in DUT as client side: Verify that DUT reads TemperatureUnit attribute value is in the range 0 to 3 + [1658246774.701510][2262:2267] CHIP:DMG: } + [1658246774.701747][2262:2267] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_0000 DataVersion: 2312195207 + [1658246774.702985][2262:2267] CHIP:TOO: TemperatureUnit: 0 + [1658246774.703107][2262:2267] CHIP:EM: Sending Standalone Ack for MessageCounter:177086388 on exchange 32231i disabled: true - - label: "DUT writes 1 to TemperatureUnit attribute" - PICS: LUNIT.C.A0000.Celsius - verification: | - verify on Reference app receives the right response for the data sent in the below commands - - ./chip-tool unitlocalization write temperature-unit 1 1 0 - - [1657108163.429166][5149:5154] CHIP:DMG: WriteResponseMessage = - [1657108163.429205][5149:5154] CHIP:DMG: { - [1657108163.429228][5149:5154] CHIP:DMG: AttributeStatusIBs = - [1657108163.429259][5149:5154] CHIP:DMG: [ - [1657108163.429283][5149:5154] CHIP:DMG: AttributeStatusIB = - [1657108163.429310][5149:5154] CHIP:DMG: { - [1657108163.429335][5149:5154] CHIP:DMG: AttributePathIB = - [1657108163.429374][5149:5154] CHIP:DMG: { - [1657108163.429405][5149:5154] CHIP:DMG: Endpoint = 0x0, - [1657108163.429441][5149:5154] CHIP:DMG: Cluster = 0x2d, - [1657108163.429474][5149:5154] CHIP:DMG: Attribute = 0x0000_0000, - [1657108163.429505][5149:5154] CHIP:DMG: } - [1657108163.429539][5149:5154] CHIP:DMG: - [1657108163.429572][5149:5154] CHIP:DMG: StatusIB = - [1657108163.429606][5149:5154] CHIP:DMG: { - [1657108163.429637][5149:5154] CHIP:DMG: status = 0x00 (SUCCESS), - [1657108163.429671][5149:5154] CHIP:DMG: }, - [1657108163.429702][5149:5154] CHIP:DMG: - [1657108163.429728][5149:5154] CHIP:DMG: }, - [1657108163.429759][5149:5154] CHIP:DMG: - [1657108163.429782][5149:5154] CHIP:DMG: ], - [1657108163.429811][5149:5154] CHIP:DMG: - [1657108163.429834][5149:5154] CHIP:DMG: InteractionModelRevision = 1 - [1657108163.429857][5149:5154] CHIP:DMG: } - [1657108163.429923][5149:5154] CHIP:DMG: WriteClient moving to [AwaitingDe] - disabled: true - - - label: "DUT reads TemperatureUnit attribute from TH" + - label: "DUT writes 3 to TemperatureUnit attribute on TH" PICS: LUNIT.C.A0000 verification: | - verify on Reference app receives the right response for the data sent in the below commands - - ./chip-tool unitlocalization read temperature-unit 1 0 - [1657108230.188723][5156:5161] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_0000 DataVersion: 4164031418 - [1657108230.188792][5156:5161] CHIP:TOO: TemperatureUnit: 1 - disabled: true - - - label: "DUT writes 2 to TemperatureUnit attribute" - PICS: LUNIT.C.A0000.Kelvin - verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool unitlocalization write temperature-unit 2 1 0 - - [1657108163.429166][5149:5154] CHIP:DMG: WriteResponseMessage = - [1657108163.429205][5149:5154] CHIP:DMG: { - [1657108163.429228][5149:5154] CHIP:DMG: AttributeStatusIBs = - [1657108163.429259][5149:5154] CHIP:DMG: [ - [1657108163.429283][5149:5154] CHIP:DMG: AttributeStatusIB = - [1657108163.429310][5149:5154] CHIP:DMG: { - [1657108163.429335][5149:5154] CHIP:DMG: AttributePathIB = - [1657108163.429374][5149:5154] CHIP:DMG: { - [1657108163.429405][5149:5154] CHIP:DMG: Endpoint = 0x0, - [1657108163.429441][5149:5154] CHIP:DMG: Cluster = 0x2d, - [1657108163.429474][5149:5154] CHIP:DMG: Attribute = 0x0000_0000, - [1657108163.429505][5149:5154] CHIP:DMG: } - [1657108163.429539][5149:5154] CHIP:DMG: - [1657108163.429572][5149:5154] CHIP:DMG: StatusIB = - [1657108163.429606][5149:5154] CHIP:DMG: { - [1657108163.429637][5149:5154] CHIP:DMG: status = 0x00 (SUCCESS), - [1657108163.429671][5149:5154] CHIP:DMG: }, - [1657108163.429702][5149:5154] CHIP:DMG: - [1657108163.429728][5149:5154] CHIP:DMG: }, - [1657108163.429759][5149:5154] CHIP:DMG: - [1657108163.429782][5149:5154] CHIP:DMG: ], - [1657108163.429811][5149:5154] CHIP:DMG: - [1657108163.429834][5149:5154] CHIP:DMG: InteractionModelRevision = 1 - [1657108163.429857][5149:5154] CHIP:DMG: } - [1657108163.429923][5149:5154] CHIP:DMG: WriteClient moving to [AwaitingDe] + ./chip-tool unitlocalization write temperature-unit 3 1 0 + Verify in DUT as client side: verify that DUT sends a success response + + [1658246841.988723][2274:2279] CHIP:DMG: WriteClient moving to [ResponseRe] + [1658246841.988793][2274:2279] CHIP:DMG: WriteResponseMessage = + [1658246841.988835][2274:2279] CHIP:DMG: { + [1658246841.988871][2274:2279] CHIP:DMG: AttributeStatusIBs = + [1658246841.988921][2274:2279] CHIP:DMG: [ + [1658246841.988960][2274:2279] CHIP:DMG: AttributeStatusIB = + [1658246841.989005][2274:2279] CHIP:DMG: { + [1658246841.989046][2274:2279] CHIP:DMG: AttributePathIB = + [1658246841.989102][2274:2279] CHIP:DMG: { + [1658246841.989153][2274:2279] CHIP:DMG: Endpoint = 0x0, + [1658246841.989208][2274:2279] CHIP:DMG: Cluster = 0x2d, + [1658246841.989261][2274:2279] CHIP:DMG: Attribute = 0x0000_0000, + [1658246841.989313][2274:2279] CHIP:DMG: } + [1658246841.989369][2274:2279] CHIP:DMG: + [1658246841.989418][2274:2279] CHIP:DMG: StatusIB = + [1658246841.989469][2274:2279] CHIP:DMG: { + [1658246841.989518][2274:2279] CHIP:DMG: status = 0x00 (SUCCESS), + [1658246841.989569][2274:2279] CHIP:DMG: }, + [1658246841.989620][2274:2279] CHIP:DMG: + [1658246841.989664][2274:2279] CHIP:DMG: }, + [1658246841.989712][2274:2279] CHIP:DMG: + [1658246841.989750][2274:2279] CHIP:DMG: ], + [1658246841.989797][2274:2279] CHIP:DMG: + [1658246841.989836][2274:2279] CHIP:DMG: InteractionModelRevision = 1 + [1658246841.989874][2274:2279] CHIP:DMG: } + [1658246841.990021][2274:2279] CHIP:DMG: WriteClient moving to [AwaitingDe] + [1658246841.990103][2274:2279] CHIP:EM: Sending Standalone Ack for MessageCounter:83846292 on exchange 33799i disabled: true - label: "DUT reads TemperatureUnit attribute from TH" PICS: LUNIT.C.A0000 verification: | - verify on Reference app receives the right response for the data sent in the below commands - ./chip-tool unitlocalization read temperature-unit 1 0 + Verify in DUT as client side: Verify that DUT reads TemperatureUnit attribute value as 3 - [1657108230.188723][5156:5161] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_0000 DataVersion: 4164031418 - [1657108230.188792][5156:5161] CHIP:TOO: TemperatureUnit: 2 + [1658246890.082009][2283:2288] CHIP:DMG: } + [1658246890.082194][2283:2288] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_0000 DataVersion: 2312195208 + [1658246890.082278][2283:2288] CHIP:TOO: TemperatureUnit: 3 + [1658246890.082378][2283:2288] CHIP:EM: Sending Standalone Ack for MessageCounter:2721421 on exchange 29345i disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_LVL_1_1.yaml b/src/app/tests/suites/certification/Test_TC_LVL_1_1.yaml index fa578cd9145de2..a6f918ae210968 100644 --- a/src/app/tests/suites/certification/Test_TC_LVL_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LVL_1_1.yaml @@ -131,22 +131,23 @@ tests: contains: [20] - label: "Read the global attribute: AcceptedCommandList" - PICS: LVL.S.F02 command: "readAttribute" attribute: "AcceptedCommandList" response: constraints: type: list - contains: [0, 1, 2, 3, 4, 5, 6, 7, 8] + contains: [0, 1, 2, 3, 4, 5, 6, 7] - - label: "Read the global attribute: AcceptedCommandList" - PICS: " !LVL.S.F02 " + - label: + "Read the Feature-dependent(LVL.S.F02) attribute in + AcceptedCommandList" + PICS: LVL.S.F02 command: "readAttribute" attribute: "AcceptedCommandList" response: constraints: type: list - contains: [0, 1, 2, 3, 4, 5, 6, 7] + contains: [8] - label: "Read the global attribute: GeneratedCommandList" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_LVL_2_2.yaml b/src/app/tests/suites/certification/Test_TC_LVL_2_2.yaml index 791618634c6cbe..44a5da74096567 100644 --- a/src/app/tests/suites/certification/Test_TC_LVL_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_LVL_2_2.yaml @@ -214,6 +214,7 @@ tests: type: uint8 notValue: StartUpCurrentLevelValue + #This is a reset step that is needed to reset the value of the attribute to the default values so as to not effect other test cases. - label: "writes back default value of OnOffTransitionTime attribute" PICS: LVL.S.A0010 command: "writeAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_LVL_2_3.yaml b/src/app/tests/suites/certification/Test_TC_LVL_2_3.yaml index 7d87c801db219c..a58ef22a068dbc 100644 --- a/src/app/tests/suites/certification/Test_TC_LVL_2_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_LVL_2_3.yaml @@ -589,9 +589,9 @@ tests: "DUT reads all supported optional attributes from TH one at a time in a manufacturer specific order" verification: | + ./chip-tool levelcontrol read remaining-time 1 1 Verify in TH all-clusters-app - ./chip-tool levelcontrol read remaining-time 1 1 [1657913955.033202][3126:3126] CHIP:IM: Received Read request [1657913955.033289][3126:3126] CHIP:DMG: ReadRequestMessage = [1657913955.033319][3126:3126] CHIP:DMG: { @@ -611,7 +611,9 @@ tests: [1657913955.033764][3126:3126] CHIP:DMG: }, - ./chip-tool levelcontrol read min-level 1 1 + ./chip-tool levelcontrol read min-level 1 1 + Verify in TH all-clusters-app + [1657914034.938109][3245:3245] CHIP:DMG: ReadRequestMessage = [1657914034.938157][3245:3245] CHIP:DMG: { [1657914034.938197][3245:3245] CHIP:DMG: AttributePathIBs = @@ -631,6 +633,8 @@ tests: ./chip-tool levelcontrol read max-level 1 1 + Verify in TH all-clusters-app + [1657914049.937379][3245:3245] CHIP:IM: Received Read request [1657914049.937458][3245:3245] CHIP:DMG: ReadRequestMessage = [1657914049.937487][3245:3245] CHIP:DMG: { @@ -651,6 +655,7 @@ tests: ./chip-tool levelcontrol read current-frequency 1 1 + Verify in TH all-clusters-app [1657914066.583478][3245:3245] CHIP:DMG: ReadRequestMessage = [1657914066.583530][3245:3245] CHIP:DMG: { [1657914066.583568][3245:3245] CHIP:DMG: AttributePathIBs = @@ -670,6 +675,7 @@ tests: ./chip-tool levelcontrol read min-frequency 1 1 + Verify in TH all-clusters-app [1657914086.207991][3245:3245] CHIP:IM: Received Read request [1657914086.208155][3245:3245] CHIP:DMG: ReadRequestMessage = [1657914086.208207][3245:3245] CHIP:DMG: { @@ -690,6 +696,7 @@ tests: ./chip-tool levelcontrol read max-frequency 1 1 + Verify in TH all-clusters-app [1657914105.798625][3245:3245] CHIP:IM: Received Read request [1657914105.798770][3245:3245] CHIP:DMG: ReadRequestMessage = [1657914105.798846][3245:3245] CHIP:DMG: { @@ -709,6 +716,7 @@ tests: [1657914105.799842][3245:3245] CHIP:DMG: }, ./chip-tool levelcontrol read on-off-transition-time 1 1 + Verify in TH all-clusters-app [1657914125.515789][3245:3245] CHIP:IM: Received Read request [1657914125.515917][3245:3245] CHIP:DMG: ReadRequestMessage = [1657914125.515964][3245:3245] CHIP:DMG: { @@ -732,9 +740,9 @@ tests: "DUT writes a suitable value to all supported optional attributes on the TH one at a time in a manufacturer specific order" verification: | + ./chip-tool levelcontrol write on-off-transition-time 5 1 1 Verify in TH all-clusters-app - ./chip-tool levelcontrol write on-off-transition-time 5 1 1 [1657914163.137445][3245:3245] CHIP:DMG: WriteRequestMessage = [1657914163.137491][3245:3245] CHIP:DMG: { [1657914163.137533][3245:3245] CHIP:DMG: suppressResponse = false, @@ -761,6 +769,8 @@ tests: ./chip-tool levelcontrol write on-transition-time 5 1 1 + Verify in TH all-clusters-app + [1657914187.402168][3245:3245] CHIP:DMG: WriteRequestMessage = [1657914187.402215][3245:3245] CHIP:DMG: { [1657914187.402258][3245:3245] CHIP:DMG: suppressResponse = false, @@ -812,6 +822,8 @@ tests: [1657914206.149489][3245:3245] CHIP:DMG: }, ./chip-tool levelcontrol write default-move-rate 5 1 1 + Verify in TH all-clusters-app + [1657914228.843788][3245:3245] CHIP:DMG: WriteRequestMessage = [1657914228.843839][3245:3245] CHIP:DMG: { [1657914228.843881][3245:3245] CHIP:DMG: suppressResponse = false, diff --git a/src/app/tests/suites/certification/Test_TC_LVL_3_1.yaml b/src/app/tests/suites/certification/Test_TC_LVL_3_1.yaml index 7e87c9785e43cf..2a7d58187ce14e 100644 --- a/src/app/tests/suites/certification/Test_TC_LVL_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LVL_3_1.yaml @@ -71,9 +71,9 @@ tests: - name: "transitionTime" value: 0 - name: "optionMask" - value: 1 + value: 0 - name: "optionOverride" - value: 1 + value: 0 - label: "Wait 100ms" cluster: "DelayCommands" @@ -100,9 +100,9 @@ tests: - name: "transitionTime" value: 0 - name: "optionMask" - value: 1 + value: 0 - name: "optionOverride" - value: 1 + value: 0 - label: "Wait 100 ms" cluster: "DelayCommands" @@ -129,9 +129,9 @@ tests: - name: "transitionTime" value: 100 - name: "optionMask" - value: 1 + value: 0 - name: "optionOverride" - value: 1 + value: 0 - label: "Wait 11000ms" cluster: "DelayCommands" @@ -169,9 +169,9 @@ tests: - name: "transitionTime" value: 0xFFFF - name: "optionMask" - value: 1 + value: 0 - name: "optionOverride" - value: 1 + value: 0 - label: "Wait 1000ms" cluster: "DelayCommands" diff --git a/src/app/tests/suites/certification/Test_TC_LVL_4_1.yaml b/src/app/tests/suites/certification/Test_TC_LVL_4_1.yaml index 9545b773649e5d..cdd578263c8788 100644 --- a/src/app/tests/suites/certification/Test_TC_LVL_4_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LVL_4_1.yaml @@ -97,7 +97,7 @@ tests: maximum level" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && LVL.S.C01.Rsp arguments: values: - name: "message" @@ -120,9 +120,9 @@ tests: response: value: MaxlevelValue - - label: "sends a MoveWithOnOff command" + - label: "sends a Move command" PICS: LVL.S.C05.Rsp - command: "MoveWithOnOff" + command: "Move" arguments: values: - name: "moveMode" @@ -140,7 +140,7 @@ tests: minimum level" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && LVL.S.C05.Rsp arguments: values: - name: "message" @@ -191,20 +191,20 @@ tests: - name: "optionOverride" value: 1 - - label: "Wait 100ms" + - label: "Wait 500ms" cluster: "DelayCommands" command: "WaitForMs" arguments: values: - name: "ms" - value: 100 + value: 500 - label: "Physically verify that the device moves at the rate recorded in step 3a and completes moving to its maximum level" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && LVL.S.C05.Rsp && LVL.S.A0014 arguments: values: - name: "message" diff --git a/src/app/tests/suites/certification/Test_TC_LVL_5_1.yaml b/src/app/tests/suites/certification/Test_TC_LVL_5_1.yaml index 333b9c1d65b31f..1b5dafe8052829 100644 --- a/src/app/tests/suites/certification/Test_TC_LVL_5_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LVL_5_1.yaml @@ -62,9 +62,9 @@ tests: - name: "transitionTime" value: 0 - name: "optionMask" - value: 1 + value: 0 - name: "optionOverride" - value: 1 + value: 0 - label: "Sends MoveToLevelWithOnOff command to DUT" PICS: LVL.S.C04.Rsp && !LVL.S.A0002 @@ -76,12 +76,12 @@ tests: - name: "transitionTime" value: 0 - name: "optionMask" - value: 1 + value: 0 - name: "optionOverride" - value: 1 + value: 0 - label: "Reads current level attribute from DUT" - PICS: LVL.S.A0000 + PICS: LVL.S.A0000 && LVL.S.C04.Rsp command: "readAttribute" attribute: "current level" response: @@ -93,7 +93,7 @@ tests: maxValue: 255 - label: "Reads current level attribute from DUT" - PICS: LVL.S.A0000 && !LVL.S.A0002 + PICS: LVL.S.A0000 && !LVL.S.A0002 && LVL.S.C04.Rsp command: "readAttribute" attribute: "current level" response: @@ -115,9 +115,9 @@ tests: - name: "transitionTime" value: 20 - name: "optionMask" - value: 1 + value: 0 - name: "optionOverride" - value: 1 + value: 0 - label: "Wait 4000ms" cluster: "DelayCommands" @@ -128,7 +128,7 @@ tests: value: 4000 - label: "Reads current level attribute from DUT" - PICS: LVL.S.A0000 && LVL.S.C02.Rsp + PICS: LVL.S.A0000 && LVL.S.C02.Rsp && LVL.S.M.VarRate command: "readAttribute" attribute: "current level" response: @@ -149,9 +149,9 @@ tests: - name: "transitionTime" value: 20 - name: "optionMask" - value: 1 + value: 0 - name: "optionOverride" - value: 1 + value: 0 - label: "Wait 4000ms" cluster: "DelayCommands" @@ -162,14 +162,14 @@ tests: value: 4000 - label: "Reads current level attribute from DUT" - PICS: LVL.S.C06.Rsp && LVL.S.A0000 + PICS: LVL.S.C06.Rsp && LVL.S.A0000 && LVL.S.M.VarRate command: "readAttribute" attribute: "current level" response: value: CurrentlevelValue - label: "Reads current level attribute from DUT" - PICS: LVL.S.C06.Rsp && LVL.S.A0000 && !LVL.S.A0002 + PICS: LVL.S.C06.Rsp && LVL.S.A0000 && !LVL.S.A0002 && LVL.S.M.VarRate command: "readAttribute" attribute: "current level" response: diff --git a/src/app/tests/suites/certification/Test_TC_LVL_6_1.yaml b/src/app/tests/suites/certification/Test_TC_LVL_6_1.yaml index 016f5ac594be7a..e6ae8db8f3d6ed 100644 --- a/src/app/tests/suites/certification/Test_TC_LVL_6_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LVL_6_1.yaml @@ -67,7 +67,7 @@ tests: value: 1 - label: "Reads CurrentLevel attribute from DUT" - PICS: LVL.S.A0000 + PICS: LVL.S.A0000 && LVL.S.C04.Rsp command: "readAttribute" attribute: "current level" response: @@ -111,7 +111,7 @@ tests: - label: "Physically verify that the device has stopped transitioning" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && LVL.S.C03.Rsp arguments: values: - name: "message" @@ -125,8 +125,8 @@ tests: attribute: "current level" response: constraints: - minValue: 22 - maxValue: 28 + minValue: 21 + maxValue: 29 notValue: CurrentLevelValue - label: "Sends a move up command to DUT" @@ -151,8 +151,9 @@ tests: - name: "ms" value: 5000 - - label: "Sends stop command to DUT" - command: "Stop" + - label: "Sends StopWithOnOff command to DUT" + PICS: LVL.S.C07.Rsp + command: "StopWithOnOff" arguments: values: - name: "optionMask" @@ -163,7 +164,7 @@ tests: - label: "Physically verify that the device has stopped transitioning" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && LVL.S.C07.Rsp arguments: values: - name: "message" @@ -177,8 +178,8 @@ tests: attribute: "current level" response: constraints: - minValue: 45 - maxValue: 55 + minValue: 43 + maxValue: 57 notValue: CurrentLevelValue - label: "Precondition send Off Command" diff --git a/src/app/tests/suites/certification/Test_TC_MEDIAINPUT_1_4.yaml b/src/app/tests/suites/certification/Test_TC_MEDIAINPUT_1_4.yaml index db0296b2ffb8ba..e6a22e1205adeb 100644 --- a/src/app/tests/suites/certification/Test_TC_MEDIAINPUT_1_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_MEDIAINPUT_1_4.yaml @@ -39,16 +39,15 @@ tests: type: uint16 - label: "Read the global attribute: FeatureMap" - PICS: MEDIAINPUT.S.NU command: "readAttribute" attribute: "FeatureMap" response: - value: 1 constraints: type: map32 + minValue: 0 + maxValue: 1 - label: "Read the global attribute: AttributeList" - PICS: MEDIAINPUT.S.A0000 && MEDIAINPUT.S.A0001 command: "readAttribute" attribute: "AttributeList" response: diff --git a/src/app/tests/suites/certification/Test_TC_MEDIAINPUT_3_13.yaml b/src/app/tests/suites/certification/Test_TC_MEDIAINPUT_3_13.yaml index 5a9bba52929bd3..adab80b37fe39b 100644 --- a/src/app/tests/suites/certification/Test_TC_MEDIAINPUT_3_13.yaml +++ b/src/app/tests/suites/certification/Test_TC_MEDIAINPUT_3_13.yaml @@ -73,7 +73,7 @@ tests: [1651055193.215585][155444:155449] CHIP:TOO: } cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && MEDIAINPUT.S.A0000 + PICS: PICS_USER_PROMPT && MEDIAINPUT.S.A0000 && MEDIAINPUT.S.C0003 arguments: values: - name: "message" diff --git a/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_1_7.yaml b/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_1_7.yaml index 5ac838f7fb8c94..0c2daf8ee39088 100644 --- a/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_1_7.yaml +++ b/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_1_7.yaml @@ -153,6 +153,7 @@ tests: constraints: type: list contains: [6] + - label: "Read the optional command(FastForward) in AcceptedCommandList" PICS: MEDIAPLAYBACK.S.C07.Rsp command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_6_1.yaml b/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_6_1.yaml index 0e2707ab7826ea..bd6f0f5869b4d5 100644 --- a/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_6_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_6_1.yaml @@ -32,21 +32,21 @@ tests: "Precondition: Media content in a paused state at the beginning of the content" command: "Pause" - PICS: MEDIAPLAYBACK.S.C0001 + PICS: MEDIAPLAYBACK.S.C01.Rsp response: values: - name: "status" value: 0 - label: "Reads the CurrentState attribute" - PICS: MEDIAPLAYBACK.S.A0000 + PICS: MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C01.Rsp command: "readAttribute" attribute: "CurrentState" response: value: 1 - label: "Sends a Play command" - PICS: MEDIAPLAYBACK.S.C0000 + PICS: MEDIAPLAYBACK.S.C00.Rsp command: "Play" response: values: @@ -56,7 +56,7 @@ tests: - label: "Verify that the media state is playing" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && MEDIAPLAYBACK.S.C00.Rsp arguments: values: - name: "message" @@ -65,14 +65,14 @@ tests: value: "y" - label: "Reads the CurrentState attribute" - PICS: MEDIAPLAYBACK.S.A0000 + PICS: MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C00.Rsp command: "readAttribute" attribute: "CurrentState" response: value: 0 - label: "sends a Pause command" - PICS: MEDIAPLAYBACK.S.C0001 + PICS: MEDIAPLAYBACK.S.C01.Rsp command: "Pause" response: values: @@ -82,7 +82,7 @@ tests: - label: "Verify that the media is paused" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && MEDIAPLAYBACK.S.C01.Rsp arguments: values: - name: "message" @@ -91,13 +91,14 @@ tests: value: "y" - label: "Reads the CurrentState attribute" + PICS: MEDIAPLAYBACK.S.C01.Rsp && MEDIAPLAYBACK.S.A0000 command: "readAttribute" attribute: "CurrentState" response: value: 1 - label: "Sends a Stop command" - PICS: MEDIAPLAYBACK.S.C0002 + PICS: MEDIAPLAYBACK.S.C02.Rsp command: "StopPlayback" response: values: @@ -107,7 +108,7 @@ tests: - label: "Verify that the media is stoped" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && MEDIAPLAYBACK.S.C02.Rsp arguments: values: - name: "message" @@ -116,7 +117,7 @@ tests: value: "y" - label: "Reads the CurrentState attribute" - PICS: MEDIAPLAYBACK.S.A0000 + PICS: MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C02.Rsp command: "readAttribute" attribute: "CurrentState" response: diff --git a/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_6_2.yaml b/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_6_2.yaml index 8a2918e2d7c264..8e32a15acd3744 100644 --- a/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_6_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_6_2.yaml @@ -32,21 +32,21 @@ tests: "Precondition: Media content in a paused state at the beginning of the content" command: "Pause" - PICS: MEDIAPLAYBACK.S.C0001 + PICS: MEDIAPLAYBACK.S.C01.Rsp response: values: - name: "status" value: 0 - label: "Reads the CurrentState attribute from the DUT" - PICS: MEDIAPLAYBACK.S.A0000 + PICS: MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C01.Rsp command: "readAttribute" attribute: "CurrentState" response: value: 1 - label: "Sends a Play command to the DUT" - PICS: MEDIAPLAYBACK.S.C0000 + PICS: MEDIAPLAYBACK.S.C00.Rsp command: "Play" response: values: @@ -56,7 +56,7 @@ tests: - label: "Verify that the media state is playing" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && MEDIAPLAYBACK.S.C00.Rsp arguments: values: - name: "message" @@ -65,7 +65,7 @@ tests: value: "y" - label: "Reads the CurrentState attribute" - PICS: MEDIAPLAYBACK.S.A0000 + PICS: MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C00.Rsp command: "readAttribute" attribute: "CurrentState" response: @@ -82,7 +82,7 @@ tests: - label: "Verify that the media is started over" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && MEDIAPLAYBACK.S.C03.Rsp arguments: values: - name: "message" @@ -101,7 +101,7 @@ tests: - label: "Verify that the next media item in the queue has been loaded" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && MEDIAPLAYBACK.S.C05.Rsp arguments: values: - name: "message" @@ -121,7 +121,7 @@ tests: - label: "Verify that the previous media item in the queue has been loaded" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && MEDIAPLAYBACK.S.C04.Rsp arguments: values: - name: "message" @@ -146,7 +146,7 @@ tests: - label: "Verify that the media has skipped forward 10 seconds" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && MEDIAPLAYBACK.S.C08.Rsp arguments: values: - name: "message" @@ -156,7 +156,7 @@ tests: value: "y" - label: "Reads the SampledPosition attribute from the DUT" - PICS: MEDIAPLAYBACK.S.A0003 + PICS: MEDIAPLAYBACK.S.A0003 && MEDIAPLAYBACK.S.C08.Rsp command: "readAttribute" attribute: "SampledPosition" response: @@ -177,7 +177,7 @@ tests: - label: "Verify that the media has skipped backward 10 seconds" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && MEDIAPLAYBACK.S.C09.Rsp arguments: values: - name: "message" @@ -187,7 +187,7 @@ tests: value: "y" - label: "Reads the SampledPosition attribute from the DUT" - PICS: MEDIAPLAYBACK.S.A0003 + PICS: MEDIAPLAYBACK.S.A0003 && MEDIAPLAYBACK.S.C09.Rsp command: "readAttribute" attribute: "SampledPosition" response: diff --git a/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_6_3.yaml b/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_6_3.yaml index 15b6cf62ae264d..c143a2a91b7cd8 100644 --- a/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_6_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_6_3.yaml @@ -35,7 +35,7 @@ tests: "Precondition: Media content in a paused state at the beginning of the content" command: "Pause" - PICS: MEDIAPLAYBACK.S.C0001 + PICS: MEDIAPLAYBACK.S.C01.Rsp response: values: - name: "status" @@ -57,7 +57,7 @@ tests: "Verify that the media has moved to 10 seconds from the starting point" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && MEDIAPLAYBACK.S.C0B.Rsp arguments: values: - name: "message" @@ -68,7 +68,7 @@ tests: value: "y" - label: "Reads the SampledPosition attribute" - PICS: MEDIAPLAYBACK.S.A0003 + PICS: MEDIAPLAYBACK.S.A0003 && MEDIAPLAYBACK.S.C0B.Rsp command: "readAttribute" attribute: "SampledPosition" response: diff --git a/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_6_4.yaml b/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_6_4.yaml index 43c14b0bc586ec..6f52c15856c88f 100644 --- a/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_6_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_6_4.yaml @@ -32,14 +32,14 @@ tests: "Precondition: Media content in a paused state at the beginning of the content" command: "Pause" - PICS: MEDIAPLAYBACK.S.C0001 + PICS: MEDIAPLAYBACK.S.C01.Rsp response: values: - name: "status" value: 0 - label: "Reads the CurrentState attribute from the DUT" - PICS: MEDIAPLAYBACK.S.A0000 + PICS: MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C01.Rsp command: "readAttribute" attribute: "CurrentState" response: @@ -61,14 +61,14 @@ tests: value: 0 - label: "Reads the CurrentState attribute" - PICS: MEDIAPLAYBACK.S.A0000 + PICS: MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C07.Rsp command: "readAttribute" attribute: "CurrentState" response: value: 0 - label: "Reads the PlaybackSpeed attribute from the DUT" - PICS: MEDIAPLAYBACK.S.A0004 + PICS: MEDIAPLAYBACK.S.A0004 && MEDIAPLAYBACK.S.C07.Rsp command: "readAttribute" attribute: "PlaybackSpeed" response: @@ -83,7 +83,7 @@ tests: value: 0 - label: "Reads the PlaybackSpeed attribute from the DUT" - PICS: MEDIAPLAYBACK.S.A0004 + PICS: MEDIAPLAYBACK.S.A0004 && MEDIAPLAYBACK.S.C07.Rsp command: "readAttribute" attribute: "PlaybackSpeed" response: @@ -98,7 +98,7 @@ tests: value: 0 - label: "Reads the CurrentState attribute" - PICS: MEDIAPLAYBACK.S.A0000 + PICS: MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C06.Rsp command: "readAttribute" attribute: "CurrentState" response: @@ -113,11 +113,11 @@ tests: [1655114487.018421][41855:41860] CHIP:EM: Sending Standalone Ack for MessageCounter:163883813 on exchange 24959 cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && MEDIAPLAYBACK.S.C07.Rsp + PICS: PICS_USER_PROMPT && MEDIAPLAYBACK.S.A0004 arguments: values: - name: "message" - value: "Please enter 'y' if PlaybackSpeed value is -2" + value: "Please enter 'y' if PlaybackSpeed value is -1" - name: "expectedValue" value: "y" @@ -147,7 +147,7 @@ tests: value: "y" - label: "Sends a Play command" - PICS: MEDIAPLAYBACK.S.C0000 + PICS: MEDIAPLAYBACK.S.C00.Rsp command: "Play" response: values: @@ -157,7 +157,7 @@ tests: - label: "Reads the PlaybackSpeed attribute from the DUT" command: "readAttribute" attribute: "PlaybackSpeed" - PICS: MEDIAPLAYBACK.S.A0004 + PICS: MEDIAPLAYBACK.S.A0004 && MEDIAPLAYBACK.S.C00.Rsp response: value: 1 diff --git a/src/app/tests/suites/certification/Test_TC_OCC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_OCC_1_1.yaml index 3da9ee749d6d8d..ef2633b626f18c 100644 --- a/src/app/tests/suites/certification/Test_TC_OCC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_OCC_1_1.yaml @@ -28,7 +28,7 @@ tests: - name: "nodeId" value: nodeId - - label: "read the global attribute: ClusterRevision" + - label: "Read the global attribute: ClusterRevision" command: "readAttribute" attribute: "ClusterRevision" response: diff --git a/src/app/tests/suites/certification/Test_TC_OCC_3_1.yaml b/src/app/tests/suites/certification/Test_TC_OCC_3_1.yaml index 1f4c0c701c8100..07710d8274d6bb 100644 --- a/src/app/tests/suites/certification/Test_TC_OCC_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_OCC_3_1.yaml @@ -33,7 +33,6 @@ tests: command: "readAttribute" attribute: "occupancy" response: - value: 0 saveAs: OccupancyValue - label: "Operate on DUT to change the occupancy status" @@ -48,7 +47,7 @@ tests: value: "y" - label: "Reads back Occupancy attribute from DUT after few seconds" - PICS: OCC.S.A0000 + PICS: OCC.S.A0000 && OCC.M.OccupancyChange command: "readAttribute" attribute: "occupancy" response: diff --git a/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml b/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml index bfb98d05c32a89..2b2b11d863e00f 100644 --- a/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml @@ -55,52 +55,39 @@ tests: type: map32 - label: "Read the global attribute: AttributeList" - PICS: OO.S.F00 command: "readAttribute" attribute: "AttributeList" response: constraints: type: list - contains: - [ - 0, - 16384, - 16385, - 16386, - 16387, - 65528, - 65529, - 65531, - 65532, - 65533, - ] + contains: [0, 65528, 65529, 65531, 65532, 65533] - - label: "Read the global attribute: AttributeList" - PICS: " !OO.S.F00 " + - label: "Read the feature dependent(OO.S.F00) attribute in AttributeList" + PICS: OO.S.F00 command: "readAttribute" attribute: "AttributeList" response: constraints: type: list - contains: [0, 65528, 65529, 65531, 65532, 65533] + contains: [16384, 16385, 16386, 16387] - label: "Read the global attribute: AcceptedCommandList" command: "readAttribute" attribute: "AcceptedCommandList" - PICS: OO.S.F00 response: constraints: type: list - contains: [0, 1, 2, 64, 65, 66] + contains: [0, 1, 2] - - label: "Read the global attribute: AcceptedCommandList" + - label: + "Read the feature dependent(OO.S.F00) commands in AcceptedCommandList" command: "readAttribute" attribute: "AcceptedCommandList" - PICS: " !OO.S.F00 " + PICS: OO.S.F00 response: constraints: type: list - contains: [0, 1, 2] + contains: [64, 65, 66] - label: "Read the global attribute: GeneratedCommandList" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_OO_2_1.yaml b/src/app/tests/suites/certification/Test_TC_OO_2_1.yaml index 2580de9ddd88f8..bb6a000e8367a9 100644 --- a/src/app/tests/suites/certification/Test_TC_OO_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_OO_2_1.yaml @@ -28,7 +28,7 @@ tests: - name: "nodeId" value: nodeId - - label: "read the mandatory attribute: OnOff" + - label: "Read the mandatory attribute: OnOff" PICS: OO.S.A0000 command: "readAttribute" attribute: "OnOff" @@ -36,7 +36,7 @@ tests: constraints: type: bool - - label: "read LT attribute: GlobalSceneControl" + - label: "Read LT attribute: GlobalSceneControl" PICS: OO.S.A4000 command: "readAttribute" attribute: "GlobalSceneControl" @@ -44,7 +44,7 @@ tests: constraints: type: bool - - label: "read LT attribute: OnTime" + - label: "Read LT attribute: OnTime" PICS: OO.S.A4001 command: "readAttribute" attribute: "OnTime" @@ -54,7 +54,7 @@ tests: minValue: 0 maxValue: 65535 - - label: "read LT attribute: OffWaitTime" + - label: "Read LT attribute: OffWaitTime" PICS: OO.S.A4002 command: "readAttribute" attribute: "OffWaitTime" @@ -64,7 +64,7 @@ tests: minValue: 0 maxValue: 65535 - - label: "read LT attribute: StartUpOnOff" + - label: "Read LT attribute: StartUpOnOff" PICS: OO.S.A4003 command: "readAttribute" attribute: "StartUpOnOff" diff --git a/src/app/tests/suites/certification/Test_TC_OO_2_2.yaml b/src/app/tests/suites/certification/Test_TC_OO_2_2.yaml index 8181dba46b76da..f65f9f647eeb39 100644 --- a/src/app/tests/suites/certification/Test_TC_OO_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_OO_2_2.yaml @@ -124,7 +124,7 @@ tests: - label: "Operate on device to set OnOff attribute manually to on" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && OO.M.ManuallyControlled + PICS: PICS_USER_PROMPT && OO.M.ManuallyControlled && OO.S.A0000 arguments: values: - name: "message" @@ -134,7 +134,7 @@ tests: # Skipped this step because the above test need manual input - label: "Check on/off attribute value is true after on command" - PICS: PICS_SKIP_SAMPLE_APP && OO.S.A0000 + PICS: PICS_SKIP_SAMPLE_APP && OO.S.A0000 && OO.M.ManuallyControlled command: "readAttribute" attribute: "OnOff" response: @@ -143,7 +143,7 @@ tests: - label: "Operate on device to set OnOff attribute manually to off" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && OO.M.ManuallyControlled + PICS: PICS_USER_PROMPT && OO.M.ManuallyControlled && OO.S.A0000 arguments: values: - name: "message" @@ -153,7 +153,7 @@ tests: # Skipped the step because the above test need manual input - label: "Check on/off attribute value is false after off command" - PICS: PICS_SKIP_SAMPLE_APP && OO.S.A0000 + PICS: PICS_SKIP_SAMPLE_APP && OO.S.A0000 && OO.M.ManuallyControlled command: "readAttribute" attribute: "OnOff" response: diff --git a/src/app/tests/suites/certification/Test_TC_PCC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_PCC_1_1.yaml index bf3689ae62d2c4..1e2cbc501d9a90 100644 --- a/src/app/tests/suites/certification/Test_TC_PCC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PCC_1_1.yaml @@ -53,6 +53,182 @@ tests: contains: [0, 1, 2, 17, 18, 19, 32, 65528, 65529, 65531, 65532, 65533] + - label: + "TH reads optional attribute(MinConstPressure) attribute in + AttributeList from the DUT" + PICS: PCC.S.A0003 + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [3] + + - label: + "TH reads optional attribute(MaxConstPressure) attribute in + AttributeList from the DUT" + PICS: PCC.S.A0004 + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [4] + + - label: + "TH reads optional attribute(MinCompPressure) attribute in + AttributeList from the DUT" + PICS: PCC.S.A0005 + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [5] + + - label: + "TH reads optional attribute(MaxCompPressure) attribute in + AttributeList from the DUT" + PICS: PCC.S.A0006 + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [6] + + - label: + "TH reads optional attribute(MinConstSpeed) attribute in AttributeList + from the DUT" + PICS: PCC.S.A0007 + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [7] + + - label: + "TH reads optional attribute(MaxConstSpeed) attribute in AttributeList + from the DUT" + PICS: PCC.S.A0008 + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [8] + + - label: + "TH reads optional attribute(MinConstFlow) attribute in AttributeList + from the DUT" + PICS: PCC.S.A0009 + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [9] + + - label: + "TH reads optional attribute(MaxConstFlow) attribute in AttributeList + from the DUT" + PICS: PCC.S.A000a + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [10] + + - label: + "TH reads optional attribute(MinConstTemp) attribute in AttributeList + from the DUT" + PICS: PCC.S.A000b + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [11] + + - label: + "TH reads optional attribute(MaxConstTemp) attribute in AttributeList + from the DUT" + PICS: PCC.S.A000c + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [12] + + - label: + "TH reads optional attribute(PumpStatus) attribute in AttributeList + from the DUT" + PICS: PCC.S.A0010 + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [16] + + - label: + "TH reads optional attribute(Speed) attribute in AttributeList from + the DUT" + PICS: PCC.S.A0014 + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [20] + + - label: + "TH reads optional attribute(LifetimeRunningHours) attribute in + AttributeList from the DUT" + PICS: PCC.S.A0015 + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [21] + + - label: + "TH reads optional attribute(Power) attribute in AttributeList from + the DUT" + PICS: PCC.S.A0016 + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [22] + + - label: + "TH reads optional attribute(LifetimeEnergyConsumed) attribute in + AttributeList from the DUT" + PICS: PCC.S.A0017 + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [23] + + - label: + "TH reads optional attribute(ControlMode) attribute in AttributeList + from the DUT" + PICS: PCC.S.A0021 + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [33] + - label: "TH reads the AcceptedCommandList attribute from the DUT" command: "readAttribute" attribute: "AcceptedCommandList" diff --git a/src/app/tests/suites/certification/Test_TC_PCC_2_1.yaml b/src/app/tests/suites/certification/Test_TC_PCC_2_1.yaml index 5ce4bdf574593d..178930fc1754b5 100644 --- a/src/app/tests/suites/certification/Test_TC_PCC_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PCC_2_1.yaml @@ -60,7 +60,6 @@ tests: - label: "Read the optional attribute: MinConstPressure" PICS: PCC.S.A0003 - optional: true command: "readAttribute" attribute: "MinConstPressure" response: @@ -71,7 +70,6 @@ tests: - label: "Read the optional attribute: MaxConstPressure" PICS: PCC.S.A0004 - optional: true command: "readAttribute" attribute: "MaxConstPressure" response: @@ -82,7 +80,6 @@ tests: - label: "Read the optional attribute: MinCompPressure" PICS: PCC.S.A0005 - optional: true command: "readAttribute" attribute: "MinCompPressure" response: @@ -93,7 +90,6 @@ tests: - label: "Read the optional attribute: MaxCompPressure" PICS: PCC.S.A0006 - optional: true command: "readAttribute" attribute: "MaxCompPressure" response: @@ -104,7 +100,6 @@ tests: - label: "Read the optional attribute: MinConstSpeed" PICS: PCC.S.A0007 - optional: true command: "readAttribute" attribute: "MinConstSpeed" response: @@ -115,7 +110,6 @@ tests: - label: "Read the optional attribute: MaxConstSpeed" PICS: PCC.S.A0008 - optional: true command: "readAttribute" attribute: "MaxConstSpeed" response: @@ -126,7 +120,6 @@ tests: - label: "Read the optional attribute: MinConstFlow" PICS: PCC.S.A0009 - optional: true command: "readAttribute" attribute: "MinConstFlow" response: @@ -137,7 +130,6 @@ tests: - label: "Read the optional attribute: MaxConstFlow" PICS: PCC.S.A000a - optional: true command: "readAttribute" attribute: "MaxConstFlow" response: @@ -148,7 +140,6 @@ tests: - label: "Read the optional attribute: MinConstTemp" PICS: PCC.S.A000b - optional: true command: "readAttribute" attribute: "MinConstTemp" response: @@ -159,7 +150,6 @@ tests: - label: "Read the optional attribute: MaxConstTemp" PICS: PCC.S.A000c - optional: true command: "readAttribute" attribute: "MaxConstTemp" response: @@ -170,7 +160,6 @@ tests: - label: "Read the optional attribute: PumpStatus" PICS: PCC.S.A0010 - optional: true command: "readAttribute" attribute: "PumpStatus" response: @@ -211,7 +200,6 @@ tests: - label: "Read the optional attribute: Speed" PICS: PCC.S.A0014 - optional: true command: "readAttribute" attribute: "Speed" response: @@ -222,7 +210,6 @@ tests: - label: "Read the optional attribute: LifetimeRunningHours" PICS: PCC.S.A0015 - optional: true command: "readAttribute" attribute: "LifetimeRunningHours" response: @@ -233,7 +220,6 @@ tests: - label: "Read the optional attribute: Power" PICS: PCC.S.A0016 - optional: true command: "readAttribute" attribute: "Power" response: @@ -244,7 +230,6 @@ tests: - label: "Read the optional attribute: LifetimeEnergyConsumed" PICS: PCC.S.A0017 - optional: true command: "readAttribute" attribute: "LifetimeEnergyConsumed" response: @@ -265,7 +250,6 @@ tests: - label: "Read optional attribute: ControlMode" PICS: PCC.S.A0021 - optional: true command: "readAttribute" attribute: "ControlMode" response: diff --git a/src/app/tests/suites/certification/Test_TC_PS_1_1.yaml b/src/app/tests/suites/certification/Test_TC_PS_1_1.yaml index 48832a0e44245a..7b903c6b173387 100644 --- a/src/app/tests/suites/certification/Test_TC_PS_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PS_1_1.yaml @@ -55,7 +55,7 @@ tests: contains: [0, 1, 2, 65528, 65529, 65531, 65532, 65533] - label: - "Read the Feature related(PS.S.F00-WIRED) attribute in AttributeList" + "Read the Feature dependent(PS.S.F00-WIRED) attribute in AttributeList" PICS: PS.S.F00 command: "readAttribute" attribute: "AttributeList" @@ -64,7 +64,8 @@ tests: type: list contains: [5] - - label: "Read the Feature related(PS.S.F01-BAT) attribute in AttributeList" + - label: + "Read the Feature dependent(PS.S.F01-BAT) attribute in AttributeList" PICS: PS.S.F01 command: "readAttribute" attribute: "AttributeList" @@ -74,7 +75,7 @@ tests: contains: [14, 15, 16] - label: - "Read the Feature related(PS.S.F02-RECHG) attribute in AttributeList" + "Read the Feature dependent(PS.S.F02-RECHG) attribute in AttributeList" PICS: PS.S.F02 command: "readAttribute" attribute: "AttributeList" @@ -84,7 +85,7 @@ tests: contains: [26, 28] - label: - "Read the Feature related(PS.S.F03-REPLC) attribute in AttributeList" + "Read the Feature dependent(PS.S.F03-REPLC) attribute in AttributeList" PICS: PS.S.F03 command: "readAttribute" attribute: "AttributeList" diff --git a/src/app/tests/suites/certification/Test_TC_RH_2_1.yaml b/src/app/tests/suites/certification/Test_TC_RH_2_1.yaml index bbca0f62114a0b..87f3ed0c826485 100644 --- a/src/app/tests/suites/certification/Test_TC_RH_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_RH_2_1.yaml @@ -49,6 +49,7 @@ tests: maxValue: 9999 - label: "Reads constraints of attribute: MaxMeasuredValue" + PICS: RH.S.A0002 command: "readAttribute" attribute: "max measured value" response: diff --git a/src/app/tests/suites/certification/Test_TC_RH_2_2.yaml b/src/app/tests/suites/certification/Test_TC_RH_2_2.yaml index 0e73c4587852a7..023deb509bcc01 100644 --- a/src/app/tests/suites/certification/Test_TC_RH_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_RH_2_2.yaml @@ -39,7 +39,7 @@ tests: maxValue: 9999 - label: "Reads constraints of attribute: MaxMeasuredValue" - PICS: PICS_SKIP_SAMPLE_APP + PICS: RH.S.A0002 command: "readAttribute" attribute: "max measured value" response: @@ -73,7 +73,7 @@ tests: - label: "Read the mandatory attribute: MeasuredValue" command: "readAttribute" attribute: "measured value" - PICS: RH.S.A0000 + PICS: RH.S.A0000 && RH.M.ManuallyControlled response: constraints: type: uint16 diff --git a/src/app/tests/suites/certification/Test_TC_SC_4_5.yaml b/src/app/tests/suites/certification/Test_TC_SC_4_5.yaml index 54562b68394241..ac4478dcaf2d5c 100644 --- a/src/app/tests/suites/certification/Test_TC_SC_4_5.yaml +++ b/src/app/tests/suites/certification/Test_TC_SC_4_5.yaml @@ -33,27 +33,13 @@ tests: - label: "By any means, DUT is instructed to perform an unicast UDP query to the DNS-SD Discovery Proxy on TH for services" + PICS: + MCORE.SC.SII_OP_DISCOVERY_KEY && MCORE.SC.SAI_OP_DISCOVERY_KEY && + MCORE.SC.T_KEY verification: | - 1. Proviosion the node(accessory/device) to thread network - - 2. Open the matter shell in the SDK and run resolve command, Verify if the device detects the published IP address and the Common Txt Key/Value Pairs , as advertised in the service. Ref below example. - - - uart:~$ matter dns resolve 9791300599901692208 10360380464321857174 - Resolving ... - uart:~$ I: 127317 [DIS]Node ID resolved for 0x8FC7772401CD0696 to [fd7b:a81b:9770:0:dea6:32ff:fe8d:7072]:22222 - DNS resolve for 87E1B004E235A130-8FC7772401CD0696 succeeded: - Hostname: ubuntuserverAcce - IP address: fd7b:a81b:9770:0:dea6:32ff:fe8d:7072 - Port: 22222 - MRP retry interval (idle): 3000ms - MRP retry interval (active): 4000ms - Supports TCP: no - - avahi-browse -rt _matter._tcp - + Verify on the TH Log: + eth0 IPv6 3A235FF3FA2DAC10-0000000000000055 _matter._tcp local + eth0 IPv4 3A235FF3FA2DAC10-0000000000000055 _matter._tcp local @@ -77,34 +63,25 @@ tests: disabled: true - label: "DUT must receive a notification with new data" + PICS: + MCORE.SC.SII_OP_DISCOVERY_KEY && MCORE.SC.SAI_OP_DISCOVERY_KEY && + MCORE.SC.T_KEY verification: | - 1. Open the matter shell in the SDK and run resolve command, Verify if the device detects updated values in the service, i..e Support TCP is '1'(Yes) - - - uart:~$ matter dns resolve 9791300599901692208 10360380464321857174 - Resolving ... - uart:~$ I: 542364 [DIS]Node ID resolved for 0x8FC7772401CD0696 to [fd7b:a81b:9770:0:dea6:32ff:fe8d:7072]:22222 - DNS resolve for 87E1B004E235A130-8FC7772401CD0696 succeeded: - Hostname: ubuntuserverAcce - IP address: fd7b:a81b:9770:0:dea6:32ff:fe8d:7072 - Port: 22222 - MRP retry interval (idle): 3000ms - MRP retry interval (active): 4000ms - Supports TCP: yes + avahi-browse -rt _matter._tcp + Verify on the TH Log: - avahi-browse -rt _matter._tcp + eth0 IPv6 3A235FF3FA2DAC10-0000000000000055 _matter._tcp local + eth0 IPv4 3A235FF3FA2DAC10-0000000000000055 _matter._tcp local = eth0 IPv4 3A235FF3FA2DAC10-0000000000000055 _matter._tcp local hostname = [D21165B5F440B033.local] address = [fd11:22::4b31:9932:cffe:b41a] port = [5540] - txt = ["T=0" "SAI=300" "SII=5000"] + txt = ["T=1" "SAI=300" "SII=5000"] = eth0 IPv6 3A235FF3FA2DAC10-0000000000000055 _matter._tcp local hostname = [D21165B5F440B033.local] address = [fd11:22::4b31:9932:cffe:b41a] port = [5540] - txt = ["T=0" "SAI=300" "SII=5000"] + txt = ["T=1" "SAI=300" "SII=5000"] disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_SC_4_8.yaml b/src/app/tests/suites/certification/Test_TC_SC_4_8.yaml index f7d859a2e71c72..590965b9a1d86a 100644 --- a/src/app/tests/suites/certification/Test_TC_SC_4_8.yaml +++ b/src/app/tests/suites/certification/Test_TC_SC_4_8.yaml @@ -30,9 +30,12 @@ tests: ./chip-tool pairing onnetwork 2 20202021 - Assigned compressed fabric ID: 0xF3C001637A30CEEC - Assigned compressed fabric ID: 0xBE320A8460153487 - Assigned compressed fabric ID: 0x8A124463B858624F + + avahi-browse _matter._tcp -rt + + Verify on the TH Log: + + eth0 IPv6 8840D142C33AB653-0000000000000001 _matter._tcp local disabled: true - label: "Commission TH2 to DUTs Fabric" @@ -43,19 +46,26 @@ tests: ./chip-tool pairing ble-wifi 1 chipsetup4 matter123 20202021 3841 - Assigned compressed fabric ID: 0xF3C001637A30CEEC - Assigned compressed fabric ID: 0xBE320A8460153487 - Assigned compressed fabric ID: 0x8A124463B858624F + Verify you got below message Device commissioning completed with success + + + avahi-browse _matter._tcp -rt + + Verify on the TH Log: + + + eth0 IPv6 8840D142C33AB653-0000000000000001 _matter._tcp local disabled: true - label: "Send RemoveFabric from DUT to TH1 and comission DUT to TH1 again" verification: | ./chip-tool operationalcredentials remove-fabric 1 1 0 - Verify the below log on the DUT as client device + Verify in TH all-clusters-app log + + CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008 [1651571274.154864][10562:10567] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Command 0x0000_0008 @@ -67,15 +77,19 @@ tests: ./chip-tool pairing ble-wifi 1 chipsetup4 matter123 20202021 3841 - Assigned compressed fabric ID: 0xF3C001637A30CEEC - Assigned compressed fabric ID: 0xBE320A8460153487 - Assigned compressed fabric ID: 0x8A124463B858624F + avahi-browse _matter._tcp -rt + + Verify on the TH Log: + + + eth0 IPv6 8840D142C33AB653-0000000000000001 _matter._tcp local disabled: true - label: "Send RemoveFabric from DUT to TH2 and comission DUT to TH2 again" verification: | ./chip-tool operationalcredentials remove-fabric 1 2 0 + Verify in TH all-clusters-app log + [1657628679275] [78509:912135] CHIP: [DMG] Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008 [1657628679275] [78509:912135] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_003E Command 0x0000_0008 [1657628679275] [78509:912135] CHIP: [TOO] NOCResponse: { @@ -88,7 +102,9 @@ tests: ./chip-tool pairing onnetwork 2 20202021 - Assigned compressed fabric ID: 0xF3C001637A30CEEC - Assigned compressed fabric ID: 0xBE320A8460153487 - Assigned compressed fabric ID: 0x8A124463B858624F + avahi-browse _matter._tcp -rt + + Verify on the TH Log: + + + eth0 IPv6 8840D142C33AB653-0000000000000002 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_SWTCH_1_1.yaml b/src/app/tests/suites/certification/Test_TC_SWTCH_1_1.yaml index 9b9b46ae11e8c4..9d2b3415f11a38 100644 --- a/src/app/tests/suites/certification/Test_TC_SWTCH_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_SWTCH_1_1.yaml @@ -11,110 +11,142 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -# Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: 74.1.1. [TC-SWTCH-1.1] Global attributes with server as DUT config: nodeId: 0x12344321 - cluster: "Basic" - endpoint: 0 + cluster: "Switch" + endpoint: 1 tests: - - label: "Commission DUT to TH (can be skipped if done in a preceding test)" - verification: | - - disabled: true - - - label: "Read FeatureMap (global attribute 65532)" - verification: | - ./chip-tool switch read feature-map 1 1 - - Verify on the TH Log: - - [1655271856.827371][2855:2860] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Attribute 0x0000_FFFC DataVersion: 4291766665 - [1655271856.827493][2855:2860] CHIP:TOO: FeatureMap: 1 - disabled: true - - - label: "Check values of flags in this FeatureMap" + - label: "Wait for the commissioned device to be retrieved" + cluster: "DelayCommands" + command: "WaitForCommissionee" + arguments: + values: + - name: "nodeId" + value: nodeId + + - label: "Read the global attribute: FeatureMap" + command: "readAttribute" + attribute: "FeatureMap" + response: + saveAs: FeatureMapValue + + - label: + "Read the FeatureMap value and verify LS is set to 1; MS, MSR, MSL, + MSM are all set to 0" PICS: SWTCH.S.F00 - verification: | - no Matter messages, but TH internal checking - disabled: true + command: "readAttribute" + attribute: "FeatureMap" + response: + value: FeatureMapValue - label: "Check values of flags in this FeatureMap" - PICS: SWTCH.S.F01 verification: | - no Matter messages, but TH internal checking - disabled: true + LS is set to 0; MS is set to 1 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && SWTCH.S.F01 + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Check values of flags in this FeatureMap" - PICS: SWTCH.S.F02 verification: | - no Matter messages, but TH internal checking - disabled: true + LS is set to 0; MS, MSR are set to 1 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && SWTCH.S.F02 + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Check values of flags in this FeatureMap" - PICS: SWTCH.S.F03 verification: | - no Matter messages, but TH internal checking - disabled: true + LS is set to 0; MS, MSR, MSL are all set to 1 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && SWTCH.S.F03 + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Check values of flags in this FeatureMap" - PICS: SWTCH.S.F04 - verification: | - no Matter messages, but TH internal checking - disabled: true - - - label: "Read ClusterRevision (global attribute 65533)" - verification: | - ./chip-tool switch read cluster-revision 1 1 - - Verify on the TH Log: - - [1651563714.073979][8331:8336] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Attribute 0x0000_FFFD DataVersion: 3331396879 - [1651563714.074140][8331:8336] CHIP:TOO: ClusterRevision: 1 - disabled: true - - - label: "Read AttributeList (global attribute 65531)" verification: | - ./chip-tool switch read attribute-list 1 1 - - Verify on the TH Log: - - [1651563753.140074][8338:8343] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Attribute 0x0000_FFFB DataVersion: 3331396879 - [1651563753.140200][8338:8343] CHIP:TOO: AttributeList: 8 entries - [1651563753.140246][8338:8343] CHIP:TOO: [1]: 0 - [1651563753.140283][8338:8343] CHIP:TOO: [2]: 1 - [1651563753.140319][8338:8343] CHIP:TOO: [3]: 2 - [1651563753.140355][8338:8343] CHIP:TOO: [4]: 65528 - [1651563753.140389][8338:8343] CHIP:TOO: [5]: 65529 - [1651563753.140425][8338:8343] CHIP:TOO: [6]: 65531 - [1651563753.140460][8338:8343] CHIP:TOO: [7]: 65532 - [1651563753.140495][8338:8343] CHIP:TOO: [8]: 65533 - disabled: true - - - label: "Read EventList (global attribute 65530)" + LS is set to 0; MS, MSR, MSM are all set to 1 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && SWTCH.S.F04 + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + - label: "read the global attribute: ClusterRevision" + command: "readAttribute" + attribute: "ClusterRevision" + response: + value: 1 + + - label: "Read the global attribute: AttributeList" + PICS: SWTCH.S.F04 + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 1, 2, 65528, 65529, 65531, 65532, 65533] + + - label: "Read the global attribute: AttributeList" + PICS: "!SWTCH.S.F04" + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 1, 65528, 65529, 65531, 65532, 65533] + + - label: "Read the global attribute: AcceptedCommandList" + command: "readAttribute" + attribute: "AcceptedCommandList" + response: + constraints: + type: list + contains: [] + + - label: "Read the global attribute: GeneratedCommandList" + command: "readAttribute" + attribute: "GeneratedCommandList" + response: + value: [] + constraints: + type: list + + #issue #15011 + - label: + "Read EventList attribute from the DUT and Verify that the DUT + response provides a list of supported events." verification: | OUT OF SCOPE FOR V1.0 - disabled: true - - - label: "Read AcceptedCommandList (global attribute 65529)" - verification: | - ./chip-tool switch read accepted-command-list 1 1 - - Verify on the TH Log: - - [1651563822.164319][8348:8353] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Attribute 0x0000_FFF9 DataVersion: 3331396879 - [1651563822.164424][8348:8353] CHIP:TOO: AcceptedCommandList: 0 entries - disabled: true - - - label: "Read GeneratedCommandList (global attribute 65528)" - verification: | - ./chip-tool switch read generated-command-list 1 1 - - Verify on the TH Log: - - [1651563849.608873][8355:8361] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Attribute 0x0000_FFF8 DataVersion: 3331396879 - [1651563849.608977][8355:8361] CHIP:TOO: GeneratedCommandList: 0 entries - disabled: true + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_SWTCH_2_2.yaml b/src/app/tests/suites/certification/Test_TC_SWTCH_2_2.yaml index e80d3e1c5bfb46..e9339db43775b9 100644 --- a/src/app/tests/suites/certification/Test_TC_SWTCH_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_SWTCH_2_2.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 73.2.2. [TC-SWTCH-2.2] Primary functionality with server as DUT +name: 74.2.2. [TC-SWTCH-2.2] Primary functionality with server as DUT config: nodeId: 0x12344321 @@ -31,7 +31,7 @@ tests: verification: | ./chip-tool switch subscribe-event switch-latched 1 100 1 1 - Verify in TH Log: + Verify inTH Log: [1646209067.917157][2496:2501] CHIP:DMG: SubscribeResponseMessage = [1646209067.917184][2496:2501] CHIP:DMG: { @@ -53,7 +53,7 @@ tests: verification: | ./chip-tool switch read current-position 1 1 - Verify in TH Log: + Verify inTH Log: [1646209289.746157][2617:2622] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Attribute 0x0000_0001DataVersion: 1206711661 [1646209289.746228][2617:2622] CHIP:TOO: current position: 0 @@ -70,6 +70,9 @@ tests: PICS: SWTCH.S.F00 verification: | ./chip-tool switch read current-position 1 1 + + Verify inTH Log: + [1646209289.746157][2617:2622] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Attribute 0x0000_0001DataVersion: 1206711661 [1646209289.746228][2617:2622] CHIP:TOO: current position: 1 disabled: true @@ -81,7 +84,7 @@ tests: verification: | ./chip-tool switch read current-position 1 1 - Verify in TH Log: + Verify inTH Log: Event (content will vary on the device) [1646209167.923346][2190:2190] CHIP:DMG: StatusResponseMessage = @@ -98,7 +101,7 @@ tests: Read CurrentPosition attribute" PICS: SWTCH.S.F00 verification: | - 2 + disabled: true - label: "Operator returns switch to first position" @@ -111,8 +114,7 @@ tests: PICS: SWTCH.S.F00 verification: | ./chip-tool switch read current-position 1 1 - - Verify in TH Log: + Verify inTH Log: [1646209289.746157][2617:2622] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Attribute 0x0000_0001DataVersion: 1206711661 [1646209289.746228][2617:2622] CHIP:TOO: current position: 0 @@ -122,8 +124,7 @@ tests: PICS: SWTCH.S.F01 verification: | ./chip-tool switch subscribe-event initial-press 1 100 1 1 - - Verify in TH Log: + Verify inTH Log: [1646209546.313236][2641:2646] CHIP:DMG: SubscribeResponseMessage = [1646209546.313263][2641:2646] CHIP:DMG: { @@ -146,7 +147,7 @@ tests: verification: | ./chip-tool switch read current-position 1 1 - Verify in TH Log: + Verify inTH Log: [1646209289.746157][2617:2622] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Attribute 0x0000_0001DataVersion: 1206711661 [1646209289.746228][2617:2622] CHIP:TOO: current position: 0 @@ -162,6 +163,10 @@ tests: PICS: SWTCH.S.F01 verification: | ./chip-tool switch read current-position 1 1 + + Verify inTH Log: + [1646209289.746157][2617:2622] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Attribute 0x0000_0001DataVersion: 1206711661 + [1646209289.746228][2617:2622] CHIP:TOO: current position: 1 disabled: true - label: "Operator does not operate switch (release switch)" @@ -173,15 +178,19 @@ tests: - label: "Read CurrentPosition attribute" PICS: SWTCH.S.F01 verification: | - Read attrbute + ./chip-tool switch read current-position 1 1 + + Verify inTH Log: + [1646209289.746157][2617:2622] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Attribute 0x0000_0001DataVersion: 1206711661 + [1646209289.746228][2617:2622] CHIP:TOO: current position: 0 disabled: true - label: "Set up subscription to InitialPress and ShortRelease events" PICS: SWTCH.S.F01 && SWTCH.S.F02 && !SWTCH.S.F03 verification: | - ./chip-tool switch subscribe-event initial-press 1 100 1 1 1 + ./chip-tool switch subscribe-event initial-press 1 100 1 1 - ./chip-tool switch subscribe-event short-release 1 100 1 1 1 + ./chip-tool switch subscribe-event short-release 1 100 1 1 disabled: true - label: "Operator does not operate switch" @@ -220,12 +229,12 @@ tests: LongRelease events" PICS: SWTCH.S.F01 && SWTCH.S.F03 verification: | + Verify inTH Log: + ./chip-tool switch subscribe-event initial-press 1 100 1 1 ./chip-tool switch subscribe-event short-release 1 100 1 1 - Verify in TH Log: - [1655272080.983330][2922:2927] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003 [1655272080.983357][2922:2927] CHIP:TOO: Event number: 2 [1655272080.983380][2922:2927] CHIP:TOO: Priority: Info @@ -381,13 +390,13 @@ tests: MultiPressComplete events" PICS: SWTCH.S.F01 && SWTCH.S.F04 verification: | - ./chip-tool switch subscribe-event initial-press 1 100 1 1 1 + ./chip-tool switch subscribe-event initial-press 1 100 1 1 - ./chip-tool switch subscribe-event short-release 1 100 1 1 1 + ./chip-tool switch subscribe-event short-release 1 100 1 1 - ./chip-tool switch subscribe-event multi-press-ongoing 1 100 1 1 1 + ./chip-tool switch subscribe-event multi-press-ongoing 1 100 1 1 - ./chip-tool switch subscribe-event multi-press-complete 1 100 1 1 1 + ./chip-tool switch subscribe-event multi-press-complete 1 100 1 1 disabled: true - label: "Operator does not operate switch" @@ -432,7 +441,8 @@ tests: receive 2 events disabled: true - - label: "If MultiPressMax == 2, skip steps 6j .. 6o" + - label: + "If MultiPressMax == 2 (see 2c of TC-SWTCH-2.1), skip steps 6j .. 6o" PICS: SWTCH.S.F01 && SWTCH.S.F04 verification: | no Matter messages for this step diff --git a/src/app/tests/suites/certification/Test_TC_TGTNAV_1_9.yaml b/src/app/tests/suites/certification/Test_TC_TGTNAV_1_9.yaml index 627d1237d91d3b..bae52b9de71736 100644 --- a/src/app/tests/suites/certification/Test_TC_TGTNAV_1_9.yaml +++ b/src/app/tests/suites/certification/Test_TC_TGTNAV_1_9.yaml @@ -47,22 +47,21 @@ tests: type: map32 - label: "Read the global attribute: AttributeList" - PICS: TGTNAV.S.A0001 command: "readAttribute" attribute: "AttributeList" response: constraints: type: list - contains: [0, 1, 65528, 65529, 65531, 65532, 65533] + contains: [0, 65528, 65529, 65531, 65532, 65533] - - label: "Read the global attribute: AttributeList" - PICS: " !TGTNAV.S.A0001 " + - label: "Read the optional attribute(CurrentTarget) in AttributeList" + PICS: TGTNAV.S.A0001 command: "readAttribute" attribute: "AttributeList" response: constraints: type: list - contains: [0, 65528, 65529, 65531, 65532, 65533] + contains: [1] - label: "Read the global attribute: AcceptedCommandList" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_TGTNAV_8_1.yaml b/src/app/tests/suites/certification/Test_TC_TGTNAV_8_1.yaml index a58b42e1735c7d..e6cebc4d550dc2 100644 --- a/src/app/tests/suites/certification/Test_TC_TGTNAV_8_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TGTNAV_8_1.yaml @@ -62,7 +62,7 @@ tests: value: targetvalue1 - label: "Reads the CurrentTarget attribute" - PICS: TGTNAV.S.A0001 + PICS: TGTNAV.S.A0001 && TGTNAV.S.C0000 command: "readAttribute" attribute: "CurrentTarget" response: diff --git a/src/app/tests/suites/certification/Test_TC_TMP_1_1.yaml b/src/app/tests/suites/certification/Test_TC_TMP_1_1.yaml index bcc8ce2b45645f..541d2fc3f3a233 100644 --- a/src/app/tests/suites/certification/Test_TC_TMP_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TMP_1_1.yaml @@ -45,27 +45,27 @@ tests: type: map32 - label: "Read the global attribute: AttributeList" - PICS: TMP.S.A0003 command: "readAttribute" attribute: "AttributeList" response: constraints: type: list - contains: [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533] + contains: [0, 1, 2, 65528, 65529, 65531, 65532, 65533] - - label: "Read the global attribute: AttributeList" - PICS: " !TMP.S.A0003 " + - label: "Read the optional attribute(Tolerance) in AttributeList" + PICS: TMP.S.A0003 command: "readAttribute" attribute: "AttributeList" response: constraints: type: list - contains: [0, 1, 2, 65528, 65529, 65531, 65532, 65533] + contains: [3] - label: "Read AcceptedCommandList attribute from the DUT" command: "readAttribute" attribute: "AcceptedCommandList" response: + value: [] constraints: type: list diff --git a/src/app/tests/suites/certification/Test_TC_TMP_2_1.yaml b/src/app/tests/suites/certification/Test_TC_TMP_2_1.yaml index 4b0018e94e38df..6f724f1a2ce0be 100644 --- a/src/app/tests/suites/certification/Test_TC_TMP_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TMP_2_1.yaml @@ -28,7 +28,7 @@ tests: - name: "nodeId" value: nodeId - - label: "read the mandatory attribute: MeasuredValue" + - label: "Read the mandatory attribute: MeasuredValue" PICS: TMP.S.A0000 command: "readAttribute" attribute: "MeasuredValue" @@ -38,7 +38,7 @@ tests: minValue: -27315 maxValue: 32767 - - label: "read the mandatory attribute: MinMeasuredValue" + - label: "Read the mandatory attribute: MinMeasuredValue" PICS: TMP.S.A0001 command: "readAttribute" attribute: "MinMeasuredValue" @@ -48,7 +48,7 @@ tests: minValue: -27315 maxValue: 32767 - - label: "read the mandatory attribute: MaxMeasuredValue" + - label: "Read the mandatory attribute: MaxMeasuredValue" PICS: TMP.S.A0002 command: "readAttribute" attribute: "MaxMeasuredValue" @@ -58,7 +58,7 @@ tests: minValue: -27314 maxValue: 32767 - - label: "read the optional attribute: Tolerance" + - label: "Read the optional attribute: Tolerance" PICS: TMP.S.A0003 command: "readAttribute" attribute: "Tolerance" diff --git a/src/app/tests/suites/certification/Test_TC_TMP_2_2.yaml b/src/app/tests/suites/certification/Test_TC_TMP_2_2.yaml index c0ee0370643242..6f3613bf9c8e19 100644 --- a/src/app/tests/suites/certification/Test_TC_TMP_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_TMP_2_2.yaml @@ -28,7 +28,7 @@ tests: - name: "nodeId" value: nodeId - - label: "read the mandatory attribute: MinMeasuredValue" + - label: "Read the mandatory attribute: MinMeasuredValue" PICS: TMP.S.A0001 command: "readAttribute" attribute: "MinMeasuredValue" @@ -38,7 +38,7 @@ tests: minValue: -27315 maxValue: 32766 - - label: "read the mandatory attribute: MaxMeasuredValue" + - label: "Read the mandatory attribute: MaxMeasuredValue" PICS: TMP.S.A0002 command: "readAttribute" attribute: "MaxMeasuredValue" @@ -73,7 +73,7 @@ tests: - label: "Read the mandatory attribute: MeasuredValue" command: "readAttribute" attribute: "MeasuredValue" - PICS: TMP.S.A0000 + PICS: TMP.S.A0000 && TMP.M.ManuallyControlled response: constraints: type: uint16 diff --git a/src/app/tests/suites/certification/Test_TC_TSUIC_2_2.yaml b/src/app/tests/suites/certification/Test_TC_TSUIC_2_2.yaml index bd11c9f5e0fd53..720b53de9e8c8e 100644 --- a/src/app/tests/suites/certification/Test_TC_TSUIC_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_TSUIC_2_2.yaml @@ -38,7 +38,7 @@ tests: - label: "Verify device temperature displayed in °C" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && TSUIC.S.A0000 arguments: values: - name: "message" @@ -63,7 +63,7 @@ tests: - label: "Verify device temperature displayed in °F" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && TSUIC.S.A0000 arguments: values: - name: "message" @@ -106,7 +106,7 @@ tests: - label: "Verify all device functionality available to the user" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && TSUIC.S.A0001 arguments: values: - name: "message" @@ -131,7 +131,7 @@ tests: - label: "Verify device operates at Level 1 reduced functionality" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && TSUIC.S.A0001 arguments: values: - name: "message" @@ -156,7 +156,7 @@ tests: - label: "Verify device operates at Level 2 reduced functionality" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && TSUIC.S.A0001 arguments: values: - name: "message" @@ -181,7 +181,7 @@ tests: - label: "Verify device operates at Level 3 reduced functionality" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && TSUIC.S.A0001 arguments: values: - name: "message" @@ -206,7 +206,7 @@ tests: - label: "Verify device operates at Level 4 reduced functionality" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && TSUIC.S.A0001 arguments: values: - name: "message" @@ -231,7 +231,7 @@ tests: - label: "Verify device operates at least functionality level" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && TSUIC.S.A0001 arguments: values: - name: "message" @@ -265,7 +265,7 @@ tests: - label: "Writes a value of 0 to ScheduleProgrammingVisibility attribute of DUT" - PICS: TSUIC.S.A0001 + PICS: TSUIC.S.A0002 command: "writeAttribute" attribute: "schedule programming visibility" arguments: @@ -276,7 +276,7 @@ tests: thermostat" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && TSUIC.S.A0002 arguments: values: - name: "message" @@ -304,7 +304,7 @@ tests: thermostat" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT + PICS: PICS_USER_PROMPT && TSUIC.S.A0002 arguments: values: - name: "message" diff --git a/src/app/tests/suites/certification/Test_TC_TSUIC_3_1.yaml b/src/app/tests/suites/certification/Test_TC_TSUIC_3_1.yaml index cbaad5712e4885..e2baf5004b94a0 100644 --- a/src/app/tests/suites/certification/Test_TC_TSUIC_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TSUIC_3_1.yaml @@ -25,76 +25,64 @@ tests: "DUT reads all supported mandatory attributes from TH one at a time in a manufacturer specific order" verification: | - ./chip-tool thermostatuserinterfaceconfiguration read temperature-display-mode 12345 1 - - - Verify in TH all-clusters-app Log: - - [1650966000.959191][11186:11191] CHIP:DMG: ReportDataMessage = - [1650966000.959287][11186:11191] CHIP:DMG: { - [1650966000.959338][11186:11191] CHIP:DMG: AttributeReportIBs = - [1650966000.959390][11186:11191] CHIP:DMG: [ - [1650966000.959430][11186:11191] CHIP:DMG: AttributeReportIB = - [1650966000.959504][11186:11191] CHIP:DMG: { - [1650966000.959548][11186:11191] CHIP:DMG: AttributeDataIB = - [1650966000.959613][11186:11191] CHIP:DMG: { - [1650966000.959682][11186:11191] CHIP:DMG: DataVersion = 0x90d9261a, - [1650966000.959736][11186:11191] CHIP:DMG: AttributePathIB = - [1650966000.959803][11186:11191] CHIP:DMG: { - [1650966000.959861][11186:11191] CHIP:DMG: Endpoint = 0x1, - [1650966000.959934][11186:11191] CHIP:DMG: Cluster = 0x204, - [1650966000.960001][11186:11191] CHIP:DMG: Attribute = 0x0000_0000, - [1650966000.960055][11186:11191] CHIP:DMG: } - [1650966000.960128][11186:11191] CHIP:DMG: - [1650966000.960191][11186:11191] CHIP:DMG: Data = 0, - [1650966000.960259][11186:11191] CHIP:DMG: }, - [1650966000.960328][11186:11191] CHIP:DMG: - [1650966000.960374][11186:11191] CHIP:DMG: }, - [1650966000.960441][11186:11191] CHIP:DMG: - [1650966000.960481][11186:11191] CHIP:DMG: ], - [1650966000.960545][11186:11191] CHIP:DMG: - [1650966000.960588][11186:11191] CHIP:DMG: SuppressResponse = true, - [1650966000.960645][11186:11191] CHIP:DMG: InteractionModelRevision = 1 - [1650966000.960684][11186:11191] CHIP:DMG: } - [1650966000.960934][11186:11191] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_0000 DataVersion: 2430150170 - [1650966000.961031][11186:11191] CHIP:TOO: temperature display mode: 0 - - - - - ./chip-tool thermostatuserinterfaceconfiguration read keypad-lockout 12345 1 - - Verify in TH all-clusters-app Log: - - - [1650966035.736227][11195:11200] CHIP:DMG: ReportDataMessage = - [1650966035.736277][11195:11200] CHIP:DMG: { - [1650966035.736317][11195:11200] CHIP:DMG: AttributeReportIBs = - [1650966035.736374][11195:11200] CHIP:DMG: [ - [1650966035.736419][11195:11200] CHIP:DMG: AttributeReportIB = - [1650966035.736484][11195:11200] CHIP:DMG: { - [1650966035.736532][11195:11200] CHIP:DMG: AttributeDataIB = - [1650966035.736589][11195:11200] CHIP:DMG: { - [1650966035.736649][11195:11200] CHIP:DMG: DataVersion = 0x90d9261a, - [1650966035.736708][11195:11200] CHIP:DMG: AttributePathIB = - [1650966035.736770][11195:11200] CHIP:DMG: { - [1650966035.736832][11195:11200] CHIP:DMG: Endpoint = 0x1, - [1650966035.736892][11195:11200] CHIP:DMG: Cluster = 0x204, - [1650966035.736962][11195:11200] CHIP:DMG: Attribute = 0x0000_0001, - [1650966035.737028][11195:11200] CHIP:DMG: } - [1650966035.737092][11195:11200] CHIP:DMG: - [1650966035.737155][11195:11200] CHIP:DMG: Data = 0, - [1650966035.737216][11195:11200] CHIP:DMG: }, - [1650966035.737279][11195:11200] CHIP:DMG: - [1650966035.737328][11195:11200] CHIP:DMG: }, - [1650966035.737387][11195:11200] CHIP:DMG: - [1650966035.737431][11195:11200] CHIP:DMG: ], - [1650966035.737486][11195:11200] CHIP:DMG: - [1650966035.737532][11195:11200] CHIP:DMG: SuppressResponse = true, - [1650966035.737579][11195:11200] CHIP:DMG: InteractionModelRevision = 1 - [1650966035.737622][11195:11200] CHIP:DMG: } - [1650966035.737848][11195:11200] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_0001 DataVersion: 2430150170 - [1650966035.737952][11195:11200] CHIP:TOO: keypad lockout: 0" + ./chip-tool thermostatuserinterfaceconfiguration read temperature-display-mode 1 1 + verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command + [1658142864.198892][13946:13946] CHIP:IM: Received Read request + [1658142864.198979][13946:13946] CHIP:DMG: ReadRequestMessage = + [1658142864.199008][13946:13946] CHIP:DMG: { + [1658142864.199032][13946:13946] CHIP:DMG: AttributePathIBs = + [1658142864.199059][13946:13946] CHIP:DMG: [ + [1658142864.199085][13946:13946] CHIP:DMG: AttributePathIB = + [1658142864.199114][13946:13946] CHIP:DMG: { + [1658142864.199144][13946:13946] CHIP:DMG: Endpoint = 0x1, + [1658142864.199181][13946:13946] CHIP:DMG: Cluster = 0x204, + [1658142864.199221][13946:13946] CHIP:DMG: Attribute = 0x0000_0000, + [1658142864.199253][13946:13946] CHIP:DMG: } + [1658142864.199284][13946:13946] CHIP:DMG: + [1658142864.199311][13946:13946] CHIP:DMG: ], + [1658142864.199341][13946:13946] CHIP:DMG: + [1658142864.199369][13946:13946] CHIP:DMG: isFabricFiltered = true, + [1658142864.199396][13946:13946] CHIP:DMG: InteractionModelRevision = 1 + [1658142864.199421][13946:13946] CHIP:DMG: }, + [1658142864.199502][13946:13946] CHIP:DMG: IM RH moving to [GeneratingReports] + + On DUT as a client side, verify that TH all-clusters-app sent temperature display mode attribute value + [1658142864.203659][8868:8873] CHIP:DMG: } + [1658142864.203865][8868:8873] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_0000 DataVersion: 682086754 + [1658142864.203966][8868:8873] CHIP:TOO: temperature display mode: 0 + [1658142864.204082][8868:8873] CHIP:EM: Sending Standalone Ack for MessageCounter:26677540 on exchange 12305i + + + + + + ./chip-tool thermostatuserinterfaceconfiguration read keypad-lockout 1 1 + verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command + [1658142905.390042][13946:13946] CHIP:IM: Received Read request + [1658142905.390148][13946:13946] CHIP:DMG: ReadRequestMessage = + [1658142905.390177][13946:13946] CHIP:DMG: { + [1658142905.390199][13946:13946] CHIP:DMG: AttributePathIBs = + [1658142905.390225][13946:13946] CHIP:DMG: [ + [1658142905.390249][13946:13946] CHIP:DMG: AttributePathIB = + [1658142905.390276][13946:13946] CHIP:DMG: { + [1658142905.390304][13946:13946] CHIP:DMG: Endpoint = 0x1, + [1658142905.390335][13946:13946] CHIP:DMG: Cluster = 0x204, + [1658142905.390370][13946:13946] CHIP:DMG: Attribute = 0x0000_0001, + [1658142905.390400][13946:13946] CHIP:DMG: } + [1658142905.390430][13946:13946] CHIP:DMG: + [1658142905.390455][13946:13946] CHIP:DMG: ], + [1658142905.390483][13946:13946] CHIP:DMG: + [1658142905.390509][13946:13946] CHIP:DMG: isFabricFiltered = true, + [1658142905.390534][13946:13946] CHIP:DMG: InteractionModelRevision = 1 + [1658142905.390557][13946:13946] CHIP:DMG: }, + [1658142905.390634][13946:13946] CHIP:DMG: IM RH moving to [GeneratingReports] + [1658142905.390718][13946:13946] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + + On DUT as a client side, verify that TH all-clusters-app sent keypad lockout attribute value + [1658142905.393178][8876:8881] CHIP:DMG: } + [1658142905.393364][8876:8881] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_0001 DataVersion: 682086754 + [1658142905.393454][8876:8881] CHIP:TOO: keypad lockout: 0 + [1658142905.393558][8876:8881] CHIP:EM: Sending Standalone Ack for MessageCounter:118574768 on exchange 20562i disabled: true - label: @@ -102,88 +90,107 @@ tests: a manufacturer specific order" verification: | ./chip-tool thermostatuserinterfaceconfiguration read schedule-programming-visibility 1 1 - - Verify in TH all-clusters-app Log: - [1654689278.722504][8215:8215] CHIP:DMG: ReadRequestMessage = - [1654689278.722531][8215:8215] CHIP:DMG: { - [1654689278.722552][8215:8215] CHIP:DMG: AttributePathIBs = - [1654689278.722578][8215:8215] CHIP:DMG: [ - [1654689278.722602][8215:8215] CHIP:DMG: AttributePathIB = - [1654689278.722638][8215:8215] CHIP:DMG: { - [1654689278.722667][8215:8215] CHIP:DMG: Endpoint = 0x1, - [1654689278.722703][8215:8215] CHIP:DMG: Cluster = 0x204, - [1654689278.722739][8215:8215] CHIP:DMG: Attribute = 0x0000_0002, - [1654689278.722766][8215:8215] CHIP:DMG: } - [1654689278.722792][8215:8215] CHIP:DMG: - [1654689278.722814][8215:8215] CHIP:DMG: ], - [1654689278.722843][8215:8215] CHIP:DMG: - [1654689278.722870][8215:8215] CHIP:DMG: isFabricFiltered = true, - [1654689278.722895][8215:8215] CHIP:DMG: InteractionModelRevision = 1 - [1654689278.722919][8215:8215] CHIP:DMG: }, - [1654689278.723033][8215:8215] CHIP:DMG: IM RH moving to [GeneratingReports] - [1654689278.723134][8215:8215] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command + [1658143293.502829][13946:13946] CHIP:EM: Handling via exchange: 655r, Delegate: 0xaaaad3403ed0 + [1658143293.502867][13946:13946] CHIP:IM: Received Read request + [1658143293.502943][13946:13946] CHIP:DMG: ReadRequestMessage = + [1658143293.502969][13946:13946] CHIP:DMG: { + [1658143293.503018][13946:13946] CHIP:DMG: AttributePathIBs = + [1658143293.503046][13946:13946] CHIP:DMG: [ + [1658143293.503069][13946:13946] CHIP:DMG: AttributePathIB = + [1658143293.503097][13946:13946] CHIP:DMG: { + [1658143293.503125][13946:13946] CHIP:DMG: Endpoint = 0x1, + [1658143293.503159][13946:13946] CHIP:DMG: Cluster = 0x204, + [1658143293.503190][13946:13946] CHIP:DMG: Attribute = 0x0000_0002, + [1658143293.503218][13946:13946] CHIP:DMG: } + [1658143293.503248][13946:13946] CHIP:DMG: + [1658143293.503273][13946:13946] CHIP:DMG: ], + [1658143293.503300][13946:13946] CHIP:DMG: + [1658143293.503326][13946:13946] CHIP:DMG: isFabricFiltered = true, + [1658143293.503351][13946:13946] CHIP:DMG: InteractionModelRevision = 1 + [1658143293.503374][13946:13946] CHIP:DMG: }, + [1658143293.503450][13946:13946] CHIP:DMG: IM RH moving to [GeneratingReports] + + On DUT as a client side, verify that TH all-clusters-app sent schedule programming visibility attribute value + [1658143293.447125][8901:8906] CHIP:DMG: } + [1658143293.447279][8901:8906] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_0002 DataVersion: 682086754 + [1658143293.447352][8901:8906] CHIP:TOO: schedule programming visibility: 0 + [1658143293.447431][8901:8906] CHIP:EM: Sending Standalone Ack for MessageCounter:142018492 on exchange 655i disabled: true - label: "DUT writes a suitable value to all supported mandatory attributes on the TH one at a time in a manufacturer specific order" verification: | - ./chip-tool thermostatuserinterfaceconfiguration write temperature-display-mode 1 1 1 - - Verify in TH all-clusters-app Log: - [1649674212.150303][2241:2241] CHIP:DMG: WriteRequestMessage = - [1649674212.150341][2241:2241] CHIP:DMG: { - [1649674212.150375][2241:2241] CHIP:DMG: suppressResponse = false, - [1649674212.150414][2241:2241] CHIP:DMG: timedRequest = false, - [1649674212.150464][2241:2241] CHIP:DMG: AttributeDataIBs = - [1649674212.150509][2241:2241] CHIP:DMG: [ - [1649674212.150558][2241:2241] CHIP:DMG: AttributeDataIB = - [1649674212.150616][2241:2241] CHIP:DMG: { - [1649674212.150656][2241:2241] CHIP:DMG: AttributePathIB = - [1649674212.150714][2241:2241] CHIP:DMG: { - [1649674212.150766][2241:2241] CHIP:DMG: Endpoint = 0x1, - [1649674212.150830][2241:2241] CHIP:DMG: Cluster = 0x204, - [1649674212.150893][2241:2241] CHIP:DMG: Attribute = 0x0000_0000, - [1649674212.150945][2241:2241] CHIP:DMG: } - [1649674212.151007][2241:2241] CHIP:DMG: - [1649674212.151057][2241:2241] CHIP:DMG: Data = 1, - [1649674212.151114][2241:2241] CHIP:DMG: }, - [1649674212.151199][2241:2241] CHIP:DMG: - [1649674212.151239][2241:2241] CHIP:DMG: ], - [1649674212.151284][2241:2241] CHIP:DMG: - [1649674212.151333][2241:2241] CHIP:DMG: moreChunkedMessages = false, - [1649674212.151371][2241:2241] CHIP:DMG: InteractionModelRevision = 1 - [1649674212.151417][2241:2241] CHIP:DMG: }, - - - ./chip-tool thermostatuserinterfaceconfiguration write keypad-lockout 1 1 1 - - - Verify in TH all-clusters-app Log: - [1649674352.430976][2241:2241] CHIP:DMG: WriteRequestMessage = - [1649674352.431028][2241:2241] CHIP:DMG: { - [1649674352.431064][2241:2241] CHIP:DMG: suppressResponse = false, - [1649674352.431116][2241:2241] CHIP:DMG: timedRequest = false, - [1649674352.431153][2241:2241] CHIP:DMG: AttributeDataIBs = - [1649674352.431227][2241:2241] CHIP:DMG: [ - [1649674352.431277][2241:2241] CHIP:DMG: AttributeDataIB = - [1649674352.431342][2241:2241] CHIP:DMG: { - [1649674352.431382][2241:2241] CHIP:DMG: AttributePathIB = - [1649674352.431440][2241:2241] CHIP:DMG: { - [1649674352.431491][2241:2241] CHIP:DMG: Endpoint = 0x1, - [1649674352.431555][2241:2241] CHIP:DMG: Cluster = 0x204, - [1649674352.431618][2241:2241] CHIP:DMG: Attribute = 0x0000_0001, - [1649674352.431665][2241:2241] CHIP:DMG: } - [1649674352.431728][2241:2241] CHIP:DMG: - [1649674352.431778][2241:2241] CHIP:DMG: Data = 1, - [1649674352.431823][2241:2241] CHIP:DMG: }, - [1649674352.431883][2241:2241] CHIP:DMG: - [1649674352.431919][2241:2241] CHIP:DMG: ], - [1649674352.431975][2241:2241] CHIP:DMG: - [1649674352.432012][2241:2241] CHIP:DMG: moreChunkedMessages = false, - [1649674352.432062][2241:2241] CHIP:DMG: InteractionModelRevision = 1 - [1649674352.432097][2241:2241] CHIP:DMG: }, + verify On TH(Reference app) receives the right write Request Message for the data sent in the above command + [1658143515.699171][13946:13946] CHIP:DMG: WriteRequestMessage = + [1658143515.699197][13946:13946] CHIP:DMG: { + [1658143515.699221][13946:13946] CHIP:DMG: suppressResponse = false, + [1658143515.699248][13946:13946] CHIP:DMG: timedRequest = false, + [1658143515.699272][13946:13946] CHIP:DMG: AttributeDataIBs = + [1658143515.699302][13946:13946] CHIP:DMG: [ + [1658143515.699326][13946:13946] CHIP:DMG: AttributeDataIB = + [1658143515.699362][13946:13946] CHIP:DMG: { + [1658143515.699388][13946:13946] CHIP:DMG: AttributePathIB = + [1658143515.699419][13946:13946] CHIP:DMG: { + [1658143515.699451][13946:13946] CHIP:DMG: Endpoint = 0x1, + [1658143515.699484][13946:13946] CHIP:DMG: Cluster = 0x204, + [1658143515.699514][13946:13946] CHIP:DMG: Attribute = 0x0000_0001, + [1658143515.699544][13946:13946] CHIP:DMG: } + [1658143515.699577][13946:13946] CHIP:DMG: + [1658143515.699609][13946:13946] CHIP:DMG: Data = 1, + [1658143515.699638][13946:13946] CHIP:DMG: }, + [1658143515.699667][13946:13946] CHIP:DMG: + [1658143515.699690][13946:13946] CHIP:DMG: ], + [1658143515.699719][13946:13946] CHIP:DMG: + [1658143515.699743][13946:13946] CHIP:DMG: moreChunkedMessages = false, + [1658143515.699768][13946:13946] CHIP:DMG: InteractionModelRevision = 1 + [1658143515.699792][13946:13946] CHIP:DMG: }, + [1658143515.699876][13946:13946] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0204 e=1 p=m + + On DUT as a client side, verify that TH all-clusters-app sent success response + [1658143515.619630][8919:8924] CHIP:DMG: StatusIB = + [1658143515.619669][8919:8924] CHIP:DMG: { + [1658143515.619707][8919:8924] CHIP:DMG: status = 0x00 (SUCCESS), + [1658143515.619747][8919:8924] CHIP:DMG: }, + + + + + ./chip-tool thermostatuserinterfaceconfiguration write keypad-lockout 1 1 1 + verify On TH(Reference app) receives the right write Request Message for the data sent in the above command + [1658143708.436060][13946:13946] CHIP:DMG: WriteRequestMessage = + [1658143708.436090][13946:13946] CHIP:DMG: { + [1658143708.436115][13946:13946] CHIP:DMG: suppressResponse = false, + [1658143708.436148][13946:13946] CHIP:DMG: timedRequest = false, + [1658143708.436176][13946:13946] CHIP:DMG: AttributeDataIBs = + [1658143708.436210][13946:13946] CHIP:DMG: [ + [1658143708.436238][13946:13946] CHIP:DMG: AttributeDataIB = + [1658143708.436269][13946:13946] CHIP:DMG: { + [1658143708.436295][13946:13946] CHIP:DMG: AttributePathIB = + [1658143708.436330][13946:13946] CHIP:DMG: { + [1658143708.436368][13946:13946] CHIP:DMG: Endpoint = 0x1, + [1658143708.436406][13946:13946] CHIP:DMG: Cluster = 0x204, + [1658143708.436444][13946:13946] CHIP:DMG: Attribute = 0x0000_0001, + [1658143708.436483][13946:13946] CHIP:DMG: } + [1658143708.436520][13946:13946] CHIP:DMG: + [1658143708.436561][13946:13946] CHIP:DMG: Data = 1, + [1658143708.436592][13946:13946] CHIP:DMG: }, + [1658143708.436627][13946:13946] CHIP:DMG: + [1658143708.436654][13946:13946] CHIP:DMG: ], + [1658143708.436686][13946:13946] CHIP:DMG: + [1658143708.436714][13946:13946] CHIP:DMG: moreChunkedMessages = false, + [1658143708.436743][13946:13946] CHIP:DMG: InteractionModelRevision = 1 + [1658143708.436770][13946:13946] CHIP:DMG: }, + [1658143708.436862][13946:13946] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0204 e=1 p=m + [1658143708.436903][13946:13946] CHIP:DMG: AccessControl: allowed + + On DUT as a client side, verify that TH all-clusters-app sent success response + [1658143708.341102][8933:8938] CHIP:DMG: StatusIB = + [1658143708.341156][8933:8938] CHIP:DMG: { + [1658143708.341211][8933:8938] CHIP:DMG: status = 0x00 (SUCCESS), + [1658143708.341257][8933:8938] CHIP:DMG: }, disabled: true - label: @@ -191,20 +198,40 @@ tests: the TH one at a time in a manufacturer specific order" verification: | ./chip-tool thermostatuserinterfaceconfiguration write schedule-programming-visibility 1 1 1 - - - Verify in TH all-clusters-app Log: - [1649673609.998586][2338:2344] CHIP:DMG: AttributePathIB = - [1649673609.998644][2338:2344] CHIP:DMG: { - [1649673609.998690][2338:2344] CHIP:DMG: Endpoint = 0x1, - [1649673609.998748][2338:2344] CHIP:DMG: Cluster = 0x204, - [1649673609.998805][2338:2344] CHIP:DMG: Attribute = 0x0000_0002, - [1649673609.998844][2338:2344] CHIP:DMG: } - [1649673609.998902][2338:2344] CHIP:DMG: - [1649673609.998945][2338:2344] CHIP:DMG: StatusIB = - [1649673609.999000][2338:2344] CHIP:DMG: { - [1649673609.999057][2338:2344] CHIP:DMG: status = 0x00 (SUCCESS), - [1649673609.999101][2338:2344] CHIP:DMG: }, + verify On TH(Reference app) receives the right write Request Message for the data sent in the above command + [1658143828.619738][13946:13946] CHIP:DMG: WriteRequestMessage = + [1658143828.619764][13946:13946] CHIP:DMG: { + [1658143828.619787][13946:13946] CHIP:DMG: suppressResponse = false, + [1658143828.619814][13946:13946] CHIP:DMG: timedRequest = false, + [1658143828.619838][13946:13946] CHIP:DMG: AttributeDataIBs = + [1658143828.619867][13946:13946] CHIP:DMG: [ + [1658143828.619891][13946:13946] CHIP:DMG: AttributeDataIB = + [1658143828.619919][13946:13946] CHIP:DMG: { + [1658143828.619944][13946:13946] CHIP:DMG: AttributePathIB = + [1658143828.619980][13946:13946] CHIP:DMG: { + [1658143828.620011][13946:13946] CHIP:DMG: Endpoint = 0x1, + [1658143828.620045][13946:13946] CHIP:DMG: Cluster = 0x204, + [1658143828.620078][13946:13946] CHIP:DMG: Attribute = 0x0000_0002, + [1658143828.620108][13946:13946] CHIP:DMG: } + [1658143828.620140][13946:13946] CHIP:DMG: + [1658143828.620172][13946:13946] CHIP:DMG: Data = 1, + [1658143828.620200][13946:13946] CHIP:DMG: }, + [1658143828.620228][13946:13946] CHIP:DMG: + [1658143828.620252][13946:13946] CHIP:DMG: ], + [1658143828.620280][13946:13946] CHIP:DMG: + [1658143828.620305][13946:13946] CHIP:DMG: moreChunkedMessages = false, + [1658143828.620330][13946:13946] CHIP:DMG: InteractionModelRevision = 1 + [1658143828.620353][13946:13946] CHIP:DMG: }, + [1658143828.620434][13946:13946] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0204 e=1 p=m + + + On DUT as a client side, verify that TH all-clusters-app sent success response + [1658143828.519585][8944:8949] CHIP:DMG: + [1658143828.519632][8944:8949] CHIP:DMG: StatusIB = + [1658143828.519683][8944:8949] CHIP:DMG: { + [1658143828.519734][8944:8949] CHIP:DMG: status = 0x00 (SUCCESS), + [1658143828.519784][8944:8949] CHIP:DMG: }, + [1658143828.519834][8944:8949] CHIP:DMG: disabled: true - label: @@ -213,73 +240,64 @@ tests: also reflects this in global attributes such as FeatureMap and AttributeList. Commission DUT to TH again" verification: | - ./chip-tool thermostatuserinterfaceconfiguration read attribute-list 1 1 - - - Verify in TH all-clusters-minimal-app Log: - [1654248197885] [91899:4015040] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_FFFB DataVersion: 2039959817 - [1654248197885] [91899:4015040] CHIP: [TOO] AttributeList: 7 entries - [1654248197885] [91899:4015040] CHIP: [TOO] [1]: 0 - [1654248197885] [91899:4015040] CHIP: [TOO] [2]: 1 - [1654248197885] [91899:4015040] CHIP: [TOO] [3]: 65528 - [1654248197885] [91899:4015040] CHIP: [TOO] [4]: 65529 - [1654248197885] [91899:4015040] CHIP: [TOO] [5]: 65531 - [1654248197885] [91899:4015040] CHIP: [TOO] [6]: 65532 - [1654248197885] [91899:4015040] CHIP: [TOO] [7]: 65533 - - - ./chip-tool thermostatuserinterfaceconfiguration write temperature-display-mode 1 1 1 - Verify in TH all-clusters-minimal-app Log: - [1649674212.150303][2241:2241] CHIP:DMG: WriteRequestMessage = - [1649674212.150341][2241:2241] CHIP:DMG: { - [1649674212.150375][2241:2241] CHIP:DMG: suppressResponse = false, - [1649674212.150414][2241:2241] CHIP:DMG: timedRequest = false, - [1649674212.150464][2241:2241] CHIP:DMG: AttributeDataIBs = - [1649674212.150509][2241:2241] CHIP:DMG: [ - [1649674212.150558][2241:2241] CHIP:DMG: AttributeDataIB = - [1649674212.150616][2241:2241] CHIP:DMG: { - [1649674212.150656][2241:2241] CHIP:DMG: AttributePathIB = - [1649674212.150714][2241:2241] CHIP:DMG: { - [1649674212.150766][2241:2241] CHIP:DMG: Endpoint = 0x1, - [1649674212.150830][2241:2241] CHIP:DMG: Cluster = 0x204, - [1649674212.150893][2241:2241] CHIP:DMG: Attribute = 0x0000_0000, - [1649674212.150945][2241:2241] CHIP:DMG: } - [1649674212.151007][2241:2241] CHIP:DMG: - [1649674212.151057][2241:2241] CHIP:DMG: Data = 1, - [1649674212.151114][2241:2241] CHIP:DMG: }, - [1649674212.151199][2241:2241] CHIP:DMG: - [1649674212.151239][2241:2241] CHIP:DMG: ], - [1649674212.151284][2241:2241] CHIP:DMG: - [1649674212.151333][2241:2241] CHIP:DMG: moreChunkedMessages = false, - [1649674212.151371][2241:2241] CHIP:DMG: InteractionModelRevision = 1 - [1649674212.151417][2241:2241] CHIP:DMG: }, - - - ./chip-tool thermostatuserinterfaceconfiguration write keypad-lockout 1 1 1 - Verify in TH all-clusters-minimal-app Log: - [1649674352.430976][2241:2241] CHIP:DMG: WriteRequestMessage = - [1649674352.431028][2241:2241] CHIP:DMG: { - [1649674352.431064][2241:2241] CHIP:DMG: suppressResponse = false, - [1649674352.431116][2241:2241] CHIP:DMG: timedRequest = false, - [1649674352.431153][2241:2241] CHIP:DMG: AttributeDataIBs = - [1649674352.431227][2241:2241] CHIP:DMG: [ - [1649674352.431277][2241:2241] CHIP:DMG: AttributeDataIB = - [1649674352.431342][2241:2241] CHIP:DMG: { - [1649674352.431382][2241:2241] CHIP:DMG: AttributePathIB = - [1649674352.431440][2241:2241] CHIP:DMG: { - [1649674352.431491][2241:2241] CHIP:DMG: Endpoint = 0x1, - [1649674352.431555][2241:2241] CHIP:DMG: Cluster = 0x204, - [1649674352.431618][2241:2241] CHIP:DMG: Attribute = 0x0000_0001, - [1649674352.431665][2241:2241] CHIP:DMG: } - [1649674352.431728][2241:2241] CHIP:DMG: - [1649674352.431778][2241:2241] CHIP:DMG: Data = 1, - [1649674352.431823][2241:2241] CHIP:DMG: }, - [1649674352.431883][2241:2241] CHIP:DMG: - [1649674352.431919][2241:2241] CHIP:DMG: ], - [1649674352.431975][2241:2241] CHIP:DMG: - [1649674352.432012][2241:2241] CHIP:DMG: moreChunkedMessages = false, - [1649674352.432062][2241:2241] CHIP:DMG: InteractionModelRevision = 1 - [1649674352.432097][2241:2241] CHIP:DMG: }," + ./chip-tool thermostatuserinterfaceconfiguration read temperature-display-mode 1 1 + verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command + [1658142864.198892][13946:13946] CHIP:IM: Received Read request + [1658142864.198979][13946:13946] CHIP:DMG: ReadRequestMessage = + [1658142864.199008][13946:13946] CHIP:DMG: { + [1658142864.199032][13946:13946] CHIP:DMG: AttributePathIBs = + [1658142864.199059][13946:13946] CHIP:DMG: [ + [1658142864.199085][13946:13946] CHIP:DMG: AttributePathIB = + [1658142864.199114][13946:13946] CHIP:DMG: { + [1658142864.199144][13946:13946] CHIP:DMG: Endpoint = 0x1, + [1658142864.199181][13946:13946] CHIP:DMG: Cluster = 0x204, + [1658142864.199221][13946:13946] CHIP:DMG: Attribute = 0x0000_0000, + [1658142864.199253][13946:13946] CHIP:DMG: } + [1658142864.199284][13946:13946] CHIP:DMG: + [1658142864.199311][13946:13946] CHIP:DMG: ], + [1658142864.199341][13946:13946] CHIP:DMG: + [1658142864.199369][13946:13946] CHIP:DMG: isFabricFiltered = true, + [1658142864.199396][13946:13946] CHIP:DMG: InteractionModelRevision = 1 + [1658142864.199421][13946:13946] CHIP:DMG: }, + [1658142864.199502][13946:13946] CHIP:DMG: IM RH moving to [GeneratingReports] + + On DUT as a client side, verify that TH all-clusters-app sent temperature display mode attribute value + [1658142864.203659][8868:8873] CHIP:DMG: } + [1658142864.203865][8868:8873] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_0000 DataVersion: 682086754 + [1658142864.203966][8868:8873] CHIP:TOO: temperature display mode: 0 + [1658142864.204082][8868:8873] CHIP:EM: Sending Standalone Ack for MessageCounter:26677540 on exchange 12305i + + + + + + ./chip-tool thermostatuserinterfaceconfiguration read keypad-lockout 1 1 + verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command + [1658142905.390042][13946:13946] CHIP:IM: Received Read request + [1658142905.390148][13946:13946] CHIP:DMG: ReadRequestMessage = + [1658142905.390177][13946:13946] CHIP:DMG: { + [1658142905.390199][13946:13946] CHIP:DMG: AttributePathIBs = + [1658142905.390225][13946:13946] CHIP:DMG: [ + [1658142905.390249][13946:13946] CHIP:DMG: AttributePathIB = + [1658142905.390276][13946:13946] CHIP:DMG: { + [1658142905.390304][13946:13946] CHIP:DMG: Endpoint = 0x1, + [1658142905.390335][13946:13946] CHIP:DMG: Cluster = 0x204, + [1658142905.390370][13946:13946] CHIP:DMG: Attribute = 0x0000_0001, + [1658142905.390400][13946:13946] CHIP:DMG: } + [1658142905.390430][13946:13946] CHIP:DMG: + [1658142905.390455][13946:13946] CHIP:DMG: ], + [1658142905.390483][13946:13946] CHIP:DMG: + [1658142905.390509][13946:13946] CHIP:DMG: isFabricFiltered = true, + [1658142905.390534][13946:13946] CHIP:DMG: InteractionModelRevision = 1 + [1658142905.390557][13946:13946] CHIP:DMG: }, + [1658142905.390634][13946:13946] CHIP:DMG: IM RH moving to [GeneratingReports] + [1658142905.390718][13946:13946] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + + On DUT as a client side, verify that TH all-clusters-app sent keypad lockout attribute value + [1658142905.393178][8876:8881] CHIP:DMG: } + [1658142905.393364][8876:8881] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_0001 DataVersion: 682086754 + [1658142905.393454][8876:8881] CHIP:TOO: keypad lockout: 0 + [1658142905.393558][8876:8881] CHIP:EM: Sending Standalone Ack for MessageCounter:118574768 on exchange 20562i disabled: true - label: @@ -288,6 +306,7 @@ tests: verification: | ./chip-tool thermostatuserinterfaceconfiguration read schedule-programming-visibility 1 1 + On DUT as a client side, verify that TH all-clusters-app sent UNSUPPORTED_ATTRIBUTE response General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true @@ -296,6 +315,6 @@ tests: the TH one at a time in a manufacturer specific order" verification: | ./chip-tool thermostatuserinterfaceconfiguration write schedule-programming-visibility 1 1 1 - + On DUT as a client side, verify that TH all-clusters-app sent UNSUPPORTED_ATTRIBUTE response General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_ULABEL_2_3.yaml b/src/app/tests/suites/certification/Test_TC_ULABEL_2_3.yaml index 9321a7d0116a27..5377136bf16850 100644 --- a/src/app/tests/suites/certification/Test_TC_ULABEL_2_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_ULABEL_2_3.yaml @@ -46,7 +46,7 @@ tests: response: error: CONSTRAINT_ERROR - - label: "TH reads LabelList attribute of the DUT" + - label: "TH writes LabelList attribute of the DUT" PICS: ULABEL.S.A0000 command: "writeAttribute" attribute: "label list" diff --git a/src/app/tests/suites/certification/Test_TC_ULABEL_2_4.yaml b/src/app/tests/suites/certification/Test_TC_ULABEL_2_4.yaml index 2abf04ece85a4e..d47a05c741a128 100644 --- a/src/app/tests/suites/certification/Test_TC_ULABEL_2_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_ULABEL_2_4.yaml @@ -58,11 +58,11 @@ tests: command: "writeAttribute" attribute: "label list" arguments: - value: [] + value: [{ "label": "", "value": "" }] - label: "TH reads LabelList attribute of the DUT" PICS: ULABEL.S.A0000 command: "readAttribute" attribute: "label list" response: - value: [] + value: [{ "label": "", "value": "" }] diff --git a/src/app/tests/suites/certification/ci-pics-values b/src/app/tests/suites/certification/ci-pics-values index 8887e6bdebe372..9f3a2e932806a7 100644 --- a/src/app/tests/suites/certification/ci-pics-values +++ b/src/app/tests/suites/certification/ci-pics-values @@ -317,9 +317,9 @@ MEDIAPLAYBACK.S.A0004=1 MEDIAPLAYBACK.S.A0005=1 MEDIAPLAYBACK.S.A0006=1 -MEDIAPLAYBACK.S.C0000=1 -MEDIAPLAYBACK.S.C0001=1 -MEDIAPLAYBACK.S.C0002=1 +MEDIAPLAYBACK.S.C00.Rsp=1 +MEDIAPLAYBACK.S.C01.Rsp=1 +MEDIAPLAYBACK.S.C02.Rsp=1 MEDIAPLAYBACK.S.C03.Rsp=1 MEDIAPLAYBACK.S.C04.Rsp=1 MEDIAPLAYBACK.S.C05.Rsp=1 @@ -516,10 +516,10 @@ S.C.C42.Tx=0 #Switch Cluster SWTCH.S.F00=1 -SWTCH.S.F01=1 -SWTCH.S.F02=1 -SWTCH.S.F03=1 -SWTCH.S.F04=1 +SWTCH.S.F01=0 +SWTCH.S.F02=0 +SWTCH.S.F03=0 +SWTCH.S.F04=0 SWTCH.C.F00=1 SWTCH.C.F01=1 SWTCH.C.M.RA=1 @@ -763,6 +763,16 @@ MCORE.DD.WIRELESS=1 MCORE.DD.TXT_KEY_VP=1 MCORE.DD.TXT_KEY_DT=1 MCORE.DD.DISCOVERY_BLE=1 +MCORE.DD.WIFI=1 +MCORE.DD.IE=1 +MCORE.DD.TXT_KEY_DN=1 +MCORE.DD.TXT_KEY_RI=1 +MCORE.DD.TXT_KEY_PH=1 +MCORE.DD.TXT_KEY_PI=1 +MCORE.DD.EXTENDED_DISCOVERY=1 +MCORE.DD.COMMISSIONING_SUBTYPE_V=1 +MCORE.DD.COMMISSIONING_SUBTYPE_T=1 + #Ethernet Network Diagnostics Cluster DGETH.S.C00.Rsp=1 @@ -1407,3 +1417,21 @@ MCORE.DA.CERTDECL_ORIGIN_VENDORID=1 MCORE.DA.CERTDECL_ORIGIN_PRODUCTID=1 MCORE.DA.CERTDECL_AUTH_PAA=1 MCORE.DA.ATTESTELEMENT_FW_INFO=1 + +#Descriptor Cluster TestPlan +DESC.S.A0000=1 +DESC.S.A0001=1 +DESC.S.A0002=1 +DESC.S.A0003=1 +DESC.S.A0004=1 + +DESC.C.A0000=1 +DESC.C.A0001=1 +DESC.C.A0002=1 +DESC.C.A0003=1 +DESC.C.A0004=1 + +#Secure Channel +MCORE.SC.SII_OP_DISCOVERY_KEY=1 +MCORE.SC.SAI_OP_DISCOVERY_KEY=1 +MCORE.SC.T_KEY=1 diff --git a/src/app/tests/suites/tests.js b/src/app/tests/suites/tests.js index eced33afc14ded..a29b7253fb6058 100644 --- a/src/app/tests/suites/tests.js +++ b/src/app/tests/suites/tests.js @@ -245,8 +245,6 @@ function getManualTests() { "Test_TC_CADMIN_1_20", "Test_TC_CADMIN_1_21", "Test_TC_CADMIN_1_22", - "Test_TC_CADMIN_1_23", - "Test_TC_CADMIN_1_24", // Slow tests that should not run in CI because they take many minutes each "Test_TC_CADMIN_1_3", "Test_TC_CADMIN_1_4", @@ -255,8 +253,8 @@ function getManualTests() { "Test_TC_CADMIN_1_9", "Test_TC_CADMIN_1_10", "Test_TC_CADMIN_1_13", - "Test_TC_CADMIN_1_25", - "Test_TC_CADMIN_1_26", + "Test_TC_CADMIN_1_23", + "Test_TC_CADMIN_1_24", ]; const ModeSelect = [ @@ -415,7 +413,6 @@ function getManualTests() { ]; const Switch = [ - "Test_TC_SWTCH_1_1", "Test_TC_SWTCH_2_2", "Test_TC_SWTCH_3_1", "Test_TC_SWTCH_3_2", @@ -751,6 +748,7 @@ function getTests() { ]; const Switch = [ + "Test_TC_SWTCH_1_1", "Test_TC_SWTCH_2_1", ]; diff --git a/zzz_generated/chip-tool/zap-generated/test/Commands.h b/zzz_generated/chip-tool/zap-generated/test/Commands.h index 3477137a51ed1e..88dacd8960c2d0 100644 --- a/zzz_generated/chip-tool/zap-generated/test/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/test/Commands.h @@ -136,6 +136,7 @@ class TestList : public Command printf("Test_TC_RH_1_1\n"); printf("Test_TC_RH_2_1\n"); printf("Test_TC_SC_4_2\n"); + printf("Test_TC_SWTCH_1_1\n"); printf("Test_TC_SWTCH_2_1\n"); printf("Test_TC_TMP_1_1\n"); printf("Test_TC_TMP_2_1\n"); @@ -407,8 +408,6 @@ class ManualTestList : public Command printf("Test_TC_CADMIN_1_20\n"); printf("Test_TC_CADMIN_1_21\n"); printf("Test_TC_CADMIN_1_22\n"); - printf("Test_TC_CADMIN_1_23\n"); - printf("Test_TC_CADMIN_1_24\n"); printf("Test_TC_CADMIN_1_3\n"); printf("Test_TC_CADMIN_1_4\n"); printf("Test_TC_CADMIN_1_5\n"); @@ -416,8 +415,8 @@ class ManualTestList : public Command printf("Test_TC_CADMIN_1_9\n"); printf("Test_TC_CADMIN_1_10\n"); printf("Test_TC_CADMIN_1_13\n"); - printf("Test_TC_CADMIN_1_25\n"); - printf("Test_TC_CADMIN_1_26\n"); + printf("Test_TC_CADMIN_1_23\n"); + printf("Test_TC_CADMIN_1_24\n"); printf("Test_TC_MOD_1_2\n"); printf("Test_TC_MOD_1_3\n"); printf("Test_TC_MOD_2_1\n"); @@ -518,7 +517,6 @@ class ManualTestList : public Command printf("Test_TC_OO_3_2\n"); printf("Test_TC_RH_2_2\n"); printf("Test_TC_RH_3_1\n"); - printf("Test_TC_SWTCH_1_1\n"); printf("Test_TC_SWTCH_2_2\n"); printf("Test_TC_SWTCH_3_1\n"); printf("Test_TC_SWTCH_3_2\n"); @@ -2186,7 +2184,6 @@ class Test_TC_ACT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; case 4: @@ -2197,6 +2194,7 @@ class Test_TC_ACT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; case 5: @@ -2204,11 +2202,8 @@ class Test_TC_ACT_1_1Suite : public TestCommand { chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("acceptedCommandList", iter_0, 0)); - } VerifyOrReturn(CheckConstraintType("value", "", "list")); + VerifyOrReturn(CheckConstraintMaxLength("value", value, 11)); } break; case 6: @@ -2261,13 +2256,12 @@ class Test_TC_ACT_1_1Suite : public TestCommand } case 3: { LogStep(3, "Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("ACT.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BridgedActions::Id, BridgedActions::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip(" !ACT.S.A0002 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Read the optional attribute(SetupURL) in AttributeList"); + VerifyOrDo(!ShouldSkip("ACT.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BridgedActions::Id, BridgedActions::Attributes::AttributeList::Id, true, chip::NullOptional); } @@ -3636,13 +3630,13 @@ class Test_TC_CC_3_2Suite : public TestCommand return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional); } case 3: { - LogStep(3, "Reads CurrentHue attribute from DUT"); + LogStep(3, "TH reads CurrentHue attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Move hue up command"); + LogStep(4, "TH sends MoveHue command to DUT with MoveMode Up"); VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::MoveHue::Type value; @@ -3663,8 +3657,8 @@ class Test_TC_CC_3_2Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 6: { - LogStep(6, "Check current hue attribute value matched the value sent by the last command"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "TH reads CurrentHue attribute from DUT several times"); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } @@ -3676,8 +3670,8 @@ class Test_TC_CC_3_2Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 8: { - LogStep(8, "Check current hue attribute value matched the value sent by the last command"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(8, "TH reads CurrentHue attribute from DUT several times"); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } @@ -3689,13 +3683,13 @@ class Test_TC_CC_3_2Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 10: { - LogStep(10, "Check current hue attribute value matched the value sent by the last command"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(10, "TH reads CurrentHue attribute from DUT several times"); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } case 11: { - LogStep(11, "Move hue stop command"); + LogStep(11, "TH sends MoveHue command to DUT with MoveMode Stop"); VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::MoveHue::Type value; @@ -3716,8 +3710,8 @@ class Test_TC_CC_3_2Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 13: { - LogStep(13, "Check current hue attribute value matched the value sent by the last command"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(13, "TH reads CurrentHue attribute from DUT several times"); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } @@ -3729,13 +3723,13 @@ class Test_TC_CC_3_2Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 15: { - LogStep(15, "Check current hue attribute value matched the value sent by the last command"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(15, "TH reads CurrentHue attribute from DUT several times"); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Move hue down command"); + LogStep(16, "TH sends MoveHue command to DUT with MoveMode Down"); VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::MoveHue::Type value; @@ -3756,8 +3750,8 @@ class Test_TC_CC_3_2Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 18: { - LogStep(18, "Check current hue attribute value matched the value sent by the last command"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(18, "TH reads CurrentHue attribute from DUT several times"); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } @@ -3769,8 +3763,8 @@ class Test_TC_CC_3_2Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 20: { - LogStep(20, "Check current hue attribute value matched the value sent by the last command"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(20, "TH reads CurrentHue attribute from DUT several times"); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } @@ -3782,13 +3776,13 @@ class Test_TC_CC_3_2Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 22: { - LogStep(22, "Check current hue attribute value matched the value sent by the last command"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(22, "TH reads CurrentHue attribute from DUT several times"); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } case 23: { - LogStep(23, "Move hue stop command"); + LogStep(23, "TH sends MoveHue command to DUT with MoveMode Stop"); VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::MoveHue::Type value; @@ -3809,8 +3803,8 @@ class Test_TC_CC_3_2Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 25: { - LogStep(25, "Check current hue attribute value matched the value sent by the last command"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(25, "TH reads CurrentHue attribute from DUT several times"); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } @@ -3822,8 +3816,8 @@ class Test_TC_CC_3_2Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 27: { - LogStep(27, "Check current hue attribute value matched the value sent by the last command"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(27, "TH reads CurrentHue attribute from DUT several times"); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } @@ -3985,13 +3979,13 @@ class Test_TC_CC_3_3Suite : public TestCommand return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional); } case 3: { - LogStep(3, "Reads CurrentHue attribute from DUT"); + LogStep(3, "TH reads CurrentHue attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step hue up command"); + LogStep(4, "TH sends StepHue command to DUT with StepMode Up"); VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.C02.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::StepHue::Type value; @@ -4013,13 +4007,13 @@ class Test_TC_CC_3_3Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 6: { - LogStep(6, "Over TransitionTime,Read CurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Over TransitionTime, TH reads CurrentHue attribute from DUT"); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C02.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step hue down command"); + LogStep(7, "TH sends StepHue command to DUT with StepMode Down"); VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.C02.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::StepHue::Type value; @@ -4041,8 +4035,8 @@ class Test_TC_CC_3_3Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 9: { - LogStep(9, "Over TransitionTime,Read CurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(9, "Over TransitionTime, TH reads CurrentHue attribute from DUT"); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C02.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } @@ -4213,13 +4207,13 @@ class Test_TC_CC_4_1Suite : public TestCommand return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional); } case 3: { - LogStep(3, "Check Saturation attribute value matched before any change"); + LogStep(3, "TH reads CurrentSaturation attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentSaturation::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Move to saturation command"); + LogStep(4, "TH sends MoveToSaturation command to DUT"); VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.C03.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::MoveToSaturation::Type value; @@ -4240,8 +4234,8 @@ class Test_TC_CC_4_1Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 6: { - LogStep(6, "Check current saturation attribute value matched the value sent by the last command"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Over TransitionTime, TH reads CurrentSaturation attribute from DUT."); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C03.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentSaturation::Id, true, chip::NullOptional); } @@ -4253,8 +4247,8 @@ class Test_TC_CC_4_1Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 8: { - LogStep(8, "Check current saturation attribute value matched the value sent by the last command"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(8, "Over TransitionTime, TH reads CurrentSaturation attribute from DUT."); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C03.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentSaturation::Id, true, chip::NullOptional); } @@ -4266,8 +4260,8 @@ class Test_TC_CC_4_1Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 10: { - LogStep(10, "Check current saturation attribute value matched the value sent by the last command"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(10, "Over TransitionTime, TH reads CurrentSaturation attribute from DUT."); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C03.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentSaturation::Id, true, chip::NullOptional); } @@ -4626,7 +4620,7 @@ class Test_TC_CC_4_2Suite : public TestCommand } case 6: { LogStep(6, "TH reads CurrentSaturation attribute from DUT several times"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentSaturation::Id, true, chip::NullOptional); } @@ -4639,7 +4633,7 @@ class Test_TC_CC_4_2Suite : public TestCommand } case 8: { LogStep(8, "TH reads CurrentSaturation attribute from DUT several times"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentSaturation::Id, true, chip::NullOptional); } @@ -4652,7 +4646,7 @@ class Test_TC_CC_4_2Suite : public TestCommand } case 10: { LogStep(10, "TH reads CurrentSaturation attribute from DUT several times"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentSaturation::Id, true, chip::NullOptional); } @@ -4679,7 +4673,7 @@ class Test_TC_CC_4_2Suite : public TestCommand } case 13: { LogStep(13, "TH reads CurrentSaturation attribute from DUT several times."); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentSaturation::Id, true, chip::NullOptional); } @@ -4692,7 +4686,7 @@ class Test_TC_CC_4_2Suite : public TestCommand } case 15: { LogStep(15, "TH reads CurrentSaturation attribute from DUT several times."); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentSaturation::Id, true, chip::NullOptional); } @@ -4705,7 +4699,7 @@ class Test_TC_CC_4_2Suite : public TestCommand } case 17: { LogStep(17, "TH reads CurrentSaturation attribute from DUT several times."); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentSaturation::Id, true, chip::NullOptional); } @@ -4732,7 +4726,7 @@ class Test_TC_CC_4_2Suite : public TestCommand } case 20: { LogStep(20, "TH reads CurrentSaturation attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentSaturation::Id, true, chip::NullOptional); } @@ -4759,7 +4753,7 @@ class Test_TC_CC_4_2Suite : public TestCommand } case 23: { LogStep(23, "TH reads CurrentSaturation attribute from DUT."); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentSaturation::Id, true, chip::NullOptional); } @@ -4772,7 +4766,7 @@ class Test_TC_CC_4_2Suite : public TestCommand } case 25: { LogStep(25, "CurrentSaturation value Stops incrementing"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentSaturation::Id, true, chip::NullOptional); } @@ -4799,7 +4793,7 @@ class Test_TC_CC_4_2Suite : public TestCommand } case 28: { LogStep(28, "TH reads CurrentSaturation attribute from DUT several times."); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentSaturation::Id, true, chip::NullOptional); } @@ -4812,7 +4806,7 @@ class Test_TC_CC_4_2Suite : public TestCommand } case 30: { LogStep(30, "TH reads CurrentSaturation attribute from DUT several times."); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentSaturation::Id, true, chip::NullOptional); } @@ -4839,7 +4833,7 @@ class Test_TC_CC_4_2Suite : public TestCommand } case 33: { LogStep(33, "TH reads CurrentSaturation attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentSaturation::Id, true, chip::NullOptional); } @@ -4852,7 +4846,7 @@ class Test_TC_CC_4_2Suite : public TestCommand } case 35: { LogStep(35, "CurrentSaturation value Stops decrementing"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentSaturation::Id, true, chip::NullOptional); } @@ -5043,7 +5037,7 @@ class Test_TC_CC_4_3Suite : public TestCommand } case 6: { LogStep(6, "Over TransitionTime,TH read CurrentSaturation attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C05.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentSaturation::Id, true, chip::NullOptional); } @@ -5071,7 +5065,7 @@ class Test_TC_CC_4_3Suite : public TestCommand } case 9: { LogStep(9, "Over TransitionTime,TH reads CurrentSaturation attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C05.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentSaturation::Id, true, chip::NullOptional); } @@ -5271,13 +5265,13 @@ class Test_TC_CC_4_4Suite : public TestCommand } case 7: { LogStep(7, "Over TransitionTime, TH reads CurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A0000 && CC.S.C06.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } case 8: { LogStep(8, "Over TransitionTime, TH reads CurrentSaturation attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A0001 && CC.S.C06.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentSaturation::Id, true, chip::NullOptional); } @@ -5479,13 +5473,13 @@ class Test_TC_CC_5_1Suite : public TestCommand } case 7: { LogStep(7, "Over TransitionTime, TH reads CurrentX attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0003 && CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id, true, chip::NullOptional); } case 8: { LogStep(8, "Over TransitionTime, TH reads CurrentY attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0004 && CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id, true, chip::NullOptional); } @@ -5707,13 +5701,13 @@ class Test_TC_CC_5_2Suite : public TestCommand } case 7: { LogStep(7, "TH reads CurrentX attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0003 && CC.S.C08.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id, true, chip::NullOptional); } case 8: { LogStep(8, "TH reads CurrentY attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0004 && CC.S.C08.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id, true, chip::NullOptional); } @@ -5731,13 +5725,13 @@ class Test_TC_CC_5_2Suite : public TestCommand } case 10: { LogStep(10, "TH reads CurrentX attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0003 && CC.S.C47.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id, true, chip::NullOptional); } case 11: { LogStep(11, "TH reads CurrentY attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0004 && CC.S.C47.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id, true, chip::NullOptional); } @@ -5937,13 +5931,13 @@ class Test_TC_CC_5_3Suite : public TestCommand } case 7: { LogStep(7, "Over TransitionTime, TH reads CurrentX attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0003 && CC.S.C09.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id, true, chip::NullOptional); } case 8: { LogStep(8, "Over TransitionTime, TH reads CurrentY attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0004 && CC.S.C09.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id, true, chip::NullOptional); } @@ -6062,7 +6056,7 @@ class Test_TC_CC_6_1Suite : public TestCommand { uint16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("colorTemperature", value, 100U)); + VerifyOrReturn(CheckValue("colorTemperature", value, ColorTempPhysicalMaxMiredsValue)); VerifyOrReturn(CheckConstraintType("value", "", "uint16")); VerifyOrReturn(CheckConstraintMinValue("value", value, ColorTempPhysicalMinMiredsValue)); VerifyOrReturn(CheckConstraintMaxValue("value", value, ColorTempPhysicalMaxMiredsValue)); @@ -6136,7 +6130,7 @@ class Test_TC_CC_6_1Suite : public TestCommand VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.C0A.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::MoveToColorTemperature::Type value; - value.colorTemperature = 100U; + value.colorTemperature = ColorTempPhysicalMaxMiredsValue; value.transitionTime = 10U; value.optionsMask = 0U; value.optionsOverride = 0U; @@ -6543,7 +6537,7 @@ class Test_TC_CC_6_2Suite : public TestCommand } case 8: { LogStep(8, "Read current color temprature attribute from DUT several times"); - VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorTemperature::Id, true, chip::NullOptional); } @@ -6556,7 +6550,7 @@ class Test_TC_CC_6_2Suite : public TestCommand } case 10: { LogStep(10, "Read current color temprature attribute from DUT several times"); - VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorTemperature::Id, true, chip::NullOptional); } @@ -6569,7 +6563,7 @@ class Test_TC_CC_6_2Suite : public TestCommand } case 12: { LogStep(12, "Read current color temprature attribute from DUT several times"); - VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorTemperature::Id, true, chip::NullOptional); } @@ -6598,7 +6592,7 @@ class Test_TC_CC_6_2Suite : public TestCommand } case 15: { LogStep(15, "Read current color temprature attribute from DUT several times"); - VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorTemperature::Id, true, chip::NullOptional); } @@ -6611,7 +6605,7 @@ class Test_TC_CC_6_2Suite : public TestCommand } case 17: { LogStep(17, "Read current color temprature attribute from DUT several times"); - VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorTemperature::Id, true, chip::NullOptional); } @@ -6624,7 +6618,7 @@ class Test_TC_CC_6_2Suite : public TestCommand } case 19: { LogStep(19, "Read current color temprature attribute from DUT several times"); - VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorTemperature::Id, true, chip::NullOptional); } @@ -6669,7 +6663,7 @@ class Test_TC_CC_6_2Suite : public TestCommand } case 23: { LogStep(23, "Read current color temprature attribute from DUT several times"); - VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorTemperature::Id, true, chip::NullOptional); } @@ -6682,7 +6676,7 @@ class Test_TC_CC_6_2Suite : public TestCommand } case 25: { LogStep(25, "Read current color temprature attribute from DUT several times"); - VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorTemperature::Id, true, chip::NullOptional); } @@ -6695,7 +6689,7 @@ class Test_TC_CC_6_2Suite : public TestCommand } case 27: { LogStep(27, "Read current color temprature attribute from DUT several times"); - VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorTemperature::Id, true, chip::NullOptional); } @@ -6740,7 +6734,7 @@ class Test_TC_CC_6_2Suite : public TestCommand } case 31: { LogStep(31, "Read current color temprature attribute from DUT several times"); - VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorTemperature::Id, true, chip::NullOptional); } @@ -6753,7 +6747,7 @@ class Test_TC_CC_6_2Suite : public TestCommand } case 33: { LogStep(33, "Read current color temprature attribute from DUT several times"); - VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorTemperature::Id, true, chip::NullOptional); } @@ -6766,7 +6760,7 @@ class Test_TC_CC_6_2Suite : public TestCommand } case 35: { LogStep(35, "Read current color temprature attribute from DUT several times"); - VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorTemperature::Id, true, chip::NullOptional); } @@ -7052,7 +7046,7 @@ class Test_TC_CC_6_3Suite : public TestCommand } case 8: { LogStep(8, "TH reads ColorTemperatureMireds attribute from DUT several times"); - VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4C.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorTemperature::Id, true, chip::NullOptional); } @@ -7065,7 +7059,7 @@ class Test_TC_CC_6_3Suite : public TestCommand } case 10: { LogStep(10, "TH reads ColorTemperatureMireds attribute from DUT several times"); - VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4C.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorTemperature::Id, true, chip::NullOptional); } @@ -7078,7 +7072,7 @@ class Test_TC_CC_6_3Suite : public TestCommand } case 12: { LogStep(12, "TH reads ColorTemperatureMireds attribute from DUT several times"); - VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4C.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorTemperature::Id, true, chip::NullOptional); } @@ -7108,7 +7102,7 @@ class Test_TC_CC_6_3Suite : public TestCommand } case 15: { LogStep(15, "TH reads ColorTemperatureMireds attribute from DUT several times"); - VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4C.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorTemperature::Id, true, chip::NullOptional); } @@ -7121,7 +7115,7 @@ class Test_TC_CC_6_3Suite : public TestCommand } case 17: { LogStep(17, "TH reads ColorTemperatureMireds attribute from DUT several times"); - VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4C.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorTemperature::Id, true, chip::NullOptional); } @@ -7134,7 +7128,7 @@ class Test_TC_CC_6_3Suite : public TestCommand } case 19: { LogStep(19, "TH reads ColorTemperatureMireds attribute from DUT several times"); - VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4C.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorTemperature::Id, true, chip::NullOptional); } @@ -7406,7 +7400,7 @@ class Test_TC_CC_7_2Suite : public TestCommand } case 6: { LogStep(6, "TH reads EnhancedCurrentHue attribute from DUT several times."); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C41.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -7419,7 +7413,7 @@ class Test_TC_CC_7_2Suite : public TestCommand } case 8: { LogStep(8, "TH reads EnhancedCurrentHue attribute from DUT several times."); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C41.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -7432,7 +7426,7 @@ class Test_TC_CC_7_2Suite : public TestCommand } case 10: { LogStep(10, "TH reads EnhancedCurrentHue attribute from DUT several times."); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C41.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -7452,7 +7446,7 @@ class Test_TC_CC_7_2Suite : public TestCommand } case 12: { LogStep(12, "TH reads EnhancedCurrentHue attribute from DUT several times"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C41.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -7479,7 +7473,7 @@ class Test_TC_CC_7_2Suite : public TestCommand } case 15: { LogStep(15, "TH reads EnhancedCurrentHue attribute from DUT several times"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C41.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -7492,7 +7486,7 @@ class Test_TC_CC_7_2Suite : public TestCommand } case 17: { LogStep(17, "TH reads EnhancedCurrentHue attribute from DUT several times"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C41.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -7505,7 +7499,7 @@ class Test_TC_CC_7_2Suite : public TestCommand } case 19: { LogStep(19, "TH reads EnhancedCurrentHue attribute from DUT several times"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C41.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -7525,7 +7519,7 @@ class Test_TC_CC_7_2Suite : public TestCommand } case 21: { LogStep(21, "TH reads EnhancedCurrentHue attribute from DUT several times."); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C41.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -7716,7 +7710,7 @@ class Test_TC_CC_7_3Suite : public TestCommand } case 6: { LogStep(6, "Over TransitionTime,Read EnhancedCurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -7744,7 +7738,7 @@ class Test_TC_CC_7_3Suite : public TestCommand } case 9: { LogStep(9, "Over TransitionTime,Read EnhancedCurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -7919,7 +7913,7 @@ class Test_TC_CC_7_4Suite : public TestCommand } case 6: { LogStep(6, "Check EnhancedCurrentHue attribute value matched the value sent by the last command"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C43.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -8287,7 +8281,7 @@ class Test_TC_CC_8_1Suite : public TestCommand } case 3: { LogStep(3, "TH sends MoveHue command to DUT"); - VerifyOrDo(!ShouldSkip("CC.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.C01.Rsp && CC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::MoveHue::Type value; value.moveMode = static_cast(1); @@ -8301,13 +8295,13 @@ class Test_TC_CC_8_1Suite : public TestCommand } case 4: { LogStep(4, "TH reads CurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.A0000 && CC.S.C01.Rsp && CC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } case 5: { LogStep(5, "TH sends StopMoveStep command to DUT"); - VerifyOrDo(!ShouldSkip("CC.S.C47.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.C47.Rsp && CC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::StopMoveStep::Type value; value.optionsMask = 0U; @@ -8319,7 +8313,7 @@ class Test_TC_CC_8_1Suite : public TestCommand } case 6: { LogStep(6, "TH reads CurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.A0000 && CC.S.C47.Rsp && CC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } @@ -8332,13 +8326,13 @@ class Test_TC_CC_8_1Suite : public TestCommand } case 8: { LogStep(8, "TH reads CurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.A0000 && CC.S.C47.Rsp && CC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } case 9: { LogStep(9, "TH sends MoveSaturation command to DUT"); - VerifyOrDo(!ShouldSkip("CC.S.C04.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.C04.Rsp && CC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::MoveSaturation::Type value; value.moveMode = static_cast(1); @@ -8352,13 +8346,13 @@ class Test_TC_CC_8_1Suite : public TestCommand } case 10: { LogStep(10, "TH reads CurrentSaturation attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.A0001 && CC.S.C04.Rsp && CC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentSaturation::Id, true, chip::NullOptional); } case 11: { LogStep(11, "TH sends StopMoveStep command to DUT"); - VerifyOrDo(!ShouldSkip("CC.S.C47.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.C47.Rsp && CC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::StopMoveStep::Type value; value.optionsMask = 0U; @@ -8370,7 +8364,7 @@ class Test_TC_CC_8_1Suite : public TestCommand } case 12: { LogStep(12, "TH reads CurrentSaturation attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.A0001 && CC.S.C47.Rsp && CC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentSaturation::Id, true, chip::NullOptional); } @@ -8383,13 +8377,13 @@ class Test_TC_CC_8_1Suite : public TestCommand } case 14: { LogStep(14, "TH reads CurrentSaturation attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.A0001 && CC.S.C47.Rsp && CC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentSaturation::Id, true, chip::NullOptional); } case 15: { LogStep(15, "TH sends MoveColor command to DUT"); - VerifyOrDo(!ShouldSkip("CC.S.C08.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.C08.Rsp && CC.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::MoveColor::Type value; value.rateX = 15; @@ -8403,19 +8397,19 @@ class Test_TC_CC_8_1Suite : public TestCommand } case 16: { LogStep(16, "TH reads CurrentX attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.A0003 && CC.S.C08.Rsp && CC.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id, true, chip::NullOptional); } case 17: { LogStep(17, "TH reads CurrentY attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.A0004 && CC.S.C08.Rsp && CC.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id, true, chip::NullOptional); } case 18: { LogStep(18, "TH sends StopMoveStep command to DUT"); - VerifyOrDo(!ShouldSkip("CC.S.C47.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.C47.Rsp && CC.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::StopMoveStep::Type value; value.optionsMask = 0U; @@ -8427,13 +8421,13 @@ class Test_TC_CC_8_1Suite : public TestCommand } case 19: { LogStep(19, "TH reads CurrentX attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.A0003 && CC.S.C47.Rsp && CC.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id, true, chip::NullOptional); } case 20: { LogStep(20, "TH reads CurrentY attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.A0004 && CC.S.C47.Rsp && CC.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id, true, chip::NullOptional); } @@ -8446,19 +8440,19 @@ class Test_TC_CC_8_1Suite : public TestCommand } case 22: { LogStep(22, "TH reads CurrentY attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.A0003 && CC.S.C47.Rsp && CC.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id, true, chip::NullOptional); } case 23: { LogStep(23, "TH reads CurrentY attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.A0004 && CC.S.C47.Rsp && CC.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id, true, chip::NullOptional); } case 24: { LogStep(24, "TH sends MoveColorTemperature command to DUT"); - VerifyOrDo(!ShouldSkip("CC.S.C4B.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.C4B.Rsp && CC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::MoveColorTemperature::Type value; value.moveMode = static_cast(1); @@ -8474,13 +8468,13 @@ class Test_TC_CC_8_1Suite : public TestCommand } case 25: { LogStep(25, "TH reads ColorTemperatureMireds attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.A0007 && CC.S.C4B.Rsp && CC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorTemperature::Id, true, chip::NullOptional); } case 26: { LogStep(26, "TH sends StopMoveStep command to DUT"); - VerifyOrDo(!ShouldSkip("CC.S.C47.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.C47.Rsp && CC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::StopMoveStep::Type value; value.optionsMask = 0U; @@ -8492,7 +8486,7 @@ class Test_TC_CC_8_1Suite : public TestCommand } case 27: { LogStep(27, "TH reads ColorTemperatureMireds attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.A0007 && CC.S.C47.Rsp && CC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorTemperature::Id, true, chip::NullOptional); } @@ -8505,13 +8499,13 @@ class Test_TC_CC_8_1Suite : public TestCommand } case 29: { LogStep(29, "Reads current color attribute value matched the value sent by the last attribute"); - VerifyOrDo(!ShouldSkip("CC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.A0007 && CC.S.C47.Rsp && CC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorTemperature::Id, true, chip::NullOptional); } case 30: { LogStep(30, "TH sends EnhancedMoveHue command to DUT."); - VerifyOrDo(!ShouldSkip("CC.S.C41.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.C41.Rsp && CC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::EnhancedMoveHue::Type value; value.moveMode = static_cast(1); @@ -8525,13 +8519,13 @@ class Test_TC_CC_8_1Suite : public TestCommand } case 31: { LogStep(31, "TH reads EnhancedCurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.A4000 && CC.S.C41.Rsp && CC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } case 32: { LogStep(32, "TH sends StopMoveStep command to DUT"); - VerifyOrDo(!ShouldSkip("CC.S.C47.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.C47.Rsp && CC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::StopMoveStep::Type value; value.optionsMask = 0U; @@ -8543,7 +8537,7 @@ class Test_TC_CC_8_1Suite : public TestCommand } case 33: { LogStep(33, "TH reads EnhancedCurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.A4000 && CC.S.C47.Rsp && CC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -8556,7 +8550,7 @@ class Test_TC_CC_8_1Suite : public TestCommand } case 35: { LogStep(35, "TH reads EnhancedCurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.A4000 && CC.S.C47.Rsp && CC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -8580,7 +8574,7 @@ class Test_TC_CC_8_1Suite : public TestCommand class Test_TC_BINFO_2_1Suite : public TestCommand { public: - Test_TC_BINFO_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BINFO_2_1", 66, credsIssuerConfig) + Test_TC_BINFO_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BINFO_2_1", 67, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -8590,11 +8584,6 @@ class Test_TC_BINFO_2_1Suite : public TestCommand ~Test_TC_BINFO_2_1Suite() { - if (CountryCodeBuffer != nullptr) - { - chip::Platform::MemoryFree(CountryCodeBuffer); - CountryCodeBuffer = nullptr; - } if (VendorNameValueBuffer != nullptr) { chip::Platform::MemoryFree(VendorNameValueBuffer); @@ -8663,8 +8652,6 @@ class Test_TC_BINFO_2_1Suite : public TestCommand chip::Optional mEndpoint; chip::Optional mTimeout; - char * CountryCodeBuffer = nullptr; - chip::CharSpan CountryCode; uint16_t DataModelRevisionValue; char * VendorNameValueBuffer = nullptr; chip::CharSpan VendorNameValue; @@ -8712,17 +8699,7 @@ class Test_TC_BINFO_2_1Suite : public TestCommand break; case 1: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::CharSpan value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - if (CountryCodeBuffer != nullptr) - { - chip::Platform::MemoryFree(CountryCodeBuffer); - } - CountryCodeBuffer = static_cast(chip::Platform::MemoryAlloc(value.size())); - memcpy(CountryCodeBuffer, value.data(), value.size()); - CountryCode = chip::CharSpan(CountryCodeBuffer, value.size()); - } + shouldContinue = true; break; case 2: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -8876,15 +8853,18 @@ class Test_TC_BINFO_2_1Suite : public TestCommand { chip::CharSpan value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValueAsString("location", value, CountryCode)); VerifyOrReturn(CheckConstraintType("value", "", "string")); VerifyOrReturn(CheckConstraintMaxLength("value", value, 16)); } break; case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; break; case 22: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::CharSpan value; @@ -8892,7 +8872,7 @@ class Test_TC_BINFO_2_1Suite : public TestCommand VerifyOrReturn(CheckValueAsString("location", value, chip::CharSpan("in", 2))); } break; - case 23: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -8903,10 +8883,10 @@ class Test_TC_BINFO_2_1Suite : public TestCommand HardwareVersionValue = value; } break; - case 24: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); break; - case 25: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -8914,7 +8894,7 @@ class Test_TC_BINFO_2_1Suite : public TestCommand VerifyOrReturn(CheckValue("hardwareVersion", value, HardwareVersionValue)); } break; - case 26: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::CharSpan value; @@ -8931,10 +8911,10 @@ class Test_TC_BINFO_2_1Suite : public TestCommand HardwareVersionStringValue = chip::CharSpan(HardwareVersionStringValueBuffer, value.size()); } break; - case 27: + case 28: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); break; - case 28: + case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::CharSpan value; @@ -8942,7 +8922,7 @@ class Test_TC_BINFO_2_1Suite : public TestCommand VerifyOrReturn(CheckValueAsString("hardwareVersionString", value, HardwareVersionStringValue)); } break; - case 29: + case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint32_t value; @@ -8952,14 +8932,14 @@ class Test_TC_BINFO_2_1Suite : public TestCommand SoftwareVersionValue = value; } break; - case 30: + case 31: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 31: + case 32: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); break; - case 32: + case 33: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint32_t value; @@ -8967,7 +8947,7 @@ class Test_TC_BINFO_2_1Suite : public TestCommand VerifyOrReturn(CheckValue("softwareVersion", value, SoftwareVersionValue)); } break; - case 33: + case 34: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::CharSpan value; @@ -8983,10 +8963,10 @@ class Test_TC_BINFO_2_1Suite : public TestCommand SoftwareVersionStringValue = chip::CharSpan(SoftwareVersionStringValueBuffer, value.size()); } break; - case 34: + case 35: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); break; - case 35: + case 36: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::CharSpan value; @@ -8994,7 +8974,7 @@ class Test_TC_BINFO_2_1Suite : public TestCommand VerifyOrReturn(CheckValueAsString("softwareVersionString", value, SoftwareVersionStringValue)); } break; - case 36: + case 37: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::CharSpan value; @@ -9011,14 +8991,14 @@ class Test_TC_BINFO_2_1Suite : public TestCommand ManufacturingDateValue = chip::CharSpan(ManufacturingDateValueBuffer, value.size()); } break; - case 37: + case 38: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 38: + case 39: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); break; - case 39: + case 40: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::CharSpan value; @@ -9026,7 +9006,7 @@ class Test_TC_BINFO_2_1Suite : public TestCommand VerifyOrReturn(CheckValueAsString("manufacturingDate", value, ManufacturingDateValue)); } break; - case 40: + case 41: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::CharSpan value; @@ -9042,10 +9022,10 @@ class Test_TC_BINFO_2_1Suite : public TestCommand PartNumberValue = chip::CharSpan(PartNumberValueBuffer, value.size()); } break; - case 41: + case 42: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); break; - case 42: + case 43: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::CharSpan value; @@ -9053,7 +9033,7 @@ class Test_TC_BINFO_2_1Suite : public TestCommand VerifyOrReturn(CheckValueAsString("partNumber", value, PartNumberValue)); } break; - case 43: + case 44: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::CharSpan value; @@ -9069,14 +9049,14 @@ class Test_TC_BINFO_2_1Suite : public TestCommand ProductURLValue = chip::CharSpan(ProductURLValueBuffer, value.size()); } break; - case 44: + case 45: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 45: + case 46: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); break; - case 46: + case 47: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::CharSpan value; @@ -9084,7 +9064,7 @@ class Test_TC_BINFO_2_1Suite : public TestCommand VerifyOrReturn(CheckValueAsString("productURL", value, ProductURLValue)); } break; - case 47: + case 48: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::CharSpan value; @@ -9100,14 +9080,14 @@ class Test_TC_BINFO_2_1Suite : public TestCommand ProductLabelValue = chip::CharSpan(ProductLabelValueBuffer, value.size()); } break; - case 48: + case 49: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 49: + case 50: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); break; - case 50: + case 51: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::CharSpan value; @@ -9115,7 +9095,7 @@ class Test_TC_BINFO_2_1Suite : public TestCommand VerifyOrReturn(CheckValueAsString("productLabel", value, ProductLabelValue)); } break; - case 51: + case 52: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::CharSpan value; @@ -9131,10 +9111,10 @@ class Test_TC_BINFO_2_1Suite : public TestCommand SerialNumberValue = chip::CharSpan(SerialNumberValueBuffer, value.size()); } break; - case 52: + case 53: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); break; - case 53: + case 54: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::CharSpan value; @@ -9142,7 +9122,7 @@ class Test_TC_BINFO_2_1Suite : public TestCommand VerifyOrReturn(CheckValueAsString("serialNumber", value, SerialNumberValue)); } break; - case 54: + case 55: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { bool value; @@ -9151,10 +9131,10 @@ class Test_TC_BINFO_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "", "boolean")); } break; - case 55: + case 56: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 56: + case 57: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { bool value; @@ -9162,7 +9142,7 @@ class Test_TC_BINFO_2_1Suite : public TestCommand VerifyOrReturn(CheckValue("localConfigDisabled", value, true)); } break; - case 57: + case 58: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { bool value; @@ -9171,10 +9151,10 @@ class Test_TC_BINFO_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "", "boolean")); } break; - case 58: + case 59: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); break; - case 59: + case 60: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::CharSpan value; @@ -9190,10 +9170,10 @@ class Test_TC_BINFO_2_1Suite : public TestCommand UniqueIDValue = chip::CharSpan(UniqueIDValueBuffer, value.size()); } break; - case 60: + case 61: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); break; - case 61: + case 62: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::CharSpan value; @@ -9201,7 +9181,7 @@ class Test_TC_BINFO_2_1Suite : public TestCommand VerifyOrReturn(CheckValueAsString("uniqueID", value, UniqueIDValue)); } break; - case 62: + case 63: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::Basic::Structs::CapabilityMinimaStruct::DecodableType value; @@ -9209,14 +9189,14 @@ class Test_TC_BINFO_2_1Suite : public TestCommand CapabilityMinimaValue = value; } break; - case 63: + case 64: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 64: + case 65: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); break; - case 65: + case 66: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::Basic::Structs::CapabilityMinimaStruct::DecodableType value; @@ -9246,9 +9226,14 @@ class Test_TC_BINFO_2_1Suite : public TestCommand return WaitForCommissionee(kIdentityAlpha, value); } case 1: { - LogStep(1, "TH reads Location from the DUT."); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::Location::Id, true, - chip::NullOptional); + LogStep(1, "During Commissioning, TH Saves the CountryCode Information from SetRegulatoryConfig command"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } case 2: { LogStep(2, "TH reads DataModelRevision from the DUT."); @@ -9383,7 +9368,17 @@ class Test_TC_BINFO_2_1Suite : public TestCommand chip::NullOptional); } case 21: { - LogStep(21, "TH write Location from the DUT"); + LogStep(21, "Verify that the Location is same as CountryCode value saved from step1"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && BINFO.S.A0006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 22: { + LogStep(22, "TH write Location from the DUT"); VerifyOrDo(!ShouldSkip("BINFO.S.A0006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::CharSpan value; @@ -9391,20 +9386,20 @@ class Test_TC_BINFO_2_1Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::Location::Id, value, chip::NullOptional, chip::NullOptional); } - case 22: { - LogStep(22, "TH reads Location from the DUT."); + case 23: { + LogStep(23, "TH reads Location from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A0006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::Location::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, "TH reads HardwareVersion from the DUT"); + case 24: { + LogStep(24, "TH reads HardwareVersion from the DUT"); VerifyOrDo(!ShouldSkip("BINFO.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::HardwareVersion::Id, true, chip::NullOptional); } - case 24: { - LogStep(24, "TH writes HardwareVersion from the DUT."); + case 25: { + LogStep(25, "TH writes HardwareVersion from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; uint16_t value; @@ -9412,20 +9407,20 @@ class Test_TC_BINFO_2_1Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::HardwareVersion::Id, value, chip::NullOptional, chip::NullOptional); } - case 25: { - LogStep(25, "TH reads HardwareVersion from the DUT"); + case 26: { + LogStep(26, "TH reads HardwareVersion from the DUT"); VerifyOrDo(!ShouldSkip("BINFO.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::HardwareVersion::Id, true, chip::NullOptional); } - case 26: { - LogStep(26, "TH reads HardwareVersionString from the DUT."); + case 27: { + LogStep(27, "TH reads HardwareVersionString from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::HardwareVersionString::Id, true, chip::NullOptional); } - case 27: { - LogStep(27, "TH writes HardwareVersionString from the DUT."); + case 28: { + LogStep(28, "TH writes HardwareVersionString from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::CharSpan value; @@ -9433,20 +9428,20 @@ class Test_TC_BINFO_2_1Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::HardwareVersionString::Id, value, chip::NullOptional, chip::NullOptional); } - case 28: { - LogStep(28, "TH reads HardwareVersionString from the DUT."); + case 29: { + LogStep(29, "TH reads HardwareVersionString from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::HardwareVersionString::Id, true, chip::NullOptional); } - case 29: { - LogStep(29, "TH reads SoftwareVersion from the DUT"); + case 30: { + LogStep(30, "TH reads SoftwareVersion from the DUT"); VerifyOrDo(!ShouldSkip("BINFO.S.A0009"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::SoftwareVersion::Id, true, chip::NullOptional); } - case 30: { - LogStep(30, + case 31: { + LogStep(31, "Verify that the SoftwareVersion is not displayed to the end-user through any device specific means (ex: " "screen, audio)"); VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && BINFO.S.A0009"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -9457,8 +9452,8 @@ class Test_TC_BINFO_2_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 31: { - LogStep(31, "TH writes SoftwareVersion from the DUT."); + case 32: { + LogStep(32, "TH writes SoftwareVersion from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A0009"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; uint32_t value; @@ -9466,20 +9461,20 @@ class Test_TC_BINFO_2_1Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::SoftwareVersion::Id, value, chip::NullOptional, chip::NullOptional); } - case 32: { - LogStep(32, "TH reads SoftwareVersion from the DUT"); + case 33: { + LogStep(33, "TH reads SoftwareVersion from the DUT"); VerifyOrDo(!ShouldSkip("BINFO.S.A0009"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::SoftwareVersion::Id, true, chip::NullOptional); } - case 33: { - LogStep(33, "TH reads SoftwareVersionString from the DUT"); + case 34: { + LogStep(34, "TH reads SoftwareVersionString from the DUT"); VerifyOrDo(!ShouldSkip("BINFO.S.A000a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::SoftwareVersionString::Id, true, chip::NullOptional); } - case 34: { - LogStep(34, "TH writes SoftwareVersionString from the DUT."); + case 35: { + LogStep(35, "TH writes SoftwareVersionString from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A000a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::CharSpan value; @@ -9487,20 +9482,20 @@ class Test_TC_BINFO_2_1Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::SoftwareVersionString::Id, value, chip::NullOptional, chip::NullOptional); } - case 35: { - LogStep(35, "TH reads SoftwareVersionString from the DUT"); + case 36: { + LogStep(36, "TH reads SoftwareVersionString from the DUT"); VerifyOrDo(!ShouldSkip("BINFO.S.A000a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::SoftwareVersionString::Id, true, chip::NullOptional); } - case 36: { - LogStep(36, "TH reads ManufacturingDate from the DUT."); + case 37: { + LogStep(37, "TH reads ManufacturingDate from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A000b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::ManufacturingDate::Id, true, chip::NullOptional); } - case 37: { - LogStep(37, "Verify if the first 8 characters specify date according to ISO 8601, i.e, YYYYMMDD"); + case 38: { + LogStep(38, "Verify if the first 8 characters specify date according to ISO 8601, i.e, YYYYMMDD"); VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && BINFO.S.A000b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -9509,8 +9504,8 @@ class Test_TC_BINFO_2_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 38: { - LogStep(38, "TH writes ManufacturingDate from the DUT."); + case 39: { + LogStep(39, "TH writes ManufacturingDate from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A000b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::CharSpan value; @@ -9518,20 +9513,20 @@ class Test_TC_BINFO_2_1Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::ManufacturingDate::Id, value, chip::NullOptional, chip::NullOptional); } - case 39: { - LogStep(39, "TH reads ManufacturingDate from the DUT."); + case 40: { + LogStep(40, "TH reads ManufacturingDate from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A000b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::ManufacturingDate::Id, true, chip::NullOptional); } - case 40: { - LogStep(40, "TH reads PartNumber from the DUT"); + case 41: { + LogStep(41, "TH reads PartNumber from the DUT"); VerifyOrDo(!ShouldSkip("BINFO.S.A000c && PART_NUM"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::PartNumber::Id, true, chip::NullOptional); } - case 41: { - LogStep(41, "TH writes PartNumber from the DUT."); + case 42: { + LogStep(42, "TH writes PartNumber from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A000c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::CharSpan value; @@ -9539,20 +9534,20 @@ class Test_TC_BINFO_2_1Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::PartNumber::Id, value, chip::NullOptional, chip::NullOptional); } - case 42: { - LogStep(42, "TH reads PartNumber from the DUT"); + case 43: { + LogStep(43, "TH reads PartNumber from the DUT"); VerifyOrDo(!ShouldSkip("BINFO.S.A000c && PART_NUM"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::PartNumber::Id, true, chip::NullOptional); } - case 43: { - LogStep(43, "TH reads ProductURL from the DUT"); + case 44: { + LogStep(44, "TH reads ProductURL from the DUT"); VerifyOrDo(!ShouldSkip("BINFO.S.A000d"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::ProductURL::Id, true, chip::NullOptional); } - case 44: { - LogStep(44, + case 45: { + LogStep(45, "Verify that it specifies a link to a specific web page, Verify that it follows the syntax rules specified in " "RFC 3986."); VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && BINFO.S.A000d"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -9563,8 +9558,8 @@ class Test_TC_BINFO_2_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 45: { - LogStep(45, "TH writes ProductURL from the DUT."); + case 46: { + LogStep(46, "TH writes ProductURL from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A000d"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::CharSpan value; @@ -9572,20 +9567,20 @@ class Test_TC_BINFO_2_1Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::ProductURL::Id, value, chip::NullOptional, chip::NullOptional); } - case 46: { - LogStep(46, "TH reads ProductURL from the DUT"); + case 47: { + LogStep(47, "TH reads ProductURL from the DUT"); VerifyOrDo(!ShouldSkip("BINFO.S.A000d"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::ProductURL::Id, true, chip::NullOptional); } - case 47: { - LogStep(47, "TH reads ProductLabel from the DUT."); + case 48: { + LogStep(48, "TH reads ProductLabel from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A000e"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::ProductLabel::Id, true, chip::NullOptional); } - case 48: { - LogStep(48, "Verify that it does not include the name of the vendor as defined within the VendorName attribute"); + case 49: { + LogStep(49, "Verify that it does not include the name of the vendor as defined within the VendorName attribute"); VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && BINFO.S.A000e"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -9594,8 +9589,8 @@ class Test_TC_BINFO_2_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 49: { - LogStep(49, "TH writes ProductLabel from the DUT."); + case 50: { + LogStep(50, "TH writes ProductLabel from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A000e"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::CharSpan value; @@ -9603,19 +9598,20 @@ class Test_TC_BINFO_2_1Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::ProductLabel::Id, value, chip::NullOptional, chip::NullOptional); } - case 50: { - LogStep(50, "TH reads ProductLabel from the DUT."); + case 51: { + LogStep(51, "TH reads ProductLabel from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A000e"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::ProductLabel::Id, true, chip::NullOptional); } - case 51: { - LogStep(51, "TH reads SerialNumber from the DUT."); + case 52: { + LogStep(52, "TH reads SerialNumber from the DUT."); + VerifyOrDo(!ShouldSkip("BINFO.S.A000f"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::SerialNumber::Id, true, chip::NullOptional); } - case 52: { - LogStep(52, "TH writes SerialNumber from the DUT."); + case 53: { + LogStep(53, "TH writes SerialNumber from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A000f"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::CharSpan value; @@ -9623,20 +9619,20 @@ class Test_TC_BINFO_2_1Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::SerialNumber::Id, value, chip::NullOptional, chip::NullOptional); } - case 53: { - LogStep(53, "TH reads SerialNumber from the DUT."); + case 54: { + LogStep(54, "TH reads SerialNumber from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A000f"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::SerialNumber::Id, true, chip::NullOptional); } - case 54: { - LogStep(54, "TH reads LocalConfigDisabled from the DUT."); + case 55: { + LogStep(55, "TH reads LocalConfigDisabled from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A0010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::LocalConfigDisabled::Id, true, chip::NullOptional); } - case 55: { - LogStep(55, "TH sets LocalConfigDisabled to True"); + case 56: { + LogStep(56, "TH sets LocalConfigDisabled to True"); VerifyOrDo(!ShouldSkip("BINFO.S.A0010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; bool value; @@ -9644,20 +9640,20 @@ class Test_TC_BINFO_2_1Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::LocalConfigDisabled::Id, value, chip::NullOptional, chip::NullOptional); } - case 56: { - LogStep(56, "TH reads LocalConfigDisabled from the DUT."); + case 57: { + LogStep(57, "TH reads LocalConfigDisabled from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A0010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::LocalConfigDisabled::Id, true, chip::NullOptional); } - case 57: { - LogStep(57, "TH reads Reachable from the DUT."); + case 58: { + LogStep(58, "TH reads Reachable from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::Reachable::Id, true, chip::NullOptional); } - case 58: { - LogStep(58, "TH sends Write request message to DUT to change value of Reachable to false"); + case 59: { + LogStep(59, "TH sends Write request message to DUT to change value of Reachable to false"); VerifyOrDo(!ShouldSkip("BINFO.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; bool value; @@ -9665,14 +9661,14 @@ class Test_TC_BINFO_2_1Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::Reachable::Id, value, chip::NullOptional, chip::NullOptional); } - case 59: { - LogStep(59, "TH reads UniqueID from the DUT."); + case 60: { + LogStep(60, "TH reads UniqueID from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::UniqueID::Id, true, chip::NullOptional); } - case 60: { - LogStep(60, "TH writes UniqueID from the DUT."); + case 61: { + LogStep(61, "TH writes UniqueID from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::CharSpan value; @@ -9680,20 +9676,20 @@ class Test_TC_BINFO_2_1Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::UniqueID::Id, value, chip::NullOptional, chip::NullOptional); } - case 61: { - LogStep(61, "TH reads UniqueID from the DUT."); + case 62: { + LogStep(62, "TH reads UniqueID from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::UniqueID::Id, true, chip::NullOptional); } - case 62: { - LogStep(62, "TH reads CapabilityMinima attribute from the DUT."); + case 63: { + LogStep(63, "TH reads CapabilityMinima attribute from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::CapabilityMinima::Id, true, chip::NullOptional); } - case 63: { - LogStep(63, + case 64: { + LogStep(64, "Step 56 is implicitly validating the attribute(CapabilityMinima) constraints, as long as the payload is being " "parsed successfully"); VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && BINFO.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -9704,8 +9700,8 @@ class Test_TC_BINFO_2_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 64: { - LogStep(64, "TH writes CapabilityMinima from the DUT."); + case 65: { + LogStep(65, "TH writes CapabilityMinima from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::Basic::Structs::CapabilityMinimaStruct::Type value; @@ -9716,8 +9712,8 @@ class Test_TC_BINFO_2_1Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::CapabilityMinima::Id, value, chip::NullOptional, chip::NullOptional); } - case 65: { - LogStep(65, "TH reads CapabilityMinima attribute from the DUT."); + case 66: { + LogStep(66, "TH reads CapabilityMinima attribute from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::CapabilityMinima::Id, true, chip::NullOptional); @@ -10424,15 +10420,7 @@ class Test_TC_FLW_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 5: @@ -10497,12 +10485,11 @@ class Test_TC_FLW_1_1Suite : public TestCommand } case 3: { LogStep(3, "Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip(" !FLW.S.A0003 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FlowMeasurement::Id, FlowMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Read the global attribute: AttributeList"); + LogStep(4, "Read the optional attribute(Tolerance) in AttributeList"); VerifyOrDo(!ShouldSkip("FLW.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FlowMeasurement::Id, FlowMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); @@ -10654,7 +10641,7 @@ class Test_TC_FLW_2_1Suite : public TestCommand FlowMeasurement::Attributes::MaxMeasuredValue::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "read the optional attribute: Tolerance"); + LogStep(4, "Read the optional attribute: Tolerance"); VerifyOrDo(!ShouldSkip("FLW.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FlowMeasurement::Id, FlowMeasurement::Attributes::Tolerance::Id, true, chip::NullOptional); @@ -11517,7 +11504,6 @@ class Test_TC_I_1_1Suite : public TestCommand VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 64UL)); } break; case 6: @@ -11526,7 +11512,7 @@ class Test_TC_I_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 64UL)); } break; case 7: @@ -11545,9 +11531,7 @@ class Test_TC_I_1_1Suite : public TestCommand VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); { auto iter_0 = value.begin(); - VerifyOrReturn(CheckNextListItemDecodes("generatedCommandList", iter_0, 0)); - VerifyOrReturn(CheckValue("generatedCommandList[0]", iter_0.GetValue(), 0UL)); - VerifyOrReturn(CheckNoMoreListItems("generatedCommandList", iter_0, 1)); + VerifyOrReturn(CheckNoMoreListItems("generatedCommandList", iter_0, 0)); } VerifyOrReturn(CheckConstraintType("value", "", "list")); } @@ -11559,7 +11543,9 @@ class Test_TC_I_1_1Suite : public TestCommand VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); { auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("generatedCommandList", iter_0, 0)); + VerifyOrReturn(CheckNextListItemDecodes("generatedCommandList", iter_0, 0)); + VerifyOrReturn(CheckValue("generatedCommandList[0]", iter_0.GetValue(), 0UL)); + VerifyOrReturn(CheckNoMoreListItems("generatedCommandList", iter_0, 1)); } VerifyOrReturn(CheckConstraintType("value", "", "list")); } @@ -11614,13 +11600,12 @@ class Test_TC_I_1_1Suite : public TestCommand } case 5: { LogStep(5, "Read the global attribute: AcceptedCommandList"); - VerifyOrDo(!ShouldSkip("I.C.C40.Tx"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Identify::Id, Identify::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Read the global attribute: AcceptedCommandList"); - VerifyOrDo(!ShouldSkip(" !I.C.C40.Tx "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Read the optional command(TriggerEffect) in AcceptedCommandList"); + VerifyOrDo(!ShouldSkip("I.C.C40.Tx"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Identify::Id, Identify::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } @@ -11632,13 +11617,12 @@ class Test_TC_I_1_1Suite : public TestCommand } case 8: { LogStep(8, "Read the global attribute: GeneratedCommandList"); - VerifyOrDo(!ShouldSkip("I.S.C00.Tx"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Identify::Id, Identify::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } case 9: { - LogStep(9, "Read the global attribute: GeneratedCommandList"); - VerifyOrDo(!ShouldSkip(" !I.S.C00.Tx "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(9, "Read the optional attribute(IdentifyQueryResponse) in GeneratedCommandList"); + VerifyOrDo(!ShouldSkip("I.S.C00.Tx"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Identify::Id, Identify::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } @@ -11803,8 +11787,8 @@ class Test_TC_I_2_2Suite : public TestCommand { uint16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintMinValue("value", value, 55U)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 65U)); + VerifyOrReturn(CheckConstraintMinValue("value", value, 51U)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 69U)); } break; case 3: @@ -11816,8 +11800,8 @@ class Test_TC_I_2_2Suite : public TestCommand { uint16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintMinValue("value", value, 45U)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 55U)); + VerifyOrReturn(CheckConstraintMinValue("value", value, 43U)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 57U)); } break; case 5: @@ -11889,7 +11873,7 @@ class Test_TC_I_2_2Suite : public TestCommand ); } case 2: { - LogStep(2, "TH reads immediately IdentifyTime attribute from DUT1"); + LogStep(2, "TH reads immediately IdentifyTime attribute from DUT"); VerifyOrDo(!ShouldSkip("I.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Identify::Id, Identify::Attributes::IdentifyTime::Id, true, chip::NullOptional); @@ -11911,7 +11895,8 @@ class Test_TC_I_2_2Suite : public TestCommand LogStep(5, "TH sends IdentifyQuery command to DUT and Verify IdentifyQueryResponse command to TH,with the Timeout field " "set to a value in the range 0x0000 to 0x0032"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && I.S.C01.Rsp && I.S.C00.Tx"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -11931,14 +11916,15 @@ class Test_TC_I_2_2Suite : public TestCommand ); } case 7: { - LogStep(7, "TH reads immediately IdentifyTime attribute from DUT2"); + LogStep(7, "TH reads immediately IdentifyTime attribute from DUT"); VerifyOrDo(!ShouldSkip("I.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Identify::Id, Identify::Attributes::IdentifyTime::Id, true, chip::NullOptional); } case 8: { LogStep(8, "TH sends IdentifyQuery command to DUT "); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && I.S.C01.Rsp && I.S.C00.Tx"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -12851,7 +12837,6 @@ class Test_TC_LVL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; case 13: @@ -12860,14 +12845,7 @@ class Test_TC_LVL_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; case 14: @@ -12974,13 +12952,12 @@ class Test_TC_LVL_1_1Suite : public TestCommand } case 12: { LogStep(12, "Read the global attribute: AcceptedCommandList"); - VerifyOrDo(!ShouldSkip("LVL.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } case 13: { - LogStep(13, "Read the global attribute: AcceptedCommandList"); - VerifyOrDo(!ShouldSkip(" !LVL.S.F02 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(13, "Read the Feature-dependent(LVL.S.F02) attribute in AcceptedCommandList"); + VerifyOrDo(!ShouldSkip("LVL.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } @@ -14023,8 +14000,8 @@ class Test_TC_LVL_3_1Suite : public TestCommand chip::app::Clusters::LevelControl::Commands::MoveToLevel::Type value; value.level = 100U; value.transitionTime = 0U; - value.optionMask = 1U; - value.optionOverride = 1U; + value.optionMask = 0U; + value.optionOverride = 0U; return SendCommand(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Commands::MoveToLevel::Id, value, chip::NullOptional @@ -14050,8 +14027,8 @@ class Test_TC_LVL_3_1Suite : public TestCommand chip::app::Clusters::LevelControl::Commands::MoveToLevel::Type value; value.level = 128U; value.transitionTime = 100U; - value.optionMask = 1U; - value.optionOverride = 1U; + value.optionMask = 0U; + value.optionOverride = 0U; return SendCommand(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Commands::MoveToLevel::Id, value, chip::NullOptional @@ -14084,8 +14061,8 @@ class Test_TC_LVL_3_1Suite : public TestCommand chip::app::Clusters::LevelControl::Commands::MoveToLevel::Type value; value.level = 64U; value.transitionTime = 65535U; - value.optionMask = 1U; - value.optionOverride = 1U; + value.optionMask = 0U; + value.optionOverride = 0U; return SendCommand(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Commands::MoveToLevel::Id, value, chip::NullOptional @@ -14354,7 +14331,7 @@ class Test_TC_LVL_4_1Suite : public TestCommand LogStep(7, "Physically verify that the DUT moves at a rate of 32 units per second or as close as possible to this rate " "and completes moving to its maximum level"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && LVL.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -14376,13 +14353,15 @@ class Test_TC_LVL_4_1Suite : public TestCommand chip::NullOptional); } case 10: { - LogStep(10, "sends a MoveWithOnOff command"); + LogStep(10, "sends a Move command"); VerifyOrDo(!ShouldSkip("LVL.S.C05.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; - chip::app::Clusters::LevelControl::Commands::MoveWithOnOff::Type value; - value.moveMode = static_cast(1); - value.rate = 64U; - return SendCommand(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Commands::MoveWithOnOff::Id, value, + chip::app::Clusters::LevelControl::Commands::Move::Type value; + value.moveMode = static_cast(1); + value.rate = 64U; + value.optionMask = 1U; + value.optionOverride = 1U; + return SendCommand(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Commands::Move::Id, value, chip::NullOptional ); @@ -14391,7 +14370,7 @@ class Test_TC_LVL_4_1Suite : public TestCommand LogStep(11, "Physically verify that the DUT moves at a rate of 64 units per second or as close as possible to this rate " "and complete moving to its minimum level"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && LVL.S.C05.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -14433,17 +14412,18 @@ class Test_TC_LVL_4_1Suite : public TestCommand ); } case 16: { - LogStep(16, "Wait 100ms"); + LogStep(16, "Wait 500ms"); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; - value.ms = 100UL; + value.ms = 500UL; return WaitForMs(kIdentityAlpha, value); } case 17: { LogStep(17, "Physically verify that the device moves at the rate recorded in step 3a and completes moving to its maximum " "level"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && LVL.S.C05.Rsp && LVL.S.A0014"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -14683,13 +14663,13 @@ class Test_TC_LVL_5_1Suite : public TestCommand } case 6: { LogStep(6, "Reads current level attribute from DUT"); - VerifyOrDo(!ShouldSkip("LVL.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("LVL.S.A0000 && LVL.S.C04.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::CurrentLevel::Id, true, chip::NullOptional); } case 7: { LogStep(7, "Reads current level attribute from DUT"); - VerifyOrDo(!ShouldSkip("LVL.S.A0000 && !LVL.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("LVL.S.A0000 && !LVL.S.A0002 && LVL.S.C04.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::CurrentLevel::Id, true, chip::NullOptional); } @@ -14701,8 +14681,8 @@ class Test_TC_LVL_5_1Suite : public TestCommand value.stepMode = static_cast(0); value.stepSize = 64U; value.transitionTime = 20U; - value.optionMask = 1U; - value.optionOverride = 1U; + value.optionMask = 0U; + value.optionOverride = 0U; return SendCommand(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Commands::Step::Id, value, chip::NullOptional @@ -14717,7 +14697,8 @@ class Test_TC_LVL_5_1Suite : public TestCommand } case 10: { LogStep(10, "Reads current level attribute from DUT"); - VerifyOrDo(!ShouldSkip("LVL.S.A0000 && LVL.S.C02.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("LVL.S.A0000 && LVL.S.C02.Rsp && LVL.S.M.VarRate"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::CurrentLevel::Id, true, chip::NullOptional); } @@ -14743,13 +14724,15 @@ class Test_TC_LVL_5_1Suite : public TestCommand } case 13: { LogStep(13, "Reads current level attribute from DUT"); - VerifyOrDo(!ShouldSkip("LVL.S.C06.Rsp && LVL.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("LVL.S.C06.Rsp && LVL.S.A0000 && LVL.S.M.VarRate"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::CurrentLevel::Id, true, chip::NullOptional); } case 14: { LogStep(14, "Reads current level attribute from DUT"); - VerifyOrDo(!ShouldSkip("LVL.S.C06.Rsp && LVL.S.A0000 && !LVL.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("LVL.S.C06.Rsp && LVL.S.A0000 && !LVL.S.A0002 && LVL.S.M.VarRate"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::CurrentLevel::Id, true, chip::NullOptional); } @@ -14869,8 +14852,8 @@ class Test_TC_LVL_6_1Suite : public TestCommand { uint8_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintMinValue("value", value, 22U)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 28U)); + VerifyOrReturn(CheckConstraintMinValue("value", value, 21U)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 29U)); VerifyOrReturn(CheckConstraintNotValue("value", value, CurrentLevelValue)); } break; @@ -14893,8 +14876,8 @@ class Test_TC_LVL_6_1Suite : public TestCommand { uint8_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintMinValue("value", value, 45U)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 55U)); + VerifyOrReturn(CheckConstraintMinValue("value", value, 43U)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 57U)); VerifyOrReturn(CheckConstraintNotValue("value", value, CurrentLevelValue)); } break; @@ -14965,7 +14948,7 @@ class Test_TC_LVL_6_1Suite : public TestCommand } case 5: { LogStep(5, "Reads CurrentLevel attribute from DUT"); - VerifyOrDo(!ShouldSkip("LVL.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("LVL.S.A0000 && LVL.S.C04.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::CurrentLevel::Id, true, chip::NullOptional); } @@ -15004,7 +14987,7 @@ class Test_TC_LVL_6_1Suite : public TestCommand } case 9: { LogStep(9, "Physically verify that the device has stopped transitioning"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && LVL.S.C03.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -15041,19 +15024,18 @@ class Test_TC_LVL_6_1Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 13: { - LogStep(13, "Sends stop command to DUT"); + LogStep(13, "Sends StopWithOnOff command to DUT"); + VerifyOrDo(!ShouldSkip("LVL.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; - chip::app::Clusters::LevelControl::Commands::Stop::Type value; - value.optionMask = 1U; - value.optionOverride = 1U; - return SendCommand(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Commands::Stop::Id, value, + chip::app::Clusters::LevelControl::Commands::StopWithOnOff::Type value; + return SendCommand(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Commands::StopWithOnOff::Id, value, chip::NullOptional ); } case 14: { LogStep(14, "Physically verify that the device has stopped transitioning"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && LVL.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -15585,7 +15567,6 @@ class Test_TC_APPLAUNCHER_1_3Suite : public TestCommand } case 4: { LogStep(4, "Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("APPLAUNCHER.S.A0000 && APPLAUNCHER.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ApplicationLauncher::Id, ApplicationLauncher::Attributes::AttributeList::Id, true, chip::NullOptional); } @@ -15682,8 +15663,9 @@ class Test_TC_MEDIAINPUT_1_4Suite : public TestCommand { uint32_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("featureMap", value, 1UL)); VerifyOrReturn(CheckConstraintType("value", "", "map32")); + VerifyOrReturn(CheckConstraintMinValue("value", value, 0UL)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 1UL)); } break; case 3: @@ -15774,13 +15756,11 @@ class Test_TC_MEDIAINPUT_1_4Suite : public TestCommand } case 2: { LogStep(2, "Read the global attribute: FeatureMap"); - VerifyOrDo(!ShouldSkip("MEDIAINPUT.S.NU"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaInput::Id, MediaInput::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 3: { LogStep(3, "Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("MEDIAINPUT.S.A0000 && MEDIAINPUT.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaInput::Id, MediaInput::Attributes::AttributeList::Id, true, chip::NullOptional); } @@ -15989,7 +15969,7 @@ class Test_TC_CHANNEL_1_6Suite : public TestCommand { public: Test_TC_CHANNEL_1_6Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_CHANNEL_1_6", 12, credsIssuerConfig) + TestCommand("Test_TC_CHANNEL_1_6", 13, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -16117,11 +16097,23 @@ class Test_TC_CHANNEL_1_6Suite : public TestCommand { chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("generatedCommandList", iter_0, 0)); + } VerifyOrReturn(CheckConstraintType("value", "", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; case 11: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + } + break; + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -16160,8 +16152,6 @@ class Test_TC_CHANNEL_1_6Suite : public TestCommand } case 3: { LogStep(3, "Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("CHANNEL.S.A0000 && CHANNEL.S.A0001 && CHANNEL.S.A0002"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Channel::Id, Channel::Attributes::AttributeList::Id, true, chip::NullOptional); } @@ -16203,12 +16193,18 @@ class Test_TC_CHANNEL_1_6Suite : public TestCommand } case 10: { LogStep(10, "Read the global attribute: GeneratedCommandList"); - VerifyOrDo(!ShouldSkip("CHANNEL.S.C01.Tx"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip(" !CHANNEL.S.C01.Tx "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Channel::Id, Channel::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, + LogStep(11, "Read the global attribute: GeneratedCommandList"); + VerifyOrDo(!ShouldSkip("CHANNEL.S.C01.Tx"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Channel::Id, Channel::Attributes::GeneratedCommandList::Id, true, + chip::NullOptional); + } + case 12: { + LogStep(12, "Read EventList attribute from the DUT and Verify that the DUT response provides a list of supported events."); VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; @@ -16843,8 +16839,183 @@ class Test_TC_TGTNAV_1_9Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } + break; + case 4: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + } + break; + case 5: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + } + break; + case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + } + break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + default: + LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); + } + + if (shouldContinue) + { + ContinueOnChipMainThread(CHIP_NO_ERROR); + } + } + + CHIP_ERROR DoTestStep(uint16_t testIndex) override + { + using namespace chip::app::Clusters; + switch (testIndex) + { + case 0: { + LogStep(0, "Wait for the commissioned device to be retrieved"); + ListFreer listFreer; + chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; + value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; + return WaitForCommissionee(kIdentityAlpha, value); + } + case 1: { + LogStep(1, "read the global attribute: ClusterRevision"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TargetNavigator::Id, + TargetNavigator::Attributes::ClusterRevision::Id, true, chip::NullOptional); + } + case 2: { + LogStep(2, "Read the global attribute: FeatureMap"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TargetNavigator::Id, TargetNavigator::Attributes::FeatureMap::Id, + true, chip::NullOptional); + } + case 3: { + LogStep(3, "Read the global attribute: AttributeList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TargetNavigator::Id, + TargetNavigator::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 4: { + LogStep(4, "Read the optional attribute(CurrentTarget) in AttributeList"); + VerifyOrDo(!ShouldSkip("TGTNAV.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TargetNavigator::Id, + TargetNavigator::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 5: { + LogStep(5, "Read the global attribute: AcceptedCommandList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TargetNavigator::Id, + TargetNavigator::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + } + case 6: { + LogStep(6, "Read the global attribute: GeneratedCommandList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TargetNavigator::Id, + TargetNavigator::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); + } + case 7: { + LogStep(7, + "Read EventList attribute from the DUT and Verify that the DUT response provides a list of supported events."); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + } + return CHIP_NO_ERROR; + } +}; + +class Test_TC_APBSC_1_10Suite : public TestCommand +{ +public: + Test_TC_APBSC_1_10Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_APBSC_1_10", 10, credsIssuerConfig) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + + ~Test_TC_APBSC_1_10Suite() {} + + chip::System::Clock::Timeout GetWaitDuration() const override + { + return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); + } + +private: + chip::Optional mNodeId; + chip::Optional mCluster; + chip::Optional mEndpoint; + chip::Optional mTimeout; + + chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } + + // + // Tests methods + // + + void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override + { + bool shouldContinue = false; + + switch (mTestIndex - 1) + { + case 0: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 1: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + uint16_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("clusterRevision", value, 1U)); + VerifyOrReturn(CheckConstraintType("value", "", "uint16")); + } + break; + case 2: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + uint32_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("featureMap", value, 0UL)); + VerifyOrReturn(CheckConstraintType("value", "", "map32")); + } + break; + case 3: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); @@ -16859,182 +17030,27 @@ class Test_TC_TGTNAV_1_9Suite : public TestCommand VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - } - break; - case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - default: - LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); - } - - if (shouldContinue) - { - ContinueOnChipMainThread(CHIP_NO_ERROR); - } - } - - CHIP_ERROR DoTestStep(uint16_t testIndex) override - { - using namespace chip::app::Clusters; - switch (testIndex) - { - case 0: { - LogStep(0, "Wait for the commissioned device to be retrieved"); - ListFreer listFreer; - chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; - value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; - return WaitForCommissionee(kIdentityAlpha, value); - } - case 1: { - LogStep(1, "read the global attribute: ClusterRevision"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TargetNavigator::Id, - TargetNavigator::Attributes::ClusterRevision::Id, true, chip::NullOptional); - } - case 2: { - LogStep(2, "Read the global attribute: FeatureMap"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TargetNavigator::Id, TargetNavigator::Attributes::FeatureMap::Id, - true, chip::NullOptional); - } - case 3: { - LogStep(3, "Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("TGTNAV.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TargetNavigator::Id, - TargetNavigator::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 4: { - LogStep(4, "Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip(" !TGTNAV.S.A0001 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TargetNavigator::Id, - TargetNavigator::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 5: { - LogStep(5, "Read the global attribute: AcceptedCommandList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TargetNavigator::Id, - TargetNavigator::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); - } - case 6: { - LogStep(6, "Read the global attribute: GeneratedCommandList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TargetNavigator::Id, - TargetNavigator::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); - } - case 7: { - LogStep(7, - "Read EventList attribute from the DUT and Verify that the DUT response provides a list of supported events."); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - } - return CHIP_NO_ERROR; - } -}; - -class Test_TC_APBSC_1_10Suite : public TestCommand -{ -public: - Test_TC_APBSC_1_10Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_APBSC_1_10", 7, credsIssuerConfig) - { - AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); - AddArgument("cluster", &mCluster); - AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); - AddArgument("timeout", 0, UINT16_MAX, &mTimeout); - } - - ~Test_TC_APBSC_1_10Suite() {} - - chip::System::Clock::Timeout GetWaitDuration() const override - { - return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); - } - -private: - chip::Optional mNodeId; - chip::Optional mCluster; - chip::Optional mEndpoint; - chip::Optional mTimeout; - - chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } - - // - // Tests methods - // - - void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override - { - bool shouldContinue = false; - - switch (mTestIndex - 1) - { - case 0: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 1: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("clusterRevision", value, 1U)); - VerifyOrReturn(CheckConstraintType("value", "", "uint16")); - } - break; - case 2: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("featureMap", value, 0UL)); - VerifyOrReturn(CheckConstraintType("value", "", "map32")); - } - break; - case 3: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 4: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -17046,7 +17062,7 @@ class Test_TC_APBSC_1_10Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "", "list")); } break; - case 5: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -17058,7 +17074,7 @@ class Test_TC_APBSC_1_10Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "", "list")); } break; - case 6: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -17096,23 +17112,39 @@ class Test_TC_APBSC_1_10Suite : public TestCommand } case 3: { LogStep(3, "Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("APBSC.S.A0000 && APBSC.S.A0001 && APBSC.S.A0003"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), ApplicationBasic::Id, ApplicationBasic::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Read the global attribute: AcceptedCommandList"); + LogStep(4, "Read the optional attribute(VendorName) in AttributeList"); + VerifyOrDo(!ShouldSkip("APBSC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), ApplicationBasic::Id, - ApplicationBasic::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + ApplicationBasic::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Read the global attribute: GeneratedCommandList"); + LogStep(5, "Read the optional attribute(VendorID) in AttributeList"); + VerifyOrDo(!ShouldSkip("APBSC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), ApplicationBasic::Id, - ApplicationBasic::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); + ApplicationBasic::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, + LogStep(6, "Read the optional attribute(ProductID) in AttributeList"); + VerifyOrDo(!ShouldSkip("APBSC.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(3), ApplicationBasic::Id, + ApplicationBasic::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 7: { + LogStep(7, "Read the global attribute: AcceptedCommandList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(3), ApplicationBasic::Id, + ApplicationBasic::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + } + case 8: { + LogStep(8, "Read the global attribute: GeneratedCommandList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(3), ApplicationBasic::Id, + ApplicationBasic::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); + } + case 9: { + LogStep(9, "Read EventList attribute from the DUT and Verify that the DUT response provides a list of supported events."); VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; @@ -18827,7 +18859,8 @@ class Test_TC_MEDIAINPUT_3_13Suite : public TestCommand } case 3: { LogStep(3, "TH reads the InputList attribute from the DUT to show list of Inputs available"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && MEDIAINPUT.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && MEDIAINPUT.S.A0000 && MEDIAINPUT.S.C0003"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -19035,7 +19068,7 @@ class Test_TC_CHANNEL_5_2Suite : public TestCommand } case 3: { LogStep(3, "Verify that the channel has changed on the device"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && CHANNEL.S.C02.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span( @@ -19194,7 +19227,7 @@ class Test_TC_CHANNEL_5_3Suite : public TestCommand } case 5: { LogStep(5, "Verify that the channel has changed on the device"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && CHANNEL.S.C03.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span( @@ -19355,7 +19388,7 @@ class Test_TC_MEDIAPLAYBACK_6_1Suite : public TestCommand } case 1: { LogStep(1, "Precondition: Media content in a paused state at the beginning of the content"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::MediaPlayback::Commands::Pause::Type value; return SendCommand(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Commands::Pause::Id, value, @@ -19365,13 +19398,14 @@ class Test_TC_MEDIAPLAYBACK_6_1Suite : public TestCommand } case 2: { LogStep(2, "Reads the CurrentState attribute"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C01.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::CurrentState::Id, true, chip::NullOptional); } case 3: { LogStep(3, "Sends a Play command"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::MediaPlayback::Commands::Play::Type value; return SendCommand(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Commands::Play::Id, value, @@ -19381,7 +19415,7 @@ class Test_TC_MEDIAPLAYBACK_6_1Suite : public TestCommand } case 4: { LogStep(4, "Verify that the media state is playing"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = @@ -19392,13 +19426,14 @@ class Test_TC_MEDIAPLAYBACK_6_1Suite : public TestCommand } case 5: { LogStep(5, "Reads the CurrentState attribute"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C00.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::CurrentState::Id, true, chip::NullOptional); } case 6: { LogStep(6, "sends a Pause command"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::MediaPlayback::Commands::Pause::Type value; return SendCommand(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Commands::Pause::Id, value, @@ -19408,7 +19443,7 @@ class Test_TC_MEDIAPLAYBACK_6_1Suite : public TestCommand } case 7: { LogStep(7, "Verify that the media is paused"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = @@ -19419,12 +19454,14 @@ class Test_TC_MEDIAPLAYBACK_6_1Suite : public TestCommand } case 8: { LogStep(8, "Reads the CurrentState attribute"); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C01.Rsp && MEDIAPLAYBACK.S.A0000"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::CurrentState::Id, true, chip::NullOptional); } case 9: { LogStep(9, "Sends a Stop command"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C02.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::MediaPlayback::Commands::StopPlayback::Type value; return SendCommand(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Commands::StopPlayback::Id, value, @@ -19434,7 +19471,7 @@ class Test_TC_MEDIAPLAYBACK_6_1Suite : public TestCommand } case 10: { LogStep(10, "Verify that the media is stoped"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C02.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = @@ -19445,7 +19482,8 @@ class Test_TC_MEDIAPLAYBACK_6_1Suite : public TestCommand } case 11: { LogStep(11, "Reads the CurrentState attribute"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C02.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::CurrentState::Id, true, chip::NullOptional); } @@ -19631,7 +19669,7 @@ class Test_TC_MEDIAPLAYBACK_6_2Suite : public TestCommand } case 1: { LogStep(1, "Precondition: Media content in a paused state at the beginning of the content"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::MediaPlayback::Commands::Pause::Type value; return SendCommand(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Commands::Pause::Id, value, @@ -19641,13 +19679,14 @@ class Test_TC_MEDIAPLAYBACK_6_2Suite : public TestCommand } case 2: { LogStep(2, "Reads the CurrentState attribute from the DUT"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C01.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::CurrentState::Id, true, chip::NullOptional); } case 3: { LogStep(3, "Sends a Play command to the DUT"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::MediaPlayback::Commands::Play::Type value; return SendCommand(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Commands::Play::Id, value, @@ -19657,7 +19696,7 @@ class Test_TC_MEDIAPLAYBACK_6_2Suite : public TestCommand } case 4: { LogStep(4, "Verify that the media state is playing"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = @@ -19668,7 +19707,8 @@ class Test_TC_MEDIAPLAYBACK_6_2Suite : public TestCommand } case 5: { LogStep(5, "Reads the CurrentState attribute"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C00.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::CurrentState::Id, true, chip::NullOptional); } @@ -19684,7 +19724,7 @@ class Test_TC_MEDIAPLAYBACK_6_2Suite : public TestCommand } case 7: { LogStep(7, "Verify that the media is started over"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C03.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = @@ -19705,7 +19745,7 @@ class Test_TC_MEDIAPLAYBACK_6_2Suite : public TestCommand } case 9: { LogStep(9, "Verify that the next media item in the queue has been loaded"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C05.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span( @@ -19726,7 +19766,7 @@ class Test_TC_MEDIAPLAYBACK_6_2Suite : public TestCommand } case 11: { LogStep(11, "Verify that the previous media item in the queue has been loaded"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C04.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span( @@ -19748,7 +19788,7 @@ class Test_TC_MEDIAPLAYBACK_6_2Suite : public TestCommand } case 13: { LogStep(13, "Verify that the media has skipped forward 10 seconds"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C08.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span( @@ -19759,7 +19799,8 @@ class Test_TC_MEDIAPLAYBACK_6_2Suite : public TestCommand } case 14: { LogStep(14, "Reads the SampledPosition attribute from the DUT"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0003 && MEDIAPLAYBACK.S.C08.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::SampledPosition::Id, true, chip::NullOptional); } @@ -19776,7 +19817,7 @@ class Test_TC_MEDIAPLAYBACK_6_2Suite : public TestCommand } case 16: { LogStep(16, "Verify that the media has skipped backward 10 seconds"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C09.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span( @@ -19787,7 +19828,8 @@ class Test_TC_MEDIAPLAYBACK_6_2Suite : public TestCommand } case 17: { LogStep(17, "Reads the SampledPosition attribute from the DUT"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0003 && MEDIAPLAYBACK.S.C09.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::SampledPosition::Id, true, chip::NullOptional); } @@ -19915,7 +19957,7 @@ class Test_TC_MEDIAPLAYBACK_6_3Suite : public TestCommand } case 1: { LogStep(1, "Precondition: Media content in a paused state at the beginning of the content"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::MediaPlayback::Commands::Pause::Type value; return SendCommand(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Commands::Pause::Id, value, @@ -19936,7 +19978,7 @@ class Test_TC_MEDIAPLAYBACK_6_3Suite : public TestCommand } case 3: { LogStep(3, "Verify that the media has moved to 10 seconds from the starting point"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C0B.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span( @@ -19947,7 +19989,8 @@ class Test_TC_MEDIAPLAYBACK_6_3Suite : public TestCommand } case 4: { LogStep(4, "Reads the SampledPosition attribute"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0003 && MEDIAPLAYBACK.S.C0B.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::SampledPosition::Id, true, chip::NullOptional); } @@ -20192,7 +20235,7 @@ class Test_TC_MEDIAPLAYBACK_6_4Suite : public TestCommand } case 1: { LogStep(1, "Precondition: Media content in a paused state at the beginning of the content"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::MediaPlayback::Commands::Pause::Type value; return SendCommand(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Commands::Pause::Id, value, @@ -20202,7 +20245,8 @@ class Test_TC_MEDIAPLAYBACK_6_4Suite : public TestCommand } case 2: { LogStep(2, "Reads the CurrentState attribute from the DUT"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C01.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::CurrentState::Id, true, chip::NullOptional); } @@ -20224,13 +20268,15 @@ class Test_TC_MEDIAPLAYBACK_6_4Suite : public TestCommand } case 5: { LogStep(5, "Reads the CurrentState attribute"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C07.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::CurrentState::Id, true, chip::NullOptional); } case 6: { LogStep(6, "Reads the PlaybackSpeed attribute from the DUT"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0004 && MEDIAPLAYBACK.S.C07.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::PlaybackSpeed::Id, true, chip::NullOptional); } @@ -20246,7 +20292,8 @@ class Test_TC_MEDIAPLAYBACK_6_4Suite : public TestCommand } case 8: { LogStep(8, "Reads the PlaybackSpeed attribute from the DUT"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0004 && MEDIAPLAYBACK.S.C07.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::PlaybackSpeed::Id, true, chip::NullOptional); } @@ -20262,17 +20309,18 @@ class Test_TC_MEDIAPLAYBACK_6_4Suite : public TestCommand } case 10: { LogStep(10, "Reads the CurrentState attribute"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C06.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::CurrentState::Id, true, chip::NullOptional); } case 11: { LogStep(11, "Reads the PlaybackSpeed attribute from the DUT"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = - chip::Span("Please enter 'y' if PlaybackSpeed value is -2garbage: not in length on purpose", 45); + chip::Span("Please enter 'y' if PlaybackSpeed value is -1garbage: not in length on purpose", 45); value.expectedValue.Emplace(); value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); @@ -20300,7 +20348,7 @@ class Test_TC_MEDIAPLAYBACK_6_4Suite : public TestCommand } case 14: { LogStep(14, "Sends a Play command"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::MediaPlayback::Commands::Play::Type value; return SendCommand(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Commands::Play::Id, value, @@ -20310,7 +20358,8 @@ class Test_TC_MEDIAPLAYBACK_6_4Suite : public TestCommand } case 15: { LogStep(15, "Reads the PlaybackSpeed attribute from the DUT"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0004 && MEDIAPLAYBACK.S.C00.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::PlaybackSpeed::Id, true, chip::NullOptional); } @@ -20692,7 +20741,7 @@ class Test_TC_TGTNAV_8_1Suite : public TestCommand } case 4: { LogStep(4, "Reads the CurrentTarget attribute"); - VerifyOrDo(!ShouldSkip("TGTNAV.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TGTNAV.S.A0001 && TGTNAV.S.C0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TargetNavigator::Id, TargetNavigator::Attributes::CurrentTarget::Id, true, chip::NullOptional); } @@ -21581,7 +21630,7 @@ class Test_TC_OCC_1_1Suite : public TestCommand return WaitForCommissionee(kIdentityAlpha, value); } case 1: { - LogStep(1, "read the global attribute: ClusterRevision"); + LogStep(1, "Read the global attribute: ClusterRevision"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OccupancySensing::Id, OccupancySensing::Attributes::ClusterRevision::Id, true, chip::NullOptional); } @@ -21967,10 +22016,6 @@ class Test_TC_OO_1_1Suite : public TestCommand VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 16384UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 16385UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 16386UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 16387UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); @@ -21984,12 +22029,10 @@ class Test_TC_OO_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 16384UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 16385UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 16386UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 16387UL)); } break; case 6: @@ -22001,9 +22044,6 @@ class Test_TC_OO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 64UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 66UL)); } break; case 7: @@ -22012,9 +22052,9 @@ class Test_TC_OO_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 64UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 66UL)); } break; case 8: @@ -22074,25 +22114,23 @@ class Test_TC_OO_1_1Suite : public TestCommand } case 4: { LogStep(4, "Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("OO.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip(" !OO.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Read the feature dependent(OO.S.F00) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("OO.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { LogStep(6, "Read the global attribute: AcceptedCommandList"); - VerifyOrDo(!ShouldSkip("OO.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Read the global attribute: AcceptedCommandList"); - VerifyOrDo(!ShouldSkip(" !OO.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(7, "Read the feature dependent(OO.S.F00) commands in AcceptedCommandList"); + VerifyOrDo(!ShouldSkip("OO.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } @@ -22224,30 +22262,30 @@ class Test_TC_OO_2_1Suite : public TestCommand return WaitForCommissionee(kIdentityAlpha, value); } case 1: { - LogStep(1, "read the mandatory attribute: OnOff"); + LogStep(1, "Read the mandatory attribute: OnOff"); VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional); } case 2: { - LogStep(2, "read LT attribute: GlobalSceneControl"); + LogStep(2, "Read LT attribute: GlobalSceneControl"); VerifyOrDo(!ShouldSkip("OO.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::GlobalSceneControl::Id, true, chip::NullOptional); } case 3: { - LogStep(3, "read LT attribute: OnTime"); + LogStep(3, "Read LT attribute: OnTime"); VerifyOrDo(!ShouldSkip("OO.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnTime::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "read LT attribute: OffWaitTime"); + LogStep(4, "Read LT attribute: OffWaitTime"); VerifyOrDo(!ShouldSkip("OO.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OffWaitTime::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "read LT attribute: StartUpOnOff"); + LogStep(5, "Read LT attribute: StartUpOnOff"); VerifyOrDo(!ShouldSkip("OO.S.A4003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::StartUpOnOff::Id, true, chip::NullOptional); @@ -22553,7 +22591,8 @@ class Test_TC_OO_2_2Suite : public TestCommand } case 17: { LogStep(17, "Operate on device to set OnOff attribute manually to on"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && OO.M.ManuallyControlled"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && OO.M.ManuallyControlled && OO.S.A0000"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -22563,12 +22602,14 @@ class Test_TC_OO_2_2Suite : public TestCommand } case 18: { LogStep(18, "Check on/off attribute value is true after on command"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && OO.S.A0000 && OO.M.ManuallyControlled"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional); } case 19: { LogStep(19, "Operate on device to set OnOff attribute manually to off"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && OO.M.ManuallyControlled"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && OO.M.ManuallyControlled && OO.S.A0000"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -22578,7 +22619,8 @@ class Test_TC_OO_2_2Suite : public TestCommand } case 20: { LogStep(20, "Check on/off attribute value is false after off command"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && OO.S.A0000 && OO.M.ManuallyControlled"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional); } case 21: { @@ -23224,25 +23266,25 @@ class Test_TC_PS_1_1Suite : public TestCommand chip::NullOptional); } case 4: { - LogStep(4, "Read the Feature related(PS.S.F00-WIRED) attribute in AttributeList"); + LogStep(4, "Read the Feature dependent(PS.S.F00-WIRED) attribute in AttributeList"); VerifyOrDo(!ShouldSkip("PS.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Read the Feature related(PS.S.F01-BAT) attribute in AttributeList"); + LogStep(5, "Read the Feature dependent(PS.S.F01-BAT) attribute in AttributeList"); VerifyOrDo(!ShouldSkip("PS.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Read the Feature related(PS.S.F02-RECHG) attribute in AttributeList"); + LogStep(6, "Read the Feature dependent(PS.S.F02-RECHG) attribute in AttributeList"); VerifyOrDo(!ShouldSkip("PS.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Read the Feature related(PS.S.F03-REPLC) attribute in AttributeList"); + LogStep(7, "Read the Feature dependent(PS.S.F03-REPLC) attribute in AttributeList"); VerifyOrDo(!ShouldSkip("PS.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::AttributeList::Id, true, chip::NullOptional); @@ -24304,7 +24346,7 @@ class Test_TC_PRS_2_1Suite : public TestCommand class Test_TC_PCC_1_1Suite : public TestCommand { public: - Test_TC_PCC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_PCC_1_1", 7, credsIssuerConfig) + Test_TC_PCC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_PCC_1_1", 23, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -24380,6 +24422,150 @@ class Test_TC_PCC_1_1Suite : public TestCommand } break; case 4: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + } + break; + case 5: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + } + break; + case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); + } + break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); + } + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); + } + break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); + } + break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); + } + break; + case 11: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); + } + break; + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 11UL)); + } + break; + case 13: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 12UL)); + } + break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 16UL)); + } + break; + case 15: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 20UL)); + } + break; + case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 21UL)); + } + break; + case 17: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 22UL)); + } + break; + case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 23UL)); + } + break; + case 19: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 33UL)); + } + break; + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -24391,7 +24577,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "", "list")); } break; - case 5: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -24403,7 +24589,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "", "list")); } break; - case 6: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -24445,17 +24631,113 @@ class Test_TC_PCC_1_1Suite : public TestCommand PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "TH reads the AcceptedCommandList attribute from the DUT"); + LogStep(4, "TH reads optional attribute(MinConstPressure) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, - PumpConfigurationAndControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "TH reads the GeneratedCommandList attribute from the DUT"); + LogStep(5, "TH reads optional attribute(MaxConstPressure) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, - PumpConfigurationAndControl::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); + PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "TH reads the EventList attribute from the DUT"); + LogStep(6, "TH reads optional attribute(MinCompPressure) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 7: { + LogStep(7, "TH reads optional attribute(MaxCompPressure) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 8: { + LogStep(8, "TH reads optional attribute(MinConstSpeed) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 9: { + LogStep(9, "TH reads optional attribute(MaxConstSpeed) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 10: { + LogStep(10, "TH reads optional attribute(MinConstFlow) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0009"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 11: { + LogStep(11, "TH reads optional attribute(MaxConstFlow) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A000a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 12: { + LogStep(12, "TH reads optional attribute(MinConstTemp) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A000b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 13: { + LogStep(13, "TH reads optional attribute(MaxConstTemp) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A000c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 14: { + LogStep(14, "TH reads optional attribute(PumpStatus) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 15: { + LogStep(15, "TH reads optional attribute(Speed) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0014"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 16: { + LogStep(16, "TH reads optional attribute(LifetimeRunningHours) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 17: { + LogStep(17, "TH reads optional attribute(Power) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 18: { + LogStep(18, "TH reads optional attribute(LifetimeEnergyConsumed) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 19: { + LogStep(19, "TH reads optional attribute(ControlMode) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0021"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 20: { + LogStep(20, "TH reads the AcceptedCommandList attribute from the DUT"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + } + case 21: { + LogStep(21, "TH reads the GeneratedCommandList attribute from the DUT"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); + } + case 22: { + LogStep(22, "TH reads the EventList attribute from the DUT"); VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -24540,10 +24822,6 @@ class Test_TC_PCC_2_1Suite : public TestCommand } break; case 4: - if (IsUnsupported(status.mStatus)) - { - return; - } VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -24554,10 +24832,6 @@ class Test_TC_PCC_2_1Suite : public TestCommand } break; case 5: - if (IsUnsupported(status.mStatus)) - { - return; - } VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -24568,10 +24842,6 @@ class Test_TC_PCC_2_1Suite : public TestCommand } break; case 6: - if (IsUnsupported(status.mStatus)) - { - return; - } VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -24582,10 +24852,6 @@ class Test_TC_PCC_2_1Suite : public TestCommand } break; case 7: - if (IsUnsupported(status.mStatus)) - { - return; - } VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -24596,10 +24862,6 @@ class Test_TC_PCC_2_1Suite : public TestCommand } break; case 8: - if (IsUnsupported(status.mStatus)) - { - return; - } VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -24610,10 +24872,6 @@ class Test_TC_PCC_2_1Suite : public TestCommand } break; case 9: - if (IsUnsupported(status.mStatus)) - { - return; - } VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -24624,10 +24882,6 @@ class Test_TC_PCC_2_1Suite : public TestCommand } break; case 10: - if (IsUnsupported(status.mStatus)) - { - return; - } VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -24638,10 +24892,6 @@ class Test_TC_PCC_2_1Suite : public TestCommand } break; case 11: - if (IsUnsupported(status.mStatus)) - { - return; - } VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -24652,10 +24902,6 @@ class Test_TC_PCC_2_1Suite : public TestCommand } break; case 12: - if (IsUnsupported(status.mStatus)) - { - return; - } VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -24666,10 +24912,6 @@ class Test_TC_PCC_2_1Suite : public TestCommand } break; case 13: - if (IsUnsupported(status.mStatus)) - { - return; - } VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -24680,10 +24922,6 @@ class Test_TC_PCC_2_1Suite : public TestCommand } break; case 14: - if (IsUnsupported(status.mStatus)) - { - return; - } VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::BitMask value; @@ -24724,10 +24962,6 @@ class Test_TC_PCC_2_1Suite : public TestCommand } break; case 18: - if (IsUnsupported(status.mStatus)) - { - return; - } VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -24738,10 +24972,6 @@ class Test_TC_PCC_2_1Suite : public TestCommand } break; case 19: - if (IsUnsupported(status.mStatus)) - { - return; - } VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -24752,10 +24982,6 @@ class Test_TC_PCC_2_1Suite : public TestCommand } break; case 20: - if (IsUnsupported(status.mStatus)) - { - return; - } VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -24766,10 +24992,6 @@ class Test_TC_PCC_2_1Suite : public TestCommand } break; case 21: - if (IsUnsupported(status.mStatus)) - { - return; - } VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -24790,10 +25012,6 @@ class Test_TC_PCC_2_1Suite : public TestCommand } break; case 23: - if (IsUnsupported(status.mStatus)) - { - return; - } VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::PumpConfigurationAndControl::PumpControlMode value; @@ -26059,6 +26277,7 @@ class Test_TC_RH_2_1Suite : public TestCommand } case 3: { LogStep(3, "Reads constraints of attribute: MaxMeasuredValue"); + VerifyOrDo(!ShouldSkip("RH.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RelativeHumidityMeasurement::Id, RelativeHumidityMeasurement::Attributes::MaxMeasuredValue::Id, true, chip::NullOptional); } @@ -26901,6 +27120,259 @@ class Test_TC_SC_4_2Suite : public TestCommand } }; +class Test_TC_SWTCH_1_1Suite : public TestCommand +{ +public: + Test_TC_SWTCH_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SWTCH_1_1", 13, credsIssuerConfig) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + + ~Test_TC_SWTCH_1_1Suite() {} + + chip::System::Clock::Timeout GetWaitDuration() const override + { + return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); + } + +private: + chip::Optional mNodeId; + chip::Optional mCluster; + chip::Optional mEndpoint; + chip::Optional mTimeout; + + uint32_t FeatureMapValue; + + chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } + + // + // Tests methods + // + + void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override + { + bool shouldContinue = false; + + switch (mTestIndex - 1) + { + case 0: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 1: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + uint32_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + FeatureMapValue = value; + } + break; + case 2: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + uint32_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("featureMap", value, FeatureMapValue)); + } + break; + case 3: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 4: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 5: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + uint16_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("clusterRevision", value, 1U)); + } + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } + break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } + break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "list")); + } + break; + case 11: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("generatedCommandList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "", "list")); + } + break; + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + default: + LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); + } + + if (shouldContinue) + { + ContinueOnChipMainThread(CHIP_NO_ERROR); + } + } + + CHIP_ERROR DoTestStep(uint16_t testIndex) override + { + using namespace chip::app::Clusters; + switch (testIndex) + { + case 0: { + LogStep(0, "Wait for the commissioned device to be retrieved"); + ListFreer listFreer; + chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; + value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; + return WaitForCommissionee(kIdentityAlpha, value); + } + case 1: { + LogStep(1, "Read the global attribute: FeatureMap"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::FeatureMap::Id, true, + chip::NullOptional); + } + case 2: { + LogStep(2, "Read the FeatureMap value and verify LS is set to 1; MS, MSR, MSL, MSM are all set to 0"); + VerifyOrDo(!ShouldSkip("SWTCH.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::FeatureMap::Id, true, + chip::NullOptional); + } + case 3: { + LogStep(3, "Check values of flags in this FeatureMap"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && SWTCH.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 4: { + LogStep(4, "Check values of flags in this FeatureMap"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && SWTCH.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 5: { + LogStep(5, "Check values of flags in this FeatureMap"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && SWTCH.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 6: { + LogStep(6, "Check values of flags in this FeatureMap"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && SWTCH.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 7: { + LogStep(7, "read the global attribute: ClusterRevision"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::ClusterRevision::Id, true, + chip::NullOptional); + } + case 8: { + LogStep(8, "Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("SWTCH.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::AttributeList::Id, true, + chip::NullOptional); + } + case 9: { + LogStep(9, "Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!SWTCH.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::AttributeList::Id, true, + chip::NullOptional); + } + case 10: { + LogStep(10, "Read the global attribute: AcceptedCommandList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::AcceptedCommandList::Id, true, + chip::NullOptional); + } + case 11: { + LogStep(11, "Read the global attribute: GeneratedCommandList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::GeneratedCommandList::Id, true, + chip::NullOptional); + } + case 12: { + LogStep(12, + "Read EventList attribute from the DUT and Verify that the DUT response provides a list of supported events."); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + } + return CHIP_NO_ERROR; + } +}; + class Test_TC_SWTCH_2_1Suite : public TestCommand { public: @@ -27083,7 +27555,6 @@ class Test_TC_TMP_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); @@ -27097,14 +27568,7 @@ class Test_TC_TMP_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; case 5: @@ -27112,6 +27576,10 @@ class Test_TC_TMP_1_1Suite : public TestCommand { chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("acceptedCommandList", iter_0, 0)); + } VerifyOrReturn(CheckConstraintType("value", "", "list")); } break; @@ -27165,13 +27633,12 @@ class Test_TC_TMP_1_1Suite : public TestCommand } case 3: { LogStep(3, "Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("TMP.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, TemperatureMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip(" !TMP.S.A0003 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Read the optional attribute(Tolerance) in AttributeList"); + VerifyOrDo(!ShouldSkip("TMP.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, TemperatureMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } @@ -27304,25 +27771,25 @@ class Test_TC_TMP_2_1Suite : public TestCommand return WaitForCommissionee(kIdentityAlpha, value); } case 1: { - LogStep(1, "read the mandatory attribute: MeasuredValue"); + LogStep(1, "Read the mandatory attribute: MeasuredValue"); VerifyOrDo(!ShouldSkip("TMP.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, TemperatureMeasurement::Attributes::MeasuredValue::Id, true, chip::NullOptional); } case 2: { - LogStep(2, "read the mandatory attribute: MinMeasuredValue"); + LogStep(2, "Read the mandatory attribute: MinMeasuredValue"); VerifyOrDo(!ShouldSkip("TMP.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, TemperatureMeasurement::Attributes::MinMeasuredValue::Id, true, chip::NullOptional); } case 3: { - LogStep(3, "read the mandatory attribute: MaxMeasuredValue"); + LogStep(3, "Read the mandatory attribute: MaxMeasuredValue"); VerifyOrDo(!ShouldSkip("TMP.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, TemperatureMeasurement::Attributes::MaxMeasuredValue::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "read the optional attribute: Tolerance"); + LogStep(4, "Read the optional attribute: Tolerance"); VerifyOrDo(!ShouldSkip("TMP.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, TemperatureMeasurement::Attributes::Tolerance::Id, true, chip::NullOptional); @@ -30440,7 +30907,7 @@ class Test_TC_TSUIC_2_2Suite : public TestCommand } case 2: { LogStep(2, "Verify device temperature displayed in °C"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TSUIC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -30467,7 +30934,7 @@ class Test_TC_TSUIC_2_2Suite : public TestCommand } case 5: { LogStep(5, "Verify device temperature displayed in °F"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TSUIC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -30511,7 +30978,7 @@ class Test_TC_TSUIC_2_2Suite : public TestCommand } case 10: { LogStep(10, "Verify all device functionality available to the user"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TSUIC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -30537,7 +31004,7 @@ class Test_TC_TSUIC_2_2Suite : public TestCommand } case 13: { LogStep(13, "Verify device operates at Level 1 reduced functionality"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TSUIC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -30563,7 +31030,7 @@ class Test_TC_TSUIC_2_2Suite : public TestCommand } case 16: { LogStep(16, "Verify device operates at Level 2 reduced functionality"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TSUIC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -30589,7 +31056,7 @@ class Test_TC_TSUIC_2_2Suite : public TestCommand } case 19: { LogStep(19, "Verify device operates at Level 3 reduced functionality"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TSUIC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -30615,7 +31082,7 @@ class Test_TC_TSUIC_2_2Suite : public TestCommand } case 22: { LogStep(22, "Verify device operates at Level 4 reduced functionality"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TSUIC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -30641,7 +31108,7 @@ class Test_TC_TSUIC_2_2Suite : public TestCommand } case 25: { LogStep(25, "Verify device operates at least functionality level"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TSUIC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -30673,7 +31140,7 @@ class Test_TC_TSUIC_2_2Suite : public TestCommand } case 29: { LogStep(29, "Writes a value of 0 to ScheduleProgrammingVisibility attribute of DUT"); - VerifyOrDo(!ShouldSkip("TSUIC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSUIC.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; uint8_t value; value = 0U; @@ -30683,7 +31150,7 @@ class Test_TC_TSUIC_2_2Suite : public TestCommand } case 30: { LogStep(30, "Verify local schedule programming functionality is enabled at the thermostat"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TSUIC.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -30710,7 +31177,7 @@ class Test_TC_TSUIC_2_2Suite : public TestCommand } case 33: { LogStep(33, "Verify local schedule programming functionality is disabled at the thermostat"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TSUIC.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -31020,6 +31487,8 @@ class Test_TC_DGTHREAD_2_1Suite : public TestCommand chip::app::DataModel::Nullable value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "", "uint32")); + VerifyOrReturn(CheckConstraintMinValue("value", value, 0UL)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 4294967295UL)); } break; case 30: @@ -32480,7 +32949,7 @@ class Test_TC_ULABEL_2_3Suite : public TestCommand chip::NullOptional, chip::NullOptional); } case 2: { - LogStep(2, "TH reads LabelList attribute of the DUT"); + LogStep(2, "TH writes LabelList attribute of the DUT"); VerifyOrDo(!ShouldSkip("ULABEL.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::DataModel::List value; @@ -32576,7 +33045,10 @@ class Test_TC_ULABEL_2_4Suite : public TestCommand VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); { auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("labelList", iter_0, 0)); + VerifyOrReturn(CheckNextListItemDecodes("labelList", iter_0, 0)); + VerifyOrReturn(CheckValueAsString("labelList[0].label", iter_0.GetValue().label, chip::CharSpan("", 0))); + VerifyOrReturn(CheckValueAsString("labelList[0].value", iter_0.GetValue().value, chip::CharSpan("", 0))); + VerifyOrReturn(CheckNoMoreListItems("labelList", iter_0, 1)); } } break; @@ -32636,7 +33108,16 @@ class Test_TC_ULABEL_2_4Suite : public TestCommand ListFreer listFreer; chip::app::DataModel::List value; - value = chip::app::DataModel::List(); + { + auto * listHolder_0 = new ListHolder(1); + listFreer.add(listHolder_0); + + listHolder_0->mList[0].label = chip::Span("garbage: not in length on purpose", 0); + listHolder_0->mList[0].value = chip::Span("garbage: not in length on purpose", 0); + + value = + chip::app::DataModel::List(listHolder_0->mList, 1); + } return WriteAttribute(kIdentityAlpha, GetEndpoint(1), UserLabel::Id, UserLabel::Attributes::LabelList::Id, value, chip::NullOptional, chip::NullOptional); } @@ -32694,11 +33175,9 @@ class Test_TC_DGWIFI_2_1Suite : public TestCommand case 1: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - chip::app::DataModel::DecodableList< - chip::app::Clusters::GeneralDiagnostics::Structs::NetworkInterfaceType::DecodableType> - value; + chip::app::DataModel::Nullable value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "list")); + VerifyOrReturn(CheckConstraintType("value", "", "octstr")); } break; case 2: @@ -32838,10 +33317,10 @@ class Test_TC_DGWIFI_2_1Suite : public TestCommand return WaitForCommissionee(kIdentityAlpha, value); } case 1: { - LogStep(1, "Reads NetworkInterface structure attribute from DUT"); + LogStep(1, "TH reads BSSID attribute from DUT"); VerifyOrDo(!ShouldSkip("DGWIFI.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, - GeneralDiagnostics::Attributes::NetworkInterfaces::Id, true, chip::NullOptional); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, + WiFiNetworkDiagnostics::Attributes::Bssid::Id, true, chip::NullOptional); } case 2: { LogStep(2, "Reads SecurityType attribute constraints"); @@ -54847,7 +55326,7 @@ class Test_TC_DGSW_2_2Suite : public TestCommand LogStep(1, "Reads a list of SoftwareFault struct from DUT and data type in each field of the struct must match the value " "listed in spec"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DGSW.S.E00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter '0' for successgarbage: not in length on purpose", 28); @@ -61045,7 +61524,7 @@ class DL_SchedulesSuite : public TestCommand class Test_TC_DRLK_2_2Suite : public TestCommand { public: - Test_TC_DRLK_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DRLK_2_2", 23, credsIssuerConfig) + Test_TC_DRLK_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DRLK_2_2", 28, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -61139,15 +61618,29 @@ class Test_TC_DRLK_2_2Suite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); break; case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + bool value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("requirePINforRemoteOperation", value, false)); + } break; case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 11: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); + break; + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { bool value; @@ -61155,48 +61648,51 @@ class Test_TC_DRLK_2_2Suite : public TestCommand VerifyOrReturn(CheckValue("requirePINforRemoteOperation", value, true)); } break; - case 10: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 11: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); break; - case 12: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); break; - case 13: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 14: + case 17: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); + break; + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 15: + case 19: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); + break; + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); break; - case 16: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); break; - case 17: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); break; - case 18: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); break; - case 19: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint8_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("userCodeTemporaryDisableTime", value, 15U)); - } + shouldContinue = true; break; - case 20: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; break; - case 21: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 22: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; default: @@ -61297,7 +61793,25 @@ class Test_TC_DRLK_2_2Suite : public TestCommand chip::NullOptional); } case 6: { - LogStep(6, "TH sends Lock Door Command to the DUT without PINCode"); + LogStep(6, + "TH writes the RequirePINforRemoteOperation attribute value as False on the DUT and Verify DUT responds with " + "UNSUPPORTED_WRITE"); + VerifyOrDo(!ShouldSkip("!DRLK.S.A0033"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + bool value; + value = false; + return WriteAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, + DoorLock::Attributes::RequirePINforRemoteOperation::Id, value, chip::NullOptional, + chip::NullOptional); + } + case 7: { + LogStep(7, "TH reads the RequirePINforRemoteOperation attribute from the DUT"); + VerifyOrDo(!ShouldSkip("DRLK.S.F07 && DRLK.S.F00 && DRLK.S.A0033"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, + DoorLock::Attributes::RequirePINforRemoteOperation::Id, true, chip::NullOptional); + } + case 8: { + LogStep(8, "TH sends Lock Door Command to the DUT without PINCode"); VerifyOrDo(!ShouldSkip("DRLK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::LockDoor::Type value; @@ -61306,8 +61820,8 @@ class Test_TC_DRLK_2_2Suite : public TestCommand ); } - case 7: { - LogStep(7, "TH sends Lock Door Command to the DUT with valid PINCode"); + case 9: { + LogStep(9, "TH sends Lock Door Command to the DUT with valid PINCode"); VerifyOrDo(!ShouldSkip("DRLK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::LockDoor::Type value; @@ -61318,8 +61832,8 @@ class Test_TC_DRLK_2_2Suite : public TestCommand ); } - case 8: { - LogStep(8, "TH writes the RequirePINforRemoteOperation attribute value as True on the DUT"); + case 10: { + LogStep(10, "TH writes the RequirePINforRemoteOperation attribute value as True on the DUT"); VerifyOrDo(!ShouldSkip("DRLK.S.A0033"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; bool value; @@ -61328,15 +61842,27 @@ class Test_TC_DRLK_2_2Suite : public TestCommand DoorLock::Attributes::RequirePINforRemoteOperation::Id, value, chip::NullOptional, chip::NullOptional); } - case 9: { - LogStep(9, "TH reads the RequirePINforRemoteOperation attribute from the DUT"); + case 11: { + LogStep(11, + "TH writes the RequirePINforRemoteOperation attribute value as True on the DUT and Verify DUT responds with " + "UNSUPPORTED_WRITE"); + VerifyOrDo(!ShouldSkip("!DRLK.S.A0033"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + bool value; + value = true; + return WriteAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, + DoorLock::Attributes::RequirePINforRemoteOperation::Id, value, chip::NullOptional, + chip::NullOptional); + } + case 12: { + LogStep(12, "TH reads the RequirePINforRemoteOperation attribute from the DUT"); VerifyOrDo(!ShouldSkip("DRLK.S.F07 && DRLK.S.F00 && DRLK.S.A0033"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::RequirePINforRemoteOperation::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, "TH sends Lock Door Command to the DUT with valid PINCode"); - VerifyOrDo(!ShouldSkip("DRLK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 13: { + LogStep(13, "TH sends Lock Door Command to the DUT with valid PINCode"); + VerifyOrDo(!ShouldSkip("DRLK.S.C00.Rsp && DRLK.S.A0033"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::LockDoor::Type value; value.pinCode.Emplace(); @@ -61346,9 +61872,9 @@ class Test_TC_DRLK_2_2Suite : public TestCommand ); } - case 11: { - LogStep(11, "TH sends Lock Door Command to the DUT without valid PINCode"); - VerifyOrDo(!ShouldSkip("DRLK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 14: { + LogStep(14, "TH sends Lock Door Command to the DUT without valid PINCode"); + VerifyOrDo(!ShouldSkip("DRLK.S.C00.Rsp && DRLK.S.A0033"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::LockDoor::Type value; value.pinCode.Emplace(); @@ -61358,20 +61884,19 @@ class Test_TC_DRLK_2_2Suite : public TestCommand ); } - case 12: { - LogStep(12, "TH sends Lock Door Command to the DUT without any argument PINCode"); - VerifyOrDo(!ShouldSkip("DRLK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 15: { + LogStep(15, "TH sends Lock Door Command to the DUT without any argument PINCode"); + VerifyOrDo(!ShouldSkip("DRLK.S.C00.Rsp && DRLK.S.A0033"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::LockDoor::Type value; - value.pinCode.Emplace(); - value.pinCode.Value() = chip::ByteSpan(chip::Uint8::from_const_char("garbage: not in length on purpose"), 0); return SendCommand(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Commands::LockDoor::Id, value, chip::Optional(10000), chip::NullOptional ); } - case 13: { - LogStep(13, "TH writes WrongCodeEntryLimit attribute value as 3 on the DUT"); + case 16: { + LogStep(16, + "TH writes WrongCodeEntryLimit attribute value as 3 on the DUT and Verify that the DUT sends Success response"); VerifyOrDo(!ShouldSkip("DRLK.S.A0030"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; uint8_t value; @@ -61379,8 +61904,20 @@ class Test_TC_DRLK_2_2Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::WrongCodeEntryLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 14: { - LogStep(14, "TH writes UserCodeTemporaryDisableTime attribute value as 5 seconds on the DUT"); + case 17: { + LogStep(17, + "TH writes WrongCodeEntryLimit attribute value as 3 on the DUT and verify DUT responds with UNSUPPORTED_WRITE"); + VerifyOrDo(!ShouldSkip("!DRLK.S.A0030"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + uint8_t value; + value = 3U; + return WriteAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::WrongCodeEntryLimit::Id, + value, chip::NullOptional, chip::NullOptional); + } + case 18: { + LogStep(18, + "TH writes UserCodeTemporaryDisableTime attribute value as 15 seconds on the DUT and Verify that the DUT send " + "the Success response"); VerifyOrDo(!ShouldSkip("DRLK.S.A0031"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; uint8_t value; @@ -61389,74 +61926,92 @@ class Test_TC_DRLK_2_2Suite : public TestCommand DoorLock::Attributes::UserCodeTemporaryDisableTime::Id, value, chip::NullOptional, chip::NullOptional); } - case 15: { - LogStep(15, "TH sends Lock Door Command to the DUT with invalid PINCode"); + case 19: { + LogStep(19, + "TH writes UserCodeTemporaryDisableTime attribute value as 15 seconds on the DUT and Verify DUT responds with " + "UNSUPPORTED_WRITE"); + VerifyOrDo(!ShouldSkip("!DRLK.S.A0031"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + uint8_t value; + value = 15U; + return WriteAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, + DoorLock::Attributes::UserCodeTemporaryDisableTime::Id, value, chip::NullOptional, + chip::NullOptional); + } + case 20: { + LogStep(20, "TH sends Lock Door Command to the DUT with invalid PINCode"); VerifyOrDo(!ShouldSkip("DRLK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::LockDoor::Type value; value.pinCode.Emplace(); - value.pinCode.Value() = chip::ByteSpan(chip::Uint8::from_const_char("12345garbage: not in length on purpose"), 5); + value.pinCode.Value() = chip::ByteSpan(chip::Uint8::from_const_char("123458garbage: not in length on purpose"), 6); return SendCommand(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Commands::LockDoor::Id, value, chip::Optional(10000), chip::NullOptional ); } - case 16: { - LogStep(16, "TH sends Lock Door Command to the DUT with invalid PINCode"); + case 21: { + LogStep(21, "TH sends Lock Door Command to the DUT with invalid PINCode"); VerifyOrDo(!ShouldSkip("DRLK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::LockDoor::Type value; value.pinCode.Emplace(); - value.pinCode.Value() = chip::ByteSpan(chip::Uint8::from_const_char("54321garbage: not in length on purpose"), 5); + value.pinCode.Value() = chip::ByteSpan(chip::Uint8::from_const_char("123458garbage: not in length on purpose"), 6); return SendCommand(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Commands::LockDoor::Id, value, chip::Optional(10000), chip::NullOptional ); } - case 17: { - LogStep(17, "TH sends Lock Door Command to the DUT with invalid PINCode"); + case 22: { + LogStep(22, "TH sends Lock Door Command to the DUT with invalid PINCode"); VerifyOrDo(!ShouldSkip("DRLK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::LockDoor::Type value; value.pinCode.Emplace(); - value.pinCode.Value() = chip::ByteSpan(chip::Uint8::from_const_char("987623garbage: not in length on purpose"), 6); + value.pinCode.Value() = chip::ByteSpan(chip::Uint8::from_const_char("123458garbage: not in length on purpose"), 6); return SendCommand(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Commands::LockDoor::Id, value, chip::Optional(10000), chip::NullOptional ); } - case 18: { - LogStep(18, "TH sends Lock Door Command to the DUT with invalid PINCode"); + case 23: { + LogStep(23, "TH sends Lock Door Command to the DUT with invalid PINCode"); VerifyOrDo(!ShouldSkip("DRLK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::LockDoor::Type value; value.pinCode.Emplace(); - value.pinCode.Value() = chip::ByteSpan(chip::Uint8::from_const_char("67890garbage: not in length on purpose"), 5); + value.pinCode.Value() = chip::ByteSpan(chip::Uint8::from_const_char("123458garbage: not in length on purpose"), 6); return SendCommand(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Commands::LockDoor::Id, value, chip::Optional(10000), chip::NullOptional ); } - case 19: { - LogStep(19, "TH reads UserCodeTemporaryDisableTime attribute from DUT"); - VerifyOrDo(!ShouldSkip("DRLK.S.A0031"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, - DoorLock::Attributes::UserCodeTemporaryDisableTime::Id, true, chip::NullOptional); + case 24: { + LogStep(24, + "TH reads UserCodeTemporaryDisableTime attribute from DUT and After sending 3 failure responses verify that " + "UserCodeTemporaryDisableTime attribute is triggered"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DRLK.S.A0031"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } - case 20: { - LogStep(20, "TH sends Lock Door Command to the DUT with valid PINCode"); - VerifyOrDo(!ShouldSkip("DRLK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 25: { + LogStep( + 25, + "TH sends Lock Command to the DUT with valid PINCode before UserCodeTemporaryDisableTime attribute time expires"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DRLK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; - chip::app::Clusters::DoorLock::Commands::LockDoor::Type value; - value.pinCode.Emplace(); - value.pinCode.Value() = chip::ByteSpan(chip::Uint8::from_const_char("123456garbage: not in length on purpose"), 6); - return SendCommand(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Commands::LockDoor::Id, value, - chip::Optional(10000), chip::NullOptional - - ); + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } - case 21: { - LogStep(21, "Clean the created user"); + case 26: { + LogStep(26, "Clean the created user"); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::ClearUser::Type value; value.userIndex = 1U; @@ -61465,8 +62020,8 @@ class Test_TC_DRLK_2_2Suite : public TestCommand ); } - case 22: { - LogStep(22, "Cleanup the created credential"); + case 27: { + LogStep(27, "Cleanup the created credential"); VerifyOrDo(!ShouldSkip("DRLK.S.C26.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DoorLock::Commands::ClearCredential::Type value; @@ -74808,125 +75363,11 @@ class Test_TC_CADMIN_1_19Suite : public TestCommand } }; -class Test_TC_CADMIN_1_20Suite : public TestCommand -{ -public: - Test_TC_CADMIN_1_20Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_CADMIN_1_20", 0, credsIssuerConfig) - { - AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); - AddArgument("cluster", &mCluster); - AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); - AddArgument("timeout", 0, UINT16_MAX, &mTimeout); - } - - ~Test_TC_CADMIN_1_20Suite() {} - - chip::System::Clock::Timeout GetWaitDuration() const override - { - return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); - } - -private: - chip::Optional mNodeId; - chip::Optional mCluster; - chip::Optional mEndpoint; - chip::Optional mTimeout; - - chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } - - // - // Tests methods - // - - void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override - { - bool shouldContinue = false; - - switch (mTestIndex - 1) - { - default: - LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); - } - - if (shouldContinue) - { - ContinueOnChipMainThread(CHIP_NO_ERROR); - } - } - - CHIP_ERROR DoTestStep(uint16_t testIndex) override - { - using namespace chip::app::Clusters; - switch (testIndex) - { - } - return CHIP_NO_ERROR; - } -}; - -class Test_TC_CADMIN_1_21Suite : public TestCommand -{ -public: - Test_TC_CADMIN_1_21Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_CADMIN_1_21", 0, credsIssuerConfig) - { - AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); - AddArgument("cluster", &mCluster); - AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); - AddArgument("timeout", 0, UINT16_MAX, &mTimeout); - } - - ~Test_TC_CADMIN_1_21Suite() {} - - chip::System::Clock::Timeout GetWaitDuration() const override - { - return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); - } - -private: - chip::Optional mNodeId; - chip::Optional mCluster; - chip::Optional mEndpoint; - chip::Optional mTimeout; - - chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } - - // - // Tests methods - // - - void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override - { - bool shouldContinue = false; - - switch (mTestIndex - 1) - { - default: - LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); - } - - if (shouldContinue) - { - ContinueOnChipMainThread(CHIP_NO_ERROR); - } - } - - CHIP_ERROR DoTestStep(uint16_t testIndex) override - { - using namespace chip::app::Clusters; - switch (testIndex) - { - } - return CHIP_NO_ERROR; - } -}; - -class Test_TC_CADMIN_1_22Suite : public TestCommand +class Test_TC_CADMIN_1_20Suite : public TestCommand { public: - Test_TC_CADMIN_1_22Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_CADMIN_1_22", 0, credsIssuerConfig) + Test_TC_CADMIN_1_20Suite(CredentialIssuerCommands * credsIssuerConfig) : + TestCommand("Test_TC_CADMIN_1_20", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -74934,7 +75375,7 @@ class Test_TC_CADMIN_1_22Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_CADMIN_1_22Suite() {} + ~Test_TC_CADMIN_1_20Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -74979,11 +75420,11 @@ class Test_TC_CADMIN_1_22Suite : public TestCommand } }; -class Test_TC_CADMIN_1_23Suite : public TestCommand +class Test_TC_CADMIN_1_21Suite : public TestCommand { public: - Test_TC_CADMIN_1_23Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_CADMIN_1_23", 0, credsIssuerConfig) + Test_TC_CADMIN_1_21Suite(CredentialIssuerCommands * credsIssuerConfig) : + TestCommand("Test_TC_CADMIN_1_21", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -74991,7 +75432,7 @@ class Test_TC_CADMIN_1_23Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_CADMIN_1_23Suite() {} + ~Test_TC_CADMIN_1_21Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -75036,11 +75477,11 @@ class Test_TC_CADMIN_1_23Suite : public TestCommand } }; -class Test_TC_CADMIN_1_24Suite : public TestCommand +class Test_TC_CADMIN_1_22Suite : public TestCommand { public: - Test_TC_CADMIN_1_24Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_CADMIN_1_24", 0, credsIssuerConfig) + Test_TC_CADMIN_1_22Suite(CredentialIssuerCommands * credsIssuerConfig) : + TestCommand("Test_TC_CADMIN_1_22", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -75048,7 +75489,7 @@ class Test_TC_CADMIN_1_24Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_CADMIN_1_24Suite() {} + ~Test_TC_CADMIN_1_22Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -75300,7 +75741,8 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand chip::NullOptional); } case 4: { - LogStep(4, "Commission from beta"); + LogStep(4, "TH_CR2 starts a commissioning process with DUT_CE"); + VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value; value.nodeId = mNodeId2.HasValue() ? mNodeId2.Value() : 51966ULL; @@ -75308,7 +75750,7 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand return PairWithCode(kIdentityBeta, value); } case 5: { - LogStep(5, "TH_CR2 starts a commissioning process with DUT_CE"); + LogStep(5, "DUT_CE is commissioned by TH_CR2 on Fabric ID2"); VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; @@ -75316,13 +75758,13 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand return WaitForCommissionee(kIdentityBeta, value); } case 6: { - LogStep(6, "Query fabrics list"); + LogStep(6, "TH_CR1 reads the list of Fabrics on DUT_CE"); VerifyOrDo(!ShouldSkip("OPCREDS.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), OperationalCredentials::Id, OperationalCredentials::Attributes::Fabrics::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Query fabrics list"); + LogStep(7, "TH_CR2 reads the list of Fabrics on DUT_CE"); VerifyOrDo(!ShouldSkip("OPCREDS.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityBeta, GetEndpoint(0), OperationalCredentials::Id, OperationalCredentials::Attributes::Fabrics::Id, false, chip::NullOptional); @@ -75358,7 +75800,7 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand chip::NullOptional); } case 12: { - LogStep(12, "TH_CR2 opens a commissioning window on DUT_CE"); + LogStep(12, "TH_CR2 opens a commissioning window on DUT_CE using ECM"); VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value; @@ -75392,7 +75834,7 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand AdministratorCommissioning::Attributes::WindowStatus::Id, true, chip::NullOptional); } case 15: { - LogStep(15, "TH_CR2 opens a commissioning window on DUT_CE"); + LogStep(15, "TH_CR2 opens a commissioning window on DUT_CE using ECM"); VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value; @@ -75417,7 +75859,7 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value; - value.nodeId = mNodeId2.HasValue() ? mNodeId2.Value() : 51966ULL; + value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; value.payload = mPayload.HasValue() ? mPayload.Value() : chip::Span("MT:0000000000I31506010", 22); return PairWithCode(kIdentityAlpha, value); } @@ -75530,6 +75972,7 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand { chip::CharSpan value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValueAsString("nodeLabel", value, chip::CharSpan("chiptest", 8))); VerifyOrReturn(CheckConstraintType("value", "", "string")); VerifyOrReturn(CheckConstraintMaxLength("value", value, 32)); } @@ -75542,6 +75985,7 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand { chip::CharSpan value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValueAsString("nodeLabel", value, chip::CharSpan("chiptest", 8))); VerifyOrReturn(CheckConstraintType("value", "", "string")); VerifyOrReturn(CheckConstraintMaxLength("value", value, 32)); } @@ -75592,7 +76036,7 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand return WaitForCommissionee(kIdentityAlpha, value); } case 1: { - LogStep(1, "TH_CR1 opens a commissioning window on DUT_CE"); + LogStep(1, "TH_CR1 opens a commissioning window on DUT_CE using BCM"); VerifyOrDo(!ShouldSkip("CADMIN.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type value; @@ -75619,7 +76063,8 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand chip::NullOptional); } case 4: { - LogStep(4, "Commission from beta"); + LogStep(4, "TH_CR2 starts a commissioning process with DUT_CE"); + VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value; value.nodeId = mNodeId2.HasValue() ? mNodeId2.Value() : 51966ULL; @@ -75627,7 +76072,7 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand return PairWithCode(kIdentityBeta, value); } case 5: { - LogStep(5, "TH_CR2 starts a commissioning process with DUT_CE"); + LogStep(5, "DUT_CE is commissioned by TH_CR2 on Fabric ID2 "); VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; @@ -75635,13 +76080,13 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand return WaitForCommissionee(kIdentityBeta, value); } case 6: { - LogStep(6, "Query fabrics list"); + LogStep(6, "TH_CR1 reads the list of Fabrics on DUT_CE"); VerifyOrDo(!ShouldSkip("OPCREDS.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), OperationalCredentials::Id, OperationalCredentials::Attributes::Fabrics::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Query fabrics list"); + LogStep(7, "TH_CR2 reads the list of Fabrics on DUT_CE"); VerifyOrDo(!ShouldSkip("OPCREDS.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityBeta, GetEndpoint(0), OperationalCredentials::Id, OperationalCredentials::Attributes::Fabrics::Id, true, chip::NullOptional); @@ -75677,7 +76122,7 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand chip::NullOptional); } case 12: { - LogStep(12, "TH_CR2 opens a commissioning window on DUT_CE"); + LogStep(12, "TH_CR2 opens a commissioning window on DUT_CE using BCM"); VerifyOrDo(!ShouldSkip("CADMIN.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type value; @@ -75702,7 +76147,7 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand AdministratorCommissioning::Attributes::WindowStatus::Id, true, chip::NullOptional); } case 15: { - LogStep(15, "TH_CR2 opens a commissioning window on DUT_CE"); + LogStep(15, "TH_CR2 opens a commissioning window on DUT_CE using BCM"); VerifyOrDo(!ShouldSkip("CADMIN.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type value; @@ -75718,7 +76163,7 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value; - value.nodeId = mNodeId2.HasValue() ? mNodeId2.Value() : 51966ULL; + value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; value.payload = mPayload.HasValue() ? mPayload.Value() : chip::Span("MT:-24J0AFN00KA0648G00", 22); return PairWithCode(kIdentityAlpha, value); } @@ -75851,7 +76296,7 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand return WaitForCommissionee(kIdentityAlpha, value); } case 1: { - LogStep(1, "TH_CR1 opens a new commissioning window on DUT_CE"); + LogStep(1, "TH_CR1 opens a new commissioning window on DUT_CE using ECM"); VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value; @@ -75862,7 +76307,7 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand "\330\242\021\2707\334\224\355\315V\364\321Cw\031\020v\277\305\235\231\267\3350S\357" "\326\360,D4\362\275\322z\244\371\316\247\015s\216Lgarbage: not in length on purpose"), 97); - value.discriminator = 3840U; + value.discriminator = mDiscriminator.HasValue() ? mDiscriminator.Value() : 3840U; value.iterations = 1000UL; value.salt = chip::ByteSpan(chip::Uint8::from_const_char("SPAKE2P Key Saltgarbage: not in length on purpose"), 16); return SendCommand(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id, @@ -75872,7 +76317,7 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand ); } case 2: { - LogStep(2, "Wait for PIXIT_COMM_WIN(180) + 10 seconds"); + LogStep(2, "Wait for PIXIT.CADMIN.CwDuration + 10 seconds"); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 190000UL; @@ -75888,7 +76333,7 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand return PairWithCode(kIdentityBeta, value); } case 4: { - LogStep(4, "TH_CR1 opens a new commissioning window on DUT_CE"); + LogStep(4, "TH_CR1 opens a new commissioning window on DUT_CE using ECM"); VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value; @@ -75899,7 +76344,7 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand "\330\242\021\2707\334\224\355\315V\364\321Cw\031\020v\277\305\235\231\267\3350S\357" "\326\360,D4\362\275\322z\244\371\316\247\015s\216Lgarbage: not in length on purpose"), 97); - value.discriminator = 3840U; + value.discriminator = mDiscriminator.HasValue() ? mDiscriminator.Value() : 3840U; value.iterations = 1000UL; value.salt = chip::ByteSpan(chip::Uint8::from_const_char("SPAKE2P Key Saltgarbage: not in length on purpose"), 16); return SendCommand(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id, @@ -75955,7 +76400,7 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand chip::NullOptional); } case 10: { - LogStep(10, "TH_CR1 opens a new commissioning window on DUT_CE using wrong PakeVerifier value"); + LogStep(10, "TH_CR1 opens a new commissioning window on DUT_CE using wrong PakeVerifier value using ECM"); VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value; @@ -75966,7 +76411,7 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand "\330\242\021\2707\334\224\355\315V\364\321Cw\031\020v\277\305\235\231\267\3350S\357" "\326\360,D4\362\275\322zgarbage: not in length on purpose"), 89); - value.discriminator = 3840U; + value.discriminator = mDiscriminator.HasValue() ? mDiscriminator.Value() : 3840U; value.iterations = 1000UL; value.salt = chip::ByteSpan(chip::Uint8::from_const_char("SPAKE2P Key Saltgarbage: not in length on purpose"), 16); return SendCommand(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id, @@ -75976,7 +76421,7 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand ); } case 11: { - LogStep(11, "TH_CR1 opens a new commissioning window on DUT_CE"); + LogStep(11, "TH_CR1 opens a new commissioning window on DUT_CE using ECM"); VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value; @@ -75987,7 +76432,7 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand "\330\242\021\2707\334\224\355\315V\364\321Cw\031\020v\277\305\235\231\267\3350S\357" "\326\360,D4\362\275\322z\244\371\316\247\015s\216Lgarbage: not in length on purpose"), 97); - value.discriminator = 3840U; + value.discriminator = mDiscriminator.HasValue() ? mDiscriminator.Value() : 3840U; value.iterations = 1000UL; value.salt = chip::ByteSpan(chip::Uint8::from_const_char("SPAKE2P Key Saltgarbage: not in length on purpose"), 16); return SendCommand(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id, @@ -75997,7 +76442,7 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand ); } case 12: { - LogStep(12, "TH_CR1 opens a new commissioning window on DUT_CE"); + LogStep(12, "TH_CR1 opens another commissioning window on DUT_CE using ECM"); VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value; @@ -76008,7 +76453,7 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand "\330\242\021\2707\334\224\355\315V\364\321Cw\031\020v\277\305\235\231\267\3350S\357" "\326\360,D4\362\275\322z\244\371\316\247\015s\216Lgarbage: not in length on purpose"), 97); - value.discriminator = 3840U; + value.discriminator = mDiscriminator.HasValue() ? mDiscriminator.Value() : 3840U; value.iterations = 1000UL; value.salt = chip::ByteSpan(chip::Uint8::from_const_char("SPAKE2P Key Saltgarbage: not in length on purpose"), 16); return SendCommand(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id, @@ -76019,7 +76464,7 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand } case 13: { LogStep(13, "TH_CR2 starts a commissioning process with DUT_CE"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CADMIN.S && PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value; value.nodeId = mNodeId2.HasValue() ? mNodeId2.Value() : 51966ULL; @@ -77433,18 +77878,18 @@ class Test_TC_CADMIN_1_13Suite : public TestCommand } }; -class Test_TC_CADMIN_1_25Suite : public TestCommand +class Test_TC_CADMIN_1_23Suite : public TestCommand { public: - Test_TC_CADMIN_1_25Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_CADMIN_1_25", 8, credsIssuerConfig) + Test_TC_CADMIN_1_23Suite(CredentialIssuerCommands * credsIssuerConfig) : + TestCommand("Test_TC_CADMIN_1_23", 8, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("timeout", 0, UINT16_MAX, &mTimeout); AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } - ~Test_TC_CADMIN_1_25Suite() {} + ~Test_TC_CADMIN_1_23Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { return chip::System::Clock::Seconds16(mTimeout.ValueOr(330)); } @@ -77538,6 +77983,7 @@ class Test_TC_CADMIN_1_25Suite : public TestCommand } case 2: { LogStep(2, "TH_CR1 starts a commissioning process with DUT_CE"); + VerifyOrDo(!ShouldSkip("CADMIN.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; @@ -77545,6 +77991,7 @@ class Test_TC_CADMIN_1_25Suite : public TestCommand } case 3: { LogStep(3, "TH_CR1 opens a commissioning window on DUT_CE"); + VerifyOrDo(!ShouldSkip("CADMIN.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type value; value.commissioningTimeout = 180U; @@ -77563,11 +78010,13 @@ class Test_TC_CADMIN_1_25Suite : public TestCommand } case 5: { LogStep(5, "TH_CR1 reads the window status to verify the DUT_CE window is closed"); + VerifyOrDo(!ShouldSkip("CADMIN.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id, AdministratorCommissioning::Attributes::WindowStatus::Id, true, chip::NullOptional); } case 6: { LogStep(6, "TH_CR1 opens a commissioning window on DUT_CE"); + VerifyOrDo(!ShouldSkip("CADMIN.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type value; value.commissioningTimeout = 179U; @@ -77579,6 +78028,7 @@ class Test_TC_CADMIN_1_25Suite : public TestCommand } case 7: { LogStep(7, "TH_CR1 reads the window status to verify the DUT_CE window is closed"); + VerifyOrDo(!ShouldSkip("CADMIN.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id, AdministratorCommissioning::Attributes::WindowStatus::Id, true, chip::NullOptional); } @@ -77587,18 +78037,18 @@ class Test_TC_CADMIN_1_25Suite : public TestCommand } }; -class Test_TC_CADMIN_1_26Suite : public TestCommand +class Test_TC_CADMIN_1_24Suite : public TestCommand { public: - Test_TC_CADMIN_1_26Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_CADMIN_1_26", 8, credsIssuerConfig) + Test_TC_CADMIN_1_24Suite(CredentialIssuerCommands * credsIssuerConfig) : + TestCommand("Test_TC_CADMIN_1_24", 8, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("timeout", 0, UINT16_MAX, &mTimeout); AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } - ~Test_TC_CADMIN_1_26Suite() {} + ~Test_TC_CADMIN_1_24Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { return chip::System::Clock::Seconds16(mTimeout.ValueOr(330)); } @@ -77674,6 +78124,7 @@ class Test_TC_CADMIN_1_26Suite : public TestCommand { case 0: { LogStep(0, "Factory Reset the DUT_CE"); + VerifyOrDo(!ShouldSkip("PICS_SDK_CI_ONLY"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::SystemCommands::Commands::FactoryReset::Type value; return FactoryReset(kIdentityAlpha, value); @@ -77691,6 +78142,7 @@ class Test_TC_CADMIN_1_26Suite : public TestCommand } case 2: { LogStep(2, "TH_CR1 starts a commissioning process with DUT_CE"); + VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; @@ -77698,6 +78150,7 @@ class Test_TC_CADMIN_1_26Suite : public TestCommand } case 3: { LogStep(3, "TH_CR1 opens a commissioning window on DUT_CE"); + VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value; value.commissioningTimeout = 180U; @@ -77725,11 +78178,13 @@ class Test_TC_CADMIN_1_26Suite : public TestCommand } case 5: { LogStep(5, "TH_CR1 reads the window status to verify the DUT_CE window is closed"); + VerifyOrDo(!ShouldSkip("CADMIN.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id, AdministratorCommissioning::Attributes::WindowStatus::Id, true, chip::NullOptional); } case 6: { LogStep(6, "TH_CR1 opens a commissioning window on DUT_CE"); + VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value; value.commissioningTimeout = 179U; @@ -77750,6 +78205,7 @@ class Test_TC_CADMIN_1_26Suite : public TestCommand } case 7: { LogStep(7, "TH_CR1 reads the window status to verify the DUT_CE window is closed"); + VerifyOrDo(!ShouldSkip("CADMIN.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id, AdministratorCommissioning::Attributes::WindowStatus::Id, true, chip::NullOptional); } @@ -81002,7 +81458,7 @@ class Test_TC_FLW_2_2Suite : public TestCommand } case 3: { LogStep(3, "read the mandatory attribute: MeasuredValue"); - VerifyOrDo(!ShouldSkip("FLW.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("FLW.S.A0000 && FLW.M.FlowChange"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FlowMeasurement::Id, FlowMeasurement::Attributes::MeasuredValue::Id, true, chip::NullOptional); } @@ -81282,7 +81738,6 @@ class Test_TC_OCC_3_1Suite : public TestCommand { uint8_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("occupancy", value, 0U)); OccupancyValue = value; } break; @@ -81338,7 +81793,7 @@ class Test_TC_OCC_3_1Suite : public TestCommand } case 3: { LogStep(3, "Reads back Occupancy attribute from DUT after few seconds"); - VerifyOrDo(!ShouldSkip("OCC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("OCC.S.A0000 && OCC.M.OccupancyChange"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OccupancySensing::Id, OccupancySensing::Attributes::Occupancy::Id, true, chip::NullOptional); } @@ -82407,13 +82862,13 @@ class Test_TC_CC_3_1Suite : public TestCommand return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional); } case 3: { - LogStep(3, "Reads CurrentHue attribute from DUT"); + LogStep(3, "TH reads CurrentHue attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Move to hue shortest distance command"); + LogStep(4, "TH sends MoveToHue command to DUT another Hue with Direction Shortest distance and TransitionTime 300"); VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::MoveToHue::Type value; @@ -82435,8 +82890,8 @@ class Test_TC_CC_3_1Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 6: { - LogStep(6, "Check current hue attribute value matched the value sent by the last command"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Over TransitionTime, TH reads CurrentHue attribute from DUT"); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } @@ -82448,8 +82903,8 @@ class Test_TC_CC_3_1Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 8: { - LogStep(8, "Check current hue attribute value matched the value sent by the last command"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(8, "Over TransitionTime, TH reads CurrentHue attribute from DUT"); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } @@ -82461,13 +82916,13 @@ class Test_TC_CC_3_1Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 10: { - LogStep(10, "Check current hue attribute value matched the value sent by the last command"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(10, "Over TransitionTime, TH reads CurrentHue attribute from DUT"); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } case 11: { - LogStep(11, "Move to hue longest distance command"); + LogStep(11, "TH sends MoveToHue command to DUT another Hue with Direction Longest distance and TransitionTime 300"); VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::MoveToHue::Type value; @@ -82489,8 +82944,8 @@ class Test_TC_CC_3_1Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 13: { - LogStep(13, "Check current hue attribute value matched the value sent by the last command"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(13, "Over TransitionTime, TH reads CurrentHue attribute from DUT."); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } @@ -82502,8 +82957,8 @@ class Test_TC_CC_3_1Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 15: { - LogStep(15, "Check current hue attribute value matched the value sent by the last command"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(15, "Over TransitionTime, TH reads CurrentHue attribute from DUT."); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } @@ -82515,13 +82970,13 @@ class Test_TC_CC_3_1Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 17: { - LogStep(17, "Check current hue attribute value matched the value sent by the last command"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(17, "Over TransitionTime, TH reads CurrentHue attribute from DUT."); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } case 18: { - LogStep(18, "Move to hue up command"); + LogStep(18, "TH sends MoveToHue command to DUT another Hue with Direction Up and TransitionTime 300"); VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::MoveToHue::Type value; @@ -82543,8 +82998,8 @@ class Test_TC_CC_3_1Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 20: { - LogStep(20, "Check current hue attribute value matched the value sent by the last command"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(20, "Over TransitionTime, TH reads CurrentHue attribute from DUT"); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } @@ -82556,8 +83011,8 @@ class Test_TC_CC_3_1Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 22: { - LogStep(22, "Check current hue attribute value matched the value sent by the last command"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(22, "Over TransitionTime, TH reads CurrentHue attribute from DUT"); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } @@ -82569,13 +83024,13 @@ class Test_TC_CC_3_1Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 24: { - LogStep(24, "Check current hue attribute value matched the value sent by the last command"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(24, "Over TransitionTime, TH reads CurrentHue attribute from DUT"); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } case 25: { - LogStep(25, "Move to hue down command"); + LogStep(25, "TH sends MoveToHue command to DUT another Hue with Direction Down and TransitionTime 300"); VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::MoveToHue::Type value; @@ -82597,8 +83052,8 @@ class Test_TC_CC_3_1Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 27: { - LogStep(27, "Check current hue attribute value matched the value sent by the last command"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(27, "Over TransitionTime, TH reads CurrentHue attribute from DUT"); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } @@ -82610,8 +83065,8 @@ class Test_TC_CC_3_1Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 29: { - LogStep(29, "Check current hue attribute value matched the value sent by the last command"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(29, "Over TransitionTime, TH reads CurrentHue attribute from DUT"); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } @@ -82623,8 +83078,8 @@ class Test_TC_CC_3_1Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 31: { - LogStep(31, "Check current hue attribute value matched the value sent by the last command"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(31, "Over TransitionTime, TH reads CurrentHue attribute from DUT"); + VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentHue::Id, true, chip::NullOptional); } @@ -82952,7 +83407,7 @@ class Test_TC_CC_7_1Suite : public TestCommand } case 4: { LogStep(4, "TH reads EnhancedCurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -82980,7 +83435,7 @@ class Test_TC_CC_7_1Suite : public TestCommand } case 7: { LogStep(7, "TH reads EnhancedCurrentHue attribute from DUT periodically"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -82993,7 +83448,7 @@ class Test_TC_CC_7_1Suite : public TestCommand } case 9: { LogStep(9, "TH reads EnhancedCurrentHue attribute from DUT periodically"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -83006,7 +83461,7 @@ class Test_TC_CC_7_1Suite : public TestCommand } case 11: { LogStep(11, "TH reads EnhancedCurrentHue attribute from DUT periodically"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -83034,7 +83489,7 @@ class Test_TC_CC_7_1Suite : public TestCommand } case 14: { LogStep(14, "TH reads EnhancedCurrentHue attribute from DUT periodically"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -83047,7 +83502,7 @@ class Test_TC_CC_7_1Suite : public TestCommand } case 16: { LogStep(16, "TH reads EnhancedCurrentHue attribute from DUT periodically"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -83060,7 +83515,7 @@ class Test_TC_CC_7_1Suite : public TestCommand } case 18: { LogStep(18, "TH reads EnhancedCurrentHue attribute from DUT periodically"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -83088,7 +83543,7 @@ class Test_TC_CC_7_1Suite : public TestCommand } case 21: { LogStep(21, "TH reads EnhancedCurrentHue attribute from DUT periodically"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -83101,7 +83556,7 @@ class Test_TC_CC_7_1Suite : public TestCommand } case 23: { LogStep(23, "TH reads EnhancedCurrentHue attribute from DUT periodically"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -83114,7 +83569,7 @@ class Test_TC_CC_7_1Suite : public TestCommand } case 25: { LogStep(25, "TH reads EnhancedCurrentHue attribute from DUT periodically"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -83142,7 +83597,7 @@ class Test_TC_CC_7_1Suite : public TestCommand } case 28: { LogStep(28, "TH reads EnhancedCurrentHue attribute from DUT periodically"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -83155,7 +83610,7 @@ class Test_TC_CC_7_1Suite : public TestCommand } case 30: { LogStep(30, "TH reads EnhancedCurrentHue attribute from DUT periodically"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -83168,7 +83623,7 @@ class Test_TC_CC_7_1Suite : public TestCommand } case 32: { LogStep(32, "TH reads EnhancedCurrentHue attribute from DUT periodically"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -83720,7 +84175,7 @@ class Test_TC_CC_9_1Suite : public TestCommand } case 3: { LogStep(3, "Precondition : Set DUT EnhancedCurrentHue to 0x4000 using EnhancedMoveToHue command"); - VerifyOrDo(!ShouldSkip("CC.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::EnhancedMoveToHue::Type value; value.enhancedHue = 16384U; @@ -83742,7 +84197,7 @@ class Test_TC_CC_9_1Suite : public TestCommand } case 5: { LogStep(5, "Sends ColorLoopSet Command - Set all Attributes"); - VerifyOrDo(!ShouldSkip("CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::ColorLoopSet::Type value; value.updateFlags = static_cast>(1U); @@ -83759,13 +84214,14 @@ class Test_TC_CC_9_1Suite : public TestCommand } case 6: { LogStep(6, "Read ColorLoopActive attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4002 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopActive::Id, true, chip::NullOptional); } case 7: { LogStep(7, "Sends ColorLoopSet Command - Set all Attributes"); - VerifyOrDo(!ShouldSkip("CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::ColorLoopSet::Type value; value.updateFlags = static_cast>(2U); @@ -83782,13 +84238,14 @@ class Test_TC_CC_9_1Suite : public TestCommand } case 8: { LogStep(8, "Read ColorLoopDirection attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4003 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopDirection::Id, true, chip::NullOptional); } case 9: { LogStep(9, "Sends ColorLoopSet Command - Set all Attributes"); - VerifyOrDo(!ShouldSkip("CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::ColorLoopSet::Type value; value.updateFlags = static_cast>(4U); @@ -83805,13 +84262,14 @@ class Test_TC_CC_9_1Suite : public TestCommand } case 10: { LogStep(10, "Read ColorLoopTime attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4004 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopTime::Id, true, chip::NullOptional); } case 11: { LogStep(11, "Sends ColorLoopSet Command - Set all Attributes"); - VerifyOrDo(!ShouldSkip("CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::ColorLoopSet::Type value; value.updateFlags = static_cast>(8U); @@ -83828,13 +84286,14 @@ class Test_TC_CC_9_1Suite : public TestCommand } case 12: { LogStep(12, "Read ColorLoopStartEnhancedHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4005 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopStartEnhancedHue::Id, true, chip::NullOptional); } case 13: { LogStep(13, "Sends ColorLoopSet Command - Set all Attributes"); - VerifyOrDo(!ShouldSkip("CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::ColorLoopSet::Type value; value.updateFlags = static_cast>(1U); @@ -83851,13 +84310,15 @@ class Test_TC_CC_9_1Suite : public TestCommand } case 14: { LogStep(14, "Read ColorLoopActive attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4002 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopActive::Id, true, chip::NullOptional); } case 15: { LogStep(15, "Read ColorLoopStoredEnhancedHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4006 && CC.S.C40.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopStoredEnhancedHue::Id, true, chip::NullOptional); } @@ -83870,13 +84331,15 @@ class Test_TC_CC_9_1Suite : public TestCommand } case 17: { LogStep(17, "Read ColorLoopStartEnhancedHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4005 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopStartEnhancedHue::Id, true, chip::NullOptional); } case 18: { LogStep(18, "Read EnhancedCurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4000 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -83889,13 +84352,14 @@ class Test_TC_CC_9_1Suite : public TestCommand } case 20: { LogStep(20, "Read EnhancedCurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4000 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } case 21: { LogStep(21, "Sends ColorLoopSet Command - Set all Attributes"); - VerifyOrDo(!ShouldSkip("CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::ColorLoopSet::Type value; value.updateFlags = static_cast>(1U); @@ -83912,25 +84376,28 @@ class Test_TC_CC_9_1Suite : public TestCommand } case 22: { LogStep(22, "Read ColorLoopActive attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4002 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopActive::Id, true, chip::NullOptional); } case 23: { LogStep(23, "Read ColorLoopStoredEnhancedHue attribute from DUT."); - VerifyOrDo(!ShouldSkip("CC.S.A4006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4006 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopStoredEnhancedHue::Id, true, chip::NullOptional); } case 24: { LogStep(24, "Read EnhancedCurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4000 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } case 25: { LogStep(25, "Sends ColorLoopSet Command - Set all Attributes"); - VerifyOrDo(!ShouldSkip("CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::ColorLoopSet::Type value; value.updateFlags = static_cast>(2U); @@ -83947,13 +84414,14 @@ class Test_TC_CC_9_1Suite : public TestCommand } case 26: { LogStep(26, "Read ColorLoopDirection attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4003 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopDirection::Id, true, chip::NullOptional); } case 27: { LogStep(27, "Sends ColorLoopSet Command - Set all Attributes"); - VerifyOrDo(!ShouldSkip("CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::ColorLoopSet::Type value; value.updateFlags = static_cast>(1U); @@ -83970,13 +84438,15 @@ class Test_TC_CC_9_1Suite : public TestCommand } case 28: { LogStep(28, "Read ColorLoopActive attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4002 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopActive::Id, true, chip::NullOptional); } case 29: { LogStep(29, "Read ColorLoopStoredEnhancedHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4006 && CC.S.C40.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopStoredEnhancedHue::Id, true, chip::NullOptional); } @@ -83989,13 +84459,15 @@ class Test_TC_CC_9_1Suite : public TestCommand } case 31: { LogStep(31, "Read ColorLoopStartEnhancedHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4005 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopStartEnhancedHue::Id, true, chip::NullOptional); } case 32: { LogStep(32, "Read EnhancedCurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4000 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -84008,13 +84480,14 @@ class Test_TC_CC_9_1Suite : public TestCommand } case 34: { LogStep(34, "Read EnhancedCurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4000 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } case 35: { LogStep(35, "Sends ColorLoopSet Command - Set all Attributes"); - VerifyOrDo(!ShouldSkip("CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::ColorLoopSet::Type value; value.updateFlags = static_cast>(1U); @@ -84031,25 +84504,28 @@ class Test_TC_CC_9_1Suite : public TestCommand } case 36: { LogStep(36, "Read ColorLoopActive attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4002 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopActive::Id, true, chip::NullOptional); } case 37: { LogStep(37, "Read ColorLoopStoredEnhancedHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4006 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopStoredEnhancedHue::Id, true, chip::NullOptional); } case 38: { LogStep(38, "Read EnhancedCurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4000 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } case 39: { LogStep(39, "Enhanced Move To Hue command"); - VerifyOrDo(!ShouldSkip("CC.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::EnhancedMoveToHue::Type value; value.enhancedHue = 16384U; @@ -84071,13 +84547,14 @@ class Test_TC_CC_9_1Suite : public TestCommand } case 41: { LogStep(41, "Read EnhancedCurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4000 && CC.S.C40.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } case 42: { LogStep(42, "Sends ColorLoopSet Command - Set all Attributes"); - VerifyOrDo(!ShouldSkip("CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::ColorLoopSet::Type value; value.updateFlags = static_cast>(2U); @@ -84094,13 +84571,14 @@ class Test_TC_CC_9_1Suite : public TestCommand } case 43: { LogStep(43, "Read ColorLoopDirection attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4003 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopDirection::Id, true, chip::NullOptional); } case 44: { LogStep(44, "Sends ColorLoopSet Command - Set all Attributes"); - VerifyOrDo(!ShouldSkip("CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::ColorLoopSet::Type value; value.updateFlags = static_cast>(1U); @@ -84117,13 +84595,15 @@ class Test_TC_CC_9_1Suite : public TestCommand } case 45: { LogStep(45, "Read ColorLoopActive attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4002 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopActive::Id, true, chip::NullOptional); } case 46: { LogStep(46, "Read ColorLoopStoredEnhancedHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4006 && CC.S.C40.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopStoredEnhancedHue::Id, true, chip::NullOptional); } @@ -84136,13 +84616,15 @@ class Test_TC_CC_9_1Suite : public TestCommand } case 48: { LogStep(48, "Read ColorLoopStartEnhancedHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4005 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopStartEnhancedHue::Id, true, chip::NullOptional); } case 49: { LogStep(49, "Read EnhancedCurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4000 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -84155,13 +84637,14 @@ class Test_TC_CC_9_1Suite : public TestCommand } case 51: { LogStep(51, "Read EnhancedCurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4000 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } case 52: { LogStep(52, "Sends ColorLoopSet Command - Set all Attributes"); - VerifyOrDo(!ShouldSkip("CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::ColorLoopSet::Type value; value.updateFlags = static_cast>(1U); @@ -84178,25 +84661,28 @@ class Test_TC_CC_9_1Suite : public TestCommand } case 53: { LogStep(53, "Read ColorLoopActive attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4002 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopActive::Id, true, chip::NullOptional); } case 54: { LogStep(54, "Read ColorLoopStoredEnhancedHue attribute from DUT."); - VerifyOrDo(!ShouldSkip("CC.S.A4006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4006 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopStoredEnhancedHue::Id, true, chip::NullOptional); } case 55: { LogStep(55, "Read EnhancedCurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4000 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } case 56: { LogStep(56, "Sends ColorLoopSet Command - Set all Attributes"); - VerifyOrDo(!ShouldSkip("CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::ColorLoopSet::Type value; value.updateFlags = static_cast>(2U); @@ -84213,13 +84699,14 @@ class Test_TC_CC_9_1Suite : public TestCommand } case 57: { LogStep(57, "Read ColorLoopDirection attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4003 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopDirection::Id, true, chip::NullOptional); } case 58: { LogStep(58, "Sends ColorLoopSet Command - Set all Attributes"); - VerifyOrDo(!ShouldSkip("CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::ColorLoopSet::Type value; value.updateFlags = static_cast>(1U); @@ -84236,13 +84723,15 @@ class Test_TC_CC_9_1Suite : public TestCommand } case 59: { LogStep(59, "Read ColorLoopActive attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4002 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopActive::Id, true, chip::NullOptional); } case 60: { LogStep(60, "Read ColorLoopStoredEnhancedHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4006 && CC.S.C40.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopStoredEnhancedHue::Id, true, chip::NullOptional); } @@ -84255,13 +84744,15 @@ class Test_TC_CC_9_1Suite : public TestCommand } case 62: { LogStep(62, "Read ColorLoopStartEnhancedHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4005 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopStartEnhancedHue::Id, true, chip::NullOptional); } case 63: { LogStep(63, "Read EnhancedCurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4000 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -84274,13 +84765,14 @@ class Test_TC_CC_9_1Suite : public TestCommand } case 65: { LogStep(65, "Read EnhancedCurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4000 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } case 66: { LogStep(66, "Sends ColorLoopSet Command - Set all Attributes"); - VerifyOrDo(!ShouldSkip("CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::ColorLoopSet::Type value; value.updateFlags = static_cast>(1U); @@ -84297,19 +84789,22 @@ class Test_TC_CC_9_1Suite : public TestCommand } case 67: { LogStep(67, "Read ColorLoopActive attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4002 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopActive::Id, true, chip::NullOptional); } case 68: { LogStep(68, "Read ColorLoopStoredEnhancedHue attribute from DUT."); - VerifyOrDo(!ShouldSkip("CC.S.A4006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4006 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopStoredEnhancedHue::Id, true, chip::NullOptional); } case 69: { LogStep(69, "Read EnhancedCurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4000 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -84639,25 +85134,29 @@ class Test_TC_CC_9_2Suite : public TestCommand } case 6: { LogStep(6, "Read ColorLoopActive attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4002 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopActive::Id, true, chip::NullOptional); } case 7: { LogStep(7, "Read ColorLoopDirection attribute from DUT."); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4003 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopDirection::Id, true, chip::NullOptional); } case 8: { LogStep(8, "Read ColorLoopTime attribute from DUT."); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4004 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopTime::Id, true, chip::NullOptional); } case 9: { LogStep(9, "Read ColorLoopStartEnhancedHue attribute from DUT."); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4005 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopStartEnhancedHue::Id, true, chip::NullOptional); } @@ -84680,13 +85179,15 @@ class Test_TC_CC_9_2Suite : public TestCommand } case 11: { LogStep(11, "Read ColorLoopActive attribute from DUT."); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4002 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopActive::Id, true, chip::NullOptional); } case 12: { LogStep(12, "Read ColorLoopStoredEnhancedHue attribute from DUT."); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4006 && CC.S.C40.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopStoredEnhancedHue::Id, true, chip::NullOptional); } @@ -84699,13 +85200,15 @@ class Test_TC_CC_9_2Suite : public TestCommand } case 14: { LogStep(14, "Read ColorLoopStartEnhancedHue attribute from DUT."); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4005 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopStartEnhancedHue::Id, true, chip::NullOptional); } case 15: { LogStep(15, "Read EnhancedCurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4000 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -84718,7 +85221,8 @@ class Test_TC_CC_9_2Suite : public TestCommand } case 17: { LogStep(17, "Read EnhancedCurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4000 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -84741,7 +85245,8 @@ class Test_TC_CC_9_2Suite : public TestCommand } case 19: { LogStep(19, "Read ColorLoopDirection attribute from DUT."); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4003 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopDirection::Id, true, chip::NullOptional); } @@ -84754,13 +85259,15 @@ class Test_TC_CC_9_2Suite : public TestCommand } case 21: { LogStep(21, "Read ColorLoopStartEnhancedHue attribute from DUT."); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4005 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopStartEnhancedHue::Id, true, chip::NullOptional); } case 22: { LogStep(22, "Read EnhancedCurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4000 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -84773,7 +85280,8 @@ class Test_TC_CC_9_2Suite : public TestCommand } case 24: { LogStep(24, "Read EnhancedCurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4000 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -84796,19 +85304,22 @@ class Test_TC_CC_9_2Suite : public TestCommand } case 26: { LogStep(26, "Read ColorLoopActive attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4002 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopActive::Id, true, chip::NullOptional); } case 27: { LogStep(27, "Read ColorLoopStoredEnhancedHue attribute from DUT."); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4006 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopStoredEnhancedHue::Id, true, chip::NullOptional); } case 28: { LogStep(28, "Read EnhancedCurrentHue attribute from DUT."); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4000 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -85129,25 +85640,29 @@ class Test_TC_CC_9_3Suite : public TestCommand } case 6: { LogStep(6, "Read ColorLoopActive attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4002 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopActive::Id, true, chip::NullOptional); } case 7: { LogStep(7, "Read ColorLoopDirection attribute from DUT."); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4003 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopDirection::Id, true, chip::NullOptional); } case 8: { LogStep(8, "Read ColorLoopTime attribute from DUT."); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4004 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopTime::Id, true, chip::NullOptional); } case 9: { LogStep(9, "Read ColorLoopStartEnhancedHue attribute from DUT."); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4005 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopStartEnhancedHue::Id, true, chip::NullOptional); } @@ -85170,13 +85685,15 @@ class Test_TC_CC_9_3Suite : public TestCommand } case 11: { LogStep(11, "Read ColorLoopActive attribute from DUT."); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4002 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopActive::Id, true, chip::NullOptional); } case 12: { LogStep(12, "Read ColorLoopStoredEnhancedHue attribute from DUT."); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4006 && CC.S.C40.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopStoredEnhancedHue::Id, true, chip::NullOptional); } @@ -85189,13 +85706,15 @@ class Test_TC_CC_9_3Suite : public TestCommand } case 14: { LogStep(14, "Read ColorLoopStartEnhancedHue attribute from DUT."); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4005 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopStartEnhancedHue::Id, true, chip::NullOptional); } case 15: { LogStep(15, "Read EnhancedCurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4000 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -85208,7 +85727,8 @@ class Test_TC_CC_9_3Suite : public TestCommand } case 17: { LogStep(17, "Read EnhancedCurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4000 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -85231,7 +85751,8 @@ class Test_TC_CC_9_3Suite : public TestCommand } case 19: { LogStep(19, "Read ColorLoopTime attribute from DUT."); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4004 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopTime::Id, true, chip::NullOptional); } @@ -85244,7 +85765,8 @@ class Test_TC_CC_9_3Suite : public TestCommand } case 21: { LogStep(21, "Read EnhancedCurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4000 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -85257,7 +85779,8 @@ class Test_TC_CC_9_3Suite : public TestCommand } case 23: { LogStep(23, "Read EnhancedCurrentHue attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4000 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -85280,19 +85803,22 @@ class Test_TC_CC_9_3Suite : public TestCommand } case 25: { LogStep(25, "Read ColorLoopActive attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4002 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopActive::Id, true, chip::NullOptional); } case 26: { LogStep(26, "Read ColorLoopStoredEnhancedHue attribute from DUT."); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4006 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorLoopStoredEnhancedHue::Id, true, chip::NullOptional); } case 27: { LogStep(27, "Read EnhancedCurrentHue attribute from DUT."); - VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4000 && CC.S.C44.Rsp"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedCurrentHue::Id, true, chip::NullOptional); } @@ -88160,7 +88686,7 @@ class Test_TC_RH_2_2Suite : public TestCommand } case 2: { LogStep(2, "Reads constraints of attribute: MaxMeasuredValue"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("RH.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RelativeHumidityMeasurement::Id, RelativeHumidityMeasurement::Attributes::MaxMeasuredValue::Id, true, chip::NullOptional); } @@ -88182,7 +88708,7 @@ class Test_TC_RH_2_2Suite : public TestCommand } case 5: { LogStep(5, "Read the mandatory attribute: MeasuredValue"); - VerifyOrDo(!ShouldSkip("RH.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("RH.S.A0000 && RH.M.ManuallyControlled"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RelativeHumidityMeasurement::Id, RelativeHumidityMeasurement::Attributes::MeasuredValue::Id, true, chip::NullOptional); } @@ -88247,62 +88773,6 @@ class Test_TC_RH_3_1Suite : public TestCommand } }; -class Test_TC_SWTCH_1_1Suite : public TestCommand -{ -public: - Test_TC_SWTCH_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SWTCH_1_1", 0, credsIssuerConfig) - { - AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); - AddArgument("cluster", &mCluster); - AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); - AddArgument("timeout", 0, UINT16_MAX, &mTimeout); - } - - ~Test_TC_SWTCH_1_1Suite() {} - - chip::System::Clock::Timeout GetWaitDuration() const override - { - return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); - } - -private: - chip::Optional mNodeId; - chip::Optional mCluster; - chip::Optional mEndpoint; - chip::Optional mTimeout; - - chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } - - // - // Tests methods - // - - void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override - { - bool shouldContinue = false; - - switch (mTestIndex - 1) - { - default: - LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); - } - - if (shouldContinue) - { - ContinueOnChipMainThread(CHIP_NO_ERROR); - } - } - - CHIP_ERROR DoTestStep(uint16_t testIndex) override - { - using namespace chip::app::Clusters; - switch (testIndex) - { - } - return CHIP_NO_ERROR; - } -}; - class Test_TC_SWTCH_2_2Suite : public TestCommand { public: @@ -88582,13 +89052,13 @@ class Test_TC_TMP_2_2Suite : public TestCommand return WaitForCommissionee(kIdentityAlpha, value); } case 1: { - LogStep(1, "read the mandatory attribute: MinMeasuredValue"); + LogStep(1, "Read the mandatory attribute: MinMeasuredValue"); VerifyOrDo(!ShouldSkip("TMP.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, TemperatureMeasurement::Attributes::MinMeasuredValue::Id, true, chip::NullOptional); } case 2: { - LogStep(2, "read the mandatory attribute: MaxMeasuredValue"); + LogStep(2, "Read the mandatory attribute: MaxMeasuredValue"); VerifyOrDo(!ShouldSkip("TMP.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, TemperatureMeasurement::Attributes::MaxMeasuredValue::Id, true, chip::NullOptional); @@ -88611,7 +89081,7 @@ class Test_TC_TMP_2_2Suite : public TestCommand } case 5: { LogStep(5, "Read the mandatory attribute: MeasuredValue"); - VerifyOrDo(!ShouldSkip("TMP.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TMP.S.A0000 && TMP.M.ManuallyControlled"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, TemperatureMeasurement::Attributes::MeasuredValue::Id, true, chip::NullOptional); } @@ -91542,6 +92012,7 @@ void registerCommandsTests(Commands & commands, CredentialIssuerCommands * creds make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), + make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), @@ -91802,8 +92273,6 @@ void registerCommandsTests(Commands & commands, CredentialIssuerCommands * creds make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), - make_unique(credsIssuerConfig), - make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), @@ -91811,8 +92280,8 @@ void registerCommandsTests(Commands & commands, CredentialIssuerCommands * creds make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), - make_unique(credsIssuerConfig), - make_unique(credsIssuerConfig), + make_unique(credsIssuerConfig), + make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), @@ -91913,7 +92382,6 @@ void registerCommandsTests(Commands & commands, CredentialIssuerCommands * creds make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), - make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), diff --git a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h index 9bb662a107588d..9f831b1515913e 100644 --- a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h +++ b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h @@ -130,6 +130,7 @@ class TestList : public Command { printf("Test_TC_PSCFG_1_1\n"); printf("Test_TC_RH_1_1\n"); printf("Test_TC_RH_2_1\n"); + printf("Test_TC_SWTCH_1_1\n"); printf("Test_TC_SWTCH_2_1\n"); printf("Test_TC_TMP_1_1\n"); printf("Test_TC_TMP_2_1\n"); @@ -2521,19 +2522,15 @@ class Test_TC_ACT_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Read the global attribute: AttributeList\n"); - if (ShouldSkip("ACT.S.A0002")) { - NextTest(); - return; - } err = TestReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Read the global attribute: AttributeList\n"); - if (ShouldSkip(" !ACT.S.A0002 ")) { + ChipLogProgress(chipTool, " ***** Test Step 4 : Read the optional attribute(SetupURL) in AttributeList\n"); + if (ShouldSkip("ACT.S.A0002")) { NextTest(); return; } - err = TestReadTheGlobalAttributeAttributeList_4(); + err = TestReadTheOptionalAttributeSetupURLInAttributeList_4(); break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Read the global attribute: AcceptedCommandList\n"); @@ -2681,7 +2678,6 @@ class Test_TC_ACT_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); NextTest(); }]; @@ -2689,7 +2685,7 @@ class Test_TC_ACT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheGlobalAttributeAttributeList_4() + CHIP_ERROR TestReadTheOptionalAttributeSetupURLInAttributeList_4() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterBridgedActions * cluster = [[MTRBaseClusterBridgedActions alloc] initWithDevice:device @@ -2698,13 +2694,14 @@ class Test_TC_ACT_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the global attribute: AttributeList Error: %@", err); + NSLog(@"Read the optional attribute(SetupURL) in AttributeList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); NextTest(); }]; @@ -2725,12 +2722,8 @@ class Test_TC_ACT_1_1 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - { - id actualValue = value; - VerifyOrReturn(CheckValue("AcceptedCommandList", [actualValue count], static_cast(0))); - } - VerifyOrReturn(CheckConstraintType("acceptedCommandList", "", "list")); + VerifyOrReturn(CheckConstraintMaxLength("acceptedCommandList", value, 11)); NextTest(); }]; @@ -4798,174 +4791,164 @@ class Test_TC_CC_3_2 : public TestCommandBridge { err = TestCheckOnOffAttributeValueIsTrueAfterOnCommand_2(); break; case 3: - ChipLogProgress(chipTool, " ***** Test Step 3 : Reads CurrentHue attribute from DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 3 : TH reads CurrentHue attribute from DUT\n"); if (ShouldSkip("CC.S.F00 && CC.S.A0000")) { NextTest(); return; } - err = TestReadsCurrentHueAttributeFromDut_3(); + err = TestThReadsCurrentHueAttributeFromDut_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Move hue up command\n"); + ChipLogProgress(chipTool, " ***** Test Step 4 : TH sends MoveHue command to DUT with MoveMode Up\n"); if (ShouldSkip("CC.S.F00 && CC.S.C01.Rsp")) { NextTest(); return; } - err = TestMoveHueUpCommand_4(); + err = TestThSendsMoveHueCommandToDutWithMoveModeUp_4(); break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Wait 3000ms\n"); err = TestWait3000ms_5(); break; case 6: - ChipLogProgress( - chipTool, " ***** Test Step 6 : Check current hue attribute value matched the value sent by the last command\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0000")) { + ChipLogProgress(chipTool, " ***** Test Step 6 : TH reads CurrentHue attribute from DUT several times\n"); + if (ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp")) { NextTest(); return; } - err = TestCheckCurrentHueAttributeValueMatchedTheValueSentByTheLastCommand_6(); + err = TestThReadsCurrentHueAttributeFromDutSeveralTimes_6(); break; case 7: ChipLogProgress(chipTool, " ***** Test Step 7 : Wait 2000\n"); err = TestWait2000_7(); break; case 8: - ChipLogProgress( - chipTool, " ***** Test Step 8 : Check current hue attribute value matched the value sent by the last command\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0000")) { + ChipLogProgress(chipTool, " ***** Test Step 8 : TH reads CurrentHue attribute from DUT several times\n"); + if (ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp")) { NextTest(); return; } - err = TestCheckCurrentHueAttributeValueMatchedTheValueSentByTheLastCommand_8(); + err = TestThReadsCurrentHueAttributeFromDutSeveralTimes_8(); break; case 9: ChipLogProgress(chipTool, " ***** Test Step 9 : Wait 3000\n"); err = TestWait3000_9(); break; case 10: - ChipLogProgress( - chipTool, " ***** Test Step 10 : Check current hue attribute value matched the value sent by the last command\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0000")) { + ChipLogProgress(chipTool, " ***** Test Step 10 : TH reads CurrentHue attribute from DUT several times\n"); + if (ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp")) { NextTest(); return; } - err = TestCheckCurrentHueAttributeValueMatchedTheValueSentByTheLastCommand_10(); + err = TestThReadsCurrentHueAttributeFromDutSeveralTimes_10(); break; case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Move hue stop command\n"); + ChipLogProgress(chipTool, " ***** Test Step 11 : TH sends MoveHue command to DUT with MoveMode Stop\n"); if (ShouldSkip("CC.S.F00 && CC.S.C01.Rsp")) { NextTest(); return; } - err = TestMoveHueStopCommand_11(); + err = TestThSendsMoveHueCommandToDutWithMoveModeStop_11(); break; case 12: ChipLogProgress(chipTool, " ***** Test Step 12 : Wait 1000ms\n"); err = TestWait1000ms_12(); break; case 13: - ChipLogProgress( - chipTool, " ***** Test Step 13 : Check current hue attribute value matched the value sent by the last command\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0000")) { + ChipLogProgress(chipTool, " ***** Test Step 13 : TH reads CurrentHue attribute from DUT several times\n"); + if (ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp")) { NextTest(); return; } - err = TestCheckCurrentHueAttributeValueMatchedTheValueSentByTheLastCommand_13(); + err = TestThReadsCurrentHueAttributeFromDutSeveralTimes_13(); break; case 14: ChipLogProgress(chipTool, " ***** Test Step 14 : Wait 1000ms\n"); err = TestWait1000ms_14(); break; case 15: - ChipLogProgress( - chipTool, " ***** Test Step 15 : Check current hue attribute value matched the value sent by the last command\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0000")) { + ChipLogProgress(chipTool, " ***** Test Step 15 : TH reads CurrentHue attribute from DUT several times\n"); + if (ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp")) { NextTest(); return; } - err = TestCheckCurrentHueAttributeValueMatchedTheValueSentByTheLastCommand_15(); + err = TestThReadsCurrentHueAttributeFromDutSeveralTimes_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Move hue down command\n"); + ChipLogProgress(chipTool, " ***** Test Step 16 : TH sends MoveHue command to DUT with MoveMode Down\n"); if (ShouldSkip("CC.S.F00 && CC.S.C01.Rsp")) { NextTest(); return; } - err = TestMoveHueDownCommand_16(); + err = TestThSendsMoveHueCommandToDutWithMoveModeDown_16(); break; case 17: ChipLogProgress(chipTool, " ***** Test Step 17 : Wait 1000ms\n"); err = TestWait1000ms_17(); break; case 18: - ChipLogProgress( - chipTool, " ***** Test Step 18 : Check current hue attribute value matched the value sent by the last command\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0000")) { + ChipLogProgress(chipTool, " ***** Test Step 18 : TH reads CurrentHue attribute from DUT several times\n"); + if (ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp")) { NextTest(); return; } - err = TestCheckCurrentHueAttributeValueMatchedTheValueSentByTheLastCommand_18(); + err = TestThReadsCurrentHueAttributeFromDutSeveralTimes_18(); break; case 19: ChipLogProgress(chipTool, " ***** Test Step 19 : Wait 1000ms\n"); err = TestWait1000ms_19(); break; case 20: - ChipLogProgress( - chipTool, " ***** Test Step 20 : Check current hue attribute value matched the value sent by the last command\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0000")) { + ChipLogProgress(chipTool, " ***** Test Step 20 : TH reads CurrentHue attribute from DUT several times\n"); + if (ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp")) { NextTest(); return; } - err = TestCheckCurrentHueAttributeValueMatchedTheValueSentByTheLastCommand_20(); + err = TestThReadsCurrentHueAttributeFromDutSeveralTimes_20(); break; case 21: ChipLogProgress(chipTool, " ***** Test Step 21 : Wait 1000ms\n"); err = TestWait1000ms_21(); break; case 22: - ChipLogProgress( - chipTool, " ***** Test Step 22 : Check current hue attribute value matched the value sent by the last command\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0000")) { + ChipLogProgress(chipTool, " ***** Test Step 22 : TH reads CurrentHue attribute from DUT several times\n"); + if (ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp")) { NextTest(); return; } - err = TestCheckCurrentHueAttributeValueMatchedTheValueSentByTheLastCommand_22(); + err = TestThReadsCurrentHueAttributeFromDutSeveralTimes_22(); break; case 23: - ChipLogProgress(chipTool, " ***** Test Step 23 : Move hue stop command\n"); + ChipLogProgress(chipTool, " ***** Test Step 23 : TH sends MoveHue command to DUT with MoveMode Stop\n"); if (ShouldSkip("CC.S.F00 && CC.S.C01.Rsp")) { NextTest(); return; } - err = TestMoveHueStopCommand_23(); + err = TestThSendsMoveHueCommandToDutWithMoveModeStop_23(); break; case 24: ChipLogProgress(chipTool, " ***** Test Step 24 : Wait 1000ms\n"); err = TestWait1000ms_24(); break; case 25: - ChipLogProgress( - chipTool, " ***** Test Step 25 : Check current hue attribute value matched the value sent by the last command\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0000")) { + ChipLogProgress(chipTool, " ***** Test Step 25 : TH reads CurrentHue attribute from DUT several times\n"); + if (ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp")) { NextTest(); return; } - err = TestCheckCurrentHueAttributeValueMatchedTheValueSentByTheLastCommand_25(); + err = TestThReadsCurrentHueAttributeFromDutSeveralTimes_25(); break; case 26: ChipLogProgress(chipTool, " ***** Test Step 26 : Wait 1000ms\n"); err = TestWait1000ms_26(); break; case 27: - ChipLogProgress( - chipTool, " ***** Test Step 27 : Check current hue attribute value matched the value sent by the last command\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0000")) { + ChipLogProgress(chipTool, " ***** Test Step 27 : TH reads CurrentHue attribute from DUT several times\n"); + if (ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C01.Rsp")) { NextTest(); return; } - err = TestCheckCurrentHueAttributeValueMatchedTheValueSentByTheLastCommand_27(); + err = TestThReadsCurrentHueAttributeFromDutSeveralTimes_27(); break; case 28: ChipLogProgress(chipTool, " ***** Test Step 28 : Turn off light that we turned on\n"); @@ -5142,7 +5125,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsCurrentHueAttributeFromDut_3() + CHIP_ERROR TestThReadsCurrentHueAttributeFromDut_3() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -5151,7 +5134,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeCurrentHueWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads CurrentHue attribute from DUT Error: %@", err); + NSLog(@"TH reads CurrentHue attribute from DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -5165,7 +5148,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestMoveHueUpCommand_4() + CHIP_ERROR TestThSendsMoveHueCommandToDutWithMoveModeUp_4() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -5180,7 +5163,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { params.optionsOverride = [NSNumber numberWithUnsignedChar:0U]; [cluster moveHueWithParams:params completionHandler:^(NSError * _Nullable err) { - NSLog(@"Move hue up command Error: %@", err); + NSLog(@"TH sends MoveHue command to DUT with MoveMode Up Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -5197,7 +5180,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { return WaitForMs("alpha", value); } - CHIP_ERROR TestCheckCurrentHueAttributeValueMatchedTheValueSentByTheLastCommand_6() + CHIP_ERROR TestThReadsCurrentHueAttributeFromDutSeveralTimes_6() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -5206,7 +5189,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeCurrentHueWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Check current hue attribute value matched the value sent by the last command Error: %@", err); + NSLog(@"TH reads CurrentHue attribute from DUT several times Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -5227,7 +5210,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { return WaitForMs("alpha", value); } - CHIP_ERROR TestCheckCurrentHueAttributeValueMatchedTheValueSentByTheLastCommand_8() + CHIP_ERROR TestThReadsCurrentHueAttributeFromDutSeveralTimes_8() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -5236,7 +5219,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeCurrentHueWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Check current hue attribute value matched the value sent by the last command Error: %@", err); + NSLog(@"TH reads CurrentHue attribute from DUT several times Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -5257,7 +5240,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { return WaitForMs("alpha", value); } - CHIP_ERROR TestCheckCurrentHueAttributeValueMatchedTheValueSentByTheLastCommand_10() + CHIP_ERROR TestThReadsCurrentHueAttributeFromDutSeveralTimes_10() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -5266,7 +5249,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeCurrentHueWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Check current hue attribute value matched the value sent by the last command Error: %@", err); + NSLog(@"TH reads CurrentHue attribute from DUT several times Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -5280,7 +5263,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestMoveHueStopCommand_11() + CHIP_ERROR TestThSendsMoveHueCommandToDutWithMoveModeStop_11() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -5295,7 +5278,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { params.optionsOverride = [NSNumber numberWithUnsignedChar:0U]; [cluster moveHueWithParams:params completionHandler:^(NSError * _Nullable err) { - NSLog(@"Move hue stop command Error: %@", err); + NSLog(@"TH sends MoveHue command to DUT with MoveMode Stop Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -5313,7 +5296,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { } NSNumber * _Nonnull CurrentHueValue; - CHIP_ERROR TestCheckCurrentHueAttributeValueMatchedTheValueSentByTheLastCommand_13() + CHIP_ERROR TestThReadsCurrentHueAttributeFromDutSeveralTimes_13() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -5322,7 +5305,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeCurrentHueWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Check current hue attribute value matched the value sent by the last command Error: %@", err); + NSLog(@"TH reads CurrentHue attribute from DUT several times Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -5346,7 +5329,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { return WaitForMs("alpha", value); } - CHIP_ERROR TestCheckCurrentHueAttributeValueMatchedTheValueSentByTheLastCommand_15() + CHIP_ERROR TestThReadsCurrentHueAttributeFromDutSeveralTimes_15() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -5355,7 +5338,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeCurrentHueWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Check current hue attribute value matched the value sent by the last command Error: %@", err); + NSLog(@"TH reads CurrentHue attribute from DUT several times Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -5370,7 +5353,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestMoveHueDownCommand_16() + CHIP_ERROR TestThSendsMoveHueCommandToDutWithMoveModeDown_16() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -5385,7 +5368,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { params.optionsOverride = [NSNumber numberWithUnsignedChar:0U]; [cluster moveHueWithParams:params completionHandler:^(NSError * _Nullable err) { - NSLog(@"Move hue down command Error: %@", err); + NSLog(@"TH sends MoveHue command to DUT with MoveMode Down Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -5402,7 +5385,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { return WaitForMs("alpha", value); } - CHIP_ERROR TestCheckCurrentHueAttributeValueMatchedTheValueSentByTheLastCommand_18() + CHIP_ERROR TestThReadsCurrentHueAttributeFromDutSeveralTimes_18() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -5411,7 +5394,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeCurrentHueWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Check current hue attribute value matched the value sent by the last command Error: %@", err); + NSLog(@"TH reads CurrentHue attribute from DUT several times Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -5432,7 +5415,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { return WaitForMs("alpha", value); } - CHIP_ERROR TestCheckCurrentHueAttributeValueMatchedTheValueSentByTheLastCommand_20() + CHIP_ERROR TestThReadsCurrentHueAttributeFromDutSeveralTimes_20() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -5441,7 +5424,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeCurrentHueWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Check current hue attribute value matched the value sent by the last command Error: %@", err); + NSLog(@"TH reads CurrentHue attribute from DUT several times Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -5462,7 +5445,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { return WaitForMs("alpha", value); } - CHIP_ERROR TestCheckCurrentHueAttributeValueMatchedTheValueSentByTheLastCommand_22() + CHIP_ERROR TestThReadsCurrentHueAttributeFromDutSeveralTimes_22() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -5471,7 +5454,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeCurrentHueWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Check current hue attribute value matched the value sent by the last command Error: %@", err); + NSLog(@"TH reads CurrentHue attribute from DUT several times Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -5485,7 +5468,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestMoveHueStopCommand_23() + CHIP_ERROR TestThSendsMoveHueCommandToDutWithMoveModeStop_23() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -5500,7 +5483,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { params.optionsOverride = [NSNumber numberWithUnsignedChar:0U]; [cluster moveHueWithParams:params completionHandler:^(NSError * _Nullable err) { - NSLog(@"Move hue stop command Error: %@", err); + NSLog(@"TH sends MoveHue command to DUT with MoveMode Stop Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -5518,7 +5501,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { } NSNumber * _Nonnull CurrentHueValueAfterStopmode; - CHIP_ERROR TestCheckCurrentHueAttributeValueMatchedTheValueSentByTheLastCommand_25() + CHIP_ERROR TestThReadsCurrentHueAttributeFromDutSeveralTimes_25() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -5527,7 +5510,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeCurrentHueWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Check current hue attribute value matched the value sent by the last command Error: %@", err); + NSLog(@"TH reads CurrentHue attribute from DUT several times Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -5551,7 +5534,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { return WaitForMs("alpha", value); } - CHIP_ERROR TestCheckCurrentHueAttributeValueMatchedTheValueSentByTheLastCommand_27() + CHIP_ERROR TestThReadsCurrentHueAttributeFromDutSeveralTimes_27() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -5560,7 +5543,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeCurrentHueWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Check current hue attribute value matched the value sent by the last command Error: %@", err); + NSLog(@"TH reads CurrentHue attribute from DUT several times Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -5666,52 +5649,52 @@ class Test_TC_CC_3_3 : public TestCommandBridge { err = TestCheckOnOffAttributeValueIsTrueAfterOnCommand_2(); break; case 3: - ChipLogProgress(chipTool, " ***** Test Step 3 : Reads CurrentHue attribute from DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 3 : TH reads CurrentHue attribute from DUT\n"); if (ShouldSkip("CC.S.F00 && CC.S.A0000")) { NextTest(); return; } - err = TestReadsCurrentHueAttributeFromDut_3(); + err = TestThReadsCurrentHueAttributeFromDut_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step hue up command\n"); + ChipLogProgress(chipTool, " ***** Test Step 4 : TH sends StepHue command to DUT with StepMode Up\n"); if (ShouldSkip("CC.S.F00 && CC.S.C02.Rsp")) { NextTest(); return; } - err = TestStepHueUpCommand_4(); + err = TestThSendsStepHueCommandToDutWithStepModeUp_4(); break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Wait 1000ms\n"); err = TestWait1000ms_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Over TransitionTime,Read CurrentHue attribute from DUT\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0000")) { + ChipLogProgress(chipTool, " ***** Test Step 6 : Over TransitionTime, TH reads CurrentHue attribute from DUT\n"); + if (ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C02.Rsp")) { NextTest(); return; } - err = TestOverTransitionTimeReadCurrentHueAttributeFromDut_6(); + err = TestOverTransitionTimeThReadsCurrentHueAttributeFromDut_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step hue down command\n"); + ChipLogProgress(chipTool, " ***** Test Step 7 : TH sends StepHue command to DUT with StepMode Down\n"); if (ShouldSkip("CC.S.F00 && CC.S.C02.Rsp")) { NextTest(); return; } - err = TestStepHueDownCommand_7(); + err = TestThSendsStepHueCommandToDutWithStepModeDown_7(); break; case 8: ChipLogProgress(chipTool, " ***** Test Step 8 : Wait 1000ms\n"); err = TestWait1000ms_8(); break; case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Over TransitionTime,Read CurrentHue attribute from DUT\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0000")) { + ChipLogProgress(chipTool, " ***** Test Step 9 : Over TransitionTime, TH reads CurrentHue attribute from DUT\n"); + if (ShouldSkip("CC.S.F00 && CC.S.A0000 && CC.S.C02.Rsp")) { NextTest(); return; } - err = TestOverTransitionTimeReadCurrentHueAttributeFromDut_9(); + err = TestOverTransitionTimeThReadsCurrentHueAttributeFromDut_9(); break; case 10: ChipLogProgress(chipTool, " ***** Test Step 10 : Turn off light that we turned on\n"); @@ -5834,7 +5817,7 @@ class Test_TC_CC_3_3 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsCurrentHueAttributeFromDut_3() + CHIP_ERROR TestThReadsCurrentHueAttributeFromDut_3() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -5843,7 +5826,7 @@ class Test_TC_CC_3_3 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeCurrentHueWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads CurrentHue attribute from DUT Error: %@", err); + NSLog(@"TH reads CurrentHue attribute from DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -5857,7 +5840,7 @@ class Test_TC_CC_3_3 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStepHueUpCommand_4() + CHIP_ERROR TestThSendsStepHueCommandToDutWithStepModeUp_4() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -5873,7 +5856,7 @@ class Test_TC_CC_3_3 : public TestCommandBridge { params.optionsOverride = [NSNumber numberWithUnsignedChar:0U]; [cluster stepHueWithParams:params completionHandler:^(NSError * _Nullable err) { - NSLog(@"Step hue up command Error: %@", err); + NSLog(@"TH sends StepHue command to DUT with StepMode Up Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -5890,7 +5873,7 @@ class Test_TC_CC_3_3 : public TestCommandBridge { return WaitForMs("alpha", value); } - CHIP_ERROR TestOverTransitionTimeReadCurrentHueAttributeFromDut_6() + CHIP_ERROR TestOverTransitionTimeThReadsCurrentHueAttributeFromDut_6() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -5899,7 +5882,7 @@ class Test_TC_CC_3_3 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeCurrentHueWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Over TransitionTime,Read CurrentHue attribute from DUT Error: %@", err); + NSLog(@"Over TransitionTime, TH reads CurrentHue attribute from DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -5913,7 +5896,7 @@ class Test_TC_CC_3_3 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStepHueDownCommand_7() + CHIP_ERROR TestThSendsStepHueCommandToDutWithStepModeDown_7() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -5929,7 +5912,7 @@ class Test_TC_CC_3_3 : public TestCommandBridge { params.optionsOverride = [NSNumber numberWithUnsignedChar:0U]; [cluster stepHueWithParams:params completionHandler:^(NSError * _Nullable err) { - NSLog(@"Step hue down command Error: %@", err); + NSLog(@"TH sends StepHue command to DUT with StepMode Down Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -5946,7 +5929,7 @@ class Test_TC_CC_3_3 : public TestCommandBridge { return WaitForMs("alpha", value); } - CHIP_ERROR TestOverTransitionTimeReadCurrentHueAttributeFromDut_9() + CHIP_ERROR TestOverTransitionTimeThReadsCurrentHueAttributeFromDut_9() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -5955,7 +5938,7 @@ class Test_TC_CC_3_3 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeCurrentHueWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Over TransitionTime,Read CurrentHue attribute from DUT Error: %@", err); + NSLog(@"Over TransitionTime, TH reads CurrentHue attribute from DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -6060,59 +6043,57 @@ class Test_TC_CC_4_1 : public TestCommandBridge { err = TestCheckOnOffAttributeValueIsTrueAfterOnCommand_2(); break; case 3: - ChipLogProgress(chipTool, " ***** Test Step 3 : Check Saturation attribute value matched before any change\n"); + ChipLogProgress(chipTool, " ***** Test Step 3 : TH reads CurrentSaturation attribute from DUT\n"); if (ShouldSkip("CC.S.F00 && CC.S.A0001")) { NextTest(); return; } - err = TestCheckSaturationAttributeValueMatchedBeforeAnyChange_3(); + err = TestThReadsCurrentSaturationAttributeFromDut_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Move to saturation command\n"); + ChipLogProgress(chipTool, " ***** Test Step 4 : TH sends MoveToSaturation command to DUT\n"); if (ShouldSkip("CC.S.F00 && CC.S.C03.Rsp")) { NextTest(); return; } - err = TestMoveToSaturationCommand_4(); + err = TestThSendsMoveToSaturationCommandToDut_4(); break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Wait 500ms\n"); err = TestWait500ms_5(); break; case 6: - ChipLogProgress(chipTool, - " ***** Test Step 6 : Check current saturation attribute value matched the value sent by the last command\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0001")) { + ChipLogProgress(chipTool, " ***** Test Step 6 : Over TransitionTime, TH reads CurrentSaturation attribute from DUT.\n"); + if (ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C03.Rsp")) { NextTest(); return; } - err = TestCheckCurrentSaturationAttributeValueMatchedTheValueSentByTheLastCommand_6(); + err = TestOverTransitionTimeThReadsCurrentSaturationAttributeFromDut_6(); break; case 7: ChipLogProgress(chipTool, " ***** Test Step 7 : Wait 500ms\n"); err = TestWait500ms_7(); break; case 8: - ChipLogProgress(chipTool, - " ***** Test Step 8 : Check current saturation attribute value matched the value sent by the last command\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0001")) { + ChipLogProgress(chipTool, " ***** Test Step 8 : Over TransitionTime, TH reads CurrentSaturation attribute from DUT.\n"); + if (ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C03.Rsp")) { NextTest(); return; } - err = TestCheckCurrentSaturationAttributeValueMatchedTheValueSentByTheLastCommand_8(); + err = TestOverTransitionTimeThReadsCurrentSaturationAttributeFromDut_8(); break; case 9: ChipLogProgress(chipTool, " ***** Test Step 9 : Wait 1000ms\n"); err = TestWait1000ms_9(); break; case 10: - ChipLogProgress(chipTool, - " ***** Test Step 10 : Check current saturation attribute value matched the value sent by the last command\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0001")) { + ChipLogProgress( + chipTool, " ***** Test Step 10 : Over TransitionTime, TH reads CurrentSaturation attribute from DUT.\n"); + if (ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C03.Rsp")) { NextTest(); return; } - err = TestCheckCurrentSaturationAttributeValueMatchedTheValueSentByTheLastCommand_10(); + err = TestOverTransitionTimeThReadsCurrentSaturationAttributeFromDut_10(); break; case 11: ChipLogProgress(chipTool, " ***** Test Step 11 : Turn off light that we turned on\n"); @@ -6238,7 +6219,7 @@ class Test_TC_CC_4_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestCheckSaturationAttributeValueMatchedBeforeAnyChange_3() + CHIP_ERROR TestThReadsCurrentSaturationAttributeFromDut_3() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -6247,7 +6228,7 @@ class Test_TC_CC_4_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeCurrentSaturationWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Check Saturation attribute value matched before any change Error: %@", err); + NSLog(@"TH reads CurrentSaturation attribute from DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -6261,7 +6242,7 @@ class Test_TC_CC_4_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestMoveToSaturationCommand_4() + CHIP_ERROR TestThSendsMoveToSaturationCommandToDut_4() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -6276,7 +6257,7 @@ class Test_TC_CC_4_1 : public TestCommandBridge { params.optionsOverride = [NSNumber numberWithUnsignedChar:0U]; [cluster moveToSaturationWithParams:params completionHandler:^(NSError * _Nullable err) { - NSLog(@"Move to saturation command Error: %@", err); + NSLog(@"TH sends MoveToSaturation command to DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -6293,7 +6274,7 @@ class Test_TC_CC_4_1 : public TestCommandBridge { return WaitForMs("alpha", value); } - CHIP_ERROR TestCheckCurrentSaturationAttributeValueMatchedTheValueSentByTheLastCommand_6() + CHIP_ERROR TestOverTransitionTimeThReadsCurrentSaturationAttributeFromDut_6() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -6302,7 +6283,7 @@ class Test_TC_CC_4_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeCurrentSaturationWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Check current saturation attribute value matched the value sent by the last command Error: %@", err); + NSLog(@"Over TransitionTime, TH reads CurrentSaturation attribute from DUT. Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -6323,7 +6304,7 @@ class Test_TC_CC_4_1 : public TestCommandBridge { return WaitForMs("alpha", value); } - CHIP_ERROR TestCheckCurrentSaturationAttributeValueMatchedTheValueSentByTheLastCommand_8() + CHIP_ERROR TestOverTransitionTimeThReadsCurrentSaturationAttributeFromDut_8() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -6332,7 +6313,7 @@ class Test_TC_CC_4_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeCurrentSaturationWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Check current saturation attribute value matched the value sent by the last command Error: %@", err); + NSLog(@"Over TransitionTime, TH reads CurrentSaturation attribute from DUT. Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -6353,7 +6334,7 @@ class Test_TC_CC_4_1 : public TestCommandBridge { return WaitForMs("alpha", value); } - CHIP_ERROR TestCheckCurrentSaturationAttributeValueMatchedTheValueSentByTheLastCommand_10() + CHIP_ERROR TestOverTransitionTimeThReadsCurrentSaturationAttributeFromDut_10() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -6362,7 +6343,7 @@ class Test_TC_CC_4_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeCurrentSaturationWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Check current saturation attribute value matched the value sent by the last command Error: %@", err); + NSLog(@"Over TransitionTime, TH reads CurrentSaturation attribute from DUT. Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -6489,7 +6470,7 @@ class Test_TC_CC_4_2 : public TestCommandBridge { break; case 6: ChipLogProgress(chipTool, " ***** Test Step 6 : TH reads CurrentSaturation attribute from DUT several times\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0001")) { + if (ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp")) { NextTest(); return; } @@ -6501,7 +6482,7 @@ class Test_TC_CC_4_2 : public TestCommandBridge { break; case 8: ChipLogProgress(chipTool, " ***** Test Step 8 : TH reads CurrentSaturation attribute from DUT several times\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0001")) { + if (ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp")) { NextTest(); return; } @@ -6513,7 +6494,7 @@ class Test_TC_CC_4_2 : public TestCommandBridge { break; case 10: ChipLogProgress(chipTool, " ***** Test Step 10 : TH reads CurrentSaturation attribute from DUT several times\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0001")) { + if (ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp")) { NextTest(); return; } @@ -6533,7 +6514,7 @@ class Test_TC_CC_4_2 : public TestCommandBridge { break; case 13: ChipLogProgress(chipTool, " ***** Test Step 13 : TH reads CurrentSaturation attribute from DUT several times.\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0001")) { + if (ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp")) { NextTest(); return; } @@ -6545,7 +6526,7 @@ class Test_TC_CC_4_2 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : TH reads CurrentSaturation attribute from DUT several times.\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0001")) { + if (ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp")) { NextTest(); return; } @@ -6557,7 +6538,7 @@ class Test_TC_CC_4_2 : public TestCommandBridge { break; case 17: ChipLogProgress(chipTool, " ***** Test Step 17 : TH reads CurrentSaturation attribute from DUT several times.\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0001")) { + if (ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp")) { NextTest(); return; } @@ -6579,7 +6560,7 @@ class Test_TC_CC_4_2 : public TestCommandBridge { break; case 20: ChipLogProgress(chipTool, " ***** Test Step 20 : TH reads CurrentSaturation attribute from DUT\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0001")) { + if (ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp")) { NextTest(); return; } @@ -6601,7 +6582,7 @@ class Test_TC_CC_4_2 : public TestCommandBridge { break; case 23: ChipLogProgress(chipTool, " ***** Test Step 23 : TH reads CurrentSaturation attribute from DUT.\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0001")) { + if (ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp")) { NextTest(); return; } @@ -6613,7 +6594,7 @@ class Test_TC_CC_4_2 : public TestCommandBridge { break; case 25: ChipLogProgress(chipTool, " ***** Test Step 25 : CurrentSaturation value Stops incrementing\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0001")) { + if (ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp")) { NextTest(); return; } @@ -6635,7 +6616,7 @@ class Test_TC_CC_4_2 : public TestCommandBridge { break; case 28: ChipLogProgress(chipTool, " ***** Test Step 28 : TH reads CurrentSaturation attribute from DUT several times.\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0001")) { + if (ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp")) { NextTest(); return; } @@ -6647,7 +6628,7 @@ class Test_TC_CC_4_2 : public TestCommandBridge { break; case 30: ChipLogProgress(chipTool, " ***** Test Step 30 : TH reads CurrentSaturation attribute from DUT several times.\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0001")) { + if (ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp")) { NextTest(); return; } @@ -6669,7 +6650,7 @@ class Test_TC_CC_4_2 : public TestCommandBridge { break; case 33: ChipLogProgress(chipTool, " ***** Test Step 33 : TH reads CurrentSaturation attribute from DUT\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0001")) { + if (ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp")) { NextTest(); return; } @@ -6681,7 +6662,7 @@ class Test_TC_CC_4_2 : public TestCommandBridge { break; case 35: ChipLogProgress(chipTool, " ***** Test Step 35 : CurrentSaturation value Stops decrementing\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0001")) { + if (ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C04.Rsp")) { NextTest(); return; } @@ -7585,7 +7566,7 @@ class Test_TC_CC_4_3 : public TestCommandBridge { break; case 6: ChipLogProgress(chipTool, " ***** Test Step 6 : Over TransitionTime,TH read CurrentSaturation attribute from DUT\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0001")) { + if (ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C05.Rsp")) { NextTest(); return; } @@ -7605,7 +7586,7 @@ class Test_TC_CC_4_3 : public TestCommandBridge { break; case 9: ChipLogProgress(chipTool, " ***** Test Step 9 : Over TransitionTime,TH reads CurrentSaturation attribute from DUT\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0001")) { + if (ShouldSkip("CC.S.F00 && CC.S.A0001 && CC.S.C05.Rsp")) { NextTest(); return; } @@ -7987,7 +7968,7 @@ class Test_TC_CC_4_4 : public TestCommandBridge { break; case 7: ChipLogProgress(chipTool, " ***** Test Step 7 : Over TransitionTime, TH reads CurrentHue attribute from DUT\n"); - if (ShouldSkip("CC.S.F01 && CC.S.A0000")) { + if (ShouldSkip("CC.S.F01 && CC.S.A0000 && CC.S.C06.Rsp")) { NextTest(); return; } @@ -7995,7 +7976,7 @@ class Test_TC_CC_4_4 : public TestCommandBridge { break; case 8: ChipLogProgress(chipTool, " ***** Test Step 8 : Over TransitionTime, TH reads CurrentSaturation attribute from DUT\n"); - if (ShouldSkip("CC.S.F01 && CC.S.A0001")) { + if (ShouldSkip("CC.S.F01 && CC.S.A0001 && CC.S.C06.Rsp")) { NextTest(); return; } @@ -8364,7 +8345,7 @@ class Test_TC_CC_5_1 : public TestCommandBridge { break; case 7: ChipLogProgress(chipTool, " ***** Test Step 7 : Over TransitionTime, TH reads CurrentX attribute from DUT\n"); - if (ShouldSkip("CC.S.F03 && CC.S.A0003")) { + if (ShouldSkip("CC.S.F03 && CC.S.A0003 && CC.S.C07.Rsp")) { NextTest(); return; } @@ -8372,7 +8353,7 @@ class Test_TC_CC_5_1 : public TestCommandBridge { break; case 8: ChipLogProgress(chipTool, " ***** Test Step 8 : Over TransitionTime, TH reads CurrentY attribute from DUT\n"); - if (ShouldSkip("CC.S.F03 && CC.S.A0004")) { + if (ShouldSkip("CC.S.F03 && CC.S.A0004 && CC.S.C07.Rsp")) { NextTest(); return; } @@ -8751,7 +8732,7 @@ class Test_TC_CC_5_2 : public TestCommandBridge { break; case 7: ChipLogProgress(chipTool, " ***** Test Step 7 : TH reads CurrentX attribute from DUT\n"); - if (ShouldSkip("CC.S.F03 && CC.S.A0003")) { + if (ShouldSkip("CC.S.F03 && CC.S.A0003 && CC.S.C08.Rsp")) { NextTest(); return; } @@ -8759,7 +8740,7 @@ class Test_TC_CC_5_2 : public TestCommandBridge { break; case 8: ChipLogProgress(chipTool, " ***** Test Step 8 : TH reads CurrentY attribute from DUT\n"); - if (ShouldSkip("CC.S.F03 && CC.S.A0004")) { + if (ShouldSkip("CC.S.F03 && CC.S.A0004 && CC.S.C08.Rsp")) { NextTest(); return; } @@ -8775,7 +8756,7 @@ class Test_TC_CC_5_2 : public TestCommandBridge { break; case 10: ChipLogProgress(chipTool, " ***** Test Step 10 : TH reads CurrentX attribute from DUT\n"); - if (ShouldSkip("CC.S.F03 && CC.S.A0003")) { + if (ShouldSkip("CC.S.F03 && CC.S.A0003 && CC.S.C47.Rsp")) { NextTest(); return; } @@ -8783,7 +8764,7 @@ class Test_TC_CC_5_2 : public TestCommandBridge { break; case 11: ChipLogProgress(chipTool, " ***** Test Step 11 : TH reads CurrentY attribute from DUT\n"); - if (ShouldSkip("CC.S.F03 && CC.S.A0004")) { + if (ShouldSkip("CC.S.F03 && CC.S.A0004 && CC.S.C47.Rsp")) { NextTest(); return; } @@ -9229,7 +9210,7 @@ class Test_TC_CC_5_3 : public TestCommandBridge { break; case 7: ChipLogProgress(chipTool, " ***** Test Step 7 : Over TransitionTime, TH reads CurrentX attribute from DUT\n"); - if (ShouldSkip("CC.S.F03 && CC.S.A0003")) { + if (ShouldSkip("CC.S.F03 && CC.S.A0003 && CC.S.C09.Rsp")) { NextTest(); return; } @@ -9237,7 +9218,7 @@ class Test_TC_CC_5_3 : public TestCommandBridge { break; case 8: ChipLogProgress(chipTool, " ***** Test Step 8 : Over TransitionTime, TH reads CurrentY attribute from DUT\n"); - if (ShouldSkip("CC.S.F03 && CC.S.A0004")) { + if (ShouldSkip("CC.S.F03 && CC.S.A0004 && CC.S.C09.Rsp")) { NextTest(); return; } @@ -9828,7 +9809,7 @@ class Test_TC_CC_6_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); __auto_type * params = [[MTRColorControlClusterMoveToColorTemperatureParams alloc] init]; - params.colorTemperature = [NSNumber numberWithUnsignedShort:100U]; + params.colorTemperature = [ColorTempPhysicalMaxMiredsValue copy]; params.transitionTime = [NSNumber numberWithUnsignedShort:10U]; params.optionsMask = [NSNumber numberWithUnsignedChar:0U]; params.optionsOverride = [NSNumber numberWithUnsignedChar:0U]; @@ -9866,7 +9847,7 @@ class Test_TC_CC_6_1 : public TestCommandBridge { { id actualValue = value; - VerifyOrReturn(CheckValue("ColorTemperature", actualValue, 100U)); + VerifyOrReturn(CheckValue("ColorTemperature", actualValue, ColorTempPhysicalMaxMiredsValue)); } VerifyOrReturn(CheckConstraintType("colorTemperature", "", "uint16")); @@ -10009,7 +9990,7 @@ class Test_TC_CC_6_2 : public TestCommandBridge { break; case 8: ChipLogProgress(chipTool, " ***** Test Step 8 : Read current color temprature attribute from DUT several times\n"); - if (ShouldSkip("CC.S.F04 && CC.S.A0007")) { + if (ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp")) { NextTest(); return; } @@ -10021,7 +10002,7 @@ class Test_TC_CC_6_2 : public TestCommandBridge { break; case 10: ChipLogProgress(chipTool, " ***** Test Step 10 : Read current color temprature attribute from DUT several times\n"); - if (ShouldSkip("CC.S.F04 && CC.S.A0007")) { + if (ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp")) { NextTest(); return; } @@ -10033,7 +10014,7 @@ class Test_TC_CC_6_2 : public TestCommandBridge { break; case 12: ChipLogProgress(chipTool, " ***** Test Step 12 : Read current color temprature attribute from DUT several times\n"); - if (ShouldSkip("CC.S.F04 && CC.S.A0007")) { + if (ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp")) { NextTest(); return; } @@ -10053,7 +10034,7 @@ class Test_TC_CC_6_2 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : Read current color temprature attribute from DUT several times\n"); - if (ShouldSkip("CC.S.F04 && CC.S.A0007")) { + if (ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp")) { NextTest(); return; } @@ -10065,7 +10046,7 @@ class Test_TC_CC_6_2 : public TestCommandBridge { break; case 17: ChipLogProgress(chipTool, " ***** Test Step 17 : Read current color temprature attribute from DUT several times\n"); - if (ShouldSkip("CC.S.F04 && CC.S.A0007")) { + if (ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp")) { NextTest(); return; } @@ -10077,7 +10058,7 @@ class Test_TC_CC_6_2 : public TestCommandBridge { break; case 19: ChipLogProgress(chipTool, " ***** Test Step 19 : Read current color temprature attribute from DUT several times\n"); - if (ShouldSkip("CC.S.F04 && CC.S.A0007")) { + if (ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp")) { NextTest(); return; } @@ -10105,7 +10086,7 @@ class Test_TC_CC_6_2 : public TestCommandBridge { break; case 23: ChipLogProgress(chipTool, " ***** Test Step 23 : Read current color temprature attribute from DUT several times\n"); - if (ShouldSkip("CC.S.F04 && CC.S.A0007")) { + if (ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp")) { NextTest(); return; } @@ -10117,7 +10098,7 @@ class Test_TC_CC_6_2 : public TestCommandBridge { break; case 25: ChipLogProgress(chipTool, " ***** Test Step 25 : Read current color temprature attribute from DUT several times\n"); - if (ShouldSkip("CC.S.F04 && CC.S.A0007")) { + if (ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp")) { NextTest(); return; } @@ -10129,7 +10110,7 @@ class Test_TC_CC_6_2 : public TestCommandBridge { break; case 27: ChipLogProgress(chipTool, " ***** Test Step 27 : Read current color temprature attribute from DUT several times\n"); - if (ShouldSkip("CC.S.F04 && CC.S.A0007")) { + if (ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp")) { NextTest(); return; } @@ -10157,7 +10138,7 @@ class Test_TC_CC_6_2 : public TestCommandBridge { break; case 31: ChipLogProgress(chipTool, " ***** Test Step 31 : Read current color temprature attribute from DUT several times\n"); - if (ShouldSkip("CC.S.F04 && CC.S.A0007")) { + if (ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp")) { NextTest(); return; } @@ -10169,7 +10150,7 @@ class Test_TC_CC_6_2 : public TestCommandBridge { break; case 33: ChipLogProgress(chipTool, " ***** Test Step 33 : Read current color temprature attribute from DUT several times\n"); - if (ShouldSkip("CC.S.F04 && CC.S.A0007")) { + if (ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp")) { NextTest(); return; } @@ -10181,7 +10162,7 @@ class Test_TC_CC_6_2 : public TestCommandBridge { break; case 35: ChipLogProgress(chipTool, " ***** Test Step 35 : Read current color temprature attribute from DUT several times\n"); - if (ShouldSkip("CC.S.F04 && CC.S.A0007")) { + if (ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4B.Rsp")) { NextTest(); return; } @@ -11169,7 +11150,7 @@ class Test_TC_CC_6_3 : public TestCommandBridge { break; case 8: ChipLogProgress(chipTool, " ***** Test Step 8 : TH reads ColorTemperatureMireds attribute from DUT several times\n"); - if (ShouldSkip("CC.S.F04 && CC.S.A0007")) { + if (ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4C.Rsp")) { NextTest(); return; } @@ -11181,7 +11162,7 @@ class Test_TC_CC_6_3 : public TestCommandBridge { break; case 10: ChipLogProgress(chipTool, " ***** Test Step 10 : TH reads ColorTemperatureMireds attribute from DUT several times\n"); - if (ShouldSkip("CC.S.F04 && CC.S.A0007")) { + if (ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4C.Rsp")) { NextTest(); return; } @@ -11193,7 +11174,7 @@ class Test_TC_CC_6_3 : public TestCommandBridge { break; case 12: ChipLogProgress(chipTool, " ***** Test Step 12 : TH reads ColorTemperatureMireds attribute from DUT several times\n"); - if (ShouldSkip("CC.S.F04 && CC.S.A0007")) { + if (ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4C.Rsp")) { NextTest(); return; } @@ -11213,7 +11194,7 @@ class Test_TC_CC_6_3 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : TH reads ColorTemperatureMireds attribute from DUT several times\n"); - if (ShouldSkip("CC.S.F04 && CC.S.A0007")) { + if (ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4C.Rsp")) { NextTest(); return; } @@ -11225,7 +11206,7 @@ class Test_TC_CC_6_3 : public TestCommandBridge { break; case 17: ChipLogProgress(chipTool, " ***** Test Step 17 : TH reads ColorTemperatureMireds attribute from DUT several times\n"); - if (ShouldSkip("CC.S.F04 && CC.S.A0007")) { + if (ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4C.Rsp")) { NextTest(); return; } @@ -11237,7 +11218,7 @@ class Test_TC_CC_6_3 : public TestCommandBridge { break; case 19: ChipLogProgress(chipTool, " ***** Test Step 19 : TH reads ColorTemperatureMireds attribute from DUT several times\n"); - if (ShouldSkip("CC.S.F04 && CC.S.A0007")) { + if (ShouldSkip("CC.S.F04 && CC.S.A0007 && CC.S.C4C.Rsp")) { NextTest(); return; } @@ -11823,7 +11804,7 @@ class Test_TC_CC_7_2 : public TestCommandBridge { break; case 6: ChipLogProgress(chipTool, " ***** Test Step 6 : TH reads EnhancedCurrentHue attribute from DUT several times.\n"); - if (ShouldSkip("CC.S.F01 && CC.S.A4000")) { + if (ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C41.Rsp")) { NextTest(); return; } @@ -11835,7 +11816,7 @@ class Test_TC_CC_7_2 : public TestCommandBridge { break; case 8: ChipLogProgress(chipTool, " ***** Test Step 8 : TH reads EnhancedCurrentHue attribute from DUT several times.\n"); - if (ShouldSkip("CC.S.F01 && CC.S.A4000")) { + if (ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C41.Rsp")) { NextTest(); return; } @@ -11847,7 +11828,7 @@ class Test_TC_CC_7_2 : public TestCommandBridge { break; case 10: ChipLogProgress(chipTool, " ***** Test Step 10 : TH reads EnhancedCurrentHue attribute from DUT several times.\n"); - if (ShouldSkip("CC.S.F01 && CC.S.A4000")) { + if (ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C41.Rsp")) { NextTest(); return; } @@ -11863,7 +11844,7 @@ class Test_TC_CC_7_2 : public TestCommandBridge { break; case 12: ChipLogProgress(chipTool, " ***** Test Step 12 : TH reads EnhancedCurrentHue attribute from DUT several times\n"); - if (ShouldSkip("CC.S.F01 && CC.S.A4000")) { + if (ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C41.Rsp")) { NextTest(); return; } @@ -11883,7 +11864,7 @@ class Test_TC_CC_7_2 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : TH reads EnhancedCurrentHue attribute from DUT several times\n"); - if (ShouldSkip("CC.S.F01 && CC.S.A4000")) { + if (ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C41.Rsp")) { NextTest(); return; } @@ -11895,7 +11876,7 @@ class Test_TC_CC_7_2 : public TestCommandBridge { break; case 17: ChipLogProgress(chipTool, " ***** Test Step 17 : TH reads EnhancedCurrentHue attribute from DUT several times\n"); - if (ShouldSkip("CC.S.F01 && CC.S.A4000")) { + if (ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C41.Rsp")) { NextTest(); return; } @@ -11907,7 +11888,7 @@ class Test_TC_CC_7_2 : public TestCommandBridge { break; case 19: ChipLogProgress(chipTool, " ***** Test Step 19 : TH reads EnhancedCurrentHue attribute from DUT several times\n"); - if (ShouldSkip("CC.S.F01 && CC.S.A4000")) { + if (ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C41.Rsp")) { NextTest(); return; } @@ -11923,7 +11904,7 @@ class Test_TC_CC_7_2 : public TestCommandBridge { break; case 21: ChipLogProgress(chipTool, " ***** Test Step 21 : TH reads EnhancedCurrentHue attribute from DUT several times.\n"); - if (ShouldSkip("CC.S.F01 && CC.S.A4000")) { + if (ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C41.Rsp")) { NextTest(); return; } @@ -12547,7 +12528,7 @@ class Test_TC_CC_7_3 : public TestCommandBridge { break; case 6: ChipLogProgress(chipTool, " ***** Test Step 6 : Over TransitionTime,Read EnhancedCurrentHue attribute from DUT\n"); - if (ShouldSkip("CC.S.F01 && CC.S.A4000")) { + if (ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C42.Rsp")) { NextTest(); return; } @@ -12567,7 +12548,7 @@ class Test_TC_CC_7_3 : public TestCommandBridge { break; case 9: ChipLogProgress(chipTool, " ***** Test Step 9 : Over TransitionTime,Read EnhancedCurrentHue attribute from DUT\n"); - if (ShouldSkip("CC.S.F01 && CC.S.A4000")) { + if (ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C42.Rsp")) { NextTest(); return; } @@ -12942,7 +12923,7 @@ class Test_TC_CC_7_4 : public TestCommandBridge { case 6: ChipLogProgress(chipTool, " ***** Test Step 6 : Check EnhancedCurrentHue attribute value matched the value sent by the last command\n"); - if (ShouldSkip("CC.S.F01 && CC.S.A4000")) { + if (ShouldSkip("CC.S.F01 && CC.S.A4000 && CC.S.C43.Rsp")) { NextTest(); return; } @@ -13236,7 +13217,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : TH sends MoveHue command to DUT\n"); - if (ShouldSkip("CC.S.C01.Rsp")) { + if (ShouldSkip("CC.S.C01.Rsp && CC.S.F00")) { NextTest(); return; } @@ -13244,7 +13225,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : TH reads CurrentHue attribute from DUT\n"); - if (ShouldSkip("CC.S.A0000")) { + if (ShouldSkip("CC.S.A0000 && CC.S.C01.Rsp && CC.S.F00")) { NextTest(); return; } @@ -13252,7 +13233,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : TH sends StopMoveStep command to DUT\n"); - if (ShouldSkip("CC.S.C47.Rsp")) { + if (ShouldSkip("CC.S.C47.Rsp && CC.S.F00")) { NextTest(); return; } @@ -13260,7 +13241,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { break; case 6: ChipLogProgress(chipTool, " ***** Test Step 6 : TH reads CurrentHue attribute from DUT\n"); - if (ShouldSkip("CC.S.A0000")) { + if (ShouldSkip("CC.S.A0000 && CC.S.C47.Rsp && CC.S.F00")) { NextTest(); return; } @@ -13272,7 +13253,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { break; case 8: ChipLogProgress(chipTool, " ***** Test Step 8 : TH reads CurrentHue attribute from DUT\n"); - if (ShouldSkip("CC.S.A0000")) { + if (ShouldSkip("CC.S.A0000 && CC.S.C47.Rsp && CC.S.F00")) { NextTest(); return; } @@ -13280,7 +13261,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { break; case 9: ChipLogProgress(chipTool, " ***** Test Step 9 : TH sends MoveSaturation command to DUT\n"); - if (ShouldSkip("CC.S.C04.Rsp")) { + if (ShouldSkip("CC.S.C04.Rsp && CC.S.F00")) { NextTest(); return; } @@ -13288,7 +13269,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { break; case 10: ChipLogProgress(chipTool, " ***** Test Step 10 : TH reads CurrentSaturation attribute from DUT\n"); - if (ShouldSkip("CC.S.A0001")) { + if (ShouldSkip("CC.S.A0001 && CC.S.C04.Rsp && CC.S.F00")) { NextTest(); return; } @@ -13296,7 +13277,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { break; case 11: ChipLogProgress(chipTool, " ***** Test Step 11 : TH sends StopMoveStep command to DUT\n"); - if (ShouldSkip("CC.S.C47.Rsp")) { + if (ShouldSkip("CC.S.C47.Rsp && CC.S.F00")) { NextTest(); return; } @@ -13304,7 +13285,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { break; case 12: ChipLogProgress(chipTool, " ***** Test Step 12 : TH reads CurrentSaturation attribute from DUT\n"); - if (ShouldSkip("CC.S.A0001")) { + if (ShouldSkip("CC.S.A0001 && CC.S.C47.Rsp && CC.S.F00")) { NextTest(); return; } @@ -13316,7 +13297,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { break; case 14: ChipLogProgress(chipTool, " ***** Test Step 14 : TH reads CurrentSaturation attribute from DUT\n"); - if (ShouldSkip("CC.S.A0001")) { + if (ShouldSkip("CC.S.A0001 && CC.S.C47.Rsp && CC.S.F00")) { NextTest(); return; } @@ -13324,7 +13305,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : TH sends MoveColor command to DUT\n"); - if (ShouldSkip("CC.S.C08.Rsp")) { + if (ShouldSkip("CC.S.C08.Rsp && CC.S.F03")) { NextTest(); return; } @@ -13332,7 +13313,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { break; case 16: ChipLogProgress(chipTool, " ***** Test Step 16 : TH reads CurrentX attribute from DUT\n"); - if (ShouldSkip("CC.S.A0003")) { + if (ShouldSkip("CC.S.A0003 && CC.S.C08.Rsp && CC.S.F03")) { NextTest(); return; } @@ -13340,7 +13321,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { break; case 17: ChipLogProgress(chipTool, " ***** Test Step 17 : TH reads CurrentY attribute from DUT\n"); - if (ShouldSkip("CC.S.A0004")) { + if (ShouldSkip("CC.S.A0004 && CC.S.C08.Rsp && CC.S.F03")) { NextTest(); return; } @@ -13348,7 +13329,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { break; case 18: ChipLogProgress(chipTool, " ***** Test Step 18 : TH sends StopMoveStep command to DUT\n"); - if (ShouldSkip("CC.S.C47.Rsp")) { + if (ShouldSkip("CC.S.C47.Rsp && CC.S.F03")) { NextTest(); return; } @@ -13356,7 +13337,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { break; case 19: ChipLogProgress(chipTool, " ***** Test Step 19 : TH reads CurrentX attribute from DUT\n"); - if (ShouldSkip("CC.S.A0003")) { + if (ShouldSkip("CC.S.A0003 && CC.S.C47.Rsp && CC.S.F03")) { NextTest(); return; } @@ -13364,7 +13345,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { break; case 20: ChipLogProgress(chipTool, " ***** Test Step 20 : TH reads CurrentY attribute from DUT\n"); - if (ShouldSkip("CC.S.A0004")) { + if (ShouldSkip("CC.S.A0004 && CC.S.C47.Rsp && CC.S.F03")) { NextTest(); return; } @@ -13376,7 +13357,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { break; case 22: ChipLogProgress(chipTool, " ***** Test Step 22 : TH reads CurrentY attribute from DUT\n"); - if (ShouldSkip("CC.S.A0003")) { + if (ShouldSkip("CC.S.A0003 && CC.S.C47.Rsp && CC.S.F03")) { NextTest(); return; } @@ -13384,7 +13365,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { break; case 23: ChipLogProgress(chipTool, " ***** Test Step 23 : TH reads CurrentY attribute from DUT\n"); - if (ShouldSkip("CC.S.A0004")) { + if (ShouldSkip("CC.S.A0004 && CC.S.C47.Rsp && CC.S.F03")) { NextTest(); return; } @@ -13392,7 +13373,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { break; case 24: ChipLogProgress(chipTool, " ***** Test Step 24 : TH sends MoveColorTemperature command to DUT\n"); - if (ShouldSkip("CC.S.C4B.Rsp")) { + if (ShouldSkip("CC.S.C4B.Rsp && CC.S.F04")) { NextTest(); return; } @@ -13400,7 +13381,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { break; case 25: ChipLogProgress(chipTool, " ***** Test Step 25 : TH reads ColorTemperatureMireds attribute from DUT\n"); - if (ShouldSkip("CC.S.A0007")) { + if (ShouldSkip("CC.S.A0007 && CC.S.C4B.Rsp && CC.S.F04")) { NextTest(); return; } @@ -13408,7 +13389,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { break; case 26: ChipLogProgress(chipTool, " ***** Test Step 26 : TH sends StopMoveStep command to DUT\n"); - if (ShouldSkip("CC.S.C47.Rsp")) { + if (ShouldSkip("CC.S.C47.Rsp && CC.S.F04")) { NextTest(); return; } @@ -13416,7 +13397,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { break; case 27: ChipLogProgress(chipTool, " ***** Test Step 27 : TH reads ColorTemperatureMireds attribute from DUT\n"); - if (ShouldSkip("CC.S.A0007")) { + if (ShouldSkip("CC.S.A0007 && CC.S.C47.Rsp && CC.S.F04")) { NextTest(); return; } @@ -13429,7 +13410,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { case 29: ChipLogProgress(chipTool, " ***** Test Step 29 : Reads current color attribute value matched the value sent by the last attribute\n"); - if (ShouldSkip("CC.S.A0007")) { + if (ShouldSkip("CC.S.A0007 && CC.S.C47.Rsp && CC.S.F04")) { NextTest(); return; } @@ -13437,7 +13418,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { break; case 30: ChipLogProgress(chipTool, " ***** Test Step 30 : TH sends EnhancedMoveHue command to DUT.\n"); - if (ShouldSkip("CC.S.C41.Rsp")) { + if (ShouldSkip("CC.S.C41.Rsp && CC.S.F01")) { NextTest(); return; } @@ -13445,7 +13426,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { break; case 31: ChipLogProgress(chipTool, " ***** Test Step 31 : TH reads EnhancedCurrentHue attribute from DUT\n"); - if (ShouldSkip("CC.S.A4000")) { + if (ShouldSkip("CC.S.A4000 && CC.S.C41.Rsp && CC.S.F01")) { NextTest(); return; } @@ -13453,7 +13434,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { break; case 32: ChipLogProgress(chipTool, " ***** Test Step 32 : TH sends StopMoveStep command to DUT\n"); - if (ShouldSkip("CC.S.C47.Rsp")) { + if (ShouldSkip("CC.S.C47.Rsp && CC.S.F01")) { NextTest(); return; } @@ -13461,7 +13442,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { break; case 33: ChipLogProgress(chipTool, " ***** Test Step 33 : TH reads EnhancedCurrentHue attribute from DUT\n"); - if (ShouldSkip("CC.S.A4000")) { + if (ShouldSkip("CC.S.A4000 && CC.S.C47.Rsp && CC.S.F01")) { NextTest(); return; } @@ -13473,7 +13454,7 @@ class Test_TC_CC_8_1 : public TestCommandBridge { break; case 35: ChipLogProgress(chipTool, " ***** Test Step 35 : TH reads EnhancedCurrentHue attribute from DUT\n"); - if (ShouldSkip("CC.S.A4000")) { + if (ShouldSkip("CC.S.A4000 && CC.S.C47.Rsp && CC.S.F01")) { NextTest(); return; } @@ -15595,19 +15576,15 @@ class Test_TC_FLW_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Read the global attribute: AttributeList\n"); - if (ShouldSkip(" !FLW.S.A0003 ")) { - NextTest(); - return; - } err = TestReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Read the global attribute: AttributeList\n"); + ChipLogProgress(chipTool, " ***** Test Step 4 : Read the optional attribute(Tolerance) in AttributeList\n"); if (ShouldSkip("FLW.S.A0003")) { NextTest(); return; } - err = TestReadTheGlobalAttributeAttributeList_4(); + err = TestReadTheOptionalAttributeToleranceInAttributeList_4(); break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Read the global attribute: AcceptedCommandList\n"); @@ -15768,7 +15745,7 @@ class Test_TC_FLW_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheGlobalAttributeAttributeList_4() + CHIP_ERROR TestReadTheOptionalAttributeToleranceInAttributeList_4() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterFlowMeasurement * cluster = [[MTRBaseClusterFlowMeasurement alloc] initWithDevice:device @@ -15777,20 +15754,12 @@ class Test_TC_FLW_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the global attribute: AttributeList Error: %@", err); + NSLog(@"Read the optional attribute(Tolerance) in AttributeList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); NextTest(); }]; @@ -15925,7 +15894,7 @@ class Test_TC_FLW_2_1 : public TestCommandBridge { err = TestReadTheMandatoryAttributeMaxMeasuredValue_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : read the optional attribute: Tolerance\n"); + ChipLogProgress(chipTool, " ***** Test Step 4 : Read the optional attribute: Tolerance\n"); if (ShouldSkip("FLW.S.A0003")) { NextTest(); return; @@ -16072,7 +16041,7 @@ class Test_TC_FLW_2_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeToleranceWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"read the optional attribute: Tolerance Error: %@", err); + NSLog(@"Read the optional attribute: Tolerance Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -17441,19 +17410,15 @@ class Test_TC_I_1_1 : public TestCommandBridge { break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Read the global attribute: AcceptedCommandList\n"); - if (ShouldSkip("I.C.C40.Tx")) { - NextTest(); - return; - } err = TestReadTheGlobalAttributeAcceptedCommandList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Read the global attribute: AcceptedCommandList\n"); - if (ShouldSkip(" !I.C.C40.Tx ")) { + ChipLogProgress(chipTool, " ***** Test Step 6 : Read the optional command(TriggerEffect) in AcceptedCommandList\n"); + if (ShouldSkip("I.C.C40.Tx")) { NextTest(); return; } - err = TestReadTheGlobalAttributeAcceptedCommandList_6(); + err = TestReadTheOptionalCommandTriggerEffectInAcceptedCommandList_6(); break; case 7: ChipLogProgress(chipTool, " ***** Test Step 7 : Read the optional attribute(IdentifyQuery) in AcceptedCommandList\n"); @@ -17465,19 +17430,16 @@ class Test_TC_I_1_1 : public TestCommandBridge { break; case 8: ChipLogProgress(chipTool, " ***** Test Step 8 : Read the global attribute: GeneratedCommandList\n"); - if (ShouldSkip("I.S.C00.Tx")) { - NextTest(); - return; - } err = TestReadTheGlobalAttributeGeneratedCommandList_8(); break; case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Read the global attribute: GeneratedCommandList\n"); - if (ShouldSkip(" !I.S.C00.Tx ")) { + ChipLogProgress( + chipTool, " ***** Test Step 9 : Read the optional attribute(IdentifyQueryResponse) in GeneratedCommandList\n"); + if (ShouldSkip("I.S.C00.Tx")) { NextTest(); return; } - err = TestReadTheGlobalAttributeGeneratedCommandList_9(); + err = TestReadTheOptionalAttributeIdentifyQueryResponseInGeneratedCommandList_9(); break; case 10: ChipLogProgress(chipTool, @@ -17668,7 +17630,6 @@ class Test_TC_I_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintType("acceptedCommandList", "", "list")); VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 64UL)); NextTest(); }]; @@ -17676,19 +17637,19 @@ class Test_TC_I_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheGlobalAttributeAcceptedCommandList_6() + CHIP_ERROR TestReadTheOptionalCommandTriggerEffectInAcceptedCommandList_6() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterIdentify * cluster = [[MTRBaseClusterIdentify alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the global attribute: AcceptedCommandList Error: %@", err); + NSLog(@"Read the optional command(TriggerEffect) in AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("acceptedCommandList", "", "list")); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 64UL)); NextTest(); }]; @@ -17729,8 +17690,7 @@ class Test_TC_I_1_1 : public TestCommandBridge { { id actualValue = value; - VerifyOrReturn(CheckValue("GeneratedCommandList", [actualValue count], static_cast(1))); - VerifyOrReturn(CheckValue("", actualValue[0], 0UL)); + VerifyOrReturn(CheckValue("GeneratedCommandList", [actualValue count], static_cast(0))); } VerifyOrReturn(CheckConstraintType("generatedCommandList", "", "list")); @@ -17740,20 +17700,21 @@ class Test_TC_I_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheGlobalAttributeGeneratedCommandList_9() + CHIP_ERROR TestReadTheOptionalAttributeIdentifyQueryResponseInGeneratedCommandList_9() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterIdentify * cluster = [[MTRBaseClusterIdentify alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeGeneratedCommandListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the global attribute: GeneratedCommandList Error: %@", err); + NSLog(@"Read the optional attribute(IdentifyQueryResponse) in GeneratedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); { id actualValue = value; - VerifyOrReturn(CheckValue("GeneratedCommandList", [actualValue count], static_cast(0))); + VerifyOrReturn(CheckValue("GeneratedCommandList", [actualValue count], static_cast(1))); + VerifyOrReturn(CheckValue("", actualValue[0], 0UL)); } VerifyOrReturn(CheckConstraintType("generatedCommandList", "", "list")); @@ -17965,12 +17926,12 @@ class Test_TC_I_2_2 : public TestCommandBridge { err = TestThSendsIdentifyCommandToDutWithTheIdentifyTimeFieldSetTo0x003c60s_1(); break; case 2: - ChipLogProgress(chipTool, " ***** Test Step 2 : TH reads immediately IdentifyTime attribute from DUT1\n"); + ChipLogProgress(chipTool, " ***** Test Step 2 : TH reads immediately IdentifyTime attribute from DUT\n"); if (ShouldSkip("I.S.A0000")) { NextTest(); return; } - err = TestThReadsImmediatelyIdentifyTimeAttributeFromDut1_2(); + err = TestThReadsImmediatelyIdentifyTimeAttributeFromDut_2(); break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Wait 10000ms\n"); @@ -17988,7 +17949,7 @@ class Test_TC_I_2_2 : public TestCommandBridge { ChipLogProgress(chipTool, " ***** Test Step 5 : TH sends IdentifyQuery command to DUT and Verify IdentifyQueryResponse command to TH,with " "the Timeout field set to a value in the range 0x0000 to 0x0032\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && I.S.C01.Rsp && I.S.C00.Tx")) { NextTest(); return; } @@ -18005,16 +17966,16 @@ class Test_TC_I_2_2 : public TestCommandBridge { err = TestThSendsIdentifyCommandToDutWithTheIdentifyTimeFieldSetTo0x0000StopIdentifying_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : TH reads immediately IdentifyTime attribute from DUT2\n"); + ChipLogProgress(chipTool, " ***** Test Step 7 : TH reads immediately IdentifyTime attribute from DUT\n"); if (ShouldSkip("I.S.A0000")) { NextTest(); return; } - err = TestThReadsImmediatelyIdentifyTimeAttributeFromDut2_7(); + err = TestThReadsImmediatelyIdentifyTimeAttributeFromDut_7(); break; case 8: ChipLogProgress(chipTool, " ***** Test Step 8 : TH sends IdentifyQuery command to DUT \n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && I.S.C01.Rsp && I.S.C00.Tx")) { NextTest(); return; } @@ -18134,19 +18095,19 @@ class Test_TC_I_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThReadsImmediatelyIdentifyTimeAttributeFromDut1_2() + CHIP_ERROR TestThReadsImmediatelyIdentifyTimeAttributeFromDut_2() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterIdentify * cluster = [[MTRBaseClusterIdentify alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeIdentifyTimeWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"TH reads immediately IdentifyTime attribute from DUT1 Error: %@", err); + NSLog(@"TH reads immediately IdentifyTime attribute from DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintMinValue("identifyTime", [value unsignedShortValue], 55U)); - VerifyOrReturn(CheckConstraintMaxValue("identifyTime", [value unsignedShortValue], 65U)); + VerifyOrReturn(CheckConstraintMinValue("identifyTime", [value unsignedShortValue], 51U)); + VerifyOrReturn(CheckConstraintMaxValue("identifyTime", [value unsignedShortValue], 69U)); NextTest(); }]; @@ -18172,8 +18133,8 @@ class Test_TC_I_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintMinValue("identifyTime", [value unsignedShortValue], 45U)); - VerifyOrReturn(CheckConstraintMaxValue("identifyTime", [value unsignedShortValue], 55U)); + VerifyOrReturn(CheckConstraintMinValue("identifyTime", [value unsignedShortValue], 43U)); + VerifyOrReturn(CheckConstraintMaxValue("identifyTime", [value unsignedShortValue], 57U)); NextTest(); }]; @@ -18214,14 +18175,14 @@ class Test_TC_I_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThReadsImmediatelyIdentifyTimeAttributeFromDut2_7() + CHIP_ERROR TestThReadsImmediatelyIdentifyTimeAttributeFromDut_7() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterIdentify * cluster = [[MTRBaseClusterIdentify alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeIdentifyTimeWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"TH reads immediately IdentifyTime attribute from DUT2 Error: %@", err); + NSLog(@"TH reads immediately IdentifyTime attribute from DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -19664,19 +19625,16 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { break; case 12: ChipLogProgress(chipTool, " ***** Test Step 12 : Read the global attribute: AcceptedCommandList\n"); - if (ShouldSkip("LVL.S.F02")) { - NextTest(); - return; - } err = TestReadTheGlobalAttributeAcceptedCommandList_12(); break; case 13: - ChipLogProgress(chipTool, " ***** Test Step 13 : Read the global attribute: AcceptedCommandList\n"); - if (ShouldSkip(" !LVL.S.F02 ")) { + ChipLogProgress( + chipTool, " ***** Test Step 13 : Read the Feature-dependent(LVL.S.F02) attribute in AcceptedCommandList\n"); + if (ShouldSkip("LVL.S.F02")) { NextTest(); return; } - err = TestReadTheGlobalAttributeAcceptedCommandList_13(); + err = TestReadTheFeatureDependentLVLSF02AttributeInAcceptedCommandList_13(); break; case 14: ChipLogProgress(chipTool, " ***** Test Step 14 : Read the global attribute: GeneratedCommandList\n"); @@ -20051,7 +20009,6 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 5UL)); VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 6UL)); VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 7UL)); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 8UL)); NextTest(); }]; @@ -20059,7 +20016,7 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheGlobalAttributeAcceptedCommandList_13() + CHIP_ERROR TestReadTheFeatureDependentLVLSF02AttributeInAcceptedCommandList_13() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterLevelControl * cluster = [[MTRBaseClusterLevelControl alloc] initWithDevice:device @@ -20068,19 +20025,12 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the global attribute: AcceptedCommandList Error: %@", err); + NSLog(@"Read the Feature-dependent(LVL.S.F02) attribute in AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("acceptedCommandList", "", "list")); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 4UL)); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 5UL)); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 6UL)); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 8UL)); NextTest(); }]; @@ -22203,8 +22153,8 @@ class Test_TC_LVL_3_1 : public TestCommandBridge { __auto_type * params = [[MTRLevelControlClusterMoveToLevelParams alloc] init]; params.level = [NSNumber numberWithUnsignedChar:100U]; params.transitionTime = [NSNumber numberWithUnsignedShort:0U]; - params.optionMask = [NSNumber numberWithUnsignedChar:1U]; - params.optionOverride = [NSNumber numberWithUnsignedChar:1U]; + params.optionMask = [NSNumber numberWithUnsignedChar:0U]; + params.optionOverride = [NSNumber numberWithUnsignedChar:0U]; [cluster moveToLevelWithParams:params completionHandler:^(NSError * _Nullable err) { NSLog(@"sends a Move to level command Error: %@", err); @@ -22259,8 +22209,8 @@ class Test_TC_LVL_3_1 : public TestCommandBridge { __auto_type * params = [[MTRLevelControlClusterMoveToLevelParams alloc] init]; params.level = [NSNumber numberWithUnsignedChar:128U]; params.transitionTime = [NSNumber numberWithUnsignedShort:100U]; - params.optionMask = [NSNumber numberWithUnsignedChar:1U]; - params.optionOverride = [NSNumber numberWithUnsignedChar:1U]; + params.optionMask = [NSNumber numberWithUnsignedChar:0U]; + params.optionOverride = [NSNumber numberWithUnsignedChar:0U]; [cluster moveToLevelWithParams:params completionHandler:^(NSError * _Nullable err) { NSLog(@"sends a Move to level command Error: %@", err); @@ -22338,8 +22288,8 @@ class Test_TC_LVL_3_1 : public TestCommandBridge { __auto_type * params = [[MTRLevelControlClusterMoveToLevelParams alloc] init]; params.level = [NSNumber numberWithUnsignedChar:64U]; params.transitionTime = [NSNumber numberWithUnsignedShort:65535U]; - params.optionMask = [NSNumber numberWithUnsignedChar:1U]; - params.optionOverride = [NSNumber numberWithUnsignedChar:1U]; + params.optionMask = [NSNumber numberWithUnsignedChar:0U]; + params.optionOverride = [NSNumber numberWithUnsignedChar:0U]; [cluster moveToLevelWithParams:params completionHandler:^(NSError * _Nullable err) { NSLog(@"sends a Move to level command Error: %@", err); @@ -22517,7 +22467,7 @@ class Test_TC_LVL_4_1 : public TestCommandBridge { ChipLogProgress(chipTool, " ***** Test Step 7 : Physically verify that the DUT moves at a rate of 32 units per second or as close as " "possible to this rate and completes moving to its maximum level\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && LVL.S.C01.Rsp")) { NextTest(); return; } @@ -22536,18 +22486,18 @@ class Test_TC_LVL_4_1 : public TestCommandBridge { err = TestReadsCurrentLevelAttributeFromDut_9(); break; case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : sends a MoveWithOnOff command\n"); + ChipLogProgress(chipTool, " ***** Test Step 10 : sends a Move command\n"); if (ShouldSkip("LVL.S.C05.Rsp")) { NextTest(); return; } - err = TestSendsAMoveWithOnOffCommand_10(); + err = TestSendsAMoveCommand_10(); break; case 11: ChipLogProgress(chipTool, " ***** Test Step 11 : Physically verify that the DUT moves at a rate of 64 units per second or as close as " "possible to this rate and complete moving to its minimum level\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && LVL.S.C05.Rsp")) { NextTest(); return; } @@ -22582,14 +22532,14 @@ class Test_TC_LVL_4_1 : public TestCommandBridge { err = TestSendsAMoveUpCommandAtDefaultMoveRate_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Wait 100ms\n"); - err = TestWait100ms_16(); + ChipLogProgress(chipTool, " ***** Test Step 16 : Wait 500ms\n"); + err = TestWait500ms_16(); break; case 17: ChipLogProgress(chipTool, " ***** Test Step 17 : Physically verify that the device moves at the rate recorded in step 3a and completes " "moving to its maximum level\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && LVL.S.C05.Rsp && LVL.S.A0014")) { NextTest(); return; } @@ -22891,7 +22841,7 @@ class Test_TC_LVL_4_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendsAMoveWithOnOffCommand_10() + CHIP_ERROR TestSendsAMoveCommand_10() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterLevelControl * cluster = [[MTRBaseClusterLevelControl alloc] initWithDevice:device @@ -22899,17 +22849,19 @@ class Test_TC_LVL_4_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - __auto_type * params = [[MTRLevelControlClusterMoveWithOnOffParams alloc] init]; + __auto_type * params = [[MTRLevelControlClusterMoveParams alloc] init]; params.moveMode = [NSNumber numberWithUnsignedChar:1U]; params.rate = [NSNumber numberWithUnsignedChar:64U]; - [cluster moveWithOnOffWithParams:params - completionHandler:^(NSError * _Nullable err) { - NSLog(@"sends a MoveWithOnOff command Error: %@", err); + params.optionMask = [NSNumber numberWithUnsignedChar:1U]; + params.optionOverride = [NSNumber numberWithUnsignedChar:1U]; + [cluster moveWithParams:params + completionHandler:^(NSError * _Nullable err) { + NSLog(@"sends a Move command Error: %@", err); - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - NextTest(); - }]; + NextTest(); + }]; return CHIP_NO_ERROR; } @@ -23013,10 +22965,10 @@ class Test_TC_LVL_4_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWait100ms_16() + CHIP_ERROR TestWait500ms_16() { chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; - value.ms = 100UL; + value.ms = 500UL; return WaitForMs("alpha", value); } @@ -23153,7 +23105,7 @@ class Test_TC_LVL_5_1 : public TestCommandBridge { break; case 6: ChipLogProgress(chipTool, " ***** Test Step 6 : Reads current level attribute from DUT\n"); - if (ShouldSkip("LVL.S.A0000")) { + if (ShouldSkip("LVL.S.A0000 && LVL.S.C04.Rsp")) { NextTest(); return; } @@ -23161,7 +23113,7 @@ class Test_TC_LVL_5_1 : public TestCommandBridge { break; case 7: ChipLogProgress(chipTool, " ***** Test Step 7 : Reads current level attribute from DUT\n"); - if (ShouldSkip("LVL.S.A0000 && !LVL.S.A0002")) { + if (ShouldSkip("LVL.S.A0000 && !LVL.S.A0002 && LVL.S.C04.Rsp")) { NextTest(); return; } @@ -23181,7 +23133,7 @@ class Test_TC_LVL_5_1 : public TestCommandBridge { break; case 10: ChipLogProgress(chipTool, " ***** Test Step 10 : Reads current level attribute from DUT\n"); - if (ShouldSkip("LVL.S.A0000 && LVL.S.C02.Rsp")) { + if (ShouldSkip("LVL.S.A0000 && LVL.S.C02.Rsp && LVL.S.M.VarRate")) { NextTest(); return; } @@ -23201,7 +23153,7 @@ class Test_TC_LVL_5_1 : public TestCommandBridge { break; case 13: ChipLogProgress(chipTool, " ***** Test Step 13 : Reads current level attribute from DUT\n"); - if (ShouldSkip("LVL.S.C06.Rsp && LVL.S.A0000")) { + if (ShouldSkip("LVL.S.C06.Rsp && LVL.S.A0000 && LVL.S.M.VarRate")) { NextTest(); return; } @@ -23209,7 +23161,7 @@ class Test_TC_LVL_5_1 : public TestCommandBridge { break; case 14: ChipLogProgress(chipTool, " ***** Test Step 14 : Reads current level attribute from DUT\n"); - if (ShouldSkip("LVL.S.C06.Rsp && LVL.S.A0000 && !LVL.S.A0002")) { + if (ShouldSkip("LVL.S.C06.Rsp && LVL.S.A0000 && !LVL.S.A0002 && LVL.S.M.VarRate")) { NextTest(); return; } @@ -23504,8 +23456,8 @@ class Test_TC_LVL_5_1 : public TestCommandBridge { params.stepMode = [NSNumber numberWithUnsignedChar:0U]; params.stepSize = [NSNumber numberWithUnsignedChar:64U]; params.transitionTime = [NSNumber numberWithUnsignedShort:20U]; - params.optionMask = [NSNumber numberWithUnsignedChar:1U]; - params.optionOverride = [NSNumber numberWithUnsignedChar:1U]; + params.optionMask = [NSNumber numberWithUnsignedChar:0U]; + params.optionOverride = [NSNumber numberWithUnsignedChar:0U]; [cluster stepWithParams:params completionHandler:^(NSError * _Nullable err) { NSLog(@"Sends step up command to DUT Error: %@", err); @@ -23743,7 +23695,7 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Reads CurrentLevel attribute from DUT\n"); - if (ShouldSkip("LVL.S.A0000")) { + if (ShouldSkip("LVL.S.A0000 && LVL.S.C04.Rsp")) { NextTest(); return; } @@ -23771,7 +23723,7 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { break; case 9: ChipLogProgress(chipTool, " ***** Test Step 9 : Physically verify that the device has stopped transitioning\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && LVL.S.C03.Rsp")) { NextTest(); return; } @@ -23798,12 +23750,16 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { err = TestWait5000ms_12(); break; case 13: - ChipLogProgress(chipTool, " ***** Test Step 13 : Sends stop command to DUT\n"); - err = TestSendsStopCommandToDut_13(); + ChipLogProgress(chipTool, " ***** Test Step 13 : Sends StopWithOnOff command to DUT\n"); + if (ShouldSkip("LVL.S.C07.Rsp")) { + NextTest(); + return; + } + err = TestSendsStopWithOnOffCommandToDut_13(); break; case 14: ChipLogProgress(chipTool, " ***** Test Step 14 : Physically verify that the device has stopped transitioning\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && LVL.S.C07.Rsp")) { NextTest(); return; } @@ -24117,8 +24073,8 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintMinValue("currentLevel", [value unsignedCharValue], 22U)); - VerifyOrReturn(CheckConstraintMaxValue("currentLevel", [value unsignedCharValue], 28U)); + VerifyOrReturn(CheckConstraintMinValue("currentLevel", [value unsignedCharValue], 21U)); + VerifyOrReturn(CheckConstraintMaxValue("currentLevel", [value unsignedCharValue], 29U)); VerifyOrReturn(CheckConstraintNotValue("currentLevel", value, CurrentLevelValue)); NextTest(); @@ -24159,7 +24115,7 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { return WaitForMs("alpha", value); } - CHIP_ERROR TestSendsStopCommandToDut_13() + CHIP_ERROR TestSendsStopWithOnOffCommandToDut_13() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterLevelControl * cluster = [[MTRBaseClusterLevelControl alloc] initWithDevice:device @@ -24167,17 +24123,13 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - __auto_type * params = [[MTRLevelControlClusterStopParams alloc] init]; - params.optionMask = [NSNumber numberWithUnsignedChar:1U]; - params.optionOverride = [NSNumber numberWithUnsignedChar:1U]; - [cluster stopWithParams:params - completionHandler:^(NSError * _Nullable err) { - NSLog(@"Sends stop command to DUT Error: %@", err); + [cluster stopWithOnOffWithCompletionHandler:^(NSError * _Nullable err) { + NSLog(@"Sends StopWithOnOff command to DUT Error: %@", err); - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - NextTest(); - }]; + NextTest(); + }]; return CHIP_NO_ERROR; } @@ -24204,8 +24156,8 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintMinValue("currentLevel", [value unsignedCharValue], 45U)); - VerifyOrReturn(CheckConstraintMaxValue("currentLevel", [value unsignedCharValue], 55U)); + VerifyOrReturn(CheckConstraintMinValue("currentLevel", [value unsignedCharValue], 43U)); + VerifyOrReturn(CheckConstraintMaxValue("currentLevel", [value unsignedCharValue], 57U)); VerifyOrReturn(CheckConstraintNotValue("currentLevel", value, CurrentLevelValue)); NextTest(); @@ -24843,10 +24795,6 @@ class Test_TC_APPLAUNCHER_1_3 : public TestCommandBridge { break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Read the global attribute: AttributeList\n"); - if (ShouldSkip("APPLAUNCHER.S.A0000 && APPLAUNCHER.S.A0001")) { - NextTest(); - return; - } err = TestReadTheGlobalAttributeAttributeList_4(); break; case 5: @@ -25200,18 +25148,10 @@ class Test_TC_MEDIAINPUT_1_4 : public TestCommandBridge { break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Read the global attribute: FeatureMap\n"); - if (ShouldSkip("MEDIAINPUT.S.NU")) { - NextTest(); - return; - } err = TestReadTheGlobalAttributeFeatureMap_2(); break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Read the global attribute: AttributeList\n"); - if (ShouldSkip("MEDIAINPUT.S.A0000 && MEDIAINPUT.S.A0001")) { - NextTest(); - return; - } err = TestReadTheGlobalAttributeAttributeList_3(); break; case 4: @@ -25351,12 +25291,10 @@ class Test_TC_MEDIAINPUT_1_4 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - { - id actualValue = value; - VerifyOrReturn(CheckValue("FeatureMap", actualValue, 1UL)); - } - VerifyOrReturn(CheckConstraintType("featureMap", "", "map32")); + VerifyOrReturn(CheckConstraintMinValue("featureMap", [value unsignedIntValue], 0UL)); + VerifyOrReturn(CheckConstraintMaxValue("featureMap", [value unsignedIntValue], 1UL)); + NextTest(); }]; @@ -25806,10 +25744,6 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Read the global attribute: AttributeList\n"); - if (ShouldSkip("CHANNEL.S.A0000 && CHANNEL.S.A0001 && CHANNEL.S.A0002")) { - NextTest(); - return; - } err = TestReadTheGlobalAttributeAttributeList_3(); break; case 4: @@ -25863,21 +25797,29 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { break; case 10: ChipLogProgress(chipTool, " ***** Test Step 10 : Read the global attribute: GeneratedCommandList\n"); - if (ShouldSkip("CHANNEL.S.C01.Tx")) { + if (ShouldSkip(" !CHANNEL.S.C01.Tx ")) { NextTest(); return; } err = TestReadTheGlobalAttributeGeneratedCommandList_10(); break; case 11: + ChipLogProgress(chipTool, " ***** Test Step 11 : Read the global attribute: GeneratedCommandList\n"); + if (ShouldSkip("CHANNEL.S.C01.Tx")) { + NextTest(); + return; + } + err = TestReadTheGlobalAttributeGeneratedCommandList_11(); + break; + case 12: ChipLogProgress(chipTool, - " ***** Test Step 11 : Read EventList attribute from the DUT and Verify that the DUT response provides a list of " + " ***** Test Step 12 : Read EventList attribute from the DUT and Verify that the DUT response provides a list of " "supported events.\n"); if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestReadEventListAttributeFromTheDutAndVerifyThatTheDutResponseProvidesAListOfSupportedEvents_11(); + err = TestReadEventListAttributeFromTheDutAndVerifyThatTheDutResponseProvidesAListOfSupportedEvents_12(); break; } @@ -25926,6 +25868,9 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -25939,7 +25884,7 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 12; + const uint16_t mTestCount = 13; chip::Optional mNodeId; chip::Optional mCluster; @@ -26147,6 +26092,29 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { MTRBaseClusterChannel * cluster = [[MTRBaseClusterChannel alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeGeneratedCommandListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read the global attribute: GeneratedCommandList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + { + id actualValue = value; + VerifyOrReturn(CheckValue("GeneratedCommandList", [actualValue count], static_cast(0))); + } + + VerifyOrReturn(CheckConstraintType("generatedCommandList", "", "list")); + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadTheGlobalAttributeGeneratedCommandList_11() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterChannel * cluster = [[MTRBaseClusterChannel alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeGeneratedCommandListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Read the global attribute: GeneratedCommandList Error: %@", err); @@ -26161,7 +26129,7 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadEventListAttributeFromTheDutAndVerifyThatTheDutResponseProvidesAListOfSupportedEvents_11() + CHIP_ERROR TestReadEventListAttributeFromTheDutAndVerifyThatTheDutResponseProvidesAListOfSupportedEvents_12() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -27256,19 +27224,15 @@ class Test_TC_TGTNAV_1_9 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Read the global attribute: AttributeList\n"); - if (ShouldSkip("TGTNAV.S.A0001")) { - NextTest(); - return; - } err = TestReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Read the global attribute: AttributeList\n"); - if (ShouldSkip(" !TGTNAV.S.A0001 ")) { + ChipLogProgress(chipTool, " ***** Test Step 4 : Read the optional attribute(CurrentTarget) in AttributeList\n"); + if (ShouldSkip("TGTNAV.S.A0001")) { NextTest(); return; } - err = TestReadTheGlobalAttributeAttributeList_4(); + err = TestReadTheOptionalAttributeCurrentTargetInAttributeList_4(); break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Read the global attribute: AcceptedCommandList\n"); @@ -27415,7 +27379,6 @@ class Test_TC_TGTNAV_1_9 : public TestCommandBridge { VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); @@ -27428,7 +27391,7 @@ class Test_TC_TGTNAV_1_9 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheGlobalAttributeAttributeList_4() + CHIP_ERROR TestReadTheOptionalAttributeCurrentTargetInAttributeList_4() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTargetNavigator * cluster = [[MTRBaseClusterTargetNavigator alloc] initWithDevice:device @@ -27437,17 +27400,12 @@ class Test_TC_TGTNAV_1_9 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the global attribute: AttributeList Error: %@", err); + NSLog(@"Read the optional attribute(CurrentTarget) in AttributeList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); NextTest(); }]; @@ -27561,29 +27519,49 @@ class Test_TC_APBSC_1_10 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Read the global attribute: AttributeList\n"); - if (ShouldSkip("APBSC.S.A0000 && APBSC.S.A0001 && APBSC.S.A0003")) { - NextTest(); - return; - } err = TestReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Read the global attribute: AcceptedCommandList\n"); - err = TestReadTheGlobalAttributeAcceptedCommandList_4(); + ChipLogProgress(chipTool, " ***** Test Step 4 : Read the optional attribute(VendorName) in AttributeList\n"); + if (ShouldSkip("APBSC.S.A0000")) { + NextTest(); + return; + } + err = TestReadTheOptionalAttributeVendorNameInAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Read the global attribute: GeneratedCommandList\n"); - err = TestReadTheGlobalAttributeGeneratedCommandList_5(); + ChipLogProgress(chipTool, " ***** Test Step 5 : Read the optional attribute(VendorID) in AttributeList\n"); + if (ShouldSkip("APBSC.S.A0001")) { + NextTest(); + return; + } + err = TestReadTheOptionalAttributeVendorIDInAttributeList_5(); break; case 6: + ChipLogProgress(chipTool, " ***** Test Step 6 : Read the optional attribute(ProductID) in AttributeList\n"); + if (ShouldSkip("APBSC.S.A0003")) { + NextTest(); + return; + } + err = TestReadTheOptionalAttributeProductIDInAttributeList_6(); + break; + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Read the global attribute: AcceptedCommandList\n"); + err = TestReadTheGlobalAttributeAcceptedCommandList_7(); + break; + case 8: + ChipLogProgress(chipTool, " ***** Test Step 8 : Read the global attribute: GeneratedCommandList\n"); + err = TestReadTheGlobalAttributeGeneratedCommandList_8(); + break; + case 9: ChipLogProgress(chipTool, - " ***** Test Step 6 : Read EventList attribute from the DUT and Verify that the DUT response provides a list of " + " ***** Test Step 9 : Read EventList attribute from the DUT and Verify that the DUT response provides a list of " "supported events.\n"); if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestReadEventListAttributeFromTheDutAndVerifyThatTheDutResponseProvidesAListOfSupportedEvents_6(); + err = TestReadEventListAttributeFromTheDutAndVerifyThatTheDutResponseProvidesAListOfSupportedEvents_9(); break; } @@ -27617,6 +27595,15 @@ class Test_TC_APBSC_1_10 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -27630,7 +27617,7 @@ class Test_TC_APBSC_1_10 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 7; + const uint16_t mTestCount = 10; chip::Optional mNodeId; chip::Optional mCluster; @@ -27725,7 +27712,73 @@ class Test_TC_APBSC_1_10 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheGlobalAttributeAcceptedCommandList_4() + CHIP_ERROR TestReadTheOptionalAttributeVendorNameInAttributeList_4() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterApplicationBasic * cluster = [[MTRBaseClusterApplicationBasic alloc] initWithDevice:device + endpoint:3 + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read the optional attribute(VendorName) in AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadTheOptionalAttributeVendorIDInAttributeList_5() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterApplicationBasic * cluster = [[MTRBaseClusterApplicationBasic alloc] initWithDevice:device + endpoint:3 + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read the optional attribute(VendorID) in AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadTheOptionalAttributeProductIDInAttributeList_6() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterApplicationBasic * cluster = [[MTRBaseClusterApplicationBasic alloc] initWithDevice:device + endpoint:3 + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read the optional attribute(ProductID) in AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadTheGlobalAttributeAcceptedCommandList_7() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterApplicationBasic * cluster = [[MTRBaseClusterApplicationBasic alloc] initWithDevice:device @@ -27750,7 +27803,7 @@ class Test_TC_APBSC_1_10 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheGlobalAttributeGeneratedCommandList_5() + CHIP_ERROR TestReadTheGlobalAttributeGeneratedCommandList_8() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterApplicationBasic * cluster = [[MTRBaseClusterApplicationBasic alloc] initWithDevice:device @@ -27775,7 +27828,7 @@ class Test_TC_APBSC_1_10 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadEventListAttributeFromTheDutAndVerifyThatTheDutResponseProvidesAListOfSupportedEvents_6() + CHIP_ERROR TestReadEventListAttributeFromTheDutAndVerifyThatTheDutResponseProvidesAListOfSupportedEvents_9() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -29911,7 +29964,7 @@ class Test_TC_MEDIAINPUT_3_13 : public TestCommandBridge { case 3: ChipLogProgress( chipTool, " ***** Test Step 3 : TH reads the InputList attribute from the DUT to show list of Inputs available\n"); - if (ShouldSkip("PICS_USER_PROMPT && MEDIAINPUT.S.A0000")) { + if (ShouldSkip("PICS_USER_PROMPT && MEDIAINPUT.S.A0000 && MEDIAINPUT.S.C0003")) { NextTest(); return; } @@ -30206,7 +30259,7 @@ class Test_TC_CHANNEL_5_2 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Verify that the channel has changed on the device\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && CHANNEL.S.C02.Rsp")) { NextTest(); return; } @@ -30430,7 +30483,7 @@ class Test_TC_CHANNEL_5_3 : public TestCommandBridge { break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Verify that the channel has changed on the device\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && CHANNEL.S.C03.Rsp")) { NextTest(); return; } @@ -30670,7 +30723,7 @@ class Test_TC_MEDIAPLAYBACK_6_1 : public TestCommandBridge { case 1: ChipLogProgress( chipTool, " ***** Test Step 1 : Precondition: Media content in a paused state at the beginning of the content\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.C0001")) { + if (ShouldSkip("MEDIAPLAYBACK.S.C01.Rsp")) { NextTest(); return; } @@ -30678,7 +30731,7 @@ class Test_TC_MEDIAPLAYBACK_6_1 : public TestCommandBridge { break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Reads the CurrentState attribute\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.A0000")) { + if (ShouldSkip("MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C01.Rsp")) { NextTest(); return; } @@ -30686,7 +30739,7 @@ class Test_TC_MEDIAPLAYBACK_6_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Sends a Play command\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.C0000")) { + if (ShouldSkip("MEDIAPLAYBACK.S.C00.Rsp")) { NextTest(); return; } @@ -30694,7 +30747,7 @@ class Test_TC_MEDIAPLAYBACK_6_1 : public TestCommandBridge { break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Verify that the media state is playing\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C00.Rsp")) { NextTest(); return; } @@ -30702,7 +30755,7 @@ class Test_TC_MEDIAPLAYBACK_6_1 : public TestCommandBridge { break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Reads the CurrentState attribute\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.A0000")) { + if (ShouldSkip("MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C00.Rsp")) { NextTest(); return; } @@ -30710,7 +30763,7 @@ class Test_TC_MEDIAPLAYBACK_6_1 : public TestCommandBridge { break; case 6: ChipLogProgress(chipTool, " ***** Test Step 6 : sends a Pause command\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.C0001")) { + if (ShouldSkip("MEDIAPLAYBACK.S.C01.Rsp")) { NextTest(); return; } @@ -30718,7 +30771,7 @@ class Test_TC_MEDIAPLAYBACK_6_1 : public TestCommandBridge { break; case 7: ChipLogProgress(chipTool, " ***** Test Step 7 : Verify that the media is paused\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C01.Rsp")) { NextTest(); return; } @@ -30726,11 +30779,15 @@ class Test_TC_MEDIAPLAYBACK_6_1 : public TestCommandBridge { break; case 8: ChipLogProgress(chipTool, " ***** Test Step 8 : Reads the CurrentState attribute\n"); + if (ShouldSkip("MEDIAPLAYBACK.S.C01.Rsp && MEDIAPLAYBACK.S.A0000")) { + NextTest(); + return; + } err = TestReadsTheCurrentStateAttribute_8(); break; case 9: ChipLogProgress(chipTool, " ***** Test Step 9 : Sends a Stop command\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.C0002")) { + if (ShouldSkip("MEDIAPLAYBACK.S.C02.Rsp")) { NextTest(); return; } @@ -30738,7 +30795,7 @@ class Test_TC_MEDIAPLAYBACK_6_1 : public TestCommandBridge { break; case 10: ChipLogProgress(chipTool, " ***** Test Step 10 : Verify that the media is stoped\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C02.Rsp")) { NextTest(); return; } @@ -30746,7 +30803,7 @@ class Test_TC_MEDIAPLAYBACK_6_1 : public TestCommandBridge { break; case 11: ChipLogProgress(chipTool, " ***** Test Step 11 : Reads the CurrentState attribute\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.A0000")) { + if (ShouldSkip("MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C02.Rsp")) { NextTest(); return; } @@ -31095,7 +31152,7 @@ class Test_TC_MEDIAPLAYBACK_6_2 : public TestCommandBridge { case 1: ChipLogProgress( chipTool, " ***** Test Step 1 : Precondition: Media content in a paused state at the beginning of the content\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.C0001")) { + if (ShouldSkip("MEDIAPLAYBACK.S.C01.Rsp")) { NextTest(); return; } @@ -31103,7 +31160,7 @@ class Test_TC_MEDIAPLAYBACK_6_2 : public TestCommandBridge { break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Reads the CurrentState attribute from the DUT\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.A0000")) { + if (ShouldSkip("MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C01.Rsp")) { NextTest(); return; } @@ -31111,7 +31168,7 @@ class Test_TC_MEDIAPLAYBACK_6_2 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Sends a Play command to the DUT\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.C0000")) { + if (ShouldSkip("MEDIAPLAYBACK.S.C00.Rsp")) { NextTest(); return; } @@ -31119,7 +31176,7 @@ class Test_TC_MEDIAPLAYBACK_6_2 : public TestCommandBridge { break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Verify that the media state is playing\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C00.Rsp")) { NextTest(); return; } @@ -31127,7 +31184,7 @@ class Test_TC_MEDIAPLAYBACK_6_2 : public TestCommandBridge { break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Reads the CurrentState attribute\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.A0000")) { + if (ShouldSkip("MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C00.Rsp")) { NextTest(); return; } @@ -31143,7 +31200,7 @@ class Test_TC_MEDIAPLAYBACK_6_2 : public TestCommandBridge { break; case 7: ChipLogProgress(chipTool, " ***** Test Step 7 : Verify that the media is started over\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C03.Rsp")) { NextTest(); return; } @@ -31159,7 +31216,7 @@ class Test_TC_MEDIAPLAYBACK_6_2 : public TestCommandBridge { break; case 9: ChipLogProgress(chipTool, " ***** Test Step 9 : Verify that the next media item in the queue has been loaded\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C05.Rsp")) { NextTest(); return; } @@ -31175,7 +31232,7 @@ class Test_TC_MEDIAPLAYBACK_6_2 : public TestCommandBridge { break; case 11: ChipLogProgress(chipTool, " ***** Test Step 11 : Verify that the previous media item in the queue has been loaded\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C04.Rsp")) { NextTest(); return; } @@ -31191,7 +31248,7 @@ class Test_TC_MEDIAPLAYBACK_6_2 : public TestCommandBridge { break; case 13: ChipLogProgress(chipTool, " ***** Test Step 13 : Verify that the media has skipped forward 10 seconds\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C08.Rsp")) { NextTest(); return; } @@ -31199,7 +31256,7 @@ class Test_TC_MEDIAPLAYBACK_6_2 : public TestCommandBridge { break; case 14: ChipLogProgress(chipTool, " ***** Test Step 14 : Reads the SampledPosition attribute from the DUT\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.A0003")) { + if (ShouldSkip("MEDIAPLAYBACK.S.A0003 && MEDIAPLAYBACK.S.C08.Rsp")) { NextTest(); return; } @@ -31215,7 +31272,7 @@ class Test_TC_MEDIAPLAYBACK_6_2 : public TestCommandBridge { break; case 16: ChipLogProgress(chipTool, " ***** Test Step 16 : Verify that the media has skipped backward 10 seconds\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C09.Rsp")) { NextTest(); return; } @@ -31223,7 +31280,7 @@ class Test_TC_MEDIAPLAYBACK_6_2 : public TestCommandBridge { break; case 17: ChipLogProgress(chipTool, " ***** Test Step 17 : Reads the SampledPosition attribute from the DUT\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.A0003")) { + if (ShouldSkip("MEDIAPLAYBACK.S.A0003 && MEDIAPLAYBACK.S.C09.Rsp")) { NextTest(); return; } @@ -31705,7 +31762,7 @@ class Test_TC_MEDIAPLAYBACK_6_3 : public TestCommandBridge { case 1: ChipLogProgress( chipTool, " ***** Test Step 1 : Precondition: Media content in a paused state at the beginning of the content\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.C0001")) { + if (ShouldSkip("MEDIAPLAYBACK.S.C01.Rsp")) { NextTest(); return; } @@ -31722,7 +31779,7 @@ class Test_TC_MEDIAPLAYBACK_6_3 : public TestCommandBridge { case 3: ChipLogProgress( chipTool, " ***** Test Step 3 : Verify that the media has moved to 10 seconds from the starting point\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C0B.Rsp")) { NextTest(); return; } @@ -31730,7 +31787,7 @@ class Test_TC_MEDIAPLAYBACK_6_3 : public TestCommandBridge { break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Reads the SampledPosition attribute\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.A0003")) { + if (ShouldSkip("MEDIAPLAYBACK.S.A0003 && MEDIAPLAYBACK.S.C0B.Rsp")) { NextTest(); return; } @@ -32043,7 +32100,7 @@ class Test_TC_MEDIAPLAYBACK_6_4 : public TestCommandBridge { case 1: ChipLogProgress( chipTool, " ***** Test Step 1 : Precondition: Media content in a paused state at the beginning of the content\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.C0001")) { + if (ShouldSkip("MEDIAPLAYBACK.S.C01.Rsp")) { NextTest(); return; } @@ -32051,7 +32108,7 @@ class Test_TC_MEDIAPLAYBACK_6_4 : public TestCommandBridge { break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Reads the CurrentState attribute from the DUT\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.A0000")) { + if (ShouldSkip("MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C01.Rsp")) { NextTest(); return; } @@ -32075,7 +32132,7 @@ class Test_TC_MEDIAPLAYBACK_6_4 : public TestCommandBridge { break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Reads the CurrentState attribute\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.A0000")) { + if (ShouldSkip("MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C07.Rsp")) { NextTest(); return; } @@ -32083,7 +32140,7 @@ class Test_TC_MEDIAPLAYBACK_6_4 : public TestCommandBridge { break; case 6: ChipLogProgress(chipTool, " ***** Test Step 6 : Reads the PlaybackSpeed attribute from the DUT\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.A0004")) { + if (ShouldSkip("MEDIAPLAYBACK.S.A0004 && MEDIAPLAYBACK.S.C07.Rsp")) { NextTest(); return; } @@ -32099,7 +32156,7 @@ class Test_TC_MEDIAPLAYBACK_6_4 : public TestCommandBridge { break; case 8: ChipLogProgress(chipTool, " ***** Test Step 8 : Reads the PlaybackSpeed attribute from the DUT\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.A0004")) { + if (ShouldSkip("MEDIAPLAYBACK.S.A0004 && MEDIAPLAYBACK.S.C07.Rsp")) { NextTest(); return; } @@ -32115,7 +32172,7 @@ class Test_TC_MEDIAPLAYBACK_6_4 : public TestCommandBridge { break; case 10: ChipLogProgress(chipTool, " ***** Test Step 10 : Reads the CurrentState attribute\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.A0000")) { + if (ShouldSkip("MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C06.Rsp")) { NextTest(); return; } @@ -32123,7 +32180,7 @@ class Test_TC_MEDIAPLAYBACK_6_4 : public TestCommandBridge { break; case 11: ChipLogProgress(chipTool, " ***** Test Step 11 : Reads the PlaybackSpeed attribute from the DUT\n"); - if (ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C07.Rsp")) { + if (ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.A0004")) { NextTest(); return; } @@ -32147,7 +32204,7 @@ class Test_TC_MEDIAPLAYBACK_6_4 : public TestCommandBridge { break; case 14: ChipLogProgress(chipTool, " ***** Test Step 14 : Sends a Play command\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.C0000")) { + if (ShouldSkip("MEDIAPLAYBACK.S.C00.Rsp")) { NextTest(); return; } @@ -32155,7 +32212,7 @@ class Test_TC_MEDIAPLAYBACK_6_4 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : Reads the PlaybackSpeed attribute from the DUT\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.A0004")) { + if (ShouldSkip("MEDIAPLAYBACK.S.A0004 && MEDIAPLAYBACK.S.C00.Rsp")) { NextTest(); return; } @@ -32517,7 +32574,7 @@ class Test_TC_MEDIAPLAYBACK_6_4 : public TestCommandBridge { { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message - = chip::Span("Please enter 'y' if PlaybackSpeed value is -2garbage: not in length on purpose", 45); + = chip::Span("Please enter 'y' if PlaybackSpeed value is -1garbage: not in length on purpose", 45); value.expectedValue.Emplace(); value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt("alpha", value); @@ -33055,7 +33112,7 @@ class Test_TC_TGTNAV_8_1 : public TestCommandBridge { break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Reads the CurrentTarget attribute\n"); - if (ShouldSkip("TGTNAV.S.A0001")) { + if (ShouldSkip("TGTNAV.S.A0001 && TGTNAV.S.C0000")) { NextTest(); return; } @@ -34450,7 +34507,7 @@ class Test_TC_OCC_1_1 : public TestCommandBridge { err = TestWaitForTheCommissionedDeviceToBeRetrieved_0(); break; case 1: - ChipLogProgress(chipTool, " ***** Test Step 1 : read the global attribute: ClusterRevision\n"); + ChipLogProgress(chipTool, " ***** Test Step 1 : Read the global attribute: ClusterRevision\n"); err = TestReadTheGlobalAttributeClusterRevision_1(); break; case 2: @@ -34547,7 +34604,7 @@ class Test_TC_OCC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeClusterRevisionWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"read the global attribute: ClusterRevision Error: %@", err); + NSLog(@"Read the global attribute: ClusterRevision Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -35304,35 +35361,28 @@ class Test_TC_OO_1_1 : public TestCommandBridge { break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Read the global attribute: AttributeList\n"); - if (ShouldSkip("OO.S.F00")) { - NextTest(); - return; - } err = TestReadTheGlobalAttributeAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Read the global attribute: AttributeList\n"); - if (ShouldSkip(" !OO.S.F00 ")) { + ChipLogProgress(chipTool, " ***** Test Step 5 : Read the feature dependent(OO.S.F00) attribute in AttributeList\n"); + if (ShouldSkip("OO.S.F00")) { NextTest(); return; } - err = TestReadTheGlobalAttributeAttributeList_5(); + err = TestReadTheFeatureDependentOOSF00AttributeInAttributeList_5(); break; case 6: ChipLogProgress(chipTool, " ***** Test Step 6 : Read the global attribute: AcceptedCommandList\n"); - if (ShouldSkip("OO.S.F00")) { - NextTest(); - return; - } err = TestReadTheGlobalAttributeAcceptedCommandList_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Read the global attribute: AcceptedCommandList\n"); - if (ShouldSkip(" !OO.S.F00 ")) { + ChipLogProgress( + chipTool, " ***** Test Step 7 : Read the feature dependent(OO.S.F00) commands in AcceptedCommandList\n"); + if (ShouldSkip("OO.S.F00")) { NextTest(); return; } - err = TestReadTheGlobalAttributeAcceptedCommandList_7(); + err = TestReadTheFeatureDependentOOSF00CommandsInAcceptedCommandList_7(); break; case 8: ChipLogProgress(chipTool, " ***** Test Step 8 : Read the global attribute: GeneratedCommandList\n"); @@ -35498,10 +35548,6 @@ class Test_TC_OO_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 16384UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 16385UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 16386UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 16387UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); @@ -35514,24 +35560,22 @@ class Test_TC_OO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheGlobalAttributeAttributeList_5() + CHIP_ERROR TestReadTheFeatureDependentOOSF00AttributeInAttributeList_5() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterOnOff * cluster = [[MTRBaseClusterOnOff alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the global attribute: AttributeList Error: %@", err); + NSLog(@"Read the feature dependent(OO.S.F00) attribute in AttributeList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 16384UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 16385UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 16386UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 16387UL)); NextTest(); }]; @@ -35554,9 +35598,6 @@ class Test_TC_OO_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 0UL)); VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 1UL)); VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 64UL)); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 65UL)); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 66UL)); NextTest(); }]; @@ -35564,21 +35605,21 @@ class Test_TC_OO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheGlobalAttributeAcceptedCommandList_7() + CHIP_ERROR TestReadTheFeatureDependentOOSF00CommandsInAcceptedCommandList_7() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterOnOff * cluster = [[MTRBaseClusterOnOff alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the global attribute: AcceptedCommandList Error: %@", err); + NSLog(@"Read the feature dependent(OO.S.F00) commands in AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("acceptedCommandList", "", "list")); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 64UL)); + VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 65UL)); + VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 66UL)); NextTest(); }]; @@ -35662,7 +35703,7 @@ class Test_TC_OO_2_1 : public TestCommandBridge { err = TestWaitForTheCommissionedDeviceToBeRetrieved_0(); break; case 1: - ChipLogProgress(chipTool, " ***** Test Step 1 : read the mandatory attribute: OnOff\n"); + ChipLogProgress(chipTool, " ***** Test Step 1 : Read the mandatory attribute: OnOff\n"); if (ShouldSkip("OO.S.A0000")) { NextTest(); return; @@ -35670,7 +35711,7 @@ class Test_TC_OO_2_1 : public TestCommandBridge { err = TestReadTheMandatoryAttributeOnOff_1(); break; case 2: - ChipLogProgress(chipTool, " ***** Test Step 2 : read LT attribute: GlobalSceneControl\n"); + ChipLogProgress(chipTool, " ***** Test Step 2 : Read LT attribute: GlobalSceneControl\n"); if (ShouldSkip("OO.S.A4000")) { NextTest(); return; @@ -35678,7 +35719,7 @@ class Test_TC_OO_2_1 : public TestCommandBridge { err = TestReadLtAttributeGlobalSceneControl_2(); break; case 3: - ChipLogProgress(chipTool, " ***** Test Step 3 : read LT attribute: OnTime\n"); + ChipLogProgress(chipTool, " ***** Test Step 3 : Read LT attribute: OnTime\n"); if (ShouldSkip("OO.S.A4001")) { NextTest(); return; @@ -35686,7 +35727,7 @@ class Test_TC_OO_2_1 : public TestCommandBridge { err = TestReadLtAttributeOnTime_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : read LT attribute: OffWaitTime\n"); + ChipLogProgress(chipTool, " ***** Test Step 4 : Read LT attribute: OffWaitTime\n"); if (ShouldSkip("OO.S.A4002")) { NextTest(); return; @@ -35694,7 +35735,7 @@ class Test_TC_OO_2_1 : public TestCommandBridge { err = TestReadLtAttributeOffWaitTime_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : read LT attribute: StartUpOnOff\n"); + ChipLogProgress(chipTool, " ***** Test Step 5 : Read LT attribute: StartUpOnOff\n"); if (ShouldSkip("OO.S.A4003")) { NextTest(); return; @@ -35764,7 +35805,7 @@ class Test_TC_OO_2_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeOnOffWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"read the mandatory attribute: OnOff Error: %@", err); + NSLog(@"Read the mandatory attribute: OnOff Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -35782,7 +35823,7 @@ class Test_TC_OO_2_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeGlobalSceneControlWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"read LT attribute: GlobalSceneControl Error: %@", err); + NSLog(@"Read LT attribute: GlobalSceneControl Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -35800,7 +35841,7 @@ class Test_TC_OO_2_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeOnTimeWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"read LT attribute: OnTime Error: %@", err); + NSLog(@"Read LT attribute: OnTime Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -35821,7 +35862,7 @@ class Test_TC_OO_2_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeOffWaitTimeWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"read LT attribute: OffWaitTime Error: %@", err); + NSLog(@"Read LT attribute: OffWaitTime Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -35842,7 +35883,7 @@ class Test_TC_OO_2_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeStartUpOnOffWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"read LT attribute: StartUpOnOff Error: %@", err); + NSLog(@"Read LT attribute: StartUpOnOff Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -36022,7 +36063,7 @@ class Test_TC_OO_2_2 : public TestCommandBridge { break; case 17: ChipLogProgress(chipTool, " ***** Test Step 17 : Operate on device to set OnOff attribute manually to on\n"); - if (ShouldSkip("PICS_USER_PROMPT && OO.M.ManuallyControlled")) { + if (ShouldSkip("PICS_USER_PROMPT && OO.M.ManuallyControlled && OO.S.A0000")) { NextTest(); return; } @@ -36030,7 +36071,7 @@ class Test_TC_OO_2_2 : public TestCommandBridge { break; case 18: ChipLogProgress(chipTool, " ***** Test Step 18 : Check on/off attribute value is true after on command\n"); - if (ShouldSkip("PICS_SKIP_SAMPLE_APP && OO.S.A0000")) { + if (ShouldSkip("PICS_SKIP_SAMPLE_APP && OO.S.A0000 && OO.M.ManuallyControlled")) { NextTest(); return; } @@ -36038,7 +36079,7 @@ class Test_TC_OO_2_2 : public TestCommandBridge { break; case 19: ChipLogProgress(chipTool, " ***** Test Step 19 : Operate on device to set OnOff attribute manually to off\n"); - if (ShouldSkip("PICS_USER_PROMPT && OO.M.ManuallyControlled")) { + if (ShouldSkip("PICS_USER_PROMPT && OO.M.ManuallyControlled && OO.S.A0000")) { NextTest(); return; } @@ -36046,7 +36087,7 @@ class Test_TC_OO_2_2 : public TestCommandBridge { break; case 20: ChipLogProgress(chipTool, " ***** Test Step 20 : Check on/off attribute value is false after off command\n"); - if (ShouldSkip("PICS_SKIP_SAMPLE_APP && OO.S.A0000")) { + if (ShouldSkip("PICS_SKIP_SAMPLE_APP && OO.S.A0000 && OO.M.ManuallyControlled")) { NextTest(); return; } @@ -37397,36 +37438,39 @@ class Test_TC_PS_1_1 : public TestCommandBridge { err = TestReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Read the Feature related(PS.S.F00-WIRED) attribute in AttributeList\n"); + ChipLogProgress( + chipTool, " ***** Test Step 4 : Read the Feature dependent(PS.S.F00-WIRED) attribute in AttributeList\n"); if (ShouldSkip("PS.S.F00")) { NextTest(); return; } - err = TestReadTheFeatureRelatedPSSF00WiredAttributeInAttributeList_4(); + err = TestReadTheFeatureDependentPSSF00WiredAttributeInAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Read the Feature related(PS.S.F01-BAT) attribute in AttributeList\n"); + ChipLogProgress(chipTool, " ***** Test Step 5 : Read the Feature dependent(PS.S.F01-BAT) attribute in AttributeList\n"); if (ShouldSkip("PS.S.F01")) { NextTest(); return; } - err = TestReadTheFeatureRelatedPSSF01BatAttributeInAttributeList_5(); + err = TestReadTheFeatureDependentPSSF01BatAttributeInAttributeList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Read the Feature related(PS.S.F02-RECHG) attribute in AttributeList\n"); + ChipLogProgress( + chipTool, " ***** Test Step 6 : Read the Feature dependent(PS.S.F02-RECHG) attribute in AttributeList\n"); if (ShouldSkip("PS.S.F02")) { NextTest(); return; } - err = TestReadTheFeatureRelatedPSSF02RechgAttributeInAttributeList_6(); + err = TestReadTheFeatureDependentPSSF02RechgAttributeInAttributeList_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Read the Feature related(PS.S.F03-REPLC) attribute in AttributeList\n"); + ChipLogProgress( + chipTool, " ***** Test Step 7 : Read the Feature dependent(PS.S.F03-REPLC) attribute in AttributeList\n"); if (ShouldSkip("PS.S.F03")) { NextTest(); return; } - err = TestReadTheFeatureRelatedPSSF03ReplcAttributeInAttributeList_7(); + err = TestReadTheFeatureDependentPSSF03ReplcAttributeInAttributeList_7(); break; case 8: ChipLogProgress(chipTool, " ***** Test Step 8 : Read the global attribute: AcceptedCommandList\n"); @@ -37594,7 +37638,7 @@ class Test_TC_PS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheFeatureRelatedPSSF00WiredAttributeInAttributeList_4() + CHIP_ERROR TestReadTheFeatureDependentPSSF00WiredAttributeInAttributeList_4() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterPowerSource * cluster = [[MTRBaseClusterPowerSource alloc] initWithDevice:device @@ -37603,7 +37647,7 @@ class Test_TC_PS_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the Feature related(PS.S.F00-WIRED) attribute in AttributeList Error: %@", err); + NSLog(@"Read the Feature dependent(PS.S.F00-WIRED) attribute in AttributeList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -37616,7 +37660,7 @@ class Test_TC_PS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheFeatureRelatedPSSF01BatAttributeInAttributeList_5() + CHIP_ERROR TestReadTheFeatureDependentPSSF01BatAttributeInAttributeList_5() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterPowerSource * cluster = [[MTRBaseClusterPowerSource alloc] initWithDevice:device @@ -37625,7 +37669,7 @@ class Test_TC_PS_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the Feature related(PS.S.F01-BAT) attribute in AttributeList Error: %@", err); + NSLog(@"Read the Feature dependent(PS.S.F01-BAT) attribute in AttributeList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -37640,7 +37684,7 @@ class Test_TC_PS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheFeatureRelatedPSSF02RechgAttributeInAttributeList_6() + CHIP_ERROR TestReadTheFeatureDependentPSSF02RechgAttributeInAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterPowerSource * cluster = [[MTRBaseClusterPowerSource alloc] initWithDevice:device @@ -37649,7 +37693,7 @@ class Test_TC_PS_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the Feature related(PS.S.F02-RECHG) attribute in AttributeList Error: %@", err); + NSLog(@"Read the Feature dependent(PS.S.F02-RECHG) attribute in AttributeList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -37663,7 +37707,7 @@ class Test_TC_PS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheFeatureRelatedPSSF03ReplcAttributeInAttributeList_7() + CHIP_ERROR TestReadTheFeatureDependentPSSF03ReplcAttributeInAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterPowerSource * cluster = [[MTRBaseClusterPowerSource alloc] initWithDevice:device @@ -37672,7 +37716,7 @@ class Test_TC_PS_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the Feature related(PS.S.F03-REPLC) attribute in AttributeList Error: %@", err); + NSLog(@"Read the Feature dependent(PS.S.F03-REPLC) attribute in AttributeList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -39863,20 +39907,166 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { err = TestThReadsTheAttributeListAttributeFromTheDut_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : TH reads the AcceptedCommandList attribute from the DUT\n"); - err = TestThReadsTheAcceptedCommandListAttributeFromTheDut_4(); + ChipLogProgress(chipTool, + " ***** Test Step 4 : TH reads optional attribute(MinConstPressure) attribute in AttributeList from the DUT\n"); + if (ShouldSkip("PCC.S.A0003")) { + NextTest(); + return; + } + err = TestThReadsOptionalAttributeMinConstPressureAttributeInAttributeListFromTheDut_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : TH reads the GeneratedCommandList attribute from the DUT\n"); - err = TestThReadsTheGeneratedCommandListAttributeFromTheDut_5(); + ChipLogProgress(chipTool, + " ***** Test Step 5 : TH reads optional attribute(MaxConstPressure) attribute in AttributeList from the DUT\n"); + if (ShouldSkip("PCC.S.A0004")) { + NextTest(); + return; + } + err = TestThReadsOptionalAttributeMaxConstPressureAttributeInAttributeListFromTheDut_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : TH reads the EventList attribute from the DUT\n"); + ChipLogProgress(chipTool, + " ***** Test Step 6 : TH reads optional attribute(MinCompPressure) attribute in AttributeList from the DUT\n"); + if (ShouldSkip("PCC.S.A0005")) { + NextTest(); + return; + } + err = TestThReadsOptionalAttributeMinCompPressureAttributeInAttributeListFromTheDut_6(); + break; + case 7: + ChipLogProgress(chipTool, + " ***** Test Step 7 : TH reads optional attribute(MaxCompPressure) attribute in AttributeList from the DUT\n"); + if (ShouldSkip("PCC.S.A0006")) { + NextTest(); + return; + } + err = TestThReadsOptionalAttributeMaxCompPressureAttributeInAttributeListFromTheDut_7(); + break; + case 8: + ChipLogProgress(chipTool, + " ***** Test Step 8 : TH reads optional attribute(MinConstSpeed) attribute in AttributeList from the DUT\n"); + if (ShouldSkip("PCC.S.A0007")) { + NextTest(); + return; + } + err = TestThReadsOptionalAttributeMinConstSpeedAttributeInAttributeListFromTheDut_8(); + break; + case 9: + ChipLogProgress(chipTool, + " ***** Test Step 9 : TH reads optional attribute(MaxConstSpeed) attribute in AttributeList from the DUT\n"); + if (ShouldSkip("PCC.S.A0008")) { + NextTest(); + return; + } + err = TestThReadsOptionalAttributeMaxConstSpeedAttributeInAttributeListFromTheDut_9(); + break; + case 10: + ChipLogProgress(chipTool, + " ***** Test Step 10 : TH reads optional attribute(MinConstFlow) attribute in AttributeList from the DUT\n"); + if (ShouldSkip("PCC.S.A0009")) { + NextTest(); + return; + } + err = TestThReadsOptionalAttributeMinConstFlowAttributeInAttributeListFromTheDut_10(); + break; + case 11: + ChipLogProgress(chipTool, + " ***** Test Step 11 : TH reads optional attribute(MaxConstFlow) attribute in AttributeList from the DUT\n"); + if (ShouldSkip("PCC.S.A000a")) { + NextTest(); + return; + } + err = TestThReadsOptionalAttributeMaxConstFlowAttributeInAttributeListFromTheDut_11(); + break; + case 12: + ChipLogProgress(chipTool, + " ***** Test Step 12 : TH reads optional attribute(MinConstTemp) attribute in AttributeList from the DUT\n"); + if (ShouldSkip("PCC.S.A000b")) { + NextTest(); + return; + } + err = TestThReadsOptionalAttributeMinConstTempAttributeInAttributeListFromTheDut_12(); + break; + case 13: + ChipLogProgress(chipTool, + " ***** Test Step 13 : TH reads optional attribute(MaxConstTemp) attribute in AttributeList from the DUT\n"); + if (ShouldSkip("PCC.S.A000c")) { + NextTest(); + return; + } + err = TestThReadsOptionalAttributeMaxConstTempAttributeInAttributeListFromTheDut_13(); + break; + case 14: + ChipLogProgress(chipTool, + " ***** Test Step 14 : TH reads optional attribute(PumpStatus) attribute in AttributeList from the DUT\n"); + if (ShouldSkip("PCC.S.A0010")) { + NextTest(); + return; + } + err = TestThReadsOptionalAttributePumpStatusAttributeInAttributeListFromTheDut_14(); + break; + case 15: + ChipLogProgress( + chipTool, " ***** Test Step 15 : TH reads optional attribute(Speed) attribute in AttributeList from the DUT\n"); + if (ShouldSkip("PCC.S.A0014")) { + NextTest(); + return; + } + err = TestThReadsOptionalAttributeSpeedAttributeInAttributeListFromTheDut_15(); + break; + case 16: + ChipLogProgress(chipTool, + " ***** Test Step 16 : TH reads optional attribute(LifetimeRunningHours) attribute in AttributeList from the " + "DUT\n"); + if (ShouldSkip("PCC.S.A0015")) { + NextTest(); + return; + } + err = TestThReadsOptionalAttributeLifetimeRunningHoursAttributeInAttributeListFromTheDut_16(); + break; + case 17: + ChipLogProgress( + chipTool, " ***** Test Step 17 : TH reads optional attribute(Power) attribute in AttributeList from the DUT\n"); + if (ShouldSkip("PCC.S.A0016")) { + NextTest(); + return; + } + err = TestThReadsOptionalAttributePowerAttributeInAttributeListFromTheDut_17(); + break; + case 18: + ChipLogProgress(chipTool, + " ***** Test Step 18 : TH reads optional attribute(LifetimeEnergyConsumed) attribute in AttributeList from the " + "DUT\n"); + if (ShouldSkip("PCC.S.A0017")) { + NextTest(); + return; + } + err = TestThReadsOptionalAttributeLifetimeEnergyConsumedAttributeInAttributeListFromTheDut_18(); + break; + case 19: + ChipLogProgress(chipTool, + " ***** Test Step 19 : TH reads optional attribute(ControlMode) attribute in AttributeList from the DUT\n"); + if (ShouldSkip("PCC.S.A0021")) { + NextTest(); + return; + } + err = TestThReadsOptionalAttributeControlModeAttributeInAttributeListFromTheDut_19(); + break; + case 20: + ChipLogProgress(chipTool, " ***** Test Step 20 : TH reads the AcceptedCommandList attribute from the DUT\n"); + err = TestThReadsTheAcceptedCommandListAttributeFromTheDut_20(); + break; + case 21: + ChipLogProgress(chipTool, " ***** Test Step 21 : TH reads the GeneratedCommandList attribute from the DUT\n"); + err = TestThReadsTheGeneratedCommandListAttributeFromTheDut_21(); + break; + case 22: + ChipLogProgress(chipTool, " ***** Test Step 22 : TH reads the EventList attribute from the DUT\n"); if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestThReadsTheEventListAttributeFromTheDut_6(); + err = TestThReadsTheEventListAttributeFromTheDut_22(); break; } @@ -39910,6 +40100,54 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 11: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 13: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 15: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 17: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 19: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 20: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 21: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 22: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -39923,7 +40161,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 7; + const uint16_t mTestCount = 23; chip::Optional mNodeId; chip::Optional mCluster; @@ -40017,7 +40255,343 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThReadsTheAcceptedCommandListAttributeFromTheDut_4() + CHIP_ERROR TestThReadsOptionalAttributeMinConstPressureAttributeInAttributeListFromTheDut_4() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterPumpConfigurationAndControl * cluster = + [[MTRBaseClusterPumpConfigurationAndControl alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads optional attribute(MinConstPressure) attribute in AttributeList from the DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThReadsOptionalAttributeMaxConstPressureAttributeInAttributeListFromTheDut_5() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterPumpConfigurationAndControl * cluster = + [[MTRBaseClusterPumpConfigurationAndControl alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads optional attribute(MaxConstPressure) attribute in AttributeList from the DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 4UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThReadsOptionalAttributeMinCompPressureAttributeInAttributeListFromTheDut_6() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterPumpConfigurationAndControl * cluster = + [[MTRBaseClusterPumpConfigurationAndControl alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads optional attribute(MinCompPressure) attribute in AttributeList from the DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 5UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThReadsOptionalAttributeMaxCompPressureAttributeInAttributeListFromTheDut_7() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterPumpConfigurationAndControl * cluster = + [[MTRBaseClusterPumpConfigurationAndControl alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads optional attribute(MaxCompPressure) attribute in AttributeList from the DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 6UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThReadsOptionalAttributeMinConstSpeedAttributeInAttributeListFromTheDut_8() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterPumpConfigurationAndControl * cluster = + [[MTRBaseClusterPumpConfigurationAndControl alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads optional attribute(MinConstSpeed) attribute in AttributeList from the DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 7UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThReadsOptionalAttributeMaxConstSpeedAttributeInAttributeListFromTheDut_9() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterPumpConfigurationAndControl * cluster = + [[MTRBaseClusterPumpConfigurationAndControl alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads optional attribute(MaxConstSpeed) attribute in AttributeList from the DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 8UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThReadsOptionalAttributeMinConstFlowAttributeInAttributeListFromTheDut_10() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterPumpConfigurationAndControl * cluster = + [[MTRBaseClusterPumpConfigurationAndControl alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads optional attribute(MinConstFlow) attribute in AttributeList from the DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThReadsOptionalAttributeMaxConstFlowAttributeInAttributeListFromTheDut_11() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterPumpConfigurationAndControl * cluster = + [[MTRBaseClusterPumpConfigurationAndControl alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads optional attribute(MaxConstFlow) attribute in AttributeList from the DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 10UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThReadsOptionalAttributeMinConstTempAttributeInAttributeListFromTheDut_12() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterPumpConfigurationAndControl * cluster = + [[MTRBaseClusterPumpConfigurationAndControl alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads optional attribute(MinConstTemp) attribute in AttributeList from the DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 11UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThReadsOptionalAttributeMaxConstTempAttributeInAttributeListFromTheDut_13() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterPumpConfigurationAndControl * cluster = + [[MTRBaseClusterPumpConfigurationAndControl alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads optional attribute(MaxConstTemp) attribute in AttributeList from the DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 12UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThReadsOptionalAttributePumpStatusAttributeInAttributeListFromTheDut_14() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterPumpConfigurationAndControl * cluster = + [[MTRBaseClusterPumpConfigurationAndControl alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads optional attribute(PumpStatus) attribute in AttributeList from the DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 16UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThReadsOptionalAttributeSpeedAttributeInAttributeListFromTheDut_15() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterPumpConfigurationAndControl * cluster = + [[MTRBaseClusterPumpConfigurationAndControl alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads optional attribute(Speed) attribute in AttributeList from the DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 20UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThReadsOptionalAttributeLifetimeRunningHoursAttributeInAttributeListFromTheDut_16() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterPumpConfigurationAndControl * cluster = + [[MTRBaseClusterPumpConfigurationAndControl alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads optional attribute(LifetimeRunningHours) attribute in AttributeList from the DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 21UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThReadsOptionalAttributePowerAttributeInAttributeListFromTheDut_17() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterPumpConfigurationAndControl * cluster = + [[MTRBaseClusterPumpConfigurationAndControl alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads optional attribute(Power) attribute in AttributeList from the DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 22UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThReadsOptionalAttributeLifetimeEnergyConsumedAttributeInAttributeListFromTheDut_18() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterPumpConfigurationAndControl * cluster = + [[MTRBaseClusterPumpConfigurationAndControl alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads optional attribute(LifetimeEnergyConsumed) attribute in AttributeList from the DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 23UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThReadsOptionalAttributeControlModeAttributeInAttributeListFromTheDut_19() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterPumpConfigurationAndControl * cluster = + [[MTRBaseClusterPumpConfigurationAndControl alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads optional attribute(ControlMode) attribute in AttributeList from the DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 33UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThReadsTheAcceptedCommandListAttributeFromTheDut_20() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterPumpConfigurationAndControl * cluster = @@ -40041,7 +40615,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThReadsTheGeneratedCommandListAttributeFromTheDut_5() + CHIP_ERROR TestThReadsTheGeneratedCommandListAttributeFromTheDut_21() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterPumpConfigurationAndControl * cluster = @@ -40065,7 +40639,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThReadsTheEventListAttributeFromTheDut_6() + CHIP_ERROR TestThReadsTheEventListAttributeFromTheDut_22() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -40496,11 +41070,6 @@ class Test_TC_PCC_2_1 : public TestCommandBridge { [cluster readAttributeMinConstPressureWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { NSLog(@"Read the optional attribute: MinConstPressure Error: %@", err); - if (err.code == MTRInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); if (value != nil) { @@ -40526,11 +41095,6 @@ class Test_TC_PCC_2_1 : public TestCommandBridge { [cluster readAttributeMaxConstPressureWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { NSLog(@"Read the optional attribute: MaxConstPressure Error: %@", err); - if (err.code == MTRInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); if (value != nil) { @@ -40556,11 +41120,6 @@ class Test_TC_PCC_2_1 : public TestCommandBridge { [cluster readAttributeMinCompPressureWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { NSLog(@"Read the optional attribute: MinCompPressure Error: %@", err); - if (err.code == MTRInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); if (value != nil) { @@ -40586,11 +41145,6 @@ class Test_TC_PCC_2_1 : public TestCommandBridge { [cluster readAttributeMaxCompPressureWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { NSLog(@"Read the optional attribute: MaxCompPressure Error: %@", err); - if (err.code == MTRInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); if (value != nil) { @@ -40616,11 +41170,6 @@ class Test_TC_PCC_2_1 : public TestCommandBridge { [cluster readAttributeMinConstSpeedWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { NSLog(@"Read the optional attribute: MinConstSpeed Error: %@", err); - if (err.code == MTRInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); if (value != nil) { @@ -40646,11 +41195,6 @@ class Test_TC_PCC_2_1 : public TestCommandBridge { [cluster readAttributeMaxConstSpeedWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { NSLog(@"Read the optional attribute: MaxConstSpeed Error: %@", err); - if (err.code == MTRInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); if (value != nil) { @@ -40676,11 +41220,6 @@ class Test_TC_PCC_2_1 : public TestCommandBridge { [cluster readAttributeMinConstFlowWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { NSLog(@"Read the optional attribute: MinConstFlow Error: %@", err); - if (err.code == MTRInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); if (value != nil) { @@ -40706,11 +41245,6 @@ class Test_TC_PCC_2_1 : public TestCommandBridge { [cluster readAttributeMaxConstFlowWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { NSLog(@"Read the optional attribute: MaxConstFlow Error: %@", err); - if (err.code == MTRInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); if (value != nil) { @@ -40736,11 +41270,6 @@ class Test_TC_PCC_2_1 : public TestCommandBridge { [cluster readAttributeMinConstTempWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { NSLog(@"Read the optional attribute: MinConstTemp Error: %@", err); - if (err.code == MTRInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); if (value != nil) { @@ -40766,11 +41295,6 @@ class Test_TC_PCC_2_1 : public TestCommandBridge { [cluster readAttributeMaxConstTempWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { NSLog(@"Read the optional attribute: MaxConstTemp Error: %@", err); - if (err.code == MTRInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); if (value != nil) { @@ -40796,11 +41320,6 @@ class Test_TC_PCC_2_1 : public TestCommandBridge { [cluster readAttributePumpStatusWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { NSLog(@"Read the optional attribute: PumpStatus Error: %@", err); - if (err.code == MTRInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("pumpStatus", "", "map16")); @@ -40892,11 +41411,6 @@ class Test_TC_PCC_2_1 : public TestCommandBridge { [cluster readAttributeSpeedWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { NSLog(@"Read the optional attribute: Speed Error: %@", err); - if (err.code == MTRInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); if (value != nil) { @@ -40922,11 +41436,6 @@ class Test_TC_PCC_2_1 : public TestCommandBridge { [cluster readAttributeLifetimeRunningHoursWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { NSLog(@"Read the optional attribute: LifetimeRunningHours Error: %@", err); - if (err.code == MTRInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); if (value != nil) { @@ -40952,11 +41461,6 @@ class Test_TC_PCC_2_1 : public TestCommandBridge { [cluster readAttributePowerWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { NSLog(@"Read the optional attribute: Power Error: %@", err); - if (err.code == MTRInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); if (value != nil) { @@ -40982,11 +41486,6 @@ class Test_TC_PCC_2_1 : public TestCommandBridge { [cluster readAttributeLifetimeEnergyConsumedWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { NSLog(@"Read the optional attribute: LifetimeEnergyConsumed Error: %@", err); - if (err.code == MTRInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); if (value != nil) { @@ -41034,11 +41533,6 @@ class Test_TC_PCC_2_1 : public TestCommandBridge { [cluster readAttributeControlModeWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { NSLog(@"Read optional attribute: ControlMode Error: %@", err); - if (err.code == MTRInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("controlMode", "", "enum8")); @@ -42954,6 +43448,10 @@ class Test_TC_RH_2_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Reads constraints of attribute: MaxMeasuredValue\n"); + if (ShouldSkip("RH.S.A0002")) { + NextTest(); + return; + } err = TestReadsConstraintsOfAttributeMaxMeasuredValue_3(); break; case 4: @@ -43003,7 +43501,307 @@ class Test_TC_RH_2_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 5; + const uint16_t mTestCount = 5; + + chip::Optional mNodeId; + chip::Optional mCluster; + chip::Optional mEndpoint; + chip::Optional mTimeout; + + CHIP_ERROR TestWaitForTheCommissionedDeviceToBeRetrieved_0() + { + chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; + value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; + return WaitForCommissionee("alpha", value); + } + + CHIP_ERROR TestReadsConstraintsOfAttributeMeasuredValue_1() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterRelativeHumidityMeasurement * cluster = + [[MTRBaseClusterRelativeHumidityMeasurement alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeMeasuredValueWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Reads constraints of attribute: MeasuredValue Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + if (value != nil) { + + VerifyOrReturn(CheckConstraintType("measuredValue", "", "int16")); + VerifyOrReturn(CheckConstraintMinValue("measuredValue", [value unsignedShortValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("measuredValue", [value unsignedShortValue], 10000U)); + } + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadsConstraintsOfAttributeMinMeasuredValue_2() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterRelativeHumidityMeasurement * cluster = + [[MTRBaseClusterRelativeHumidityMeasurement alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeMinMeasuredValueWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Reads constraints of attribute: MinMeasuredValue Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + if (value != nil) { + + VerifyOrReturn(CheckConstraintType("minMeasuredValue", "", "int16")); + VerifyOrReturn(CheckConstraintMinValue("minMeasuredValue", [value unsignedShortValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("minMeasuredValue", [value unsignedShortValue], 9999U)); + } + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadsConstraintsOfAttributeMaxMeasuredValue_3() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterRelativeHumidityMeasurement * cluster = + [[MTRBaseClusterRelativeHumidityMeasurement alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeMaxMeasuredValueWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Reads constraints of attribute: MaxMeasuredValue Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + if (value != nil) { + + VerifyOrReturn(CheckConstraintType("maxMeasuredValue", "", "int16")); + VerifyOrReturn(CheckConstraintMinValue("maxMeasuredValue", [value unsignedShortValue], 1U)); + VerifyOrReturn(CheckConstraintMaxValue("maxMeasuredValue", [value unsignedShortValue], 10000U)); + } + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadsConstraintsOfAttributeTolerance_4() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterRelativeHumidityMeasurement * cluster = + [[MTRBaseClusterRelativeHumidityMeasurement alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeToleranceWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Reads constraints of attribute: Tolerance Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("tolerance", "", "uint16")); + VerifyOrReturn(CheckConstraintMinValue("tolerance", [value unsignedShortValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("tolerance", [value unsignedShortValue], 2048U)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } +}; + +class Test_TC_SWTCH_1_1 : public TestCommandBridge { +public: + // NOLINTBEGIN(clang-analyzer-nullability.NullPassedToNonnull): Test constructor nullability not enforced + Test_TC_SWTCH_1_1() + : TestCommandBridge("Test_TC_SWTCH_1_1") + , mTestIndex(0) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + // NOLINTEND(clang-analyzer-nullability.NullPassedToNonnull) + + ~Test_TC_SWTCH_1_1() {} + + /////////// TestCommand Interface ///////// + void NextTest() override + { + CHIP_ERROR err = CHIP_NO_ERROR; + + if (0 == mTestIndex) { + ChipLogProgress(chipTool, " **** Test Start: Test_TC_SWTCH_1_1\n"); + } + + if (mTestCount == mTestIndex) { + ChipLogProgress(chipTool, " **** Test Complete: Test_TC_SWTCH_1_1\n"); + SetCommandExitStatus(CHIP_NO_ERROR); + return; + } + + Wait(); + + // Ensure we increment mTestIndex before we start running the relevant + // command. That way if we lose the timeslice after we send the message + // but before our function call returns, we won't end up with an + // incorrect mTestIndex value observed when we get the response. + switch (mTestIndex++) { + case 0: + ChipLogProgress(chipTool, " ***** Test Step 0 : Wait for the commissioned device to be retrieved\n"); + err = TestWaitForTheCommissionedDeviceToBeRetrieved_0(); + break; + case 1: + ChipLogProgress(chipTool, " ***** Test Step 1 : Read the global attribute: FeatureMap\n"); + err = TestReadTheGlobalAttributeFeatureMap_1(); + break; + case 2: + ChipLogProgress(chipTool, + " ***** Test Step 2 : Read the FeatureMap value and verify LS is set to 1; MS, MSR, MSL, MSM are all set to 0\n"); + if (ShouldSkip("SWTCH.S.F00")) { + NextTest(); + return; + } + err = TestReadTheFeatureMapValueAndVerifyLsIsSetTo1MsMsrMslMsmAreAllSetTo0_2(); + break; + case 3: + ChipLogProgress(chipTool, " ***** Test Step 3 : Check values of flags in this FeatureMap\n"); + if (ShouldSkip("PICS_USER_PROMPT && SWTCH.S.F01")) { + NextTest(); + return; + } + err = TestCheckValuesOfFlagsInThisFeatureMap_3(); + break; + case 4: + ChipLogProgress(chipTool, " ***** Test Step 4 : Check values of flags in this FeatureMap\n"); + if (ShouldSkip("PICS_USER_PROMPT && SWTCH.S.F02")) { + NextTest(); + return; + } + err = TestCheckValuesOfFlagsInThisFeatureMap_4(); + break; + case 5: + ChipLogProgress(chipTool, " ***** Test Step 5 : Check values of flags in this FeatureMap\n"); + if (ShouldSkip("PICS_USER_PROMPT && SWTCH.S.F03")) { + NextTest(); + return; + } + err = TestCheckValuesOfFlagsInThisFeatureMap_5(); + break; + case 6: + ChipLogProgress(chipTool, " ***** Test Step 6 : Check values of flags in this FeatureMap\n"); + if (ShouldSkip("PICS_USER_PROMPT && SWTCH.S.F04")) { + NextTest(); + return; + } + err = TestCheckValuesOfFlagsInThisFeatureMap_6(); + break; + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : read the global attribute: ClusterRevision\n"); + err = TestReadTheGlobalAttributeClusterRevision_7(); + break; + case 8: + ChipLogProgress(chipTool, " ***** Test Step 8 : Read the global attribute: AttributeList\n"); + if (ShouldSkip("SWTCH.S.F04")) { + NextTest(); + return; + } + err = TestReadTheGlobalAttributeAttributeList_8(); + break; + case 9: + ChipLogProgress(chipTool, " ***** Test Step 9 : Read the global attribute: AttributeList\n"); + if (ShouldSkip("!SWTCH.S.F04")) { + NextTest(); + return; + } + err = TestReadTheGlobalAttributeAttributeList_9(); + break; + case 10: + ChipLogProgress(chipTool, " ***** Test Step 10 : Read the global attribute: AcceptedCommandList\n"); + err = TestReadTheGlobalAttributeAcceptedCommandList_10(); + break; + case 11: + ChipLogProgress(chipTool, " ***** Test Step 11 : Read the global attribute: GeneratedCommandList\n"); + err = TestReadTheGlobalAttributeGeneratedCommandList_11(); + break; + case 12: + ChipLogProgress(chipTool, + " ***** Test Step 12 : Read EventList attribute from the DUT and Verify that the DUT response provides a list of " + "supported events.\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestReadEventListAttributeFromTheDutAndVerifyThatTheDutResponseProvidesAListOfSupportedEvents_12(); + break; + } + + if (CHIP_NO_ERROR != err) { + ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); + SetCommandExitStatus(err); + } + } + + void OnStatusUpdate(const chip::app::StatusIB & status) override + { + switch (mTestIndex - 1) { + case 0: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 1: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 2: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 3: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 4: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 5: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 11: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + } + + // Go on to the next test. + ContinueOnChipMainThread(CHIP_NO_ERROR); + } + + chip::System::Clock::Timeout GetWaitDuration() const override + { + return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); + } + +private: + std::atomic_uint16_t mTestIndex; + const uint16_t mTestCount = 13; chip::Optional mNodeId; chip::Optional mCluster; @@ -43016,24 +43814,21 @@ class Test_TC_RH_2_1 : public TestCommandBridge { value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; return WaitForCommissionee("alpha", value); } + NSNumber * _Nonnull FeatureMapValue; - CHIP_ERROR TestReadsConstraintsOfAttributeMeasuredValue_1() + CHIP_ERROR TestReadTheGlobalAttributeFeatureMap_1() { MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterRelativeHumidityMeasurement * cluster = - [[MTRBaseClusterRelativeHumidityMeasurement alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + MTRBaseClusterSwitch * cluster = [[MTRBaseClusterSwitch alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeMeasuredValueWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads constraints of attribute: MeasuredValue Error: %@", err); + [cluster readAttributeFeatureMapWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read the global attribute: FeatureMap Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - if (value != nil) { - - VerifyOrReturn(CheckConstraintType("measuredValue", "", "int16")); - VerifyOrReturn(CheckConstraintMinValue("measuredValue", [value unsignedShortValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("measuredValue", [value unsignedShortValue], 10000U)); + { + FeatureMapValue = value; } NextTest(); @@ -43042,23 +43837,78 @@ class Test_TC_RH_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsConstraintsOfAttributeMinMeasuredValue_2() + CHIP_ERROR TestReadTheFeatureMapValueAndVerifyLsIsSetTo1MsMsrMslMsmAreAllSetTo0_2() { MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterRelativeHumidityMeasurement * cluster = - [[MTRBaseClusterRelativeHumidityMeasurement alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + MTRBaseClusterSwitch * cluster = [[MTRBaseClusterSwitch alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeMinMeasuredValueWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads constraints of attribute: MinMeasuredValue Error: %@", err); + [cluster readAttributeFeatureMapWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read the FeatureMap value and verify LS is set to 1; MS, MSR, MSL, MSM are all set to 0 Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - if (value != nil) { + { + id actualValue = value; + VerifyOrReturn(CheckValue("FeatureMap", actualValue, FeatureMapValue)); + } - VerifyOrReturn(CheckConstraintType("minMeasuredValue", "", "int16")); - VerifyOrReturn(CheckConstraintMinValue("minMeasuredValue", [value unsignedShortValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("minMeasuredValue", [value unsignedShortValue], 9999U)); + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestCheckValuesOfFlagsInThisFeatureMap_3() + { + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR TestCheckValuesOfFlagsInThisFeatureMap_4() + { + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR TestCheckValuesOfFlagsInThisFeatureMap_5() + { + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR TestCheckValuesOfFlagsInThisFeatureMap_6() + { + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR TestReadTheGlobalAttributeClusterRevision_7() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterSwitch * cluster = [[MTRBaseClusterSwitch alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeClusterRevisionWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"read the global attribute: ClusterRevision Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + { + id actualValue = value; + VerifyOrReturn(CheckValue("ClusterRevision", actualValue, 1U)); } NextTest(); @@ -43067,24 +43917,52 @@ class Test_TC_RH_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsConstraintsOfAttributeMaxMeasuredValue_3() + CHIP_ERROR TestReadTheGlobalAttributeAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterRelativeHumidityMeasurement * cluster = - [[MTRBaseClusterRelativeHumidityMeasurement alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + MTRBaseClusterSwitch * cluster = [[MTRBaseClusterSwitch alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeMaxMeasuredValueWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads constraints of attribute: MaxMeasuredValue Error: %@", err); + [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read the global attribute: AttributeList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - if (value != nil) { + VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - VerifyOrReturn(CheckConstraintType("maxMeasuredValue", "", "int16")); - VerifyOrReturn(CheckConstraintMinValue("maxMeasuredValue", [value unsignedShortValue], 1U)); - VerifyOrReturn(CheckConstraintMaxValue("maxMeasuredValue", [value unsignedShortValue], 10000U)); - } + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadTheGlobalAttributeAttributeList_9() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterSwitch * cluster = [[MTRBaseClusterSwitch alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); NextTest(); }]; @@ -43092,27 +43970,55 @@ class Test_TC_RH_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsConstraintsOfAttributeTolerance_4() + CHIP_ERROR TestReadTheGlobalAttributeAcceptedCommandList_10() { MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterRelativeHumidityMeasurement * cluster = - [[MTRBaseClusterRelativeHumidityMeasurement alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + MTRBaseClusterSwitch * cluster = [[MTRBaseClusterSwitch alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeToleranceWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads constraints of attribute: Tolerance Error: %@", err); + [cluster readAttributeAcceptedCommandListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read the global attribute: AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("tolerance", "", "uint16")); - VerifyOrReturn(CheckConstraintMinValue("tolerance", [value unsignedShortValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("tolerance", [value unsignedShortValue], 2048U)); + VerifyOrReturn(CheckConstraintType("acceptedCommandList", "", "list")); + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestReadTheGlobalAttributeGeneratedCommandList_11() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterSwitch * cluster = [[MTRBaseClusterSwitch alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeGeneratedCommandListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read the global attribute: GeneratedCommandList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + { + id actualValue = value; + VerifyOrReturn(CheckValue("GeneratedCommandList", [actualValue count], static_cast(0))); + } + + VerifyOrReturn(CheckConstraintType("generatedCommandList", "", "list")); NextTest(); }]; return CHIP_NO_ERROR; } + + CHIP_ERROR TestReadEventListAttributeFromTheDutAndVerifyThatTheDutResponseProvidesAListOfSupportedEvents_12() + { + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } }; class Test_TC_SWTCH_2_1 : public TestCommandBridge { @@ -43353,19 +44259,15 @@ class Test_TC_TMP_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Read the global attribute: AttributeList\n"); - if (ShouldSkip("TMP.S.A0003")) { - NextTest(); - return; - } err = TestReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Read the global attribute: AttributeList\n"); - if (ShouldSkip(" !TMP.S.A0003 ")) { + ChipLogProgress(chipTool, " ***** Test Step 4 : Read the optional attribute(Tolerance) in AttributeList\n"); + if (ShouldSkip("TMP.S.A0003")) { NextTest(); return; } - err = TestReadTheGlobalAttributeAttributeList_4(); + err = TestReadTheOptionalAttributeToleranceInAttributeList_4(); break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Read AcceptedCommandList attribute from the DUT\n"); @@ -43511,7 +44413,6 @@ class Test_TC_TMP_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); @@ -43524,7 +44425,7 @@ class Test_TC_TMP_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheGlobalAttributeAttributeList_4() + CHIP_ERROR TestReadTheOptionalAttributeToleranceInAttributeList_4() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTemperatureMeasurement * cluster = @@ -43532,19 +44433,12 @@ class Test_TC_TMP_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the global attribute: AttributeList Error: %@", err); + NSLog(@"Read the optional attribute(Tolerance) in AttributeList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); NextTest(); }]; @@ -43564,6 +44458,11 @@ class Test_TC_TMP_1_1 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + { + id actualValue = value; + VerifyOrReturn(CheckValue("AcceptedCommandList", [actualValue count], static_cast(0))); + } + VerifyOrReturn(CheckConstraintType("acceptedCommandList", "", "list")); NextTest(); }]; @@ -43648,7 +44547,7 @@ class Test_TC_TMP_2_1 : public TestCommandBridge { err = TestWaitForTheCommissionedDeviceToBeRetrieved_0(); break; case 1: - ChipLogProgress(chipTool, " ***** Test Step 1 : read the mandatory attribute: MeasuredValue\n"); + ChipLogProgress(chipTool, " ***** Test Step 1 : Read the mandatory attribute: MeasuredValue\n"); if (ShouldSkip("TMP.S.A0000")) { NextTest(); return; @@ -43656,7 +44555,7 @@ class Test_TC_TMP_2_1 : public TestCommandBridge { err = TestReadTheMandatoryAttributeMeasuredValue_1(); break; case 2: - ChipLogProgress(chipTool, " ***** Test Step 2 : read the mandatory attribute: MinMeasuredValue\n"); + ChipLogProgress(chipTool, " ***** Test Step 2 : Read the mandatory attribute: MinMeasuredValue\n"); if (ShouldSkip("TMP.S.A0001")) { NextTest(); return; @@ -43664,7 +44563,7 @@ class Test_TC_TMP_2_1 : public TestCommandBridge { err = TestReadTheMandatoryAttributeMinMeasuredValue_2(); break; case 3: - ChipLogProgress(chipTool, " ***** Test Step 3 : read the mandatory attribute: MaxMeasuredValue\n"); + ChipLogProgress(chipTool, " ***** Test Step 3 : Read the mandatory attribute: MaxMeasuredValue\n"); if (ShouldSkip("TMP.S.A0002")) { NextTest(); return; @@ -43672,7 +44571,7 @@ class Test_TC_TMP_2_1 : public TestCommandBridge { err = TestReadTheMandatoryAttributeMaxMeasuredValue_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : read the optional attribute: Tolerance\n"); + ChipLogProgress(chipTool, " ***** Test Step 4 : Read the optional attribute: Tolerance\n"); if (ShouldSkip("TMP.S.A0003")) { NextTest(); return; @@ -43740,7 +44639,7 @@ class Test_TC_TMP_2_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeMeasuredValueWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"read the mandatory attribute: MeasuredValue Error: %@", err); + NSLog(@"Read the mandatory attribute: MeasuredValue Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -43765,7 +44664,7 @@ class Test_TC_TMP_2_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeMinMeasuredValueWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"read the mandatory attribute: MinMeasuredValue Error: %@", err); + NSLog(@"Read the mandatory attribute: MinMeasuredValue Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -43790,7 +44689,7 @@ class Test_TC_TMP_2_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeMaxMeasuredValueWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"read the mandatory attribute: MaxMeasuredValue Error: %@", err); + NSLog(@"Read the mandatory attribute: MaxMeasuredValue Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -43815,7 +44714,7 @@ class Test_TC_TMP_2_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeToleranceWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"read the optional attribute: Tolerance Error: %@", err); + NSLog(@"Read the optional attribute: Tolerance Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -50515,7 +51414,7 @@ class Test_TC_TSUIC_2_2 : public TestCommandBridge { break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Verify device temperature displayed in °C\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && TSUIC.S.A0000")) { NextTest(); return; } @@ -50539,7 +51438,7 @@ class Test_TC_TSUIC_2_2 : public TestCommandBridge { break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Verify device temperature displayed in °F\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && TSUIC.S.A0000")) { NextTest(); return; } @@ -50580,7 +51479,7 @@ class Test_TC_TSUIC_2_2 : public TestCommandBridge { break; case 10: ChipLogProgress(chipTool, " ***** Test Step 10 : Verify all device functionality available to the user\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && TSUIC.S.A0001")) { NextTest(); return; } @@ -50604,7 +51503,7 @@ class Test_TC_TSUIC_2_2 : public TestCommandBridge { break; case 13: ChipLogProgress(chipTool, " ***** Test Step 13 : Verify device operates at Level 1 reduced functionality\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && TSUIC.S.A0001")) { NextTest(); return; } @@ -50628,7 +51527,7 @@ class Test_TC_TSUIC_2_2 : public TestCommandBridge { break; case 16: ChipLogProgress(chipTool, " ***** Test Step 16 : Verify device operates at Level 2 reduced functionality\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && TSUIC.S.A0001")) { NextTest(); return; } @@ -50652,7 +51551,7 @@ class Test_TC_TSUIC_2_2 : public TestCommandBridge { break; case 19: ChipLogProgress(chipTool, " ***** Test Step 19 : Verify device operates at Level 3 reduced functionality\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && TSUIC.S.A0001")) { NextTest(); return; } @@ -50676,7 +51575,7 @@ class Test_TC_TSUIC_2_2 : public TestCommandBridge { break; case 22: ChipLogProgress(chipTool, " ***** Test Step 22 : Verify device operates at Level 4 reduced functionality\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && TSUIC.S.A0001")) { NextTest(); return; } @@ -50700,7 +51599,7 @@ class Test_TC_TSUIC_2_2 : public TestCommandBridge { break; case 25: ChipLogProgress(chipTool, " ***** Test Step 25 : Verify device operates at least functionality level\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && TSUIC.S.A0001")) { NextTest(); return; } @@ -50733,7 +51632,7 @@ class Test_TC_TSUIC_2_2 : public TestCommandBridge { case 29: ChipLogProgress( chipTool, " ***** Test Step 29 : Writes a value of 0 to ScheduleProgrammingVisibility attribute of DUT\n"); - if (ShouldSkip("TSUIC.S.A0001")) { + if (ShouldSkip("TSUIC.S.A0002")) { NextTest(); return; } @@ -50742,7 +51641,7 @@ class Test_TC_TSUIC_2_2 : public TestCommandBridge { case 30: ChipLogProgress( chipTool, " ***** Test Step 30 : Verify local schedule programming functionality is enabled at the thermostat\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && TSUIC.S.A0002")) { NextTest(); return; } @@ -50768,7 +51667,7 @@ class Test_TC_TSUIC_2_2 : public TestCommandBridge { case 33: ChipLogProgress( chipTool, " ***** Test Step 33 : Verify local schedule programming functionality is disabled at the thermostat\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && TSUIC.S.A0002")) { NextTest(); return; } @@ -52119,12 +53018,12 @@ class Test_TC_ULABEL_2_3 : public TestCommandBridge { err = TestThWritesLabelListAttributeOfTheDut_1(); break; case 2: - ChipLogProgress(chipTool, " ***** Test Step 2 : TH reads LabelList attribute of the DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 2 : TH writes LabelList attribute of the DUT\n"); if (ShouldSkip("ULABEL.S.A0000")) { NextTest(); return; } - err = TestThReadsLabelListAttributeOfTheDut_2(); + err = TestThWritesLabelListAttributeOfTheDut_2(); break; } @@ -52203,7 +53102,7 @@ class Test_TC_ULABEL_2_3 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThReadsLabelListAttributeOfTheDut_2() + CHIP_ERROR TestThWritesLabelListAttributeOfTheDut_2() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterUserLabel * cluster = [[MTRBaseClusterUserLabel alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; @@ -52220,7 +53119,7 @@ class Test_TC_ULABEL_2_3 : public TestCommandBridge { } [cluster writeAttributeLabelListWithValue:labelListArgument completionHandler:^(NSError * _Nullable err) { - NSLog(@"TH reads LabelList attribute of the DUT Error: %@", err); + NSLog(@"TH writes LabelList attribute of the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? ([err.domain isEqualToString:MTRInteractionErrorDomain] ? err.code @@ -52429,6 +53328,10 @@ class Test_TC_ULABEL_2_4 : public TestCommandBridge { id labelListArgument; { NSMutableArray * temp_0 = [[NSMutableArray alloc] init]; + temp_0[0] = [[MTRUserLabelClusterLabelStruct alloc] init]; + ((MTRUserLabelClusterLabelStruct *) temp_0[0]).label = @""; + ((MTRUserLabelClusterLabelStruct *) temp_0[0]).value = @""; + labelListArgument = temp_0; } [cluster writeAttributeLabelListWithValue:labelListArgument @@ -52456,7 +53359,9 @@ class Test_TC_ULABEL_2_4 : public TestCommandBridge { { id actualValue = value; - VerifyOrReturn(CheckValue("label list", [actualValue count], static_cast(0))); + VerifyOrReturn(CheckValue("label list", [actualValue count], static_cast(1))); + VerifyOrReturn(CheckValueAsString("label", ((MTRUserLabelClusterLabelStruct *) actualValue[0]).label, @"")); + VerifyOrReturn(CheckValueAsString("value", ((MTRUserLabelClusterLabelStruct *) actualValue[0]).value, @"")); } NextTest(); @@ -52509,12 +53414,12 @@ class Test_TC_DGWIFI_2_1 : public TestCommandBridge { err = TestWaitForTheCommissionedDeviceToBeRetrieved_0(); break; case 1: - ChipLogProgress(chipTool, " ***** Test Step 1 : Reads NetworkInterface structure attribute from DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 1 : TH reads BSSID attribute from DUT\n"); if (ShouldSkip("DGWIFI.S.A0000")) { NextTest(); return; } - err = TestReadsNetworkInterfaceStructureAttributeFromDut_1(); + err = TestThReadsBssidAttributeFromDut_1(); break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Reads SecurityType attribute constraints\n"); @@ -52692,20 +53597,23 @@ class Test_TC_DGWIFI_2_1 : public TestCommandBridge { return WaitForCommissionee("alpha", value); } - CHIP_ERROR TestReadsNetworkInterfaceStructureAttributeFromDut_1() + CHIP_ERROR TestThReadsBssidAttributeFromDut_1() { MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterGeneralDiagnostics * cluster = [[MTRBaseClusterGeneralDiagnostics alloc] initWithDevice:device - endpoint:0 - queue:mCallbackQueue]; + MTRBaseClusterWiFiNetworkDiagnostics * cluster = + [[MTRBaseClusterWiFiNetworkDiagnostics alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeNetworkInterfacesWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads NetworkInterface structure attribute from DUT Error: %@", err); + [cluster readAttributeBssidWithCompletionHandler:^(NSData * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads BSSID attribute from DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("networkInterfaces", "", "list")); + if (value != nil) { + + VerifyOrReturn(CheckConstraintType("bssid", "", "octstr")); + } + NextTest(); }]; @@ -93804,7 +94712,7 @@ class Test_TC_DGSW_2_2 : public TestCommandBridge { ChipLogProgress(chipTool, " ***** Test Step 1 : Reads a list of SoftwareFault struct from DUT and data type in each field of the struct must " "match the value listed in spec\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { + if (ShouldSkip("PICS_USER_PROMPT && DGSW.S.E00")) { NextTest(); return; } @@ -106503,138 +107411,193 @@ class Test_TC_DRLK_2_2 : public TestCommandBridge { err = TestThWritesTheRequirePINforRemoteOperationAttributeValueAsFalseOnTheDut_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : TH sends Lock Door Command to the DUT without PINCode\n"); - if (ShouldSkip("DRLK.S.C00.Rsp")) { + ChipLogProgress(chipTool, + " ***** Test Step 6 : TH writes the RequirePINforRemoteOperation attribute value as False on the DUT and Verify " + "DUT responds with UNSUPPORTED_WRITE\n"); + if (ShouldSkip("!DRLK.S.A0033")) { NextTest(); return; } - err = TestThSendsLockDoorCommandToTheDutWithoutPINCode_6(); + err = TestThWritesTheRequirePINforRemoteOperationAttributeValueAsFalseOnTheDutAndVerifyDutRespondsWithUnsupportedWrite_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : TH sends Lock Door Command to the DUT with valid PINCode\n"); - if (ShouldSkip("DRLK.S.C00.Rsp")) { + ChipLogProgress(chipTool, " ***** Test Step 7 : TH reads the RequirePINforRemoteOperation attribute from the DUT\n"); + if (ShouldSkip("DRLK.S.F07 && DRLK.S.F00 && DRLK.S.A0033")) { NextTest(); return; } - err = TestThSendsLockDoorCommandToTheDutWithValidPINCode_7(); + err = TestThReadsTheRequirePINforRemoteOperationAttributeFromTheDut_7(); break; case 8: - ChipLogProgress( - chipTool, " ***** Test Step 8 : TH writes the RequirePINforRemoteOperation attribute value as True on the DUT\n"); - if (ShouldSkip("DRLK.S.A0033")) { + ChipLogProgress(chipTool, " ***** Test Step 8 : TH sends Lock Door Command to the DUT without PINCode\n"); + if (ShouldSkip("DRLK.S.C00.Rsp")) { NextTest(); return; } - err = TestThWritesTheRequirePINforRemoteOperationAttributeValueAsTrueOnTheDut_8(); + err = TestThSendsLockDoorCommandToTheDutWithoutPINCode_8(); break; case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : TH reads the RequirePINforRemoteOperation attribute from the DUT\n"); - if (ShouldSkip("DRLK.S.F07 && DRLK.S.F00 && DRLK.S.A0033")) { + ChipLogProgress(chipTool, " ***** Test Step 9 : TH sends Lock Door Command to the DUT with valid PINCode\n"); + if (ShouldSkip("DRLK.S.C00.Rsp")) { NextTest(); return; } - err = TestThReadsTheRequirePINforRemoteOperationAttributeFromTheDut_9(); + err = TestThSendsLockDoorCommandToTheDutWithValidPINCode_9(); break; case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : TH sends Lock Door Command to the DUT with valid PINCode\n"); - if (ShouldSkip("DRLK.S.C00.Rsp")) { + ChipLogProgress( + chipTool, " ***** Test Step 10 : TH writes the RequirePINforRemoteOperation attribute value as True on the DUT\n"); + if (ShouldSkip("DRLK.S.A0033")) { NextTest(); return; } - err = TestThSendsLockDoorCommandToTheDutWithValidPINCode_10(); + err = TestThWritesTheRequirePINforRemoteOperationAttributeValueAsTrueOnTheDut_10(); break; case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : TH sends Lock Door Command to the DUT without valid PINCode\n"); - if (ShouldSkip("DRLK.S.C00.Rsp")) { + ChipLogProgress(chipTool, + " ***** Test Step 11 : TH writes the RequirePINforRemoteOperation attribute value as True on the DUT and Verify " + "DUT responds with UNSUPPORTED_WRITE\n"); + if (ShouldSkip("!DRLK.S.A0033")) { NextTest(); return; } - err = TestThSendsLockDoorCommandToTheDutWithoutValidPINCode_11(); + err = TestThWritesTheRequirePINforRemoteOperationAttributeValueAsTrueOnTheDutAndVerifyDutRespondsWithUnsupportedWrite_11(); break; case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : TH sends Lock Door Command to the DUT without any argument PINCode\n"); - if (ShouldSkip("DRLK.S.C00.Rsp")) { + ChipLogProgress(chipTool, " ***** Test Step 12 : TH reads the RequirePINforRemoteOperation attribute from the DUT\n"); + if (ShouldSkip("DRLK.S.F07 && DRLK.S.F00 && DRLK.S.A0033")) { NextTest(); return; } - err = TestThSendsLockDoorCommandToTheDutWithoutAnyArgumentPINCode_12(); + err = TestThReadsTheRequirePINforRemoteOperationAttributeFromTheDut_12(); break; case 13: - ChipLogProgress(chipTool, " ***** Test Step 13 : TH writes WrongCodeEntryLimit attribute value as 3 on the DUT\n"); - if (ShouldSkip("DRLK.S.A0030")) { + ChipLogProgress(chipTool, " ***** Test Step 13 : TH sends Lock Door Command to the DUT with valid PINCode\n"); + if (ShouldSkip("DRLK.S.C00.Rsp && DRLK.S.A0033")) { NextTest(); return; } - err = TestThWritesWrongCodeEntryLimitAttributeValueAs3OnTheDut_13(); + err = TestThSendsLockDoorCommandToTheDutWithValidPINCode_13(); break; case 14: - ChipLogProgress( - chipTool, " ***** Test Step 14 : TH writes UserCodeTemporaryDisableTime attribute value as 5 seconds on the DUT\n"); - if (ShouldSkip("DRLK.S.A0031")) { + ChipLogProgress(chipTool, " ***** Test Step 14 : TH sends Lock Door Command to the DUT without valid PINCode\n"); + if (ShouldSkip("DRLK.S.C00.Rsp && DRLK.S.A0033")) { NextTest(); return; } - err = TestThWritesUserCodeTemporaryDisableTimeAttributeValueAs5SecondsOnTheDut_14(); + err = TestThSendsLockDoorCommandToTheDutWithoutValidPINCode_14(); break; case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : TH sends Lock Door Command to the DUT with invalid PINCode\n"); - if (ShouldSkip("DRLK.S.C00.Rsp")) { + ChipLogProgress(chipTool, " ***** Test Step 15 : TH sends Lock Door Command to the DUT without any argument PINCode\n"); + if (ShouldSkip("DRLK.S.C00.Rsp && DRLK.S.A0033")) { NextTest(); return; } - err = TestThSendsLockDoorCommandToTheDutWithInvalidPINCode_15(); + err = TestThSendsLockDoorCommandToTheDutWithoutAnyArgumentPINCode_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : TH sends Lock Door Command to the DUT with invalid PINCode\n"); - if (ShouldSkip("DRLK.S.C00.Rsp")) { + ChipLogProgress(chipTool, + " ***** Test Step 16 : TH writes WrongCodeEntryLimit attribute value as 3 on the DUT and Verify that the DUT sends " + "Success response\n"); + if (ShouldSkip("DRLK.S.A0030")) { NextTest(); return; } - err = TestThSendsLockDoorCommandToTheDutWithInvalidPINCode_16(); + err = TestThWritesWrongCodeEntryLimitAttributeValueAs3OnTheDutAndVerifyThatTheDutSendsSuccessResponse_16(); break; case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : TH sends Lock Door Command to the DUT with invalid PINCode\n"); - if (ShouldSkip("DRLK.S.C00.Rsp")) { + ChipLogProgress(chipTool, + " ***** Test Step 17 : TH writes WrongCodeEntryLimit attribute value as 3 on the DUT and verify DUT responds with " + "UNSUPPORTED_WRITE\n"); + if (ShouldSkip("!DRLK.S.A0030")) { NextTest(); return; } - err = TestThSendsLockDoorCommandToTheDutWithInvalidPINCode_17(); + err = TestThWritesWrongCodeEntryLimitAttributeValueAs3OnTheDutAndVerifyDutRespondsWithUnsupportedWrite_17(); break; case 18: - ChipLogProgress(chipTool, " ***** Test Step 18 : TH sends Lock Door Command to the DUT with invalid PINCode\n"); - if (ShouldSkip("DRLK.S.C00.Rsp")) { + ChipLogProgress(chipTool, + " ***** Test Step 18 : TH writes UserCodeTemporaryDisableTime attribute value as 15 seconds on the DUT and Verify " + "that the DUT send the Success response\n"); + if (ShouldSkip("DRLK.S.A0031")) { NextTest(); return; } - err = TestThSendsLockDoorCommandToTheDutWithInvalidPINCode_18(); + err = TestThWritesUserCodeTemporaryDisableTimeAttributeValueAs15SecondsOnTheDutAndVerifyThatTheDutSendTheSuccessResponse_18(); break; case 19: - ChipLogProgress(chipTool, " ***** Test Step 19 : TH reads UserCodeTemporaryDisableTime attribute from DUT\n"); - if (ShouldSkip("DRLK.S.A0031")) { + ChipLogProgress(chipTool, + " ***** Test Step 19 : TH writes UserCodeTemporaryDisableTime attribute value as 15 seconds on the DUT and Verify " + "DUT responds with UNSUPPORTED_WRITE\n"); + if (ShouldSkip("!DRLK.S.A0031")) { NextTest(); return; } - err = TestThReadsUserCodeTemporaryDisableTimeAttributeFromDut_19(); + err = TestThWritesUserCodeTemporaryDisableTimeAttributeValueAs15SecondsOnTheDutAndVerifyDutRespondsWithUnsupportedWrite_19(); break; case 20: - ChipLogProgress(chipTool, " ***** Test Step 20 : TH sends Lock Door Command to the DUT with valid PINCode\n"); + ChipLogProgress(chipTool, " ***** Test Step 20 : TH sends Lock Door Command to the DUT with invalid PINCode\n"); if (ShouldSkip("DRLK.S.C00.Rsp")) { NextTest(); return; } - err = TestThSendsLockDoorCommandToTheDutWithValidPINCode_20(); + err = TestThSendsLockDoorCommandToTheDutWithInvalidPINCode_20(); break; case 21: - ChipLogProgress(chipTool, " ***** Test Step 21 : Clean the created user\n"); - err = TestCleanTheCreatedUser_21(); + ChipLogProgress(chipTool, " ***** Test Step 21 : TH sends Lock Door Command to the DUT with invalid PINCode\n"); + if (ShouldSkip("DRLK.S.C00.Rsp")) { + NextTest(); + return; + } + err = TestThSendsLockDoorCommandToTheDutWithInvalidPINCode_21(); break; case 22: - ChipLogProgress(chipTool, " ***** Test Step 22 : Cleanup the created credential\n"); + ChipLogProgress(chipTool, " ***** Test Step 22 : TH sends Lock Door Command to the DUT with invalid PINCode\n"); + if (ShouldSkip("DRLK.S.C00.Rsp")) { + NextTest(); + return; + } + err = TestThSendsLockDoorCommandToTheDutWithInvalidPINCode_22(); + break; + case 23: + ChipLogProgress(chipTool, " ***** Test Step 23 : TH sends Lock Door Command to the DUT with invalid PINCode\n"); + if (ShouldSkip("DRLK.S.C00.Rsp")) { + NextTest(); + return; + } + err = TestThSendsLockDoorCommandToTheDutWithInvalidPINCode_23(); + break; + case 24: + ChipLogProgress(chipTool, + " ***** Test Step 24 : TH reads UserCodeTemporaryDisableTime attribute from DUT and After sending 3 failure " + "responses verify that UserCodeTemporaryDisableTime attribute is triggered\n"); + if (ShouldSkip("PICS_USER_PROMPT && DRLK.S.A0031")) { + NextTest(); + return; + } + err = TestThReadsUserCodeTemporaryDisableTimeAttributeFromDutAndAfterSending3FailureResponsesVerifyThatUserCodeTemporaryDisableTimeAttributeIsTriggered_24(); + break; + case 25: + ChipLogProgress(chipTool, + " ***** Test Step 25 : TH sends Lock Command to the DUT with valid PINCode before UserCodeTemporaryDisableTime " + "attribute time expires\n"); + if (ShouldSkip("PICS_USER_PROMPT && DRLK.S.C00.Rsp")) { + NextTest(); + return; + } + err = TestThSendsLockCommandToTheDutWithValidPINCodeBeforeUserCodeTemporaryDisableTimeAttributeTimeExpires_25(); + break; + case 26: + ChipLogProgress(chipTool, " ***** Test Step 26 : Clean the created user\n"); + err = TestCleanTheCreatedUser_26(); + break; + case 27: + ChipLogProgress(chipTool, " ***** Test Step 27 : Cleanup the created credential\n"); if (ShouldSkip("DRLK.S.C26.Rsp")) { NextTest(); return; } - err = TestCleanupTheCreatedCredential_22(); + err = TestCleanupTheCreatedCredential_27(); break; } @@ -106666,7 +107629,7 @@ class Test_TC_DRLK_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); break; case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -106681,39 +107644,54 @@ class Test_TC_DRLK_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 11: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); break; case 12: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 14: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); break; case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); break; case 16: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 17: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); break; case 18: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 19: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); break; case 20: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); break; case 21: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); break; case 22: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); + break; + case 23: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); + break; + case 24: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 25: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 26: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; } @@ -106729,7 +107707,7 @@ class Test_TC_DRLK_2_2 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 23; + const uint16_t mTestCount = 28; chip::Optional mNodeId; chip::Optional mCluster; @@ -106965,7 +107943,56 @@ class Test_TC_DRLK_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThSendsLockDoorCommandToTheDutWithoutPINCode_6() + CHIP_ERROR TestThWritesTheRequirePINforRemoteOperationAttributeValueAsFalseOnTheDutAndVerifyDutRespondsWithUnsupportedWrite_6() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterDoorLock * cluster = [[MTRBaseClusterDoorLock alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + id requirePINforRemoteOperationArgument; + requirePINforRemoteOperationArgument = [NSNumber numberWithBool:false]; + [cluster writeAttributeRequirePINforRemoteOperationWithValue:requirePINforRemoteOperationArgument + completionHandler:^(NSError * _Nullable err) { + NSLog(@"TH writes the RequirePINforRemoteOperation attribute value as False " + @"on the DUT and Verify DUT responds with UNSUPPORTED_WRITE Error: %@", + err); + + VerifyOrReturn(CheckValue("status", + err ? ([err.domain isEqualToString:MTRInteractionErrorDomain] + ? err.code + : EMBER_ZCL_STATUS_FAILURE) + : 0, + EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThReadsTheRequirePINforRemoteOperationAttributeFromTheDut_7() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterDoorLock * cluster = [[MTRBaseClusterDoorLock alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster + readAttributeRequirePINforRemoteOperationWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads the RequirePINforRemoteOperation attribute from the DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + { + id actualValue = value; + VerifyOrReturn(CheckValue("RequirePINforRemoteOperation", actualValue, false)); + } + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThSendsLockDoorCommandToTheDutWithoutPINCode_8() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterDoorLock * cluster = [[MTRBaseClusterDoorLock alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; @@ -106984,7 +108011,7 @@ class Test_TC_DRLK_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThSendsLockDoorCommandToTheDutWithValidPINCode_7() + CHIP_ERROR TestThSendsLockDoorCommandToTheDutWithValidPINCode_9() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterDoorLock * cluster = [[MTRBaseClusterDoorLock alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; @@ -107004,7 +108031,7 @@ class Test_TC_DRLK_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThWritesTheRequirePINforRemoteOperationAttributeValueAsTrueOnTheDut_8() + CHIP_ERROR TestThWritesTheRequirePINforRemoteOperationAttributeValueAsTrueOnTheDut_10() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterDoorLock * cluster = [[MTRBaseClusterDoorLock alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; @@ -107026,7 +108053,33 @@ class Test_TC_DRLK_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThReadsTheRequirePINforRemoteOperationAttributeFromTheDut_9() + CHIP_ERROR TestThWritesTheRequirePINforRemoteOperationAttributeValueAsTrueOnTheDutAndVerifyDutRespondsWithUnsupportedWrite_11() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterDoorLock * cluster = [[MTRBaseClusterDoorLock alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + id requirePINforRemoteOperationArgument; + requirePINforRemoteOperationArgument = [NSNumber numberWithBool:true]; + [cluster writeAttributeRequirePINforRemoteOperationWithValue:requirePINforRemoteOperationArgument + completionHandler:^(NSError * _Nullable err) { + NSLog(@"TH writes the RequirePINforRemoteOperation attribute value as True " + @"on the DUT and Verify DUT responds with UNSUPPORTED_WRITE Error: %@", + err); + + VerifyOrReturn(CheckValue("status", + err ? ([err.domain isEqualToString:MTRInteractionErrorDomain] + ? err.code + : EMBER_ZCL_STATUS_FAILURE) + : 0, + EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThReadsTheRequirePINforRemoteOperationAttributeFromTheDut_12() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterDoorLock * cluster = [[MTRBaseClusterDoorLock alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; @@ -107049,7 +108102,7 @@ class Test_TC_DRLK_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThSendsLockDoorCommandToTheDutWithValidPINCode_10() + CHIP_ERROR TestThSendsLockDoorCommandToTheDutWithValidPINCode_13() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterDoorLock * cluster = [[MTRBaseClusterDoorLock alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; @@ -107069,7 +108122,7 @@ class Test_TC_DRLK_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThSendsLockDoorCommandToTheDutWithoutValidPINCode_11() + CHIP_ERROR TestThSendsLockDoorCommandToTheDutWithoutValidPINCode_14() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterDoorLock * cluster = [[MTRBaseClusterDoorLock alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; @@ -107090,14 +108143,13 @@ class Test_TC_DRLK_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThSendsLockDoorCommandToTheDutWithoutAnyArgumentPINCode_12() + CHIP_ERROR TestThSendsLockDoorCommandToTheDutWithoutAnyArgumentPINCode_15() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterDoorLock * cluster = [[MTRBaseClusterDoorLock alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); __auto_type * params = [[MTRDoorLockClusterLockDoorParams alloc] init]; - params.pinCode = [[NSData alloc] initWithBytes:"" length:0]; [cluster lockDoorWithParams:params completionHandler:^(NSError * _Nullable err) { NSLog(@"TH sends Lock Door Command to the DUT without any argument PINCode Error: %@", err); @@ -107111,7 +108163,7 @@ class Test_TC_DRLK_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThWritesWrongCodeEntryLimitAttributeValueAs3OnTheDut_13() + CHIP_ERROR TestThWritesWrongCodeEntryLimitAttributeValueAs3OnTheDutAndVerifyThatTheDutSendsSuccessResponse_16() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterDoorLock * cluster = [[MTRBaseClusterDoorLock alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; @@ -107119,20 +108171,48 @@ class Test_TC_DRLK_2_2 : public TestCommandBridge { id wrongCodeEntryLimitArgument; wrongCodeEntryLimitArgument = [NSNumber numberWithUnsignedChar:3U]; - [cluster - writeAttributeWrongCodeEntryLimitWithValue:wrongCodeEntryLimitArgument - completionHandler:^(NSError * _Nullable err) { - NSLog(@"TH writes WrongCodeEntryLimit attribute value as 3 on the DUT Error: %@", err); + [cluster writeAttributeWrongCodeEntryLimitWithValue:wrongCodeEntryLimitArgument + completionHandler:^(NSError * _Nullable err) { + NSLog(@"TH writes WrongCodeEntryLimit attribute value as 3 on the DUT and Verify " + @"that the DUT sends Success response Error: %@", + err); - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - NextTest(); - }]; + NextTest(); + }]; return CHIP_NO_ERROR; } - CHIP_ERROR TestThWritesUserCodeTemporaryDisableTimeAttributeValueAs5SecondsOnTheDut_14() + CHIP_ERROR TestThWritesWrongCodeEntryLimitAttributeValueAs3OnTheDutAndVerifyDutRespondsWithUnsupportedWrite_17() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterDoorLock * cluster = [[MTRBaseClusterDoorLock alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + id wrongCodeEntryLimitArgument; + wrongCodeEntryLimitArgument = [NSNumber numberWithUnsignedChar:3U]; + [cluster writeAttributeWrongCodeEntryLimitWithValue:wrongCodeEntryLimitArgument + completionHandler:^(NSError * _Nullable err) { + NSLog(@"TH writes WrongCodeEntryLimit attribute value as 3 on the DUT and verify DUT " + @"responds with UNSUPPORTED_WRITE Error: %@", + err); + + VerifyOrReturn(CheckValue("status", + err ? ([err.domain isEqualToString:MTRInteractionErrorDomain] + ? err.code + : EMBER_ZCL_STATUS_FAILURE) + : 0, + EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR + TestThWritesUserCodeTemporaryDisableTimeAttributeValueAs15SecondsOnTheDutAndVerifyThatTheDutSendTheSuccessResponse_18() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterDoorLock * cluster = [[MTRBaseClusterDoorLock alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; @@ -107140,49 +108220,57 @@ class Test_TC_DRLK_2_2 : public TestCommandBridge { id userCodeTemporaryDisableTimeArgument; userCodeTemporaryDisableTimeArgument = [NSNumber numberWithUnsignedChar:15U]; - [cluster writeAttributeUserCodeTemporaryDisableTimeWithValue:userCodeTemporaryDisableTimeArgument - completionHandler:^(NSError * _Nullable err) { - NSLog(@"TH writes UserCodeTemporaryDisableTime attribute value as 5 seconds " - @"on the DUT Error: %@", - err); + [cluster + writeAttributeUserCodeTemporaryDisableTimeWithValue:userCodeTemporaryDisableTimeArgument + completionHandler:^(NSError * _Nullable err) { + NSLog(@"TH writes UserCodeTemporaryDisableTime attribute value as 15 seconds on " + @"the DUT and Verify that the DUT send the Success response Error: %@", + err); - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - NextTest(); - }]; + NextTest(); + }]; return CHIP_NO_ERROR; } - CHIP_ERROR TestThSendsLockDoorCommandToTheDutWithInvalidPINCode_15() + CHIP_ERROR + TestThWritesUserCodeTemporaryDisableTimeAttributeValueAs15SecondsOnTheDutAndVerifyDutRespondsWithUnsupportedWrite_19() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterDoorLock * cluster = [[MTRBaseClusterDoorLock alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - __auto_type * params = [[MTRDoorLockClusterLockDoorParams alloc] init]; - params.pinCode = [[NSData alloc] initWithBytes:"12345" length:5]; - [cluster lockDoorWithParams:params - completionHandler:^(NSError * _Nullable err) { - NSLog(@"TH sends Lock Door Command to the DUT with invalid PINCode Error: %@", err); + id userCodeTemporaryDisableTimeArgument; + userCodeTemporaryDisableTimeArgument = [NSNumber numberWithUnsignedChar:15U]; + [cluster + writeAttributeUserCodeTemporaryDisableTimeWithValue:userCodeTemporaryDisableTimeArgument + completionHandler:^(NSError * _Nullable err) { + NSLog(@"TH writes UserCodeTemporaryDisableTime attribute value as 15 seconds on " + @"the DUT and Verify DUT responds with UNSUPPORTED_WRITE Error: %@", + err); - VerifyOrReturn(CheckValue("status", - err ? ([err.domain isEqualToString:MTRInteractionErrorDomain] ? err.code : EMBER_ZCL_STATUS_FAILURE) : 0, - EMBER_ZCL_STATUS_FAILURE)); - NextTest(); - }]; + VerifyOrReturn(CheckValue("status", + err ? ([err.domain isEqualToString:MTRInteractionErrorDomain] + ? err.code + : EMBER_ZCL_STATUS_FAILURE) + : 0, + EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); + NextTest(); + }]; return CHIP_NO_ERROR; } - CHIP_ERROR TestThSendsLockDoorCommandToTheDutWithInvalidPINCode_16() + CHIP_ERROR TestThSendsLockDoorCommandToTheDutWithInvalidPINCode_20() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterDoorLock * cluster = [[MTRBaseClusterDoorLock alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); __auto_type * params = [[MTRDoorLockClusterLockDoorParams alloc] init]; - params.pinCode = [[NSData alloc] initWithBytes:"54321" length:5]; + params.pinCode = [[NSData alloc] initWithBytes:"123458" length:6]; [cluster lockDoorWithParams:params completionHandler:^(NSError * _Nullable err) { NSLog(@"TH sends Lock Door Command to the DUT with invalid PINCode Error: %@", err); @@ -107196,14 +108284,14 @@ class Test_TC_DRLK_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThSendsLockDoorCommandToTheDutWithInvalidPINCode_17() + CHIP_ERROR TestThSendsLockDoorCommandToTheDutWithInvalidPINCode_21() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterDoorLock * cluster = [[MTRBaseClusterDoorLock alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); __auto_type * params = [[MTRDoorLockClusterLockDoorParams alloc] init]; - params.pinCode = [[NSData alloc] initWithBytes:"987623" length:6]; + params.pinCode = [[NSData alloc] initWithBytes:"123458" length:6]; [cluster lockDoorWithParams:params completionHandler:^(NSError * _Nullable err) { NSLog(@"TH sends Lock Door Command to the DUT with invalid PINCode Error: %@", err); @@ -107217,14 +108305,14 @@ class Test_TC_DRLK_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThSendsLockDoorCommandToTheDutWithInvalidPINCode_18() + CHIP_ERROR TestThSendsLockDoorCommandToTheDutWithInvalidPINCode_22() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterDoorLock * cluster = [[MTRBaseClusterDoorLock alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); __auto_type * params = [[MTRDoorLockClusterLockDoorParams alloc] init]; - params.pinCode = [[NSData alloc] initWithBytes:"67890" length:5]; + params.pinCode = [[NSData alloc] initWithBytes:"123458" length:6]; [cluster lockDoorWithParams:params completionHandler:^(NSError * _Nullable err) { NSLog(@"TH sends Lock Door Command to the DUT with invalid PINCode Error: %@", err); @@ -107238,50 +108326,47 @@ class Test_TC_DRLK_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThReadsUserCodeTemporaryDisableTimeAttributeFromDut_19() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterDoorLock * cluster = [[MTRBaseClusterDoorLock alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster - readAttributeUserCodeTemporaryDisableTimeWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"TH reads UserCodeTemporaryDisableTime attribute from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - id actualValue = value; - VerifyOrReturn(CheckValue("UserCodeTemporaryDisableTime", actualValue, 15U)); - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestThSendsLockDoorCommandToTheDutWithValidPINCode_20() + CHIP_ERROR TestThSendsLockDoorCommandToTheDutWithInvalidPINCode_23() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterDoorLock * cluster = [[MTRBaseClusterDoorLock alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); __auto_type * params = [[MTRDoorLockClusterLockDoorParams alloc] init]; - params.pinCode = [[NSData alloc] initWithBytes:"123456" length:6]; + params.pinCode = [[NSData alloc] initWithBytes:"123458" length:6]; [cluster lockDoorWithParams:params completionHandler:^(NSError * _Nullable err) { - NSLog(@"TH sends Lock Door Command to the DUT with valid PINCode Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + NSLog(@"TH sends Lock Door Command to the DUT with invalid PINCode Error: %@", err); + VerifyOrReturn(CheckValue("status", + err ? ([err.domain isEqualToString:MTRInteractionErrorDomain] ? err.code : EMBER_ZCL_STATUS_FAILURE) : 0, + EMBER_ZCL_STATUS_FAILURE)); NextTest(); }]; return CHIP_NO_ERROR; } - CHIP_ERROR TestCleanTheCreatedUser_21() + CHIP_ERROR + TestThReadsUserCodeTemporaryDisableTimeAttributeFromDutAndAfterSending3FailureResponsesVerifyThatUserCodeTemporaryDisableTimeAttributeIsTriggered_24() + { + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR TestThSendsLockCommandToTheDutWithValidPINCodeBeforeUserCodeTemporaryDisableTimeAttributeTimeExpires_25() + { + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR TestCleanTheCreatedUser_26() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterDoorLock * cluster = [[MTRBaseClusterDoorLock alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; @@ -107301,7 +108386,7 @@ class Test_TC_DRLK_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestCleanupTheCreatedCredential_22() + CHIP_ERROR TestCleanupTheCreatedCredential_27() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterDoorLock * cluster = [[MTRBaseClusterDoorLock alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; @@ -112585,6 +113670,7 @@ void registerCommandsTests(Commands & commands) make_unique(), make_unique(), make_unique(), + make_unique(), make_unique(), make_unique(), make_unique(),