diff --git a/src/app/tests/suites/certification/Test_TC_BDX_1_1.yaml b/src/app/tests/suites/certification/Test_TC_BDX_1_1.yaml new file mode 100644 index 00000000000000..eeeead412e6ab9 --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_BDX_1_1.yaml @@ -0,0 +1,27 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: 29.1.1. [TC-BDX-1.1] Sender Initiated BDX Transfer session + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: "DUT sends a SendInit message to TH" + verification: | + Verify that the SendInit message has the following mandatory fields Proposed Transfer Control - At least one of the PTC[RECEIVER_DRIVE] or PTC[SENDER_DRIVE] field bits shall be set. Range Control Proposed Max Block Size Start Offset - Optional Proposed Max Length - Optional File Designator Length File Designator Metadata - Optional + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_BDX_1_3.yaml b/src/app/tests/suites/certification/Test_TC_BDX_1_3.yaml new file mode 100644 index 00000000000000..32ada08d488252 --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_BDX_1_3.yaml @@ -0,0 +1,29 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: 29.1.3. [TC-BDX-1.3] Response to Sender Initiated BDX Transfer session + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: + "TH sends a SendInit message to DUT + DUT sends a SendAccept message + back to TH" + verification: | + Verify that the SendAccept message has the following mandatory fields Transfer Control - Exactly one mode shall be chosen out of the original proposed transfer methods sent by the Initiator and version shall be the newest version supported by Responder that is not newer than the proposed version sent by the Initiator. Max Block Size - Must be less than or equal to the proposed max block size. Metadata - Optional + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_BDX_1_5.yaml b/src/app/tests/suites/certification/Test_TC_BDX_1_5.yaml new file mode 100644 index 00000000000000..6cd67f015ed1c6 --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_BDX_1_5.yaml @@ -0,0 +1,73 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: + 29.1.5. [TC-BDX-1.5] Response to Sender Initiated BDX Transfer session - + Negative scenario + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: + "TH sends a SendInit message to DUT with a file designator not + supported by DUT" + verification: | + Verify that the DUT sends back StatusReport message to TH with Error FILE_DESIGNATOR_UNKNOWN. + disabled: true + + - label: + "TH sends a SendInit message to DUT with an invalid start offset or + one that is not supported by DUT" + verification: | + Verify that the DUT sends back StatusReport message to TH with Error START_OFFSET_NOT_SUPPORTED. + disabled: true + + - label: + "TH sends a SendInit message to DUT with definite length field too + large for DUT" + verification: | + Verify that the DUT sends back StatusReport message to TH with Error LENGTH_TOO_LARGE. + disabled: true + + - label: + "TH sends a SendInit message to DUT with definite length field too + short for DUT" + verification: | + Verify that the DUT sends back StatusReport message to TH with Error LENGTH_TOO_SHORT. + disabled: true + + - label: + "TH sends a SendInit message to DUT with a missing definite length + field" + verification: | + Verify that the DUT sends back StatusReport message to TH with Error LENGTH_REQUIRED. + disabled: true + + - label: + "TH sends a SendInit message to DUT with proposed transfer control + method not supported by DUT" + verification: | + Verify that the DUT sends back StatusReport message to TH with Error TRANSFER_METHOD_NOT_SUPPORTED. + disabled: true + + - label: + "TH sends a SendInit message to DUT when the DUT is too busy to + process another transfer" + verification: | + Verify that the DUT sends back StatusReport message to TH with Error RESPONDER_BUSY. + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_BDX_1_6.yaml b/src/app/tests/suites/certification/Test_TC_BDX_1_6.yaml new file mode 100644 index 00000000000000..01b4ac6c82fca0 --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_BDX_1_6.yaml @@ -0,0 +1,66 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: + 29.1.6. [TC-BDX-1.6] Response to Receiver Initiated BDX Transfer session - + Negative scenario + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: + "TH sends a ReceiveInit message to DUT with a file designator not + supported by DUT" + verification: | + Verify that the DUT sends back StatusReport message to TH with Error FILE_DESIGNATOR_UNKNOWN. + disabled: true + + - label: + "TH sends a ReceiveInit message to DUT with an invalid start offset or + one that is not supported by DUT" + verification: | + Verify that the DUT sends back StatusReport message to TH with Error START_OFFSET_NOT_SUPPORTED. + disabled: true + + - label: + "TH sends a ReceiveInit message to DUT with definite length field too + large for DUT" + verification: | + Verify that the DUT sends back StatusReport message to TH with Error LENGTH_TOO_LARGE. + disabled: true + + - label: + "TH sends a ReceiveInit message to DUT with a missing definite length + field" + verification: | + Verify that the DUT sends back StatusReport message to TH with Error LENGTH_REQUIRED. + disabled: true + + - label: + "TH sends a ReceiveInit message to DUT with proposed transfer control + method not supported by DUT" + verification: | + Verify that the DUT sends back StatusReport message to TH with Error TRANSFER_METHOD_NOT_SUPPORTED. + disabled: true + + - label: + "TH sends a ReceiveInit message to DUT when the DUT is too busy to + process another transfer" + verification: | + Verify that the DUT sends back StatusReport message to TH with Error RESPONDER_BUSY. + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_BDX_2_3.yaml b/src/app/tests/suites/certification/Test_TC_BDX_2_3.yaml new file mode 100644 index 00000000000000..44f76ab5f08ed4 --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_BDX_2_3.yaml @@ -0,0 +1,43 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: 29.2.3. [TC-BDX-2.3] Restart Synchronous file receiving + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: + "DUT sends a ReceiveInit message to TH + TH sends a ReceiveAccept + message back to DUT" + verification: | + Verify that the that the ReceiveInit message has the following fields Proposed Transfer Control - At least one of the PTC[RECEIVER_DRIVE] or PTC[SENDER_DRIVE] field bits shall be set. Range Control Proposed Max Block Size Start Offset - Should be set to the offset of the first byte desired in the first block transferred. Proposed Max Length - Optional File Designator Length File Designator Metadata - Optional + disabled: true + + - label: + "TH sends a Block message to DUT + DUT sends a BlockAck message back + to TH" + verification: | + Verify that the BlockAck message has the following mandatory fields Block Counter - Must correspond to the Block Counter which was embedded in the Block being acknowledged. + disabled: true + + - label: + "TH sends a BlockEOF message to DUT + DUT sends a BlockAckEOF message + back to TH" + verification: | + Verify that the BlockAckEOF message has the following mandatory fields Block Counter - Must correspond to the Block Counter which was embedded in the BlockEOF being acknowledged. + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_BDX_2_4.yaml b/src/app/tests/suites/certification/Test_TC_BDX_2_4.yaml new file mode 100644 index 00000000000000..b16dc201103d0e --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_BDX_2_4.yaml @@ -0,0 +1,41 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: 29.2.4. [TC-BDX-2.4] Asynchronous file sending + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: + "DUT sends a SendInit message to TH + TH sends a SendAccept message + back to DUT + DUT sends a Block message to TH" + verification: | + Verify that the Block message has the following mandatory fields Block Counter - Must start at 0 at the start of the transfer. Data - The length must be in the range [0 < Length ⇐ Max Block Size], where Max Block Size is the negotiated Max Block Size matching the SendAccept message that initiated the transfer. + disabled: true + + - label: "DUT sends a Block message to TH" + verification: | + Verify that the Blocks are sent in ascending and sequential block counter order. + disabled: true + + - label: + "DUT sends a BlockEOF message to TH + TH sends a BlockAckEOF message + back to DUT" + verification: | + Verify that the BlockEOF message has the following mandatory fields Block Counter Data - The length must be in the range [0 ⇐ Length ⇐ Max Block Size], where Max Block Size is the negotiated Max Block Size matching the SendAccept message that initiated the transfer. Verify that the pre-negotiated file size was transferred, if a definite size had been given. + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_BDX_2_5.yaml b/src/app/tests/suites/certification/Test_TC_BDX_2_5.yaml new file mode 100644 index 00000000000000..5b0444ab9a731b --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_BDX_2_5.yaml @@ -0,0 +1,36 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: 29.2.5. [TC-BDX-2.5] Asynchronous file receiving + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: + "DUT sends a ReceiveInit message to TH + TH sends a ReceiveAccept + message back to DUT + TH sends a Block message to DUT" + verification: | + Verify that the ReceiveInit message has the following fields Proposed Transfer Control - PTC[ASYNC] field bit shall be set. + disabled: true + + - label: + "TH sends a BlockEOF message to DUT + DUT sends a BlockAckEOF message + back to TH" + verification: | + Verify that the BlockAckEOF message has the following mandatory fields Block Counter - Must correspond to the Block Counter which was embedded in the BlockEOF being acknowledged. + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_BR_1.yaml b/src/app/tests/suites/certification/Test_TC_BR_1.yaml index 045a6230dc481d..fd803b532bd835 100644 --- a/src/app/tests/suites/certification/Test_TC_BR_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_BR_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: 25.1.1. [TC-BR-1] Basics of bridging +name: 3.1.1. [TC-BR-1] Basics of Bridging config: nodeId: 0x12344321 @@ -73,35 +73,8 @@ tests: disabled: true - label: - "For each of the endpoints found in this PartsList attribute, read the - DeviceTypeList attribute in the Descriptor cluster on such endpoint, - and select those endpoints which have (at least) a device type of - Bridged Node in their DeviceTypeList" - verification: | - no Matter messages for this step - disabled: true - - - label: - "For each of the endpoints for the bridged devices found in step 2b, - perform the tests for Bridged Device Basic Information cluster" - verification: | - ref to test plan for Bridged Device Basic Information cluster - disabled: true - - - label: - "For each of the endpoints found in step 2b, if a Power Source - Configuration cluster is present on this endpoint, perform the tests - for this Power Source Configuration cluster plus the tests for the - Power Source clusters at the endpoint(s) which this Power Source - Configuration cluster refers to" - verification: | - ref to test plan for Power Source Configuration and Power Source clusters - disabled: true - - - label: - "For each of the endpoints found in step 2b, from the DeviceTypeList - attributute in their Descriptor cluster, derive the (application) - device type(s) of the bridged device" + "For each of the endpoints read in step 1b, read attribute + DeviceTypeList of the Descriptor cluster on that endpoint" verification: | ./chip-tool descriptor read device-list 1 2 @@ -184,6 +157,158 @@ tests: [1635664306.627460][3418:3423] CHIP:EM: Piggybacking Ack for MessageCounter:1 on exchange: 40894i disabled: true + - label: + "Read attribute PartsList of the Descriptor cluster on endpoint found + in step 1c" + verification: | + ./chip-tool descriptor read parts-list 1 1 + + CHIP:DMG: ReportData = + [1635663946.174100][3392:3397] CHIP:DMG: { + [1635663946.174131][3392:3397] CHIP:DMG: AttributeDataList = + [1635663946.174169][3392:3397] CHIP:DMG: [ + [1635663946.174205][3392:3397] CHIP:DMG: AttributeDataElement = + [1635663946.174249][3392:3397] CHIP:DMG: { + [1635663946.174288][3392:3397] CHIP:DMG: AttributePath = + [1635663946.174329][3392:3397] CHIP:DMG: { + [1635663946.174366][3392:3397] CHIP:DMG: NodeId = 0x1, + [1635663946.174409][3392:3397] CHIP:DMG: EndpointId = 0x0, + [1635663946.174449][3392:3397] CHIP:DMG: ClusterId = 0x1d, + [1635663946.174493][3392:3397] CHIP:DMG: FieldTag = 0x0000_0003, + [1635663946.174535][3392:3397] CHIP:DMG: } + [1635663946.174584][3392:3397] CHIP:DMG: + [1635663946.174633][3392:3397] CHIP:DMG: Data = [ + [1635663946.174681][3392:3397] CHIP:DMG: 1, 2, + [1635663946.174733][3392:3397] CHIP:DMG: ], + [1635663946.174778][3392:3397] CHIP:DMG: DataElementVersion = 0x0, + [1635663946.174822][3392:3397] CHIP:DMG: }, + [1635663946.174866][3392:3397] CHIP:DMG: + [1635663946.174896][3392:3397] CHIP:DMG: ], + [1635663946.174940][3392:3397] CHIP:DMG: + [1635663946.174972][3392:3397] CHIP:DMG: } + [1635663946.175079][3392:3397] CHIP:ZCL: ReadAttributesResponse: + [1635663946.175112][3392:3397] CHIP:ZCL: ClusterId: 0x0000_001D + [1635663946.175145][3392:3397] CHIP:ZCL: attributeId: 0x0000_0003 + [1635663946.175176][3392:3397] CHIP:ZCL: status: Success (0x0000) + [1635663946.175207][3392:3397] CHIP:ZCL: attribute TLV Type: 0x16 + [1635663946.175245][3392:3397] CHIP:TOO: OnDescriptorPartsListListAttributeResponse: 2 entries + [1635663946.175280][3392:3397] CHIP:TOO: ENDPOINT_NO[1]: 1 + [1635663946.175312][3392:3397] CHIP:TOO: ENDPOINT_NO[2]: 2 + [1635663946.175400][3392:3397] CHIP:EM: Piggybacking Ack for MessageCounter:1 on exchange: 27126i + disabled: true + + - label: + "For each of the endpoints found in this PartsList attribute, read the + DeviceTypeList attribute in the Descriptor cluster on such endpoint, + and select those endpoints which have (at least) a device type of + Bridged Node in their DeviceTypeList" + verification: | + no Matter messages for this step + disabled: true + + - label: + "For each of the endpoints for the bridged devices found in step 2b, + perform the tests for Bridged Device Basic Information cluster" + verification: | + ref to test plan for Bridged Device Basic Information cluster + disabled: true + + - label: + "For each of the endpoints found in step 2b, if a Power Source + Configuration cluster is present on this endpoint, perform the tests + for this Power Source Configuration cluster plus the tests for the + Power Source clusters at the endpoint(s) which this Power Source + Configuration cluster refers to" + verification: | + ref to test plan for Power Source Configuration and Power Source clusters + disabled: true + + - label: + "For each of the endpoints found in step 2b, from the DeviceTypeList + attributute in their Descriptor cluster, derive the (application) + device type(s) of the bridged device" + verification: | + ./chip-tool descriptor read device-list 1 2 + + CHIP:DMG: ReportData = + [1635664190.971564][3410:3415] CHIP:DMG: { + [1635664190.971611][3410:3415] CHIP:DMG: AttributeDataList = + [1635664190.971650][3410:3415] CHIP:DMG: [ + [1635664190.971748][3410:3415] CHIP:DMG: AttributeDataElement = + [1635664190.971809][3410:3415] CHIP:DMG: { + [1635664190.971895][3410:3415] CHIP:DMG: AttributePath = + [1635664190.971959][3410:3415] CHIP:DMG: { + [1635664190.972007][3410:3415] CHIP:DMG: NodeId = 0x1, + [1635664190.972108][3410:3415] CHIP:DMG: EndpointId = 0x1, + [1635664190.972177][3410:3415] CHIP:DMG: ClusterId = 0x1d, + [1635664190.972269][3410:3415] CHIP:DMG: FieldTag = 0x0000_0000, + [1635664190.972328][3410:3415] CHIP:DMG: } + [1635664190.972380][3410:3415] CHIP:DMG: + [1635664190.972469][3410:3415] CHIP:DMG: Data = [ + [1635664190.972533][3410:3415] CHIP:DMG: + [1635664190.972593][3410:3415] CHIP:DMG: { + [1635664190.972721][3410:3415] CHIP:DMG: 0x0 = 0, + [1635664190.972828][3410:3415] CHIP:DMG: 0x1 = 1, + [1635664190.972900][3410:3415] CHIP:DMG: }, + [1635664190.972954][3410:3415] CHIP:DMG: ], + [1635664190.973046][3410:3415] CHIP:DMG: DataElementVersion = 0x0, + [1635664190.973104][3410:3415] CHIP:DMG: }, + [1635664190.973200][3410:3415] CHIP:DMG: + [1635664190.973250][3410:3415] CHIP:DMG: ], + [1635664190.973296][3410:3415] CHIP:DMG: + [1635664190.973340][3410:3415] CHIP:DMG: } + [1635664190.973513][3410:3415] CHIP:ZCL: ReadAttributesResponse: + [1635664190.973591][3410:3415] CHIP:ZCL: ClusterId: 0x0000_001D + [1635664190.973626][3410:3415] CHIP:ZCL: attributeId: 0x0000_0000 + [1635664190.973658][3410:3415] CHIP:ZCL: status: Success (0x0000) + [1635664190.973723][3410:3415] CHIP:ZCL: attribute TLV Type: 0x16 + [1635664190.973778][3410:3415] CHIP:TOO: OnDescriptorDeviceListListAttributeResponse: 1 entries + [1635664190.973855][3410:3415] CHIP:TOO: DeviceType[1]: + [1635664190.973889][3410:3415] CHIP:TOO: type: 0 + [1635664190.973964][3410:3415] CHIP:TOO: revision: 1 + [1635664190.974074][3410:3415] CHIP:EM: Piggybacking Ack for MessageCounter:1 on exchange: 1814i + + ./chip-tool descriptor read device-list 1 2 + + CHIP:DMG: ReportData = + [1635664306.625866][3418:3423] CHIP:DMG: { + [1635664306.625898][3418:3423] CHIP:DMG: AttributeDataList = + [1635664306.625936][3418:3423] CHIP:DMG: [ + [1635664306.625972][3418:3423] CHIP:DMG: AttributeDataElement = + [1635664306.626018][3418:3423] CHIP:DMG: { + [1635664306.626056][3418:3423] CHIP:DMG: AttributePath = + [1635664306.626101][3418:3423] CHIP:DMG: { + [1635664306.626147][3418:3423] CHIP:DMG: NodeId = 0x1, + [1635664306.626197][3418:3423] CHIP:DMG: EndpointId = 0x2, + [1635664306.626247][3418:3423] CHIP:DMG: ClusterId = 0x1d, + [1635664306.626293][3418:3423] CHIP:DMG: FieldTag = 0x0000_0000, + [1635664306.626342][3418:3423] CHIP:DMG: } + [1635664306.626392][3418:3423] CHIP:DMG: + [1635664306.626430][3418:3423] CHIP:DMG: Data = [ + [1635664306.626471][3418:3423] CHIP:DMG: + [1635664306.626522][3418:3423] CHIP:DMG: { + [1635664306.626572][3418:3423] CHIP:DMG: 0x0 = 0, + [1635664306.626624][3418:3423] CHIP:DMG: 0x1 = 1, + [1635664306.626670][3418:3423] CHIP:DMG: }, + [1635664306.626720][3418:3423] CHIP:DMG: ], + [1635664306.626762][3418:3423] CHIP:DMG: DataElementVersion = 0x0, + [1635664306.626809][3418:3423] CHIP:DMG: }, + [1635664306.626856][3418:3423] CHIP:DMG: + [1635664306.626891][3418:3423] CHIP:DMG: ], + [1635664306.626935][3418:3423] CHIP:DMG: + [1635664306.626965][3418:3423] CHIP:DMG: } + [1635664306.627075][3418:3423] CHIP:ZCL: ReadAttributesResponse: + [1635664306.627108][3418:3423] CHIP:ZCL: ClusterId: 0x0000_001D + [1635664306.627143][3418:3423] CHIP:ZCL: attributeId: 0x0000_0000 + [1635664306.627170][3418:3423] CHIP:ZCL: status: Success (0x0000) + [1635664306.627201][3418:3423] CHIP:ZCL: attribute TLV Type: 0x16 + [1635664306.627237][3418:3423] CHIP:TOO: OnDescriptorDeviceListListAttributeResponse: 1 entries + [1635664306.627301][3418:3423] CHIP:TOO: DeviceType[1]: + [1635664306.627335][3418:3423] CHIP:TOO: type: 0 + [1635664306.627366][3418:3423] CHIP:TOO: revision: 1 + [1635664306.627460][3418:3423] CHIP:EM: Piggybacking Ack for MessageCounter:1 on exchange: 40894i + disabled: true + - label: "From the list acquired in step 5, choose one of the bridged devices which is an actuator (e.g. light, window covering)" diff --git a/src/app/tests/suites/certification/Test_TC_BR_2.yaml b/src/app/tests/suites/certification/Test_TC_BR_2.yaml index ee9b3cb8f870ba..18f0588dac3c0a 100644 --- a/src/app/tests/suites/certification/Test_TC_BR_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_BR_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: 25.1.2. [TC-BR-2] Changing the set of bridged devices +name: 3.1.2. [TC-BR-2] Changing the set of Bridged Devices config: nodeId: 0x12344321 @@ -21,46 +21,52 @@ config: endpoint: 0 tests: - - label: "- Read Descriptor cluster of endpoint 0- Read Descriptor cluster - of all endpoints listed\ - in the PartsList attribute in the Descriptor cluster of endpoint 0" + - label: + "- Read Descriptor cluster of endpoint 0 - Read Descriptor cluster of + all endpoints listed in the PartsList attribute in the Descriptor + cluster of endpoint 0" verification: | - ./chip-tool descriptor read parts-list 1 0 + ./chip-tool descriptor read parts-list 1 0 CHIP:DMG: ReportData = [1635666145.010326][3692:3697] CHIP:DMG: { - [1635666145.010374][3692:3697] CHIP:DMG: AttributeDataList = - [1635666145.010414][3692:3697] CHIP:DMG: [ - [1635666145.010463][3692:3697] CHIP:DMG: AttributeDataElement = - [1635666145.010585][3692:3697] CHIP:DMG: { - [1635666145.010665][3692:3697] CHIP:DMG: AttributePath = - [1635666145.010726][3692:3697] CHIP:DMG: { - [1635666145.010816][3692:3697] CHIP:DMG: NodeId = 0x1, - [1635666145.010905][3692:3697] CHIP:DMG: EndpointId = 0x0, - [1635666145.010998][3692:3697] CHIP:DMG: ClusterId = 0x1d, - [1635666145.011054][3692:3697] CHIP:DMG: FieldTag = 0x0000_0003, - [1635666145.011144][3692:3697] CHIP:DMG: } + [1635666145.010374][3692:3697] CHIP:DMG: AttributeDataList = + [1635666145.010414][3692:3697] CHIP:DMG: [ + [1635666145.010463][3692:3697] CHIP:DMG: AttributeDataElement = + [1635666145.010585][3692:3697] CHIP:DMG: { + [1635666145.010665][3692:3697] CHIP:DMG: AttributePath = + [1635666145.010726][3692:3697] CHIP:DMG: { + [1635666145.010816][3692:3697] CHIP:DMG: NodeId = 0x1, + [1635666145.010905][3692:3697] CHIP:DMG: EndpointId = 0x0, + [1635666145.010998][3692:3697] CHIP:DMG: ClusterId = 0x1d, + [1635666145.011054][3692:3697] CHIP:DMG: FieldTag = 0x0000_0003, + [1635666145.011144][3692:3697] CHIP:DMG: } [1635666145.011284][3692:3697] CHIP:DMG: - [1635666145.011334][3692:3697] CHIP:DMG: Data = [ - [1635666145.011474][3692:3697] CHIP:DMG: 1, 2, - [1635666145.011572][3692:3697] CHIP:DMG: ], - [1635666145.011663][3692:3697] CHIP:DMG: DataElementVersion = 0x0, - [1635666145.011710][3692:3697] CHIP:DMG: }, + [1635666145.011334][3692:3697] CHIP:DMG: Data = [ + [1635666145.011474][3692:3697] CHIP:DMG: 1, 2, + [1635666145.011572][3692:3697] CHIP:DMG: ], + [1635666145.011663][3692:3697] CHIP:DMG: DataElementVersion = 0x0, + [1635666145.011710][3692:3697] CHIP:DMG: }, [1635666145.011803][3692:3697] CHIP:DMG: - [1635666145.011889][3692:3697] CHIP:DMG: ], + [1635666145.011889][3692:3697] CHIP:DMG: ], [1635666145.011980][3692:3697] CHIP:DMG: [1635666145.012060][3692:3697] CHIP:DMG: } [1635666145.012259][3692:3697] CHIP:ZCL: ReadAttributesResponse: - [1635666145.012336][3692:3697] CHIP:ZCL: ClusterId: 0x0000_001D - [1635666145.012406][3692:3697] CHIP:ZCL: attributeId: 0x0000_0003 - [1635666145.012439][3692:3697] CHIP:ZCL: status: Success (0x0000) - [1635666145.012470][3692:3697] CHIP:ZCL: attribute TLV Type: 0x16 + [1635666145.012336][3692:3697] CHIP:ZCL: ClusterId: 0x0000_001D + [1635666145.012406][3692:3697] CHIP:ZCL: attributeId: 0x0000_0003 + [1635666145.012439][3692:3697] CHIP:ZCL: status: Success (0x0000) + [1635666145.012470][3692:3697] CHIP:ZCL: attribute TLV Type: 0x16 [1635666145.012523][3692:3697] CHIP:TOO: OnDescriptorPartsListListAttributeResponse: 2 entries [1635666145.012600][3692:3697] CHIP:TOO: ENDPOINT_NO[1]: 1 [1635666145.012639][3692:3697] CHIP:TOO: ENDPOINT_NO[2]: 2 [1635666145.012850][3692:3697] CHIP:EM: Piggybacking Ack for MessageCounter:1 on exchange: 48783i disabled: true + - label: "- Determine which endpoint has a device type of Aggregator" + verification: | + + disabled: true + - label: "Add a bridged device (using a method indicated by the manufacturer)" verification: | @@ -70,36 +76,74 @@ tests: - label: "Read the PartsList attribute in the Descriptor cluster on endpoint 0" verification: | - ./chip-tool descriptor read parts-list 1 0 + ./chip-tool descriptor read parts-list 1 0 + + CHIP:DMG: ReportData = + [1635666145.010326][3692:3697] CHIP:DMG: { + [1635666145.010374][3692:3697] CHIP:DMG: AttributeDataList = + [1635666145.010414][3692:3697] CHIP:DMG: [ + [1635666145.010463][3692:3697] CHIP:DMG: AttributeDataElement = + [1635666145.010585][3692:3697] CHIP:DMG: { + [1635666145.010665][3692:3697] CHIP:DMG: AttributePath = + [1635666145.010726][3692:3697] CHIP:DMG: { + [1635666145.010816][3692:3697] CHIP:DMG: NodeId = 0x1, + [1635666145.010905][3692:3697] CHIP:DMG: EndpointId = 0x0, + [1635666145.010998][3692:3697] CHIP:DMG: ClusterId = 0x1d, + [1635666145.011054][3692:3697] CHIP:DMG: FieldTag = 0x0000_0003, + [1635666145.011144][3692:3697] CHIP:DMG: } + [1635666145.011284][3692:3697] CHIP:DMG: + [1635666145.011334][3692:3697] CHIP:DMG: Data = [ + [1635666145.011474][3692:3697] CHIP:DMG: 1, 2, + [1635666145.011572][3692:3697] CHIP:DMG: ], + [1635666145.011663][3692:3697] CHIP:DMG: DataElementVersion = 0x0, + [1635666145.011710][3692:3697] CHIP:DMG: }, + [1635666145.011803][3692:3697] CHIP:DMG: + [1635666145.011889][3692:3697] CHIP:DMG: ], + [1635666145.011980][3692:3697] CHIP:DMG: + [1635666145.012060][3692:3697] CHIP:DMG: } + [1635666145.012259][3692:3697] CHIP:ZCL: ReadAttributesResponse: + [1635666145.012336][3692:3697] CHIP:ZCL: ClusterId: 0x0000_001D + [1635666145.012406][3692:3697] CHIP:ZCL: attributeId: 0x0000_0003 + [1635666145.012439][3692:3697] CHIP:ZCL: status: Success (0x0000) + [1635666145.012470][3692:3697] CHIP:ZCL: attribute TLV Type: 0x16 + [1635666145.012523][3692:3697] CHIP:TOO: OnDescriptorPartsListListAttributeResponse: 2 entries + [1635666145.012600][3692:3697] CHIP:TOO: ENDPOINT_NO[1]: 1 + [1635666145.012639][3692:3697] CHIP:TOO: ENDPOINT_NO[2]: 2 + [1635666145.012850][3692:3697] CHIP:EM: Piggybacking Ack for MessageCounter:1 on exchange: 48783i + disabled: true + + - label: "Repeat step 2b for endpoint found in step 1b" + verification: | + ./chip-tool descriptor read parts-list 1 0 CHIP:DMG: ReportData = [1635666145.010326][3692:3697] CHIP:DMG: { - [1635666145.010374][3692:3697] CHIP:DMG: AttributeDataList = - [1635666145.010414][3692:3697] CHIP:DMG: [ - [1635666145.010463][3692:3697] CHIP:DMG: AttributeDataElement = - [1635666145.010585][3692:3697] CHIP:DMG: { - [1635666145.010665][3692:3697] CHIP:DMG: AttributePath = - [1635666145.010726][3692:3697] CHIP:DMG: { - [1635666145.010816][3692:3697] CHIP:DMG: NodeId = 0x1, - [1635666145.010905][3692:3697] CHIP:DMG: EndpointId = 0x0, - [1635666145.010998][3692:3697] CHIP:DMG: ClusterId = 0x1d, - [1635666145.011054][3692:3697] CHIP:DMG: FieldTag = 0x0000_0003, - [1635666145.011144][3692:3697] CHIP:DMG: } + [1635666145.010374][3692:3697] CHIP:DMG: AttributeDataList = + [1635666145.010414][3692:3697] CHIP:DMG: [ + [1635666145.010463][3692:3697] CHIP:DMG: AttributeDataElement = + [1635666145.010585][3692:3697] CHIP:DMG: { + [1635666145.010665][3692:3697] CHIP:DMG: AttributePath = + [1635666145.010726][3692:3697] CHIP:DMG: { + [1635666145.010816][3692:3697] CHIP:DMG: NodeId = 0x1, + [1635666145.010905][3692:3697] CHIP:DMG: EndpointId = 0x0, + [1635666145.010998][3692:3697] CHIP:DMG: ClusterId = 0x1d, + [1635666145.011054][3692:3697] CHIP:DMG: FieldTag = 0x0000_0003, + [1635666145.011144][3692:3697] CHIP:DMG: } [1635666145.011284][3692:3697] CHIP:DMG: - [1635666145.011334][3692:3697] CHIP:DMG: Data = [ - [1635666145.011474][3692:3697] CHIP:DMG: 1, 2, - [1635666145.011572][3692:3697] CHIP:DMG: ], - [1635666145.011663][3692:3697] CHIP:DMG: DataElementVersion = 0x0, - [1635666145.011710][3692:3697] CHIP:DMG: }, + [1635666145.011334][3692:3697] CHIP:DMG: Data = [ + [1635666145.011474][3692:3697] CHIP:DMG: 1, 2, + [1635666145.011572][3692:3697] CHIP:DMG: ], + [1635666145.011663][3692:3697] CHIP:DMG: DataElementVersion = 0x0, + [1635666145.011710][3692:3697] CHIP:DMG: }, [1635666145.011803][3692:3697] CHIP:DMG: - [1635666145.011889][3692:3697] CHIP:DMG: ], + [1635666145.011889][3692:3697] CHIP:DMG: ], [1635666145.011980][3692:3697] CHIP:DMG: [1635666145.012060][3692:3697] CHIP:DMG: } [1635666145.012259][3692:3697] CHIP:ZCL: ReadAttributesResponse: - [1635666145.012336][3692:3697] CHIP:ZCL: ClusterId: 0x0000_001D - [1635666145.012406][3692:3697] CHIP:ZCL: attributeId: 0x0000_0003 - [1635666145.012439][3692:3697] CHIP:ZCL: status: Success (0x0000) - [1635666145.012470][3692:3697] CHIP:ZCL: attribute TLV Type: 0x16 + [1635666145.012336][3692:3697] CHIP:ZCL: ClusterId: 0x0000_001D + [1635666145.012406][3692:3697] CHIP:ZCL: attributeId: 0x0000_0003 + [1635666145.012439][3692:3697] CHIP:ZCL: status: Success (0x0000) + [1635666145.012470][3692:3697] CHIP:ZCL: attribute TLV Type: 0x16 [1635666145.012523][3692:3697] CHIP:TOO: OnDescriptorPartsListListAttributeResponse: 2 entries [1635666145.012600][3692:3697] CHIP:TOO: ENDPOINT_NO[1]: 1 [1635666145.012639][3692:3697] CHIP:TOO: ENDPOINT_NO[2]: 2 @@ -130,36 +174,75 @@ tests: - label: "Read the PartsList attribute in the Descriptor cluster on endpoint 0" verification: | - ./chip-tool descriptor read parts-list 1 0 + + ./chip-tool descriptor read parts-list 1 0 CHIP:DMG: ReportData = [1635668330.265352][3951:3956] CHIP:DMG: { - [1635668330.265385][3951:3956] CHIP:DMG: AttributeDataList = - [1635668330.265424][3951:3956] CHIP:DMG: [ - [1635668330.265460][3951:3956] CHIP:DMG: AttributeDataElement = - [1635668330.265512][3951:3956] CHIP:DMG: { - [1635668330.265551][3951:3956] CHIP:DMG: AttributePath = - [1635668330.265596][3951:3956] CHIP:DMG: { - [1635668330.265644][3951:3956] CHIP:DMG: NodeId = 0x1, - [1635668330.265699][3951:3956] CHIP:DMG: EndpointId = 0x0, - [1635668330.265754][3951:3956] CHIP:DMG: ClusterId = 0x1d, - [1635668330.265808][3951:3956] CHIP:DMG: FieldTag = 0x0000_0003, - [1635668330.265854][3951:3956] CHIP:DMG: } + [1635668330.265385][3951:3956] CHIP:DMG: AttributeDataList = + [1635668330.265424][3951:3956] CHIP:DMG: [ + [1635668330.265460][3951:3956] CHIP:DMG: AttributeDataElement = + [1635668330.265512][3951:3956] CHIP:DMG: { + [1635668330.265551][3951:3956] CHIP:DMG: AttributePath = + [1635668330.265596][3951:3956] CHIP:DMG: { + [1635668330.265644][3951:3956] CHIP:DMG: NodeId = 0x1, + [1635668330.265699][3951:3956] CHIP:DMG: EndpointId = 0x0, + [1635668330.265754][3951:3956] CHIP:DMG: ClusterId = 0x1d, + [1635668330.265808][3951:3956] CHIP:DMG: FieldTag = 0x0000_0003, + [1635668330.265854][3951:3956] CHIP:DMG: } [1635668330.265903][3951:3956] CHIP:DMG: - [1635668330.265953][3951:3956] CHIP:DMG: Data = [ - [1635668330.266003][3951:3956] CHIP:DMG: 1, 2, - [1635668330.266052][3951:3956] CHIP:DMG: ], - [1635668330.266099][3951:3956] CHIP:DMG: DataElementVersion = 0x0, - [1635668330.266142][3951:3956] CHIP:DMG: }, + [1635668330.265953][3951:3956] CHIP:DMG: Data = [ + [1635668330.266003][3951:3956] CHIP:DMG: 1, 2, + [1635668330.266052][3951:3956] CHIP:DMG: ], + [1635668330.266099][3951:3956] CHIP:DMG: DataElementVersion = 0x0, + [1635668330.266142][3951:3956] CHIP:DMG: }, [1635668330.266192][3951:3956] CHIP:DMG: - [1635668330.266229][3951:3956] CHIP:DMG: ], + [1635668330.266229][3951:3956] CHIP:DMG: ], [1635668330.266272][3951:3956] CHIP:DMG: [1635668330.266306][3951:3956] CHIP:DMG: } [1635668330.266412][3951:3956] CHIP:ZCL: ReadAttributesResponse: - [1635668330.266446][3951:3956] CHIP:ZCL: ClusterId: 0x0000_001D - [1635668330.266481][3951:3956] CHIP:ZCL: attributeId: 0x0000_0003 - [1635668330.266514][3951:3956] CHIP:ZCL: status: Success (0x0000) - [1635668330.266546][3951:3956] CHIP:ZCL: attribute TLV Type: 0x16 + [1635668330.266446][3951:3956] CHIP:ZCL: ClusterId: 0x0000_001D + [1635668330.266481][3951:3956] CHIP:ZCL: attributeId: 0x0000_0003 + [1635668330.266514][3951:3956] CHIP:ZCL: status: Success (0x0000) + [1635668330.266546][3951:3956] CHIP:ZCL: attribute TLV Type: 0x16 + [1635668330.266586][3951:3956] CHIP:TOO: OnDescriptorPartsListListAttributeResponse: 2 entries + [1635668330.266622][3951:3956] CHIP:TOO: ENDPOINT_NO[1]: 1 + [1635668330.266656][3951:3956] CHIP:TOO: ENDPOINT_NO[2]: 2 + [1635668330.266741][3951:3956] CHIP:EM: Piggybacking Ack for MessageCounter:1 on exchange: 35287i + disabled: true + + - label: "Repeat step 4b for endpoint found in step 1b" + verification: | + ./chip-tool descriptor read parts-list 1 0 + + CHIP:DMG: ReportData = + [1635668330.265352][3951:3956] CHIP:DMG: { + [1635668330.265385][3951:3956] CHIP:DMG: AttributeDataList = + [1635668330.265424][3951:3956] CHIP:DMG: [ + [1635668330.265460][3951:3956] CHIP:DMG: AttributeDataElement = + [1635668330.265512][3951:3956] CHIP:DMG: { + [1635668330.265551][3951:3956] CHIP:DMG: AttributePath = + [1635668330.265596][3951:3956] CHIP:DMG: { + [1635668330.265644][3951:3956] CHIP:DMG: NodeId = 0x1, + [1635668330.265699][3951:3956] CHIP:DMG: EndpointId = 0x0, + [1635668330.265754][3951:3956] CHIP:DMG: ClusterId = 0x1d, + [1635668330.265808][3951:3956] CHIP:DMG: FieldTag = 0x0000_0003, + [1635668330.265854][3951:3956] CHIP:DMG: } + [1635668330.265903][3951:3956] CHIP:DMG: + [1635668330.265953][3951:3956] CHIP:DMG: Data = [ + [1635668330.266003][3951:3956] CHIP:DMG: 1, 2, + [1635668330.266052][3951:3956] CHIP:DMG: ], + [1635668330.266099][3951:3956] CHIP:DMG: DataElementVersion = 0x0, + [1635668330.266142][3951:3956] CHIP:DMG: }, + [1635668330.266192][3951:3956] CHIP:DMG: + [1635668330.266229][3951:3956] CHIP:DMG: ], + [1635668330.266272][3951:3956] CHIP:DMG: + [1635668330.266306][3951:3956] CHIP:DMG: } + [1635668330.266412][3951:3956] CHIP:ZCL: ReadAttributesResponse: + [1635668330.266446][3951:3956] CHIP:ZCL: ClusterId: 0x0000_001D + [1635668330.266481][3951:3956] CHIP:ZCL: attributeId: 0x0000_0003 + [1635668330.266514][3951:3956] CHIP:ZCL: status: Success (0x0000) + [1635668330.266546][3951:3956] CHIP:ZCL: attribute TLV Type: 0x16 [1635668330.266586][3951:3956] CHIP:TOO: OnDescriptorPartsListListAttributeResponse: 2 entries [1635668330.266622][3951:3956] CHIP:TOO: ENDPOINT_NO[1]: 1 [1635668330.266656][3951:3956] CHIP:TOO: ENDPOINT_NO[2]: 2 @@ -183,36 +266,74 @@ tests: - label: "Read the PartsList attribute in the Descriptor cluster on endpoint 0" verification: | - ./chip-tool descriptor read parts-list 1 0 + ./chip-tool descriptor read parts-list 1 0 + + CHIP:DMG: ReportData = + [1635668360.031302][3959:3964] CHIP:DMG: { + [1635668360.031334][3959:3964] CHIP:DMG: AttributeDataList = + [1635668360.031373][3959:3964] CHIP:DMG: [ + [1635668360.031408][3959:3964] CHIP:DMG: AttributeDataElement = + [1635668360.031458][3959:3964] CHIP:DMG: { + [1635668360.031497][3959:3964] CHIP:DMG: AttributePath = + [1635668360.031541][3959:3964] CHIP:DMG: { + [1635668360.031587][3959:3964] CHIP:DMG: NodeId = 0x1, + [1635668360.031638][3959:3964] CHIP:DMG: EndpointId = 0x0, + [1635668360.031687][3959:3964] CHIP:DMG: ClusterId = 0x1d, + [1635668360.031742][3959:3964] CHIP:DMG: FieldTag = 0x0000_0003, + [1635668360.031789][3959:3964] CHIP:DMG: } + [1635668360.031839][3959:3964] CHIP:DMG: + [1635668360.031887][3959:3964] CHIP:DMG: Data = [ + [1635668360.031937][3959:3964] CHIP:DMG: 1, 2, + [1635668360.031987][3959:3964] CHIP:DMG: ], + [1635668360.032032][3959:3964] CHIP:DMG: DataElementVersion = 0x0, + [1635668360.032075][3959:3964] CHIP:DMG: }, + [1635668360.032123][3959:3964] CHIP:DMG: + [1635668360.032159][3959:3964] CHIP:DMG: ], + [1635668360.032203][3959:3964] CHIP:DMG: + [1635668360.032236][3959:3964] CHIP:DMG: } + [1635668360.032342][3959:3964] CHIP:ZCL: ReadAttributesResponse: + [1635668360.032375][3959:3964] CHIP:ZCL: ClusterId: 0x0000_001D + [1635668360.032408][3959:3964] CHIP:ZCL: attributeId: 0x0000_0003 + [1635668360.032439][3959:3964] CHIP:ZCL: status: Success (0x0000) + [1635668360.032469][3959:3964] CHIP:ZCL: attribute TLV Type: 0x16 + [1635668360.032508][3959:3964] CHIP:TOO: OnDescriptorPartsListListAttributeResponse: 2 entries + [1635668360.032542][3959:3964] CHIP:TOO: ENDPOINT_NO[1]: 1 + [1635668360.032575][3959:3964] CHIP:TOO: ENDPOINT_NO[2]: 2 + [1635668360.032686][3959:3964] CHIP:EM: Piggybacking Ack for MessageCounter:1 on exchange: 8102i + disabled: true + + - label: "Repeat step 5b for endpoint found in step 1b" + verification: | + ./chip-tool descriptor read parts-list 1 0 CHIP:DMG: ReportData = [1635668360.031302][3959:3964] CHIP:DMG: { - [1635668360.031334][3959:3964] CHIP:DMG: AttributeDataList = - [1635668360.031373][3959:3964] CHIP:DMG: [ - [1635668360.031408][3959:3964] CHIP:DMG: AttributeDataElement = - [1635668360.031458][3959:3964] CHIP:DMG: { - [1635668360.031497][3959:3964] CHIP:DMG: AttributePath = - [1635668360.031541][3959:3964] CHIP:DMG: { - [1635668360.031587][3959:3964] CHIP:DMG: NodeId = 0x1, - [1635668360.031638][3959:3964] CHIP:DMG: EndpointId = 0x0, - [1635668360.031687][3959:3964] CHIP:DMG: ClusterId = 0x1d, - [1635668360.031742][3959:3964] CHIP:DMG: FieldTag = 0x0000_0003, - [1635668360.031789][3959:3964] CHIP:DMG: } + [1635668360.031334][3959:3964] CHIP:DMG: AttributeDataList = + [1635668360.031373][3959:3964] CHIP:DMG: [ + [1635668360.031408][3959:3964] CHIP:DMG: AttributeDataElement = + [1635668360.031458][3959:3964] CHIP:DMG: { + [1635668360.031497][3959:3964] CHIP:DMG: AttributePath = + [1635668360.031541][3959:3964] CHIP:DMG: { + [1635668360.031587][3959:3964] CHIP:DMG: NodeId = 0x1, + [1635668360.031638][3959:3964] CHIP:DMG: EndpointId = 0x0, + [1635668360.031687][3959:3964] CHIP:DMG: ClusterId = 0x1d, + [1635668360.031742][3959:3964] CHIP:DMG: FieldTag = 0x0000_0003, + [1635668360.031789][3959:3964] CHIP:DMG: } [1635668360.031839][3959:3964] CHIP:DMG: - [1635668360.031887][3959:3964] CHIP:DMG: Data = [ - [1635668360.031937][3959:3964] CHIP:DMG: 1, 2, - [1635668360.031987][3959:3964] CHIP:DMG: ], - [1635668360.032032][3959:3964] CHIP:DMG: DataElementVersion = 0x0, - [1635668360.032075][3959:3964] CHIP:DMG: }, + [1635668360.031887][3959:3964] CHIP:DMG: Data = [ + [1635668360.031937][3959:3964] CHIP:DMG: 1, 2, + [1635668360.031987][3959:3964] CHIP:DMG: ], + [1635668360.032032][3959:3964] CHIP:DMG: DataElementVersion = 0x0, + [1635668360.032075][3959:3964] CHIP:DMG: }, [1635668360.032123][3959:3964] CHIP:DMG: - [1635668360.032159][3959:3964] CHIP:DMG: ], + [1635668360.032159][3959:3964] CHIP:DMG: ], [1635668360.032203][3959:3964] CHIP:DMG: [1635668360.032236][3959:3964] CHIP:DMG: } [1635668360.032342][3959:3964] CHIP:ZCL: ReadAttributesResponse: - [1635668360.032375][3959:3964] CHIP:ZCL: ClusterId: 0x0000_001D - [1635668360.032408][3959:3964] CHIP:ZCL: attributeId: 0x0000_0003 - [1635668360.032439][3959:3964] CHIP:ZCL: status: Success (0x0000) - [1635668360.032469][3959:3964] CHIP:ZCL: attribute TLV Type: 0x16 + [1635668360.032375][3959:3964] CHIP:ZCL: ClusterId: 0x0000_001D + [1635668360.032408][3959:3964] CHIP:ZCL: attributeId: 0x0000_0003 + [1635668360.032439][3959:3964] CHIP:ZCL: status: Success (0x0000) + [1635668360.032469][3959:3964] CHIP:ZCL: attribute TLV Type: 0x16 [1635668360.032508][3959:3964] CHIP:TOO: OnDescriptorPartsListListAttributeResponse: 2 entries [1635668360.032542][3959:3964] CHIP:TOO: ENDPOINT_NO[1]: 1 [1635668360.032575][3959:3964] CHIP:TOO: ENDPOINT_NO[2]: 2 diff --git a/src/app/tests/suites/certification/Test_TC_DA_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DA_1_1.yaml new file mode 100644 index 00000000000000..e82f81ae21e8fe --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_DA_1_1.yaml @@ -0,0 +1,61 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: + 17.1.1. [TC-DA-1.1] The NOC SHALL be wiped on Factory Reset [DUT - + Commissionee] + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: "Commission DUT to TH1s Fabric" + verification: | + + disabled: true + + - label: + "TH1 reads the NOCs attribute list from DUT TH1 saves the NOCs list + for future usage." + verification: | + + disabled: true + + - label: + "Factory reset DUT Perform the device discovery flow checks as covered + in TC-DD-2.2" + verification: | + + disabled: true + + - label: "Commission DUT to TH2s Fabric" + verification: | + + disabled: true + + - label: + "TH2 does a non-fabric-filtered read of Fabrics attribute list from + DUT and saves the FabricDescriptorStruct values" + verification: | + Verify that there is only one entry in the 'Fabrics' List Verify that the FabricID is the same as the TH2 Fabric ID + disabled: true + + - label: + "TH2 does a non-fabric-filtered read of NOC attribute list from DUT" + verification: | + Verify that there is only one entry in the 'NOC' List + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DA_1_2.yaml b/src/app/tests/suites/certification/Test_TC_DA_1_2.yaml new file mode 100644 index 00000000000000..322265307e05cd --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_DA_1_2.yaml @@ -0,0 +1,73 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: + 17.1.2. [TC-DA-1.2] Device Attestation Request Validation [DUT - + Commissionee] + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: "TH1 generates 32-byte AttestationNonce" + verification: | + + disabled: true + + - label: + "TH1 sends AttestationRequest Command with a random 32 bytes + AttestationNonce to the DUT." + verification: | + + disabled: true + + - label: + "TH1 sends CertificateChainRequest Command to DUT for both PAI and DAC" + verification: | + Verify that DUT sends CertificateChainResponse command with the Certificate Information to TH1 + disabled: true + + - label: "TH1 saves DAC and the PAI certificates for future use" + verification: | + + disabled: true + + - label: + "Extract the attestation_elements_message structure fields from the + AttestationResponse Command received by TH1 from DUT" + verification: | + + disabled: true + + - label: "Read the attestation_elements_message structure fields" + verification: | + + disabled: true + + - label: + "TH1 sends AttestationRequestCommand with Invalid AttestationNonce + (size> 32 bytes) as the field to the DUT." + verification: | + Verify that the DUT reports an error + disabled: true + + - label: + "TH1 sends AttestationRequestCommand with invalid AttestationNonce + (size < 32 bytes) as the field to the DUT." + verification: | + Verify that the DUT reports an error + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DA_1_4.yaml b/src/app/tests/suites/certification/Test_TC_DA_1_4.yaml new file mode 100644 index 00000000000000..9257eb98c2f509 --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_DA_1_4.yaml @@ -0,0 +1,80 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: + 17.1.4. [TC-DA-1.4] Device Attestation Request Validation-Error Scenario + [DUT-Commissioner] + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: "Start the commissioning process of TH1 on DUT" + verification: | + + disabled: true + + - label: "DUT generates 32-byte AttestationNonce" + verification: | + + disabled: true + + - label: + "DUT sends AttestationRequest Command with AttestationNonce as field + to the TH1." + verification: | + + disabled: true + + - label: + "TH1 responds to the DUT with an invalid AttestationResponse Command + by setting the following error condition: Commissionee is not yet + certified" + verification: | + Verify that DUT notifies a warning stating that Commissionee is not a fully trusted device. + Verify that the warning contains the information about the reason for error condition. + If the warning message indicates that Commissioning is allowed then confirm that CSRRequest Command is sent from DUT to TH1 + disabled: true + + - label: "Factory Reset TH1 so that it is commissionable again" + verification: | + + disabled: true + + - label: + "Repeat step 1 to step 7 and for step 5 set different error condition + as below: Commissionees PAA is not in the Commissioners trusted set. + Commissionee provides an invalid DAC and PAI chain as validated by TH + against the RFC5280 certificate Basic path validation algorithm + Commissionee provides DAC with validity period that is not in range of + PAA/PAI" + verification: | + + disabled: true + + - label: + "Repeat step 1 to step 7 and for step 5 set different error condition: + Certification Declaration has only one of the following fields + dac_origin_vendor_id dac_origin_product_id vendor_id field in the + Certification Declaration does not match with the VendorID attribute + found in the Basic Information cluster The Vendor ID in the DAC does + not match the vendor_id field in the Certification Declaration. The + Product ID (PID) the DAC is not present in the product_id_array field + in the Certification Declaration" + verification: | + + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DA_1_5.yaml b/src/app/tests/suites/certification/Test_TC_DA_1_5.yaml new file mode 100644 index 00000000000000..ca76c215c1055e --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_DA_1_5.yaml @@ -0,0 +1,95 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: 17.1.5. [TC-DA-1.5] NOCSR Procedure Validation [DUT - Commissionee] + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: "TH1 Completes the Attestation procedure" + verification: | + + disabled: true + + - label: "TH1 generates 32-byte CSRNonce" + verification: | + + disabled: true + + - label: "TH1 sends CSRRequest Command with CSRNonce as field to the DUT." + verification: | + Verify that the DUT generates the NOCSR Information using CSRResponse Command + disabled: true + + - label: + "Save following information that is sent by the DUT in the CSRResponse + Command NOCSRElement Node Operational Key Pair as Key 1" + verification: | + + disabled: true + + - label: + "TH1 sends AddTrustedRootCertificate command to DUT to install the + Root CA Certificate to the trust store" + verification: | + Verify that AddTrustedRootCertificate Command succeeds by sending the status code as SUCCESS + disabled: true + + - label: "TH1 Sends AddNOC Command to DUT" + verification: | + Verify that DUT responds with NOCResponse command with status code OK + disabled: true + + - label: "Read the NOCs List from the DUT" + verification: | + Verify that Key1 is present in the NOCs list + disabled: true + + - label: "Factory Reset TH1 so that it is commissionable again" + verification: | + + disabled: true + + - label: + "Start the commissioning process of TH1 on DUT. Device attestation + procedure is completed" + verification: | + + disabled: true + + - label: "TH1 generates 32-byte CSRNonce" + verification: | + Verify that the DUT generates the NOCSR Information using CSRResponse Command. + disabled: true + + - label: "TH1 sends CSRRequest Command with CSRNonce as field to the DUT." + verification: | + + disabled: true + + - label: "TH1 generates 32-byte CSRNonce" + verification: | + + disabled: true + + - label: + "Save Node Operational Key Pair sent by the DUT in the CSRResponse + Command as Key 2" + verification: | + Verify that Key 2 does not match any other existing Node Operational Key Pair on the device + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DA_1_6.yaml b/src/app/tests/suites/certification/Test_TC_DA_1_6.yaml new file mode 100644 index 00000000000000..f46e0019d287f4 --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_DA_1_6.yaml @@ -0,0 +1,80 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: 17.1.6. [TC-DA-1.6] NOCSR Procedure Validation [DUT - Commissioner] + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: "DUT completes the attestation procedure" + verification: | + + disabled: true + + - label: + "DUT generates 32-byte CSRNonce and is sent to TH1 through CSRRequest + Command" + verification: | + + disabled: true + + - label: + "TH1 generates Invalid NOCSR Information and sends the CSRResponse + Command. Refer Steps 6.1 to 6.8" + verification: | + Verify that DUT reports error + disabled: true + + - label: "Factory Reset DUT so that it is commissionable again" + verification: | + + disabled: true + + - label: + "Repeat Step1 to Step 4 multiple times. For each time in Step 3 TH1 + generates the following error:" + verification: | + + disabled: true + + - label: "CSR is not of the type OCTET string" + verification: | + + disabled: true + + - label: "CSRNonce is OCTET string of length > 32" + verification: | + + disabled: true + + - label: + "CSRNonce value does not match the value CSR Nonce field in the + corresponding CSRRequest Command" + verification: | + + disabled: true + + - label: "NOCSRElement size is greater than RESP_MAX" + verification: | + + disabled: true + + - label: "AttestationSignature is not an octet string" + verification: | + + 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 e0cd27ce31a7da..9b05ee8684c3d6 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 @@ -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: - 3.2.2. [TC-DD-2.2] Discovery by commissioner verification [DUT - + 3.2.2. [TC-DD-2.2] Discovery by Commissioner Verification [DUT - Commissioner] config: @@ -27,7 +27,23 @@ tests: "If (PICS_BLE) TH starts matter announcement procedure using BLE transport" verification: | - 1. User should manually verify that the TH is sending BLE advertisements. + $ ./out/all-clusters-app/chip-all-clusters-app --wifi --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://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: @@ -35,26 +51,144 @@ tests: channels with a sufficient dwell time, interval, and overall duration of scan" verification: | - 1. Using the DUT's means of discovering BLE advertisements, scan for the TH that is sending them out from step 1a + 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 + [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 + [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: "If (PICS_BLE) DUT starts scan in background using BLE transport" verification: | - 1. Using the DUT's means of discovering BLE advertisements, start scan before TH begins sending BLE advertisements + 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 + [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 + [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: "If (PICS_BLE) TH starts matter announcement using BLE transport" verification: | - 1. User should manually verify that the TH is sending BLE advertisements. + $ ./out/all-clusters-app/chip-all-clusters-app --wifi --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://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" verification: | - BLOCKED - - chip-all-clusters-app does not currently support Custom Commissioning Flow or SoftAP as part of its commissioning flow + BLOCKED: SoftAP commissioning not currently supported on DUT=chip-tool disabled: true - label: @@ -62,42 +196,37 @@ tests: allowed per its operational regulatory domain (channels 1, 6, and 11 are preferred)" verification: | - BLOCKED - - chip-all-clusters-app does not currently support Custom Commissioning Flow or SoftAP as part of its commissioning flow + BLOCKED: SoftAP commissioning not currently supported on DUT=chip-tool disabled: true - label: "If (PICS_WIFI) DUT scans using Wi-Fi in background" verification: | - BLOCKED - - chip-all-clusters-app does not currently support Custom Commissioning Flow or SoftAP as part of its commissioning flow + BLOCKED: SoftAP commissioning not currently supported on DUT=chip-tool disabled: true - label: "If (PICS_WIFI) TH starts SoftAP and begin matter announcement procedure" verification: | - BLOCKED - - chip-all-clusters-app does not currently support Custom Commissioning Flow or SoftAP as part of its commissioning flow + BLOCKED: SoftAP commissioning not currently supported on DUT=chip-tool disabled: true - - label: "If (PICS_ETH) DUT performs service discovery using DNS-SD" + - label: "DUT performs service discovery using DNS-SD" verification: | - 1. Verify DUT controller is able to scan and find the TH device over ethernet - 16-MacBook-Pro:connectedhomeip liam$ ./examples/chip-tool/out/debug/chip-tool discover commissionables - ... - [1641926409480] [25793:1104778] CHIP: [DL] Mdns: OnGetAddrInfo hostname:16-MacBook-Pro.local. - [1641926409480] [25793:1104778] CHIP: [DIS] Device Name: Test Bulb - [1641926409480] [25793:1104778] CHIP: [DIS] Vendor ID: 9050 - [1641926409480] [25793:1104778] CHIP: [DIS] Product ID: 65279 - [1641926409480] [25793:1104778] CHIP: [DIS] Device Type: 257 - [1641926409480] [25793:1104778] CHIP: [DIS] Long Discriminator: 3840 - [1641926409480] [25793:1104778] CHIP: [DIS] Pairing Hint: 33 - [1641926409480] [25793:1104778] CHIP: [DIS] Hostname: 16-MacBook-Pro.l - [1641926409480] [25793:1104778] CHIP: [DIS] Instance Name: 19B74882F1637F71 - [1641926409480] [25793:1104778] CHIP: [DIS] IP Address #1: fe80::103a:8edd:4b33:46a - [1641926409480] [25793:1104778] CHIP: [DIS] Port: 5540 - [1641926409480] [25793:1104778] CHIP: [DIS] Commissioning Mode: 1 + $ ./out/chip-tool/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 + [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 diff --git a/src/app/tests/suites/certification/Test_TC_DD_3_1.yaml b/src/app/tests/suites/certification/Test_TC_DD_3_1.yaml index 3edd1c31b9539d..6ba0a3508c2a62 100644 --- a/src/app/tests/suites/certification/Test_TC_DD_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DD_3_1.yaml @@ -25,20 +25,32 @@ tests: "Commissioner and Commissionee discover each other and connect via the discovery mode applicable for the DUT." verification: | - On DUT: sudo ./chip-all-clusters-app - - - On Controller: ./chip-tool discover commissionables - - 1. Connect the device to Ethernet - 2. Disover the device using CHIP Tool . ./chip-tool discover commissionables - 3. connect -ip , - 4. Once device is provisioned, read 'Product Name' attribute from the Basic cluster. Example:./chip-tool basic read product-name 1 0 - - Reference : below Full log for the above commands (click on this cell if you like to see complete log) - - - controller > ./chip-tool discover commissionables + On DUT: sudo ./chip-all-clusters-app --wifi --discriminator 3841 + + [1653471956.966855][10713:10713] CHIP:SPT: PASE PBKDF iterations set to 1000 + [1653471956.966887][10713:10713] CHIP:SPT: LinuxCommissionableDataProvider didn't get a PASE salt, generating one. + [1653471956.972152][10713:10713] CHIP:DL: Device Configuration: + [1653471956.972270][10713:10713] CHIP:DL: Serial Number: TEST_SN + [1653471956.972315][10713:10713] CHIP:DL: Vendor Id: 65521 (0xFFF1) + [1653471956.972354][10713:10713] CHIP:DL: Product Id: 32769 (0x8001) + [1653471956.972388][10713:10713] CHIP:DL: Hardware Version: 0 + [1653471956.972413][10713:10713] CHIP:DL: Setup Pin Code (0 for UNKNOWN/ERROR): 20202021 + [1653471956.972435][10713:10713] CHIP:DL: Setup Discriminator (0xFFFF for UNKNOWN/ERROR): 3841 (0xF01) + [1653471956.972464][10713:10713] CHIP:DL: Manufacturing Date: (not set) + [1653471956.972488][10713:10713] CHIP:DL: Device Type: 65535 (0xFFFF) + [1653471956.972509][10713:10713] CHIP:-: ==== Onboarding payload for Standard Commissioning Flow ==== + [1653471956.972546][10713:10713] CHIP:SVR: SetupQRCode: [MT:-24J0CEK01KA0648G00] + [1653471956.972579][10713:10713] CHIP:SVR: Copy/paste the below URL in a browser to see the QR Code: + [1653471956.972600][10713:10713] CHIP:SVR: https://dhrishi.github.io/connectedhomeip/qrcode.html?data=MT%3A-24J0CEK01KA0648G00 + [1653471956.972632][10713:10713] CHIP:SVR: Manual pairing code: [34970112332] + [1653471956.972654][10713:10713] CHIP:-: ==== Onboarding payload for Custom Commissioning Flows ==== + [1653471956.972715][10713:10713] CHIP:SVR: SetupQRCode: [MT:-24J048N01KA0648G00] + [1653471956.972748][10713:10713] CHIP:SVR: Copy/paste the below URL in a browser to see the QR Code: + [1653471956.972769][10713:10713] CHIP:SVR: https://dhrishi.github.io/connectedhomeip/qrcode.html?data=MT%3A-24J048N01KA0648G00 + [1653471956.972803][10713:10713] CHIP:SVR: Manual pairing code: [749701123365521327694] + + + connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool discover commissionables Waiting for device responses... CHIP:CTL: Generating ICAC CHIP:DL: AUDIT: ===== RANDOM NUMBER GENERATOR AUDIT START ==== @@ -182,13 +194,9 @@ tests: CHIP:DIS: Address 2: 192.168.1.12 - controller> sudo ./chip-tool pairing ethernet 112233 20202021 3840 192.168.1.12 5540 - - Output of this command in cell number I6 and J6 due to cell constraint of maximum size. + connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool pairing ble-wifi 1 zigbee-thread matter123 20202021 3841 - controller> sudo ./chip-tool basic read product-name 0x000000000001B669 0 - - ,, + connectedhomeip/examples/chip-tool/out/debug$ sudo ./chip-tool basic read product-name 1 0 disabled: true - label: @@ -196,6 +204,7 @@ tests: Establishment on the commissioning channel" verification: | Verify that the responder receives the PBKDFParamRequest message + Check on DUT: CHIP:SC: Received PBKDF param request CHIP:SC: Peer assigned session ID 18450 @@ -205,6 +214,19 @@ tests: CHIP:IN: Prepared unauthenticated message 0xaaaaad340560 to 0x0000000000000000 (0) of type 0x21 and protocolId (0, 0) on exchange 63762r with MessageCounter:1341084110. CHIP:IN: Sending unauthenticated msg 0xaaaaad340560 with MessageCounter:1341084110 to 0x0000000000000000 at monotonic time: 0000000000FBA380 msec CHIP:SC: Sent PBKDF param response + + Check on TH: + Sent PBKDF param request + [1653471961.364996][30157:30162] CHIP:CTL: Setting wifi credentials from parameters + [1653471961.365051][30157:30162] CHIP:CTL: Setting attestation nonce to random value + [1653471961.365166][30157:30162] CHIP:CTL: Setting CSR nonce to random value + [1653471961.365285][30157:30162] CHIP:CTL: Commission called for node ID 0x0000000000000001 + [1653471961.365797][30157:30163] CHIP:DL: TRACE: Bluez mainloop starting Thread + [1653471961.366157][30157:30160] CHIP:DL: TRACE: Bus acquired for name C-75cd + [1653471961.382240][30157:30162] CHIP:DL: PlatformBlueZInit init success + [1653471961.393893][30157:30160] CHIP:BLE: BLE removing known devices. + [1653471961.397319][30157:30160] CHIP:BLE: BLE initiating scan. + [1653471961.415415][30157:30160] CHIP:BLE: Device 21:2D:EF:B9:9D:46 does not look like a CHIP device. disabled: true - label: @@ -214,13 +236,25 @@ tests: Verify on DUT: CHIP:DL: NVS set: chip-config/fail-safe-armed = true + + Verify on TH: + + : Performing next commissioning step 'ArmFailSafe' + [1653471968.064493][30157:30162] CHIP:CTL: Arming failsafe (60 seconds) disabled: true - label: "If (PICS_WIFI) or (PICS_THREAD), Commissioner SHALL configure regulatory information in the Commissionee." verification: | - Need chip-tool implementation + Verify on TH Log: + + Performing next commissioning step 'ConfigRegulatory' + [1653471968.202645][30157:30162] CHIP:CTL: Setting Regulatory Config + [1653471968.202666][30157:30162] CHIP:CTL: No regulatory config supplied by controller, leaving as device default (0) + + Verify on DUT: + NVS set: chip-config/regulatory-location = 0 (0x0) disabled: true - label: @@ -234,8 +268,8 @@ tests: [1646909537.115081][3145:3150] CHIP:CTL: Successfully validated 'Attestation Information' command received from the device. Verify on DUT: - CHIP:ZCL: OpCreds: commissioner has requested a CSR - CHIP:ZCL: OpCreds: NewCertificateSigningRequest returned ../../third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp:1114: Success + OpCreds: Received a CSRRequest command + CHIP:ZCL: OpCreds: NewCertificateSigningRequest succeeded disabled: true - label: @@ -244,12 +278,15 @@ tests: verification: | Verify on DUT: - CHIP:CTL: Performing next commissioning step 'SendTrustedRootCert' - CHIP:CTL: Sending root certificate to the device + OpCreds: Received an AddTrustedRootCertificate command + + Verify on TH: + + Sending root certificate to the device CHIP:DMG: ICR moving to [AddingComm] CHIP:DMG: ICR moving to [AddedComma] - CHIP:IN: Prepared secure message 0xaaaafc0d5be8 to 0x000000000001B669 (1) of type 0x8 and protocolId (0, 1) on exchange 63770i with MessageCounter:695615. - CHIP:IN: Sending encrypted msg 0xaaaafc0d5be8 with MessageCounter:695615 to 0x000000000001B669 (1) at monotonic time: 0000000000FBA3DE msec + CHIP:IN: Prepared secure message 0xffffa4cdf8c8 to 0xFFFFFFFB00000000 (0) of type 0x8 and protocolId (0, 1) on exchange 23999i with MessageCounter:211812. + CHIP:IN: Sending encrypted msg 0xffffa4cdf8c8 with MessageCounter:211812 to 0xFFFFFFFB00000000 (0) at monotonic time: 00000000010D06BD msec CHIP:DMG: ICR moving to [CommandSen] CHIP:CTL: Sent root certificate to the device disabled: true @@ -260,69 +297,70 @@ tests: verification: | Verify the following on TH after commissioning - [1646909537.115328][3145:3150] CHIP:CTL: Sending CSR request to 0xffffac001730 device - [1646909537.115512][3145:3150] CHIP:DMG: ICR moving to [AddingComm] - [1646909537.115589][3145:3150] CHIP:DMG: ICR moving to [AddedComma] - [1646909537.115861][3145:3150] CHIP:IN: Prepared secure message 0xffffb67cbd98 to 0x0000000000000001 (1) of type 0x8 and protocolId (0, 1) on exchange 7731i with MessageCounter:8191681. - [1646909537.115959][3145:3150] CHIP:IN: Sending encrypted msg 0xffffb67cbd98 with MessageCounter:8191681 to 0x0000000000000001 (1) at monotonic time: 10877964 msec - [1646909537.116173][3145:3150] CHIP:DMG: ICR moving to [CommandSen] - [1646909537.116242][3145:3150] CHIP:CTL: Sent CSR request, waiting for the CSR - [1646909537.116356][3145:3150] CHIP:DMG: ICR moving to [AwaitingDe] - [1646909537.193355][3145:3150] CHIP:DL: HandlePlatformSpecificBLEEvent 16387 - [1646909537.241579][3145:3148] CHIP:DL: Indication received, conn = 0xffffa803b310 - [1646909537.241838][3145:3150] CHIP:DL: HandlePlatformSpecificBLEEvent 16389 - [1646909537.341266][3145:3148] CHIP:DL: Indication received, conn = 0xffffa803b310 - [1646909537.341523][3145:3150] CHIP:DL: HandlePlatformSpecificBLEEvent 16389 - [1646909537.341903][3145:3150] CHIP:EM: Received message of type 0x9 with protocolId (0, 1) and MessageCounter:2304337 on exchange 7731i - [1646909537.341988][3145:3150] CHIP:EM: Found matching exchange: 7731i, Delegate: 0xffffa8026ab0 - [1646909537.342086][3145:3150] CHIP:DMG: ICR moving to [ResponseRe] - [1646909537.342191][3145:3150] CHIP:DMG: InvokeResponseMessage = - [1646909537.342251][3145:3150] CHIP:DMG: { - [1646909537.342310][3145:3150] CHIP:DMG: suppressResponse = false, - [1646909537.342370][3145:3150] CHIP:DMG: InvokeResponseIBs = - [1646909537.342450][3145:3150] CHIP:DMG: [ - [1646909537.342511][3145:3150] CHIP:DMG: InvokeResponseIB = - [1646909537.342598][3145:3150] CHIP:DMG: { - [1646909537.342662][3145:3150] CHIP:DMG: CommandDataIB = - [1646909537.342749][3145:3150] CHIP:DMG: { - [1646909537.342832][3145:3150] CHIP:DMG: CommandPathIB = - [1646909537.342915][3145:3150] CHIP:DMG: { - [1646909537.342998][3145:3150] CHIP:DMG: EndpointId = 0x0, - [1646909537.343091][3145:3150] CHIP:DMG: ClusterId = 0x3e, - [1646909537.343177][3145:3150] CHIP:DMG: CommandId = 0x5, - [1646909537.343262][3145:3150] CHIP:DMG: }, - [1646909537.343346][3145:3150] CHIP:DMG: - [1646909537.343420][3145:3150] CHIP:DMG: CommandData = - [1646909537.343548][3145:3150] CHIP:DMG: { - [1646909537.343632][3145:3150] CHIP:DMG: 0x0 = [ - [1646909537.343772][3145:3150] CHIP:DMG: 0x15, 0x30, 0x1, 0xcb, 0x30, 0x81, 0xc8, 0x30, 0x70, 0x2, 0x1, 0x0, 0x30, 0xe, 0x31, 0xc, 0x30, 0xa, 0x6, 0x3, 0x55, 0x4, 0xa, 0xc, 0x3, 0x43, 0x53, 0x52, 0x30, 0x59, 0x30, 0x13, 0x6, 0x7, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x2, 0x1, 0x6, 0x8, 0x2a, 0x86 - [1646909537.343880][3145:3150] CHIP:DMG: ] - [1646909537.343968][3145:3150] CHIP:DMG: 0x1 = [ - [1646909537.344094][3145:3150] CHIP:DMG: 0xbd, 0xef, 0xb7, 0x8c, 0x5, 0x95, 0x9b, 0x60, 0xf4, 0xb1, 0xf7, 0x9c, 0x24, 0x50, 0x51, 0x9c, 0x59, 0x46, 0x97, 0x5e, 0x89, 0xe8, 0x7d, 0x29, 0x88, 0xac, 0x45, 0xed, 0xa6, 0xca, 0xac, 0x55, 0x2a, 0x7e, 0x11, 0x71, 0xe9, 0x68, 0x0, 0x91, 0xe, 0x23, - [1646909537.344193][3145:3150] CHIP:DMG: ] - [1646909537.344274][3145:3150] CHIP:DMG: }, - [1646909537.344349][3145:3150] CHIP:DMG: }, - [1646909537.344442][3145:3150] CHIP:DMG: - [1646909537.344508][3145:3150] CHIP:DMG: }, - [1646909537.344588][3145:3150] CHIP:DMG: - [1646909537.344646][3145:3150] CHIP:DMG: ], - [1646909537.344721][3145:3150] CHIP:DMG: - [1646909537.344779][3145:3150] CHIP:DMG: InteractionModelRevision = 1 - [1646909537.344837][3145:3150] CHIP:DMG: }, - [1646909537.344985][3145:3150] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0005 - [1646909537.345068][3145:3150] CHIP:CTL: Received certificate signing request from the device - [1646909537.345139][3145:3150] CHIP:CTL: Getting certificate chain for the device from the issuer - [1646909537.347800][3145:3150] CHIP:CTL: Verifying Certificate Signing Request - [1646909537.349300][3145:3150] CHIP:CTL: Generating NOC - [1646909537.350268][3145:3150] CHIP:CTL: Providing certificate chain to the commissioner - [1646909537.350347][3145:3150] CHIP:CTL: Received callback from the CA for NOC Chain generation. Status ../../third_party/connectedhomeip/src/controller/ExampleOperationalCredentialsIssuer.cpp:225: Success + CHIP:CTL: Commissioning stage next step: 'SendTrustedRootCert' -> 'SendNOC' + [1653471969.812357][30157:30162] CHIP:CTL: Performing next commissioning step 'SendNOC' + [1653471969.812478][30157:30162] CHIP:DMG: ICR moving to [AddingComm] + [1653471969.812559][30157:30162] CHIP:DMG: ICR moving to [AddedComma] + [1653471969.812778][30157:30162] CHIP:IN: Prepared secure message 0xffffa4ce0998 to 0xFFFFFFFB00000000 (0) of type 0x8 and protocolId (0, 1) on exchange 24000i with MessageCounter:211813. + [1653471969.812871][30157:30162] CHIP:IN: Sending encrypted msg 0xffffa4ce0998 with MessageCounter:211813 to 0xFFFFFFFB00000000 (0) at monotonic time: 00000000010D077D msec + [1653471969.813068][30157:30162] CHIP:DMG: ICR moving to [CommandSen] + [1653471969.813137][30157:30162] CHIP:CTL: Sent operational certificate to the device + [1653471969.813237][30157:30162] CHIP:DMG: ICR moving to [AwaitingDe] + [1653471969.952613][30157:30162] CHIP:DL: HandlePlatformSpecificBLEEvent 16387 + [1653471970.050705][30157:30162] CHIP:DL: HandlePlatformSpecificBLEEvent 16387 + [1653471970.148491][30157:30162] CHIP:DL: HandlePlatformSpecificBLEEvent 16387 + [1653471970.344099][30157:30160] CHIP:DL: Indication received, conn = 0xffff9c04df70 + [1653471970.344351][30157:30162] CHIP:DL: HandlePlatformSpecificBLEEvent 16389 + [1653471970.344611][30157:30162] CHIP:EM: Received message of type 0x9 with protocolId (0, 1) and MessageCounter:1000769 on exchange 24000i + [1653471970.344688][30157:30162] CHIP:EM: Found matching exchange: 24000i, Delegate: 0xffff9c06f0a0 + [1653471970.344771][30157:30162] CHIP:DMG: ICR moving to [ResponseRe] + [1653471970.344870][30157:30162] CHIP:DMG: InvokeResponseMessage = + [1653471970.345060][30157:30162] CHIP:DMG: { + [1653471970.345124][30157:30162] CHIP:DMG: suppressResponse = false, + [1653471970.345198][30157:30162] CHIP:DMG: InvokeResponseIBs = + [1653471970.345276][30157:30162] CHIP:DMG: [ + [1653471970.345338][30157:30162] CHIP:DMG: InvokeResponseIB = + [1653471970.345422][30157:30162] CHIP:DMG: { + [1653471970.345501][30157:30162] CHIP:DMG: CommandDataIB = + [1653471970.345586][30157:30162] CHIP:DMG: { + [1653471970.345666][30157:30162] CHIP:DMG: CommandPathIB = + [1653471970.345748][30157:30162] CHIP:DMG: { + [1653471970.345835][30157:30162] CHIP:DMG: EndpointId = 0x0, + [1653471970.345924][30157:30162] CHIP:DMG: ClusterId = 0x3e, + [1653471970.346017][30157:30162] CHIP:DMG: CommandId = 0x8, + [1653471970.346105][30157:30162] CHIP:DMG: }, + [1653471970.346198][30157:30162] CHIP:DMG: + [1653471970.346280][30157:30162] CHIP:DMG: CommandData = + [1653471970.346361][30157:30162] CHIP:DMG: { + [1653471970.346452][30157:30162] CHIP:DMG: 0x0 = 0, + [1653471970.346539][30157:30162] CHIP:DMG: 0x1 = 1, + [1653471970.346628][30157:30162] CHIP:DMG: }, + [1653471970.346702][30157:30162] CHIP:DMG: }, + [1653471970.346767][30157:30162] CHIP:DMG: + [1653471970.346889][30157:30162] CHIP:DMG: }, + [1653471970.346954][30157:30162] CHIP:DMG: + [1653471970.346999][30157:30162] CHIP:DMG: ], + [1653471970.347056][30157:30162] CHIP:DMG: + [1653471970.347101][30157:30162] CHIP:DMG: InteractionModelRevision = 1 + [1653471970.347144][30157:30162] CHIP:DMG: }, + [1653471970.347251][30157:30162] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008 + [1653471970.347339][30157:30162] CHIP:CTL: Device returned status 0 on receiving the NOC + [1653471970.347381][30157:30162] CHIP:CTL: Operational credentials provisioned on device 0xffff90000b60 + [1653471970.347439][30157:30162] CHIP:TOO: Secure Pairing Success + [1653471970.347485][30157:30162] CHIP:CTL: Successfully finished commissioning step 'SendNOC' + + Verify on DUT: + + OpCreds: Received an AddNOC command disabled: true - label: "Commissioner configures operational network on DUT if DUT both supports and requires" verification: | - see above + Verify the following on TH after commissioning + + [1646909537.345068][3145:3150] CHIP:CTL: Received certificate signing request from the device disabled: true - label: @@ -339,16 +377,22 @@ tests: verification: | Verify the following on TH: - CHIP:DIS: Resolving BFCBED670D527591:000000000001B669 ... - CHIP:DIS: Operational node lookup already in progress. Will NOT start a new one. - CHIP:DMG: ICR moving to [AwaitingDe] - CHIP:EM: Sending Standalone Ack for MessageCounter:9439913 on exchange 63771i - CHIP:IN: Prepared secure message 0xffffa1c07938 to 0x000000000001B669 (1) of type 0x10 and protocolId (0, 0) on exchange 63771i with MessageCounter:695619. - CHIP:IN: Sending encrypted msg 0xffffa1c07938 with MessageCounter:695619 to 0x000000000001B669 (1) at monotonic time: 0000000000FBA446 msec - CHIP:EM: Flushed pending ack for MessageCounter:9439913 on exchange 63771i - CHIP:DL: Avahi resolve found - CHIP:DIS: Node ID resolved for BFCBED670D527591:000000000001B669 - CHIP:DIS: Addr 0: [fe80::dea6:32ff:feba:b3f7]:5540 + CHIP:CTL: Commissioning stage next step: 'SendNOC' -> 'FindOperational' + [1653471976.344532][30157:30162] CHIP:CTL: Performing next commissioning step 'FindOperational' + [1653471976.344586][30157:30162] CHIP:CSM: FindOrEstablishSession: PeerId = CCCB8A2597E4538B:0000000000000001 + [1653471976.344642][30157:30162] CHIP:CSM: FindOrEstablishSession: No existing OperationalDeviceProxy instance found + [1653471976.344715][30157:30162] CHIP:CTL: OperationalDeviceProxy[CCCB8A2597E4538B:0000000000000001]: State change 1 --> 2 + [1653471976.344783][30157:30162] CHIP:DIS: Resolving CCCB8A2597E4538B:0000000000000001 ... + [1653471976.346864][30157:30162] CHIP:DIS: Operational node lookup already in progress. Will NOT start a new one. + [1653471976.347000][30157:30162] CHIP:DMG: ICR moving to [AwaitingDe] + [1653471976.348514][30157:30162] CHIP:DL: Avahi resolve found + [1653471976.348597][30157:30162] CHIP:DIS: Node ID resolved for CCCB8A2597E4538B:0000000000000001 + [1653471976.348633][30157:30162] CHIP:DIS: Hostname: E45F010F27530000 + [1653471976.348670][30157:30162] CHIP:DIS: IP Address #1: fe80::e65f:1ff:fe0f:2753 + [1653471976.348702][30157:30162] CHIP:DIS: Port: 5540 + [1653471976.348732][30157:30162] CHIP:DIS: Mrp Interval idle: 5000 ms + [1653471976.348762][30157:30162] CHIP:DIS: Mrp Interval active: 300 ms + [1653471976.349059][30157:30162] CHIP:DIS: UDP:[fe80::e65f:1ff:fe0f:2753%eth0]:5540: new best score: 3 disabled: true - label: @@ -356,10 +400,11 @@ tests: verification: | Verify the following on DUT: - CHIP:IN: CASE Session established. Setting up the secure channel. - CHIP:IN: New secure session created for device 0x000000000001B669, LSID:25250 PSID:18451! - CHIP:IN: CASE secure channel is available now. - CHIP:IN: CASE Server enabling CASE session setups + CASE Server enabling CASE session setups + [1653471957.713139][10713:10713] CHIP:SVR: Joining Multicast groups + [1653471957.713654][10713:10713] CHIP:ZCL: Emitting StartUp event + [1653471957.714762][10713:10713] CHIP:EVL: LogEvent event number: 0x0000000000000000 priority: 2, endpoint id: 0x0 cluster id: 0x0000_0028 event id: 0x0 Sys timestamp: 0x000000000059AC88 + [1653471957.715456][10713:10713] CHIP:ZCL: GeneralDiagnosticsDelegate: OnDeviceRebooted disabled: true - label: "Commissioner sends CommissioningComplete command" @@ -380,4 +425,11 @@ tests: CHIP:CTL: Performing next commissioning step 'Cleanup' CHIP:CTL: Successfully finished commissioning step 'Cleanup' CHIP:TOO: Device commissioning completed with success + CHIP:CTL: Performing next commissioning step 'Cleanup' + CHIP:DIS: Closing all BLE connections + CHIP:IN: Clearing BLE pending packets. + CHIP:BLE: Auto-closing end point's BLE connection. + CHIP:DL: Closing BLE GATT connection (con 0xffff9c04df70) + CHIP:CTL: Successfully finished commissioning step 'Cleanup' + CHIP:TOO: Device commissioning completed with success disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DD_3_10.yaml b/src/app/tests/suites/certification/Test_TC_DD_3_10.yaml index 406ec218b50496..2bc80b4dc717f8 100644 --- a/src/app/tests/suites/certification/Test_TC_DD_3_10.yaml +++ b/src/app/tests/suites/certification/Test_TC_DD_3_10.yaml @@ -13,7 +13,9 @@ # 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: 7.3.10. [TC-DD-3.10] Commissioning Flow - Custom Flow [DUT Commissioner] +name: + 3.3.10. [TC-DD-3.10] Commissioning Flow - Custom Flow = 2 [DUT - + Commissioner] config: nodeId: 0x12344321 @@ -22,21 +24,21 @@ config: tests: - label: - "DUT receives Onboarding Payload from the TH with Custom Flow bits set - to value 2" + "DUT receives Onboarding Payload from the TH with Custom Flow field + set to value 2" verification: | 1. Parse the TH Onboarding Payload using the DUT commissioner - Example using chip-too as a DUTl: - 16-MacBook-Pro:connectedhomeip liam$ ./examples/chip-tool/out/debug/chip-tool payload parse-setup-payload MT:YNJV7NMF00KA0648G00 - [1641844121253] [18592:788760] CHIP: [SPL] Parsing base38Representation: MT:YNJV7NMF00KA0648G00 - [1641844121254] [18592:788760] CHIP: [SPL] CommissioningFlow: 2 - [1641844121254] [18592:788760] CHIP: [SPL] VendorID: 9050 - [1641844121254] [18592:788760] CHIP: [SPL] Version: 0 - [1641844121254] [18592:788760] CHIP: [SPL] ProductID: 65279 - [1641844121254] [18592:788760] CHIP: [SPL] Discriminator: 3840 - [1641844121254] [18592:788760] CHIP: [SPL] SetUpPINCode: 20202021 - [1641844121254] [18592:788760] CHIP: [SPL] RendezvousInformation: 2 + Example using chip-too as a DUT: + $ ./out/chip-tool/chip-tool payload parse-setup-payload MT:-24J029Q00KA0648G00 + [1651077458589] [91233:65331701] CHIP: [SPL] Parsing base38Representation: MT:-24J029Q00KA0648G00 + [1651077458590] [91233:65331701] CHIP: [SPL] CommissioningFlow: 2 + [1651077458590] [91233:65331701] CHIP: [SPL] VendorID: 65521 + [1651077458590] [91233:65331701] CHIP: [SPL] Version: 0 + [1651077458590] [91233:65331701] CHIP: [SPL] ProductID: 32769 + [1651077458590] [91233:65331701] CHIP: [SPL] Discriminator: 3840 + [1651077458590] [91233:65331701] CHIP: [SPL] SetUpPINCode: 20202021 + [1651077458590] [91233:65331701] CHIP: [SPL] RendezvousInformation: 4 2. Verify that the Commissioning Flow is set to 2 (Custom Flow) disabled: true @@ -45,7 +47,7 @@ tests: "DUT fetches commissioning data from DCL using VID and PID from Onboarding Payload" verification: | - 1. Observe the DCL on the DUT from the TH + 1. Observe the TH's DCL on the DUT disabled: true - label: @@ -59,4 +61,18 @@ tests: - label: "DUT commissions TH" verification: | 1. Verify commissioning was successful + + TH all-clusters-app: + [1651103591.176135][8940:8940] CHIP:SVR: Commissioning completed successfully + [1651103591.176179][8940:8940] CHIP:DIS: Updating services using commissioning mode 0 + + DUT chip-tool: + $ ./out/chip-tool/chip-tool pairing qrcode 1 MT:-24J029Q00KA0648G00 + + [1651103591085] [94586:65580481] CHIP: [CTL] Received CommissioningComplete response + [1651103591085] [94586:65580481] CHIP: [CTL] Successfully finished commissioning step 'SendComplete' + [1651103591085] [94586:65580481] CHIP: [CTL] Commissioning stage next step: 'SendComplete' -> 'Cleanup' + [1651103591085] [94586:65580481] CHIP: [CTL] Performing next commissioning step 'Cleanup' + [1651103591085] [94586:65580481] CHIP: [CTL] Successfully finished commissioning step 'Cleanup' + [1651103591085] [94586:65580481] CHIP: [TOO] Device commissioning completed with success disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DD_3_11.yaml b/src/app/tests/suites/certification/Test_TC_DD_3_11.yaml index d48c8709a9d935..d3dc52de5cc531 100644 --- a/src/app/tests/suites/certification/Test_TC_DD_3_11.yaml +++ b/src/app/tests/suites/certification/Test_TC_DD_3_11.yaml @@ -44,6 +44,17 @@ tests: [1651101335.734598][22353:22353] CHIP:SVR: SetupQRCode: [MT:-24J042C00KA0648G00] [1651101335.735182][22353:22353] CHIP:SVR: Copy/paste the below URL in a browser to see the QR Code: [1651101335.735618][22353:22353] CHIP:SVR: https://dhrishi.github.io/connectedhomeip/qrcode.html?data=MT%3A-24J042C00KA0648G00 + + + ubuntu@ubuntu:~/apps$ ./chip-tool payload parse-setup-payload MT:-24J0YXE00KA0648G00 + [1653562354.037031][4312:4312] CHIP:SPL: Parsing base38Representation: MT:-24J0YXE00KA0648G00 + [1653562354.037218][4312:4312] CHIP:SPL: Version: 0 + [1653562354.037243][4312:4312] CHIP:SPL: VendorID: 65521 + [1653562354.037263][4312:4312] CHIP:SPL: ProductID: 32769 + [1653562354.037283][4312:4312] CHIP:SPL: Custom flow: 2 (CUSTOM) + [1653562354.037337][4312:4312] CHIP:SPL: Capabilities: 0x02 (BLE) + [1653562354.037359][4312:4312] CHIP:SPL: Discriminator: 3840 + [1653562354.037378][4312:4312] CHIP:SPL: Passcode: 20202021 disabled: true - label: @@ -94,6 +105,18 @@ tests: [1651105420.610886][27312:27312] CHIP:DL: Device Type: 65535 (0xFFFF) [1651105420.610907][27312:27312] CHIP:-: ==== Onboarding payload for Standard Commissioning Flow ==== [1651105420.610962][27312:27312] CHIP:SVR: SetupQRCode: [MT:-24J0AFN00KA0648G00] + + + ubuntu@ubuntu:~/may30_cntrl/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool payload parse-setup-payload MT:-24J0AFN00KA0648G00 + [1653998998.287050][2941:2941] CHIP:SPL: Parsing base38Representation: MT:-24J0AFN00KA0648G00 + [1653998998.287266][2941:2941] CHIP:SPL: Version: 0 + [1653998998.287293][2941:2941] CHIP:SPL: VendorID: 65521 + [1653998998.287313][2941:2941] CHIP:SPL: ProductID: 32769 + [1653998998.287332][2941:2941] CHIP:SPL: Custom flow: 0 (STANDARD) + [1653998998.287354][2941:2941] CHIP:SPL: Capabilities: 0x04 (On IP network) + [1653998998.287374][2941:2941] CHIP:SPL: Discriminator: 3840 + [1653998998.287394][2941:2941] CHIP:SPL: Passcode: 20202021 + ubuntu@ubuntu:~/may30_cntrl/connectedhomeip/examples/chip-tool/out/debug$ disabled: true - label: diff --git a/src/app/tests/suites/certification/Test_TC_DD_3_12.yaml b/src/app/tests/suites/certification/Test_TC_DD_3_12.yaml index cca0fe070a3ef5..c2410ba0ab6b92 100644 --- a/src/app/tests/suites/certification/Test_TC_DD_3_12.yaml +++ b/src/app/tests/suites/certification/Test_TC_DD_3_12.yaml @@ -30,7 +30,7 @@ tests: mode. Ensure the Version bit string follows the current Matter spec. documentation." verification: | - $ ./out/ble/all-clusters-app/chip-all-clusters-app --capabilities 2 --custom-flow 1 + $ ./out/ble/all-clusters-app/chip-all-clusters-app --capabilities 1 --custom-flow 1 ... [1651101726.415743][23212:23212] CHIP:DL: Device Configuration: [1651101726.415810][23212:23212] CHIP:DL: Serial Number: TEST_SN @@ -43,6 +43,17 @@ tests: [1651101726.416004][23212:23212] CHIP:DL: Device Type: 65535 (0xFFFF) [1651101726.416046][23212:23212] CHIP:-: ==== Onboarding payload for Standard Commissioning Flow ==== [1651101726.416115][23212:23212] CHIP:SVR: SetupQRCode: [MT:-24J00ID00KA0648G00] + + + ubuntu@ubuntu:~/may30_cntrl/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool payload parse-setup-payload MT:-24J00ID00KA0648G00 + [1653992397.769301][2532:2532] CHIP:SPL: Parsing base38Representation: MT:-24J00ID00KA0648G00 + [1653992397.769449][2532:2532] CHIP:SPL: Version: 0 + [1653992397.769476][2532:2532] CHIP:SPL: VendorID: 65521 + [1653992397.769496][2532:2532] CHIP:SPL: ProductID: 32769 + [1653992397.769515][2532:2532] CHIP:SPL: Custom flow: 1 (USER ACTION REQUIRED) + [1653992397.769537][2532:2532] CHIP:SPL: Capabilities: 0x02 (BLE) + [1653992397.769558][2532:2532] CHIP:SPL: Discriminator: 3840 + [1653992397.769577][2532:2532] CHIP:SPL: Passcode: 20202021 disabled: true - label: @@ -57,6 +68,12 @@ tests: pairing hint." verification: | 1. Follow the steps given in the TH's pairing hint to allow for commissioning to happen. TH should not be commissioned until these steps were followed and indicate DUT can proceed with commissioning the TH to the Matter network + + ./chip-tool pairing code 1 MT:-24J00ID00KA0648G00 + + [1653992449.765427][2535:2540] CHIP:-: ../../third_party/connectedhomeip/src/platform/Linux/BLEManagerImpl.cpp:748: CHIP Error 0x0000002D: Not Implemented at ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:450 + [1653992449.765485][2535:2540] CHIP:CTL: Stopping commissioning discovery over DNS-SD + [1653992449.765541][2535:2540] CHIP:TOO: Secure Pairing Failed disabled: true - label: @@ -70,7 +87,9 @@ tests: DUT Commissioner: - $ ./out/chip-tool/chip-tool pairing qrcode 1 MT:-24J00ID00KA0648G00 + ubuntu@ubuntu:~/may30_cntrl/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool pairing ble-wifi 1 zigbee-thread matter123 20202021 3840 + + [1651101988809] [94439:65564515] CHIP: [CTL] Received CommissioningComplete response [1651101988809] [94439:65564515] CHIP: [CTL] Successfully finished commissioning step 'SendComplete' @@ -82,8 +101,8 @@ tests: - label: "If (PICS_DT_IP), User-Intent Commissioning Flow: Use a Commissionee - with a QR code that has the Custom Flow field set to 1 and supports IP - Network for its Discovery Capability. Commissionee is NOT in + with a QR code that has the Custom Flow field set to 1 and supporttwos + IP Nerk for its Discovery Capability. Commissionee is NOT in commissioning mode. Ensure the Version bit string follows the current Matter spec. documentation." verification: | @@ -99,6 +118,17 @@ tests: [1651105004.719133][27096:27096] CHIP:DL: Device Type: 65535 (0xFFFF) [1651105004.719153][27096:27096] CHIP:-: ==== Onboarding payload for Standard Commissioning Flow ==== [1651105004.719209][27096:27096] CHIP:SVR: SetupQRCode: [MT:-24J06VO00KA0648G00] + + ubuntu@ubuntu:~/may30_cntrl/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool payload parse-setup-payload MT:-24J06VO00KA0648G00 + [1653996764.810698][2819:2819] CHIP:SPL: Parsing base38Representation: MT:-24J06VO00KA0648G00 + [1653996764.810876][2819:2819] CHIP:SPL: Version: 0 + [1653996764.810903][2819:2819] CHIP:SPL: VendorID: 65521 + [1653996764.810923][2819:2819] CHIP:SPL: ProductID: 32769 + [1653996764.810943][2819:2819] CHIP:SPL: Custom flow: 1 (USER ACTION REQUIRED) + [1653996764.810966][2819:2819] CHIP:SPL: Capabilities: 0x04 (On IP network) + [1653996764.810987][2819:2819] CHIP:SPL: Discriminator: 3840 + [1653996764.811006][2819:2819] CHIP:SPL: Passcode: 20202021 + ubuntu@ubuntu:~/may30_cntrl/connectedhomeip/examples/chip-tool/out/debug$ disabled: true - label: diff --git a/src/app/tests/suites/certification/Test_TC_DD_3_13.yaml b/src/app/tests/suites/certification/Test_TC_DD_3_13.yaml index b5d359aeb20384..466ab754ec353b 100644 --- a/src/app/tests/suites/certification/Test_TC_DD_3_13.yaml +++ b/src/app/tests/suites/certification/Test_TC_DD_3_13.yaml @@ -42,6 +42,17 @@ tests: [1651103874.314412][26507:26507] CHIP:DL: Manufacturing Date: (not set) [1651103874.314434][26507:26507] CHIP:DL: Device Type: 65535 (0xFFFF) [1651103874.314502][26507:26507] CHIP:SVR: SetupQRCode: [MT:-24J0YXE00KA0648G00] + + ubuntu@ubuntu:~/may30_cntrl/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool payload parse-setup-payload MT:-24J0YXE00KA0648G00 + [1653997840.457937][2875:2875] CHIP:SPL: Parsing base38Representation: MT:-24J0YXE00KA0648G00 + [1653997840.458108][2875:2875] CHIP:SPL: Version: 0 + [1653997840.458134][2875:2875] CHIP:SPL: VendorID: 65521 + [1653997840.458155][2875:2875] CHIP:SPL: ProductID: 32769 + [1653997840.458175][2875:2875] CHIP:SPL: Custom flow: 2 (CUSTOM) + [1653997840.458197][2875:2875] CHIP:SPL: Capabilities: 0x02 (BLE) + [1653997840.458218][2875:2875] CHIP:SPL: Discriminator: 3840 + [1653997840.458237][2875:2875] CHIP:SPL: Passcode: 20202021 + ubuntu@ubuntu:~/may30_cntrl/connectedhomeip/examples/chip-tool/out/debug$ disabled: true - label: @@ -98,6 +109,19 @@ tests: [1651103447.175998][8940:8940] CHIP:DL: Device Type: 65535 (0xFFFF) [1651103447.176023][8940:8940] CHIP:-: ==== Onboarding payload for Standard Commissioning Flow ==== [1651103447.176084][8940:8940] CHIP:SVR: SetupQRCode: [MT:-24J029Q00KA0648G00] + + + ubuntu@ubuntu:~/may30_cntrl/connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool payload parse-setup-payload MT:-24J029Q00KA0648G00 + [1653998683.950764][2924:2924] CHIP:SPL: Parsing base38Representation: MT:-24J029Q00KA0648G00 + [1653998683.951071][2924:2924] CHIP:SPL: Version: 0 + [1653998683.951203][2924:2924] CHIP:SPL: VendorID: 65521 + [1653998683.951256][2924:2924] CHIP:SPL: ProductID: 32769 + [1653998683.951305][2924:2924] CHIP:SPL: Custom flow: 2 (CUSTOM) + [1653998683.951357][2924:2924] CHIP:SPL: Capabilities: 0x04 (On IP network) + [1653998683.951451][2924:2924] CHIP:SPL: Discriminator: 3840 + [1653998683.951498][2924:2924] CHIP:SPL: Passcode: 20202021 + ubuntu@ubuntu:~/may30_cntrl/connectedhomeip/examples/chip-tool/out/debug$ + " disabled: true - label: diff --git a/src/app/tests/suites/certification/Test_TC_DD_3_14.yaml b/src/app/tests/suites/certification/Test_TC_DD_3_14.yaml index 1b95bfc75a982d..18f613c4555c88 100644 --- a/src/app/tests/suites/certification/Test_TC_DD_3_14.yaml +++ b/src/app/tests/suites/certification/Test_TC_DD_3_14.yaml @@ -27,16 +27,17 @@ tests: verification: | $ ./out/all-clusters-app/chip-all-clusters-app --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --custom-flow 2 --capabilities 4 --discriminator 3840 --passcode 20202021 - [1651165486.365306][4112:4112] CHIP:DL: Device Configuration: - [1651165486.365374][4112:4112] CHIP:DL: Serial Number: TEST_SN - [1651165486.365415][4112:4112] CHIP:DL: Vendor Id: 65521 (0xFFF1) - [1651165486.365449][4112:4112] CHIP:DL: Product Id: 32769 (0x8001) - [1651165486.365479][4112:4112] CHIP:DL: Hardware Version: 0 - [1651165486.365502][4112:4112] CHIP:DL: Setup Pin Code (0 for UNKNOWN/ERROR): 20202021 - [1651165486.365522][4112:4112] CHIP:DL: Setup Discriminator (0xFFFF for UNKNOWN/ERROR): 3840 (0xF00) - [1651165486.365549][4112:4112] CHIP:DL: Manufacturing Date: (not set) - [1651165486.365570][4112:4112] CHIP:DL: Device Type: 65535 (0xFFFF) - [1651165486.365646][4112:4112] CHIP:SVR: SetupQRCode: [MT:-24J029Q00KA0648G00] + [1654000392.120361][3962:3962] CHIP:DL: Device Configuration: + [1654000392.120522][3962:3962] CHIP:DL: Serial Number: (not set) + [1654000392.120578][3962:3962] CHIP:DL: Vendor Id: 65521 (0xFFF1) + [1654000392.120631][3962:3962] CHIP:DL: Product Id: 32769 (0x8001) + [1654000392.120677][3962:3962] CHIP:DL: Hardware Version: 0 + [1654000392.120711][3962:3962] CHIP:DL: Setup Pin Code (0 for UNKNOWN/ERROR): 20202021 + [1654000392.120742][3962:3962] CHIP:DL: Setup Discriminator (0xFFFF for UNKNOWN/ERROR): 3840 (0xF00) + [1654000392.120783][3962:3962] CHIP:DL: Manufacturing Date: (not set) + [1654000392.120816][3962:3962] CHIP:DL: Device Type: 65535 (0xFFFF) + [1654000392.120846][3962:3962] CHIP:-: ==== Onboarding payload for Standard Commissioning Flow ==== + [1654000392.120891][3962:3962] CHIP:SVR: SetupQRCode: [MT:-24J0YXE00KA0648G00] disabled: true - label: @@ -50,9 +51,9 @@ tests: - label: "Scan/read the QR code, generated in the previous step, using the DUT" verification: | - ERROR: chip-tool allows pairing to all-clusters-app when QR code contains invalid version string=2 (spec says it should be 000) + $ ./out/chip-tool/chip-tool pairing code 1 MT:034J029Q00KA0648G00 - $ ./out/chip-tool/chip-tool pairing qrcode 1 MT:034J029Q00KA0648G00 + ERROR: Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:50: CHIP Error 0x0000002F: Invalid argument disabled: true - label: @@ -101,9 +102,9 @@ tests: - label: "Scan/read the QR code, generated in the previous step, using the DUT" verification: | - ERROR: chip-tool allows pairing to all-clusters-app when QR code contains Reserved commissioning flow but device uses custom commissioning flow + $ ./out/chip-tool/chip-tool pairing code 1 MT:-24J0-OR00KA0648G00 - $ ./out/chip-tool/chip-tool pairing qrcode 1 MT:-24J0-OR00KA0648G00 + ERROR: Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:50: CHIP Error 0x0000002F: Invalid argument disabled: true - label: @@ -118,9 +119,11 @@ tests: "If (PICS_DT_BLE), Scan/read the QR code, generated in the previous step, using the DUT" verification: | - ERROR: chip-tool allows pairing to all-clusters-app when QR code contains BLE device discovery but device uses IP device discovery + $ ./out/chip-tool/chip-tool pairing code 1 MT:-24J0YXE00KA0648G00 - $ ./out/chip-tool/chip-tool pairing qrcode 1 MT:-24J0YXE00KA0648G00 + CHIP:SC: PASESession timed out while waiting for a response from the peer. Expected message type was 33 + [1653048447.653685][119116:119121] CHIP:TOO: Secure Pairing Failed + [1653048447.653777][119116:119121] CHIP:TOO: Pairing Failure: ../../third_party/connectedhomeip/src/protocols/secure_channel/PASESession.cpp:245: CHIP Error 0x00000032: Timeout disabled: true - label: @@ -135,7 +138,11 @@ tests: "If (PICS_DT_IP), Scan/read the QR code, generated in the previous step, using the DUT" verification: | - $ ./out/chip-tool/chip-tool pairing qrcode 1 MT:-24J029Q00KA0648G00 + $ ./out/chip-tool/chip-tool pairing code 1 MT:-24J029Q00KA0648G00 + + PASESession timed out while waiting for a response from the peer. Expected message type was 33 + [1653048958.640087][119165:119170] CHIP:TOO: Secure Pairing Failed + [1653048958.640178][119165:119170] CHIP:TOO: Pairing Failure: ../../third_party/connectedhomeip/src/protocols/secure_channel/PASESession.cpp:245: CHIP Error 0x00000032: Timeout disabled: true - label: @@ -150,9 +157,9 @@ tests: - label: "Scan/read the QR code, generated in the previous step, using the DUT" verification: | - ERROR: chip-tool allows pairing to all-clusters-app when QR code contains the Reserved discovery capability but device supports IP discovery + $ ./out/chip-tool/chip-tool pairing code 1 MT:-24J0EZA10KA0648G00 - $ ./out/chip-tool/chip-tool pairing qrcode 1 MT:-24J0EZA10KA0648G00 + ERROR: Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:50: CHIP Error 0x0000002F: Invalid argument disabled: true - label: @@ -182,74 +189,58 @@ tests: "Scan each of the generated QR codes from the previous step using DUT" verification: | TH chip-all-clusters-app Commissionee: - [1651179082.761318][12346:12346] CHIP:SC: Received error (protocol code 2) during PASE process. ../../examples/all-clusters-app/linux/third_party/connectedhomeip/src/protocols/secure_channel/PASESession.cpp:784: CHIP Error 0x00000038: Invalid PASE parameter - [1651179082.761425][12346:12346] CHIP:SC: Failed during PASE session setup. ../../examples/all-clusters-app/linux/third_party/connectedhomeip/src/protocols/secure_channel/PASESession.cpp:784: CHIP Error 0x00000038: Invalid PASE parameter - [1651179082.761479][12346:12346] CHIP:SVR: Commissioning failed (attempt 1): ../../examples/all-clusters-app/linux/third_party/connectedhomeip/src/protocols/secure_channel/PASESession.cpp:784: CHIP Error 0x00000038: Invalid PASE parameter - - $ ./out/chip-tool/chip-tool pairing qrcode 1 MT:-24J029Q00OC0000000 - [1651179082655] [10999:245999] CHIP: [SC] Failed to verify peer's MAC. This can happen when setup code is incorrect. - [1651179082655] [10999:245999] CHIP: [SC] Sending status report. Protocol code 2, exchange 65469 - [1651179082655] [10999:245999] CHIP: [EM] Piggybacking Ack for MessageCounter:380681523 on exchange: 65469i - [1651179082655] [10999:245999] CHIP: [IN] Prepared unauthenticated message 0x7fcc93820a68 to 0x0000000000000000 (0) of type 0x40 and protocolId (0, 0) on exchange 65469i with MessageCounter:515375235. - [1651179082655] [10999:245999] CHIP: [IN] Sending unauthenticated msg 0x7fcc93820a68 with MessageCounter:515375235 to 0x0000000000000000 at monotonic time: 0000000001094FBF msec - [1651179082655] [10999:245999] CHIP: [SC] Failed during PASE session setup. ../../examples/chip-tool/third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp:1352: CHIP Error 0x000000AC: Internal error - [1651179082655] [10999:245999] CHIP: [TOO] Secure Pairing Failed - [1651179082655] [10999:245999] CHIP: [TOO] Pairing Failure: ../../examples/chip-tool/third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp:1352: CHIP Error 0x000000AC: Internal error - - $ ./out/chip-tool/chip-tool pairing qrcode 1 MT:-24J029Q00KMSP0Z800 - [1651179338231] [11042:248762] CHIP: [SC] Failed during PASE session setup. ../../examples/chip-tool/third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp:1352: CHIP Error 0x000000AC: Internal error - [1651179338231] [11042:248762] CHIP: [TOO] Secure Pairing Failed - [1651179338231] [11042:248762] CHIP: [TOO] Pairing Failure: ../../examples/chip-tool/third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp:1352: CHIP Error 0x000000AC: Internal error - - $ ./out/chip-tool/chip-tool pairing qrcode 1 MT:-24J029Q00GWID1WH00 - [1651179360470] [11053:249083] CHIP: [SC] Failed during PASE session setup. ../../examples/chip-tool/third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp:1352: CHIP Error 0x000000AC: Internal error - [1651179360470] [11053:249083] CHIP: [TOO] Secure Pairing Failed - [1651179360470] [11053:249083] CHIP: [TOO] Pairing Failure: ../../examples/chip-tool/third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp:1352: CHIP Error 0x000000AC: Internal error - - $ ./out/chip-tool/chip-tool pairing qrcode 1 MT:-24J029Q00C4912TQ00 - [1651179360470] [11053:249083] CHIP: [SC] Failed during PASE session setup. ../../examples/chip-tool/third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp:1352: CHIP Error 0x000000AC: Internal error - [1651179360470] [11053:249083] CHIP: [TOO] Secure Pairing Failed - [1651179360470] [11053:249083] CHIP: [TOO] Pairing Failure: ../../examples/chip-tool/third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp:1352: CHIP Error 0x000000AC: Internal error - - $ ./out/chip-tool/chip-tool pairing qrcode 1 MT:-24J029Q008E.Q2QZ00 - [1651179528926] [11097:251129] CHIP: [SC] Failed during PASE session setup. ../../examples/chip-tool/third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp:1352: CHIP Error 0x000000AC: Internal error - [1651179528926] [11097:251129] CHIP: [TOO] Secure Pairing Failed - [1651179528926] [11097:251129] CHIP: [TOO] Pairing Failure: ../../examples/chip-tool/third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp:1352: CHIP Error 0x000000AC: Internal error - - $ ./out/chip-tool/chip-tool pairing qrcode 1 MT:-24J029Q004ORE3N610 - [1651179553222] [11099:251475] CHIP: [SC] Failed during PASE session setup. ../../examples/chip-tool/third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp:1352: CHIP Error 0x000000AC: Internal error - [1651179553222] [11099:251475] CHIP: [TOO] Secure Pairing Failed - [1651179553222] [11099:251475] CHIP: [TOO] Pairing Failure: ../../examples/chip-tool/third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp:1352: CHIP Error 0x000000AC: Internal error - - $ ./out/chip-tool/chip-tool pairing qrcode 1 MT:-24J029Q000YH24KF10 - [1651179566539] [11100:251638] CHIP: [SC] Failed during PASE session setup. ../../examples/chip-tool/third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp:1352: CHIP Error 0x000000AC: Internal error - [1651179566539] [11100:251638] CHIP: [TOO] Secure Pairing Failed - [1651179566539] [11100:251638] CHIP: [TOO] Pairing Failure: ../../examples/chip-tool/third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp:1352: CHIP Error 0x000000AC: Internal error - - $ ./out/chip-tool/chip-tool pairing qrcode 1 MT:-24J029Q00Y58S4HO10 - [1651179578818] [11110:251820] CHIP: [SC] Failed during PASE session setup. ../../examples/chip-tool/third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp:1352: CHIP Error 0x000000AC: Internal error - [1651179578818] [11110:251820] CHIP: [TOO] Secure Pairing Failed - [1651179578818] [11110:251820] CHIP: [TOO] Pairing Failure: ../../examples/chip-tool/third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp:1352: CHIP Error 0x000000AC: Internal error - - $ ./out/chip-tool/chip-tool pairing qrcode 1 MT:-24J029Q00UF-F5EX10 - [1651179592485] [11111:251958] CHIP: [SC] Failed during PASE session setup. ../../examples/chip-tool/third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp:1352: CHIP Error 0x000000AC: Internal error - [1651179592485] [11111:251958] CHIP: [TOO] Secure Pairing Failed - [1651179592485] [11111:251958] CHIP: [TOO] Pairing Failure: ../../examples/chip-tool/third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp:1352: CHIP Error 0x000000AC: Internal error - - $ ./out/chip-tool/chip-tool pairing qrcode 1 MT:-24J029Q00QPQ36B420 - [1651179606579] [11112:252148] CHIP: [SC] Failed during PASE session setup. ../../examples/chip-tool/third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp:1352: CHIP Error 0x000000AC: Internal error - [1651179606579] [11112:252148] CHIP: [TOO] Secure Pairing Failed - [1651179606579] [11112:252148] CHIP: [TOO] Pairing Failure: ../../examples/chip-tool/third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp:1352: CHIP Error 0x000000AC: Internal error - - $ ./out/chip-tool/chip-tool pairing qrcode 1 MT:-24J029Q004QG46Y900 - [1651179619185] [11114:252273] CHIP: [SC] Failed during PASE session setup. ../../examples/chip-tool/third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp:1352: CHIP Error 0x000000AC: Internal error - [1651179619185] [11114:252273] CHIP: [TOO] Secure Pairing Failed - [1651179619185] [11114:252273] CHIP: [TOO] Pairing Failure: ../../examples/chip-tool/third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp:1352: CHIP Error 0x000000AC: Internal error - - $ ./out/chip-tool/chip-tool pairing qrcode 1 MT:-24J029Q00YX018EW10 - [1651179633201] [11129:252492] CHIP: [SC] Failed during PASE session setup. ../../examples/chip-tool/third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp:1352: CHIP Error 0x000000AC: Internal error - [1651179633201] [11129:252492] CHIP: [TOO] Secure Pairing Failed - [1651179633201] [11129:252492] CHIP: [TOO] Pairing Failure: ../../examples/chip-tool/third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp:1352: CHIP Error 0x000000AC: Internal error + + ./chip-tool pairing code 1 MT:-24J029Q00OC0000000 + + Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:50: CHIP Error 0x0000002F: Invalid argument + + + $ ./out/chip-tool/chip-tool pairing code 1 MT:-24J029Q00OC0000000 + Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:50: CHIP Error 0x0000002F: Invalid argument + + + $ ./out/chip-tool/chip-tool pairing code 1 MT:-24J029Q00KMSP0Z800 + Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:50: CHIP Error 0x0000002F: Invalid argument + + + $ ./out/chip-tool/chip-tool pairing code 1 MT:-24J029Q00GWID1WH00 + Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:50: CHIP Error 0x0000002F: Invalid argument + + + $ ./out/chip-tool/chip-tool pairing code 1 MT:-24J029Q00C4912TQ00 + Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:50: CHIP Error 0x0000002F: Invalid argument + + + $ ./out/chip-tool/chip-tool pairing code 1 MT:-24J029Q008E.Q2QZ00 + Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:50: CHIP Error 0x0000002F: Invalid argument + + + $ ./out/chip-tool/chip-tool pairing code 1 MT:-24J029Q004ORE3N610 + Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:50: CHIP Error 0x0000002F: Invalid argument + + + $ ./out/chip-tool/chip-tool pairing code 1 MT:-24J029Q000YH24KF10 + Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:50: CHIP Error 0x0000002F: Invalid argument + + + $ ./out/chip-tool/chip-tool pairing code 1 MT:-24J029Q00Y58S4HO10 + Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:50: CHIP Error 0x0000002F: Invalid argument + + + $ ./out/chip-tool/chip-tool pairing code 1 MT:-24J029Q00UF-F5EX10 + Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:50: CHIP Error 0x0000002F: Invalid argument + + + $ ./out/chip-tool/chip-tool pairing code 1 MT:-24J029Q00QPQ36B420 + Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:50: CHIP Error 0x0000002F: Invalid argument + + + $ ./out/chip-tool/chip-tool pairing code 1 MT:-24J029Q004QG46Y900 + Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:50: CHIP Error 0x0000002F: Invalid argument + + + $ ./out/chip-tool/chip-tool pairing code 1 MT:-24J029Q00YX018EW10 + Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:50: CHIP Error 0x0000002F: Invalid argument disabled: true - label: @@ -263,6 +254,6 @@ tests: - label: "Scan/read the QR code, generated in the previous step, using the DUT" verification: | - $ ./out/chip-tool/chip-tool pairing qrcode 1 AB:-24J029Q00KA0648G00 + $ ./out/chip-tool/chip-tool pairing code 1 AB:-24J029Q00KA0648G00 [1651179728083] [11173:253719] CHIP: [TOO] Run command failure: ../../examples/chip-tool/third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:50: CHIP Error 0x00000013: Integrity check failed disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DD_3_5.yaml b/src/app/tests/suites/certification/Test_TC_DD_3_5.yaml index 5400614725304a..b1470b33a347fe 100644 --- a/src/app/tests/suites/certification/Test_TC_DD_3_5.yaml +++ b/src/app/tests/suites/certification/Test_TC_DD_3_5.yaml @@ -25,20 +25,32 @@ tests: "Commissioner has regulatory and fabric information available and has accurate date, time and timezone" verification: | - On DUT: sudo ./chip-all-clusters-app - - - On Controller: ./chip-tool discover commissionables - - 1. Connect the device to Ethernet - 2. Disover the device using CHIP Tool . ./chip-tool discover commissionables - 3. connect -ip , - 4. Once device is provisioned, read 'Product Name' attribute from the Basic cluster. Example:./chip-tool basic read product-name 1 0 - - Reference : below Full log for the above commands (click on this cell if you like to see complete log) - - - controller > ./chip-tool discover commissionables + On DUT: sudo ./chip-all-clusters-app --wifi --discriminator 3841 + + [1653471956.966855][10713:10713] CHIP:SPT: PASE PBKDF iterations set to 1000 + [1653471956.966887][10713:10713] CHIP:SPT: LinuxCommissionableDataProvider didn't get a PASE salt, generating one. + [1653471956.972152][10713:10713] CHIP:DL: Device Configuration: + [1653471956.972270][10713:10713] CHIP:DL: Serial Number: TEST_SN + [1653471956.972315][10713:10713] CHIP:DL: Vendor Id: 65521 (0xFFF1) + [1653471956.972354][10713:10713] CHIP:DL: Product Id: 32769 (0x8001) + [1653471956.972388][10713:10713] CHIP:DL: Hardware Version: 0 + [1653471956.972413][10713:10713] CHIP:DL: Setup Pin Code (0 for UNKNOWN/ERROR): 20202021 + [1653471956.972435][10713:10713] CHIP:DL: Setup Discriminator (0xFFFF for UNKNOWN/ERROR): 3841 (0xF01) + [1653471956.972464][10713:10713] CHIP:DL: Manufacturing Date: (not set) + [1653471956.972488][10713:10713] CHIP:DL: Device Type: 65535 (0xFFFF) + [1653471956.972509][10713:10713] CHIP:-: ==== Onboarding payload for Standard Commissioning Flow ==== + [1653471956.972546][10713:10713] CHIP:SVR: SetupQRCode: [MT:-24J0CEK01KA0648G00] + [1653471956.972579][10713:10713] CHIP:SVR: Copy/paste the below URL in a browser to see the QR Code: + [1653471956.972600][10713:10713] CHIP:SVR: https://dhrishi.github.io/connectedhomeip/qrcode.html?data=MT%3A-24J0CEK01KA0648G00 + [1653471956.972632][10713:10713] CHIP:SVR: Manual pairing code: [34970112332] + [1653471956.972654][10713:10713] CHIP:-: ==== Onboarding payload for Custom Commissioning Flows ==== + [1653471956.972715][10713:10713] CHIP:SVR: SetupQRCode: [MT:-24J048N01KA0648G00] + [1653471956.972748][10713:10713] CHIP:SVR: Copy/paste the below URL in a browser to see the QR Code: + [1653471956.972769][10713:10713] CHIP:SVR: https://dhrishi.github.io/connectedhomeip/qrcode.html?data=MT%3A-24J048N01KA0648G00 + [1653471956.972803][10713:10713] CHIP:SVR: Manual pairing code: [749701123365521327694] + + + connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool discover commissionables Waiting for device responses... CHIP:CTL: Generating ICAC CHIP:DL: AUDIT: ===== RANDOM NUMBER GENERATOR AUDIT START ==== @@ -182,15 +194,9 @@ tests: CHIP:DIS: Address 2: 192.168.1.12 - controller> sudo ./chip-tool pairing ethernet 112233 20202021 3840 192.168.1.12 5540 + connectedhomeip/examples/chip-tool/out/debug$ ./chip-tool pairing ble-wifi 1 zigbee-thread matter123 20202021 3841 - Output of this command in cell number I6 and J6 due to cell constraint of maximum size. - - - - controller> sudo ./chip-tool basic read product-name 0x000000000001B669 0 - - ,, + connectedhomeip/examples/chip-tool/out/debug$ sudo ./chip-tool basic read product-name 1 0 disabled: true - label: @@ -348,17 +354,30 @@ tests: "Establish encryption keys with Password Authenticated Session Establishment on the commissioning channel" verification: | - Verify on DUT: - - CHIP:SC: Sent PBKDF param request - CHIP:CTL: Setting attestation nonce to random value - CHIP:CTL: Setting CSR nonce to random value - CHIP:CTL: Commission called for node ID 0x000000000001B669 - CHIP:EM: Received message of type 0x21 with protocolId (0, 0) and MessageCounter:1341084110 on exchange 63762i - CHIP:EM: Found matching exchange: 63762i, Delegate: 0xffff8c000bc0 - CHIP:EM: Rxd Ack; Removing MessageCounter:850320430 from Retrans Table on exchange 63762i - CHIP:EM: Removed CHIP MessageCounter:850320430 from RetransTable on exchange 63762i - CHIP:SC: Received PBKDF param response + Verify that the responder receives the PBKDFParamRequest message + + Check on DUT: + CHIP:SC: Received PBKDF param request + CHIP:SC: Peer assigned session ID 18450 + CHIP:SC: Found MRP parameters in the message + CHIP:SC: Including MRP parameters in PBKDF param response + CHIP:EM: Piggybacking Ack for MessageCounter:850320430 on exchange: 63762r + CHIP:IN: Prepared unauthenticated message 0xaaaaad340560 to 0x0000000000000000 (0) of type 0x21 and protocolId (0, 0) on exchange 63762r with MessageCounter:1341084110. + CHIP:IN: Sending unauthenticated msg 0xaaaaad340560 with MessageCounter:1341084110 to 0x0000000000000000 at monotonic time: 0000000000FBA380 msec + CHIP:SC: Sent PBKDF param response + + Check on TH: + Sent PBKDF param request + [1653471961.364996][30157:30162] CHIP:CTL: Setting wifi credentials from parameters + [1653471961.365051][30157:30162] CHIP:CTL: Setting attestation nonce to random value + [1653471961.365166][30157:30162] CHIP:CTL: Setting CSR nonce to random value + [1653471961.365285][30157:30162] CHIP:CTL: Commission called for node ID 0x0000000000000001 + [1653471961.365797][30157:30163] CHIP:DL: TRACE: Bluez mainloop starting Thread + [1653471961.366157][30157:30160] CHIP:DL: TRACE: Bus acquired for name C-75cd + [1653471961.382240][30157:30162] CHIP:DL: PlatformBlueZInit init success + [1653471961.393893][30157:30160] CHIP:BLE: BLE removing known devices. + [1653471961.397319][30157:30160] CHIP:BLE: BLE initiating scan. + [1653471961.415415][30157:30160] CHIP:BLE: Device 21:2D:EF:B9:9D:46 does not look like a CHIP device. disabled: true - label: @@ -367,24 +386,39 @@ tests: verification: | Verify on DUT: - CHIP:CTL: Commissioning stage next step: 'ReadCommissioningInfo' -> 'ArmFailSafe' - CHIP:CTL: Performing next commissioning step 'ArmFailSafe' - CHIP:CTL: Arming failsafe (60 seconds) + CHIP:DL: NVS set: chip-config/fail-safe-armed = true + + Verify on TH: + + : Performing next commissioning step 'ArmFailSafe' + [1653471968.064493][30157:30162] CHIP:CTL: Arming failsafe (60 seconds) disabled: true - label: "If (PICS_WIFI) or (PICS_THREAD), Commissioner SHALL configure regulatory information in the Commissionee." verification: | - Need chip-tool implementation + Verify on TH Log: + + Performing next commissioning step 'ConfigRegulatory' + [1653471968.202645][30157:30162] CHIP:CTL: Setting Regulatory Config + [1653471968.202666][30157:30162] CHIP:CTL: No regulatory config supplied by controller, leaving as device default (0) + + Verify on DUT: + NVS set: chip-config/regulatory-location = 0 (0x0) disabled: true - label: "Commissioner requests operational CSR from Commissionee with OperationalCSRRequest command" verification: | - Verify on TH: + Verify the following on TH after commissioning + + [1646909537.102263][3145:3150] CHIP:CTL: Received Attestation Information from the device + [1646909537.102418][3145:3150] CHIP:CTL: Verifying attestation + [1646909537.115081][3145:3150] CHIP:CTL: Successfully validated 'Attestation Information' command received from the device. + Verify on DUT: CHIP:ZCL: OpCreds: commissioner has requested a CSR CHIP:ZCL: OpCreds: NewCertificateSigningRequest returned ../../third_party/connectedhomeip/src/crypto/CHIPCryptoPALOpenSSL.cpp:1114: Success disabled: true @@ -395,12 +429,15 @@ tests: verification: | Verify on DUT: - CHIP:CTL: Performing next commissioning step 'SendTrustedRootCert' - CHIP:CTL: Sending root certificate to the device + OpCreds: Received an AddTrustedRootCertificate command + + Verify on TH: + + Sending root certificate to the device CHIP:DMG: ICR moving to [AddingComm] CHIP:DMG: ICR moving to [AddedComma] - CHIP:IN: Prepared secure message 0xaaaafc0d5be8 to 0x000000000001B669 (1) of type 0x8 and protocolId (0, 1) on exchange 63770i with MessageCounter:695615. - CHIP:IN: Sending encrypted msg 0xaaaafc0d5be8 with MessageCounter:695615 to 0x000000000001B669 (1) at monotonic time: 0000000000FBA3DE msec + CHIP:IN: Prepared secure message 0xffffa4cdf8c8 to 0xFFFFFFFB00000000 (0) of type 0x8 and protocolId (0, 1) on exchange 23999i with MessageCounter:211812. + CHIP:IN: Sending encrypted msg 0xffffa4cdf8c8 with MessageCounter:211812 to 0xFFFFFFFB00000000 (0) at monotonic time: 00000000010D06BD msec CHIP:DMG: ICR moving to [CommandSen] CHIP:CTL: Sent root certificate to the device disabled: true @@ -411,126 +448,139 @@ tests: verification: | Verify the following on TH after commissioning - [1646909537.115328][3145:3150] CHIP:CTL: Sending CSR request to 0xffffac001730 device - [1646909537.115512][3145:3150] CHIP:DMG: ICR moving to [AddingComm] - [1646909537.115589][3145:3150] CHIP:DMG: ICR moving to [AddedComma] - [1646909537.115861][3145:3150] CHIP:IN: Prepared secure message 0xffffb67cbd98 to 0x0000000000000001 (1) of type 0x8 and protocolId (0, 1) on exchange 7731i with MessageCounter:8191681. - [1646909537.115959][3145:3150] CHIP:IN: Sending encrypted msg 0xffffb67cbd98 with MessageCounter:8191681 to 0x0000000000000001 (1) at monotonic time: 10877964 msec - [1646909537.116173][3145:3150] CHIP:DMG: ICR moving to [CommandSen] - [1646909537.116242][3145:3150] CHIP:CTL: Sent CSR request, waiting for the CSR - [1646909537.116356][3145:3150] CHIP:DMG: ICR moving to [AwaitingDe] - [1646909537.193355][3145:3150] CHIP:DL: HandlePlatformSpecificBLEEvent 16387 - [1646909537.241579][3145:3148] CHIP:DL: Indication received, conn = 0xffffa803b310 - [1646909537.241838][3145:3150] CHIP:DL: HandlePlatformSpecificBLEEvent 16389 - [1646909537.341266][3145:3148] CHIP:DL: Indication received, conn = 0xffffa803b310 - [1646909537.341523][3145:3150] CHIP:DL: HandlePlatformSpecificBLEEvent 16389 - [1646909537.341903][3145:3150] CHIP:EM: Received message of type 0x9 with protocolId (0, 1) and MessageCounter:2304337 on exchange 7731i - [1646909537.341988][3145:3150] CHIP:EM: Found matching exchange: 7731i, Delegate: 0xffffa8026ab0 - [1646909537.342086][3145:3150] CHIP:DMG: ICR moving to [ResponseRe] - [1646909537.342191][3145:3150] CHIP:DMG: InvokeResponseMessage = - [1646909537.342251][3145:3150] CHIP:DMG: { - [1646909537.342310][3145:3150] CHIP:DMG: suppressResponse = false, - [1646909537.342370][3145:3150] CHIP:DMG: InvokeResponseIBs = - [1646909537.342450][3145:3150] CHIP:DMG: [ - [1646909537.342511][3145:3150] CHIP:DMG: InvokeResponseIB = - [1646909537.342598][3145:3150] CHIP:DMG: { - [1646909537.342662][3145:3150] CHIP:DMG: CommandDataIB = - [1646909537.342749][3145:3150] CHIP:DMG: { - [1646909537.342832][3145:3150] CHIP:DMG: CommandPathIB = - [1646909537.342915][3145:3150] CHIP:DMG: { - [1646909537.342998][3145:3150] CHIP:DMG: EndpointId = 0x0, - [1646909537.343091][3145:3150] CHIP:DMG: ClusterId = 0x3e, - [1646909537.343177][3145:3150] CHIP:DMG: CommandId = 0x5, - [1646909537.343262][3145:3150] CHIP:DMG: }, - [1646909537.343346][3145:3150] CHIP:DMG: - [1646909537.343420][3145:3150] CHIP:DMG: CommandData = - [1646909537.343548][3145:3150] CHIP:DMG: { - [1646909537.343632][3145:3150] CHIP:DMG: 0x0 = [ - [1646909537.343772][3145:3150] CHIP:DMG: 0x15, 0x30, 0x1, 0xcb, 0x30, 0x81, 0xc8, 0x30, 0x70, 0x2, 0x1, 0x0, 0x30, 0xe, 0x31, 0xc, 0x30, 0xa, 0x6, 0x3, 0x55, 0x4, 0xa, 0xc, 0x3, 0x43, 0x53, 0x52, 0x30, 0x59, 0x30, 0x13, 0x6, 0x7, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x2, 0x1, 0x6, 0x8, 0x2a, 0x86 - [1646909537.343880][3145:3150] CHIP:DMG: ] - [1646909537.343968][3145:3150] CHIP:DMG: 0x1 = [ - [1646909537.344094][3145:3150] CHIP:DMG: 0xbd, 0xef, 0xb7, 0x8c, 0x5, 0x95, 0x9b, 0x60, 0xf4, 0xb1, 0xf7, 0x9c, 0x24, 0x50, 0x51, 0x9c, 0x59, 0x46, 0x97, 0x5e, 0x89, 0xe8, 0x7d, 0x29, 0x88, 0xac, 0x45, 0xed, 0xa6, 0xca, 0xac, 0x55, 0x2a, 0x7e, 0x11, 0x71, 0xe9, 0x68, 0x0, 0x91, 0xe, 0x23, - [1646909537.344193][3145:3150] CHIP:DMG: ] - [1646909537.344274][3145:3150] CHIP:DMG: }, - [1646909537.344349][3145:3150] CHIP:DMG: }, - [1646909537.344442][3145:3150] CHIP:DMG: - [1646909537.344508][3145:3150] CHIP:DMG: }, - [1646909537.344588][3145:3150] CHIP:DMG: - [1646909537.344646][3145:3150] CHIP:DMG: ], - [1646909537.344721][3145:3150] CHIP:DMG: - [1646909537.344779][3145:3150] CHIP:DMG: InteractionModelRevision = 1 - [1646909537.344837][3145:3150] CHIP:DMG: }, - [1646909537.344985][3145:3150] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0005 - [1646909537.345068][3145:3150] CHIP:CTL: Received certificate signing request from the device - [1646909537.345139][3145:3150] CHIP:CTL: Getting certificate chain for the device from the issuer - [1646909537.347800][3145:3150] CHIP:CTL: Verifying Certificate Signing Request - [1646909537.349300][3145:3150] CHIP:CTL: Generating NOC - [1646909537.350268][3145:3150] CHIP:CTL: Providing certificate chain to the commissioner - [1646909537.350347][3145:3150] CHIP:CTL: Received callback from the CA for NOC Chain generation. Status ../../third_party/connectedhomeip/src/controller/ExampleOperationalCredentialsIssuer.cpp:225: Success + CHIP:CTL: Commissioning stage next step: 'SendTrustedRootCert' -> 'SendNOC' + [1653471969.812357][30157:30162] CHIP:CTL: Performing next commissioning step 'SendNOC' + [1653471969.812478][30157:30162] CHIP:DMG: ICR moving to [AddingComm] + [1653471969.812559][30157:30162] CHIP:DMG: ICR moving to [AddedComma] + [1653471969.812778][30157:30162] CHIP:IN: Prepared secure message 0xffffa4ce0998 to 0xFFFFFFFB00000000 (0) of type 0x8 and protocolId (0, 1) on exchange 24000i with MessageCounter:211813. + [1653471969.812871][30157:30162] CHIP:IN: Sending encrypted msg 0xffffa4ce0998 with MessageCounter:211813 to 0xFFFFFFFB00000000 (0) at monotonic time: 00000000010D077D msec + [1653471969.813068][30157:30162] CHIP:DMG: ICR moving to [CommandSen] + [1653471969.813137][30157:30162] CHIP:CTL: Sent operational certificate to the device + [1653471969.813237][30157:30162] CHIP:DMG: ICR moving to [AwaitingDe] + [1653471969.952613][30157:30162] CHIP:DL: HandlePlatformSpecificBLEEvent 16387 + [1653471970.050705][30157:30162] CHIP:DL: HandlePlatformSpecificBLEEvent 16387 + [1653471970.148491][30157:30162] CHIP:DL: HandlePlatformSpecificBLEEvent 16387 + [1653471970.344099][30157:30160] CHIP:DL: Indication received, conn = 0xffff9c04df70 + [1653471970.344351][30157:30162] CHIP:DL: HandlePlatformSpecificBLEEvent 16389 + [1653471970.344611][30157:30162] CHIP:EM: Received message of type 0x9 with protocolId (0, 1) and MessageCounter:1000769 on exchange 24000i + [1653471970.344688][30157:30162] CHIP:EM: Found matching exchange: 24000i, Delegate: 0xffff9c06f0a0 + [1653471970.344771][30157:30162] CHIP:DMG: ICR moving to [ResponseRe] + [1653471970.344870][30157:30162] CHIP:DMG: InvokeResponseMessage = + [1653471970.345060][30157:30162] CHIP:DMG: { + [1653471970.345124][30157:30162] CHIP:DMG: suppressResponse = false, + [1653471970.345198][30157:30162] CHIP:DMG: InvokeResponseIBs = + [1653471970.345276][30157:30162] CHIP:DMG: [ + [1653471970.345338][30157:30162] CHIP:DMG: InvokeResponseIB = + [1653471970.345422][30157:30162] CHIP:DMG: { + [1653471970.345501][30157:30162] CHIP:DMG: CommandDataIB = + [1653471970.345586][30157:30162] CHIP:DMG: { + [1653471970.345666][30157:30162] CHIP:DMG: CommandPathIB = + [1653471970.345748][30157:30162] CHIP:DMG: { + [1653471970.345835][30157:30162] CHIP:DMG: EndpointId = 0x0, + [1653471970.345924][30157:30162] CHIP:DMG: ClusterId = 0x3e, + [1653471970.346017][30157:30162] CHIP:DMG: CommandId = 0x8, + [1653471970.346105][30157:30162] CHIP:DMG: }, + [1653471970.346198][30157:30162] CHIP:DMG: + [1653471970.346280][30157:30162] CHIP:DMG: CommandData = + [1653471970.346361][30157:30162] CHIP:DMG: { + [1653471970.346452][30157:30162] CHIP:DMG: 0x0 = 0, + [1653471970.346539][30157:30162] CHIP:DMG: 0x1 = 1, + [1653471970.346628][30157:30162] CHIP:DMG: }, + [1653471970.346702][30157:30162] CHIP:DMG: }, + [1653471970.346767][30157:30162] CHIP:DMG: + [1653471970.346889][30157:30162] CHIP:DMG: }, + [1653471970.346954][30157:30162] CHIP:DMG: + [1653471970.346999][30157:30162] CHIP:DMG: ], + [1653471970.347056][30157:30162] CHIP:DMG: + [1653471970.347101][30157:30162] CHIP:DMG: InteractionModelRevision = 1 + [1653471970.347144][30157:30162] CHIP:DMG: }, + [1653471970.347251][30157:30162] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008 + [1653471970.347339][30157:30162] CHIP:CTL: Device returned status 0 on receiving the NOC + [1653471970.347381][30157:30162] CHIP:CTL: Operational credentials provisioned on device 0xffff90000b60 + [1653471970.347439][30157:30162] CHIP:TOO: Secure Pairing Success + [1653471970.347485][30157:30162] CHIP:CTL: Successfully finished commissioning step 'SendNOC' + + Verify on DUT: + + OpCreds: Received an AddNOC command disabled: true - label: "Commissioner configures operational network on TH if TH both supports and requires" verification: | - Verifiy on DUT: + Verify the following on TH after commissioning - CHIP:CTL: Operational credentials provisioned on device 0xffff8c000b60 - CHIP:TOO: Secure Pairing Success + [1646909537.345068][3145:3150] CHIP:CTL: Received certificate signing request from the device disabled: true - label: "Commissioner instructs Commissionee to connect to operational network if not already connected" verification: | - Verify on DUT: + Verify the following on TH after commissioning - CHIP:CTL: Performing next commissioning step 'FindOperational' - CHIP:CSM: FindOrEstablishSession: PeerId = BFCBED670D527591:000000000001B669 - CHIP:CSM: FindOrEstablishSession: No existing OperationalDeviceProxy instance found + [1646909537.976592][3145:3150] CHIP:CTL: Operational credentials provisioned on device 0xffffac001730 + [1646909537.976664][3145:3150] CHIP:TOO: Secure Pairing Success disabled: true - label: "Commissioner starts discovery of TH using Operational Discovery" verification: | - Verify on DUT: - - CHIP:DIS: Resolving BFCBED670D527591:000000000001B669 ... - CHIP:DIS: Operational node lookup already in progress. Will NOT start a new one. - CHIP:DMG: ICR moving to [AwaitingDe] - CHIP:EM: Sending Standalone Ack for MessageCounter:9439913 on exchange 63771i - CHIP:IN: Prepared secure message 0xffffa1c07938 to 0x000000000001B669 (1) of type 0x10 and protocolId (0, 0) on exchange 63771i with MessageCounter:695619. - CHIP:IN: Sending encrypted msg 0xffffa1c07938 with MessageCounter:695619 to 0x000000000001B669 (1) at monotonic time: 0000000000FBA446 msec - CHIP:EM: Flushed pending ack for MessageCounter:9439913 on exchange 63771i - CHIP:DL: Avahi resolve found - CHIP:DIS: Node ID resolved for BFCBED670D527591:000000000001B669 - CHIP:DIS: Addr 0: [fe80::dea6:32ff:feba:b3f7]:5540 + Verify the following on TH: + + Commissioning stage next step: 'WiFiNetworkEnable' -> 'FindOperational' + [1653471976.344532][30157:30162] CHIP:CTL: Performing next commissioning step 'FindOperational' + [1653471976.344586][30157:30162] CHIP:CSM: FindOrEstablishSession: PeerId = CCCB8A2597E4538B:0000000000000001 + [1653471976.344642][30157:30162] CHIP:CSM: FindOrEstablishSession: No existing OperationalDeviceProxy instance found + [1653471976.344715][30157:30162] CHIP:CTL: OperationalDeviceProxy[CCCB8A2597E4538B:0000000000000001]: State change 1 --> 2 + [1653471976.344783][30157:30162] CHIP:DIS: Resolving CCCB8A2597E4538B:0000000000000001 ... + [1653471976.346864][30157:30162] CHIP:DIS: Operational node lookup already in progress. Will NOT start a new one. + [1653471976.347000][30157:30162] CHIP:DMG: ICR moving to [AwaitingDe] + [1653471976.348514][30157:30162] CHIP:DL: Avahi resolve found + [1653471976.348597][30157:30162] CHIP:DIS: Node ID resolved for CCCB8A2597E4538B:0000000000000001 + [1653471976.348633][30157:30162] CHIP:DIS: Hostname: E45F010F27530000 + [1653471976.348670][30157:30162] CHIP:DIS: IP Address #1: fe80::e65f:1ff:fe0f:2753 + [1653471976.348702][30157:30162] CHIP:DIS: Port: 5540 + [1653471976.348732][30157:30162] CHIP:DIS: Mrp Interval idle: 5000 ms + [1653471976.348762][30157:30162] CHIP:DIS: Mrp Interval active: 300 ms + [1653471976.349059][30157:30162] CHIP:DIS: UDP:[fe80::e65f:1ff:fe0f:2753%eth0]:5540: new best score: 3 disabled: true - label: "Commissioner opens a CASE session with TH over operational network" verification: | - Verifiy on DUT: + Verify the following on DUT: - CHIP:SC: Establishing CASE session + CASE Server enabling CASE session setups + [1653471957.713139][10713:10713] CHIP:SVR: Joining Multicast groups + [1653471957.713654][10713:10713] CHIP:ZCL: Emitting StartUp event + [1653471957.714762][10713:10713] CHIP:EVL: LogEvent event number: 0x0000000000000000 priority: 2, endpoint id: 0x0 cluster id: 0x0000_0028 event id: 0x0 Sys timestamp: 0x000000000059AC88 + [1653471957.715456][10713:10713] CHIP:ZCL: GeneralDiagnosticsDelegate: OnDeviceRebooted disabled: true - label: "Commissioner sends CommissioningComplete command" verification: | - Verifiy on DUT: + Verify the following on TH: CHIP:CTL: Received CommissioningComplete response - CHIP:CTL: Successfully finished commissioning step 'SendComplete' disabled: true - label: "Commissioning channel between the Commissioner and Commissionee is terminated." verification: | - Verify the following on DUT: + Verify the following on TH: CHIP:CTL: Successfully finished commissioning step 'SendComplete' CHIP:CTL: Commissioning stage next step: 'SendComplete' -> 'Cleanup' CHIP:CTL: Performing next commissioning step 'Cleanup' CHIP:CTL: Successfully finished commissioning step 'Cleanup' CHIP:TOO: Device commissioning completed with success + CHIP:CTL: Performing next commissioning step 'Cleanup' + CHIP:DIS: Closing all BLE connections + CHIP:IN: Clearing BLE pending packets. + CHIP:BLE: Auto-closing end point's BLE connection. + CHIP:DL: Closing BLE GATT connection (con 0xffff9c04df70) + CHIP:CTL: Successfully finished commissioning step 'Cleanup' + CHIP:TOO: Device commissioning completed with success disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DD_3_9.yaml b/src/app/tests/suites/certification/Test_TC_DD_3_9.yaml index e558649a8d32f2..2028db0de9b25c 100644 --- a/src/app/tests/suites/certification/Test_TC_DD_3_9.yaml +++ b/src/app/tests/suites/certification/Test_TC_DD_3_9.yaml @@ -13,7 +13,8 @@ # 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: 7.3.9. [TC-DD-3.9] Commissioning Flow - Custom Flow +name: + 3.3.9. [TC-DD-3.9] Commissioning Flow - Custom Flow = 2 [DUT - Commissionee] config: nodeId: 0x12344321 @@ -24,17 +25,17 @@ tests: - label: "TH receives Onboarding Payload from the DUT" verification: | 1. Parse the DUT's QR Code using the TH commissioner: chip-tool - 16-MacBook-Pro:connectedhomeip liam$ ./examples/chip-tool/out/debug/chip-tool payload parse-setup-payload MT:YNJV7NMF00KA0648G00 - [1641844121253] [18592:788760] CHIP: [SPL] Parsing base38Representation: MT:YNJV7NMF00KA0648G00 - [1641844121254] [18592:788760] CHIP: [SPL] CommissioningFlow: 2 - [1641844121254] [18592:788760] CHIP: [SPL] VendorID: 9050 - [1641844121254] [18592:788760] CHIP: [SPL] Version: 0 - [1641844121254] [18592:788760] CHIP: [SPL] ProductID: 65279 - [1641844121254] [18592:788760] CHIP: [SPL] Discriminator: 3840 - [1641844121254] [18592:788760] CHIP: [SPL] SetUpPINCode: 20202021 - [1641844121254] [18592:788760] CHIP: [SPL] RendezvousInformation: 2 + $ ./out/chip-tool/chip-tool payload parse-setup-payload MT:-24J029Q00KA0648G00 + [1651077458589] [91233:65331701] CHIP: [SPL] Parsing base38Representation: MT:-24J029Q00KA0648G00 + [1651077458590] [91233:65331701] CHIP: [SPL] CommissioningFlow: 2 + [1651077458590] [91233:65331701] CHIP: [SPL] VendorID: 65521 + [1651077458590] [91233:65331701] CHIP: [SPL] Version: 0 + [1651077458590] [91233:65331701] CHIP: [SPL] ProductID: 32769 + [1651077458590] [91233:65331701] CHIP: [SPL] Discriminator: 3840 + [1651077458590] [91233:65331701] CHIP: [SPL] SetUpPINCode: 20202021 + [1651077458590] [91233:65331701] CHIP: [SPL] RendezvousInformation: 4 - 2. Verify that the Commissioning Flow is set to 2 (Custom Flow) + 2. Verify that the CommissioningFlow is set to 2 (Custom Flow) disabled: true - label: @@ -42,7 +43,10 @@ tests: (DCL)" verification: | 1. TH fetches the DCL from DUT's DCL - 2. Verify that DCL contains criteria + 2. Verify that DCL contains the criteria: + - CommissioningCustomFlow field = 2 + - CommissioningModeInitialStepsHint bit 0 (Power Cycle) = 0 and bit 1 (Device Manufacturer URL) = 1 + - CommissioningCustomFlowURL populated with a URL that uses https schema disabled: true - label: diff --git a/src/app/tests/suites/certification/Test_TC_FLW_3_1.yaml b/src/app/tests/suites/certification/Test_TC_FLW_3_1.yaml index 980bbedb6cfdce..0a982d582dec12 100644 --- a/src/app/tests/suites/certification/Test_TC_FLW_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_FLW_3_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: 3.3.1. [TC-FLW-3.1] Attributes with client as DUT +name: 30.3.1. [TC-FLW-3.1] Attributes with client as DUT config: nodeId: 0x12344321 @@ -21,27 +21,247 @@ config: endpoint: 0 tests: - - label: "Commission DUT to TH" + - label: + "DUT reads all supported mandatory attributes from TH one at a time in + a manufacturer specific order" verification: | + ./chip-tool flowmeasurement read measured-value 1 1 + Verify on TestHarnes (all-cluster-app) a received read of measured-value printing the cluster ID endpoint used and attribute ID which is read in logs + + CHIP:DMG: ReadRequestMessage = + [1649661041.321892][8204:8204] CHIP:DMG: { + [1649661041.321946][8204:8204] CHIP:DMG: AttributePathIBs = + [1649661041.322010][8204:8204] CHIP:DMG: [ + [1649661041.322093][8204:8204] CHIP:DMG: AttributePathIB = + [1649661041.322171][8204:8204] CHIP:DMG: { + [1649661041.322263][8204:8204] CHIP:DMG: Endpoint = 0x1, + [1649661041.322375][8204:8204] CHIP:DMG: Cluster = 0x404, + [1649661041.322457][8204:8204] CHIP:DMG: Attribute = 0x0000_0000, + [1649661041.322554][8204:8204] CHIP:DMG: } + [1649661041.322631][8204:8204] CHIP:DMG: + [1649661041.322809][8204:8204] CHIP:DMG: ], + [1649661041.322908][8204:8204] CHIP:DMG: + [1649661041.322974][8204:8204] CHIP:DMG: isFabricFiltered = true, + [1649661041.323057][8204:8204] CHIP:DMG: InteractionModelRevision = 1 + [1649661041.323117][8204:8204] CHIP:DMG: }, + + Verify DUT log + Verify the measured-value should be in range of uint16 + + CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0404 Attribute 0x0000_0000 DataVersion: 1049406897 + [1649660205.780337][7845:7850] CHIP:TOO: MeasuredValue: 0 + + + + + "./chip-tool flowmeasurement read min-measured-value 1 1 + Verify on TestHarnes (all-cluster-app) a received read of min-measured-value printing the cluster ID endpoint used and attribute ID which is read in logs + + CHIP:DMG: ReadRequestMessage = + [1649661242.186926][8204:8204] CHIP:DMG: { + [1649661242.186979][8204:8204] CHIP:DMG: AttributePathIBs = + [1649661242.187045][8204:8204] CHIP:DMG: [ + [1649661242.187125][8204:8204] CHIP:DMG: AttributePathIB = + [1649661242.187212][8204:8204] CHIP:DMG: { + [1649661242.187308][8204:8204] CHIP:DMG: Endpoint = 0x1, + [1649661242.187410][8204:8204] CHIP:DMG: Cluster = 0x404, + [1649661242.187493][8204:8204] CHIP:DMG: Attribute = 0x0000_0001, + [1649661242.187588][8204:8204] CHIP:DMG: } + [1649661242.187665][8204:8204] CHIP:DMG: + [1649661242.187754][8204:8204] CHIP:DMG: ], + [1649661242.187828][8204:8204] CHIP:DMG: + [1649661242.187916][8204:8204] CHIP:DMG: isFabricFiltered = true, + [1649661242.187978][8204:8204] CHIP:DMG: InteractionModelRevision = 1 + [1649661242.188057][8204:8204] CHIP:DMG: }, + + + Verify DUT log + Verify the min-measured-value should be in range of uint16 + + CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0404 Attribute 0x0000_0001 DataVersion: 1049406897 + [1649660217.629973][7852:7857] CHIP:TOO: MinMeasuredValue: 0" + + + "./chip-tool flowmeasurement read max-measured-value 1 1 + Verify on TestHarnes (all-cluster-app) a received read of max-measured-value printing the cluster ID endpoint used and attribute ID which is read in logs + + + CHIP:DMG: ReadRequestMessage = + [1649661278.363869][8204:8204] CHIP:DMG: { + [1649661278.363923][8204:8204] CHIP:DMG: AttributePathIBs = + [1649661278.364011][8204:8204] CHIP:DMG: [ + [1649661278.364073][8204:8204] CHIP:DMG: AttributePathIB = + [1649661278.364179][8204:8204] CHIP:DMG: { + [1649661278.364252][8204:8204] CHIP:DMG: Endpoint = 0x1, + [1649661278.364356][8204:8204] CHIP:DMG: Cluster = 0x404, + [1649661278.364464][8204:8204] CHIP:DMG: Attribute = 0x0000_0002, + [1649661278.364540][8204:8204] CHIP:DMG: } + [1649661278.364635][8204:8204] CHIP:DMG: + [1649661278.364704][8204:8204] CHIP:DMG: ], + [1649661278.364795][8204:8204] CHIP:DMG: + [1649661278.364863][8204:8204] CHIP:DMG: isFabricFiltered = true, + [1649661278.364945][8204:8204] CHIP:DMG: InteractionModelRevision = 1 + [1649661278.365005][8204:8204] CHIP:DMG: }, + + + Verify DUT log + Verify the min-measured-value should be in range of uint16 + + CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0404 Attribute 0x0000_0002 DataVersion: 1049406897 + [1649660223.190482][7858:7863] CHIP:TOO: MaxMeasuredValue: 0" disabled: true - - label: "DUT reads attribute value from TH." + - label: + "DUT reads all supported optional attributes from TH one at a time in + a manufacturer specific order" verification: | - ./chip-tool flowmeasurement read measured-value 1 1 + chip-tool flowmeasurement read tolerance 1 1 + Verify on TestHarnes (all-cluster-app) a received read of tolerance-value printing the cluster ID endpoint used and attribute ID which is read in logs + + CHIP:DMG: ReadRequestMessage = + [1649661278.363869][8204:8204] CHIP:DMG: { + [1649661278.363923][8204:8204] CHIP:DMG: AttributePathIBs = + [1649661278.364011][8204:8204] CHIP:DMG: [ + [1649661278.364073][8204:8204] CHIP:DMG: AttributePathIB = + [1649661278.364179][8204:8204] CHIP:DMG: { + [1649661278.364252][8204:8204] CHIP:DMG: Endpoint = 0x1, + [1649661278.364356][8204:8204] CHIP:DMG: Cluster = 0x404, + [1649661278.364464][8204:8204] CHIP:DMG: Attribute = 0x0000_0002, + [1649661278.364540][8204:8204] CHIP:DMG: } + [1649661278.364635][8204:8204] CHIP:DMG: + [1649661278.364704][8204:8204] CHIP:DMG: ], + [1649661278.364795][8204:8204] CHIP:DMG: + [1649661278.364863][8204:8204] CHIP:DMG: isFabricFiltered = true, + [1649661278.364945][8204:8204] CHIP:DMG: InteractionModelRevision = 1 + [1649661278.365005][8204:8204] CHIP:DMG: }, + + + Verify DUT log + Verify the measured-value should be in range 0 to 2048 + + CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0404 Attribute 0x0000_0003 DataVersion: 1049406897 + [1649660232.522084][7865:7870] CHIP:TOO: Tolerance: 0 disabled: true - - label: "DUT reads attribute value from TH." + - 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 flowmeasurement read min-measured-value 1 1 + No writeable attribute disabled: true - - label: "DUT reads attribute value from TH." + - label: + "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 flowmeasurement read max-measured-value 1 1 + No writeable attribute disabled: true - - label: "DUT reads attribute value from TH." + - label: + "Configure TH such that it implements mandatory and none of the + optional attributes of the server-side of the cluster, and that it + also reflects this in global attributes such as FeatureMap and + AttributeList. Commission DUT to TH again" + verification: | + ./chip-tool flowmeasurement read measured-value 1 1 + Verify on TestHarnes (all-cluster-app) a received read of measured-value printing the cluster ID endpoint used and attribute ID which is read in logs + + CHIP:DMG: ReadRequestMessage = + [1649661041.321892][8204:8204] CHIP:DMG: { + [1649661041.321946][8204:8204] CHIP:DMG: AttributePathIBs = + [1649661041.322010][8204:8204] CHIP:DMG: [ + [1649661041.322093][8204:8204] CHIP:DMG: AttributePathIB = + [1649661041.322171][8204:8204] CHIP:DMG: { + [1649661041.322263][8204:8204] CHIP:DMG: Endpoint = 0x1, + [1649661041.322375][8204:8204] CHIP:DMG: Cluster = 0x404, + [1649661041.322457][8204:8204] CHIP:DMG: Attribute = 0x0000_0000, + [1649661041.322554][8204:8204] CHIP:DMG: } + [1649661041.322631][8204:8204] CHIP:DMG: + [1649661041.322809][8204:8204] CHIP:DMG: ], + [1649661041.322908][8204:8204] CHIP:DMG: + [1649661041.322974][8204:8204] CHIP:DMG: isFabricFiltered = true, + [1649661041.323057][8204:8204] CHIP:DMG: InteractionModelRevision = 1 + [1649661041.323117][8204:8204] CHIP:DMG: }, + + Verify DUT log + Verify the measured-value should be in range of uint16 + + CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0404 Attribute 0x0000_0000 DataVersion: 1049406897 + [1649660205.780337][7845:7850] CHIP:TOO: MeasuredValue: 0 + + + + + "./chip-tool flowmeasurement read min-measured-value 1 1 + Verify on TestHarnes (all-cluster-app) a received read of min-measured-value printing the cluster ID endpoint used and attribute ID which is read in logs + + CHIP:DMG: ReadRequestMessage = + [1649661242.186926][8204:8204] CHIP:DMG: { + [1649661242.186979][8204:8204] CHIP:DMG: AttributePathIBs = + [1649661242.187045][8204:8204] CHIP:DMG: [ + [1649661242.187125][8204:8204] CHIP:DMG: AttributePathIB = + [1649661242.187212][8204:8204] CHIP:DMG: { + [1649661242.187308][8204:8204] CHIP:DMG: Endpoint = 0x1, + [1649661242.187410][8204:8204] CHIP:DMG: Cluster = 0x404, + [1649661242.187493][8204:8204] CHIP:DMG: Attribute = 0x0000_0001, + [1649661242.187588][8204:8204] CHIP:DMG: } + [1649661242.187665][8204:8204] CHIP:DMG: + [1649661242.187754][8204:8204] CHIP:DMG: ], + [1649661242.187828][8204:8204] CHIP:DMG: + [1649661242.187916][8204:8204] CHIP:DMG: isFabricFiltered = true, + [1649661242.187978][8204:8204] CHIP:DMG: InteractionModelRevision = 1 + [1649661242.188057][8204:8204] CHIP:DMG: }, + + + Verify DUT log + Verify the min-measured-value should be in range of uint16 + + CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0404 Attribute 0x0000_0001 DataVersion: 1049406897 + [1649660217.629973][7852:7857] CHIP:TOO: MinMeasuredValue: 0" + + + + "./chip-tool flowmeasurement read max-measured-value 1 1 + Verify on TestHarnes (all-cluster-app) a received read of max-measured-value printing the cluster ID endpoint used and attribute ID which is read in logs + + + CHIP:DMG: ReadRequestMessage = + [1649661278.363869][8204:8204] CHIP:DMG: { + [1649661278.363923][8204:8204] CHIP:DMG: AttributePathIBs = + [1649661278.364011][8204:8204] CHIP:DMG: [ + [1649661278.364073][8204:8204] CHIP:DMG: AttributePathIB = + [1649661278.364179][8204:8204] CHIP:DMG: { + [1649661278.364252][8204:8204] CHIP:DMG: Endpoint = 0x1, + [1649661278.364356][8204:8204] CHIP:DMG: Cluster = 0x404, + [1649661278.364464][8204:8204] CHIP:DMG: Attribute = 0x0000_0002, + [1649661278.364540][8204:8204] CHIP:DMG: } + [1649661278.364635][8204:8204] CHIP:DMG: + [1649661278.364704][8204:8204] CHIP:DMG: ], + [1649661278.364795][8204:8204] CHIP:DMG: + [1649661278.364863][8204:8204] CHIP:DMG: isFabricFiltered = true, + [1649661278.364945][8204:8204] CHIP:DMG: InteractionModelRevision = 1 + [1649661278.365005][8204:8204] CHIP:DMG: }, + + + Verify DUT log + Verify the min-measured-value should be in range of uint16 + + CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0404 Attribute 0x0000_0002 DataVersion: 1049406897 + [1649660223.190482][7858:7863] CHIP:TOO: MaxMeasuredValue: 0" + disabled: true + + - label: + "DUT reads all supported optional attributes from TH one at a time in + a manufacturer specific order" verification: | chip-tool flowmeasurement read tolerance 1 1 + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + disabled: true + + - label: + "DUT writes a suitable value to all supported optional attributes on + the TH one at a time in a manufacturer specific order" + verification: | + No writeable attribute 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 new file mode 100644 index 00000000000000..72f1e113958272 --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_IDM_8_1.yaml @@ -0,0 +1,88 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: 20.6.6. [TC-IDM-8.1] Fabric scoped Test Cases. DUT as the server. + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: + "Send a Read Request Message from RC1 and RC2 to read the ACL + attribute, which is a fabric scoped list, from the DUT. Fabric + filtered should be set to false." + verification: | + Verify that the number of entries returned by the DUT for both the reads are same. Verify that the response to RC1 does not contain fabric sensitive data belonging to the other fabric. The fabric sensitive fields in the entries belonging to the other fabric should either be null or contain default values. Verify that the response to RC2 does not contain fabric sensitive data belonging to the other fabric. The fabric sensitive fields in the entries belonging to the other fabric should either be null or contain default values. + disabled: true + + - label: + "Use Access control cluster to verify this test case. Send a + fabric-filtered Read Request Message from each of RC1 and RC2 to read + the ACL attribute, which is a fabric scoped list, from the DUT. 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. Send a + fabric-filtered Read Request Message from each of RC1 and RC2 to read + the fabric scoped list from the DUT." + verification: | + Verify that the data received from DUT after the second read request from RC2 is same as the data received after the first read request from RC2. Verify that the data received from the DUT after the second read request from RC1 has the correct modifications to the data. + disabled: true + + - label: + "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. RC1 sends an Invoke + command(UpdateFabricLabel) to update the label of its fabric. Send a + non-filtered Read Request Message from RC1 and RC2 to read the fabric + scoped list from the DUT." + verification: | + Verify that the label only for the fabric on which RC1 and DUT are present is updated. Verify that the label for the other fabric RC2 is on is not modified. + disabled: true + + - label: + "Activate the subscription between RC1 and DUT for an attribute1 whose + value is a list of structs which contain some fabric-sensitive data + Activate the subscription between RC2 and DUT for the same attribute1 + whose value is a list of structs which contain some fabric-sensitive + data. Modify attribute1 on the DUT." + verification: | + Verify that the DUT sends a response to RC1 and RC2 with the modified attribute values. Verify that the response to RC1 does not contain fabric sensitive data belonging to the other fabric. The fabric sensitive fields in the entries belonging to the other fabric should either be null or contain default values. Verify that the response to RC2 does not contain fabric sensitive data belonging to the other fabric. The fabric sensitive fields in the entries belonging to the other fabric should either be null or contain default values. + disabled: true + + - label: + "Activate the subscription between RC1 and DUT for an Event1 which is + fabric sensitive Activate the subscription between RC2 and DUT for the + same Event1 which is fabric sensitive. Trigger Event1 on DUT on the + fabric where RC1 is present." + verification: | + Verify that the DUT sends a response to RC1 and not RC2. + disabled: true + + - label: + "RC1 sends Subscribe Request Message to DUT with EventRequests set to + path where an event in the path is fabric-sensitive and the associated + fabric does not match the accessing fabric." + verification: | + Verify that the DUT sends a Report Data Message with no entry for that event in EventReports list. + disabled: true + + - label: + "RC1 sends Read Request Message to DUT with EventRequests set to path + where an event in the path is fabric-sensitive and the associated + fabric does not match the accessing fabric." + verification: | + Verify that the DUT sends a Report Data Message with no entry for that event in EventReports list. + disabled: true 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 794a20d42ac6a3..6b4b3227696f0f 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 @@ -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: 69.2.2. [TC-ILL-2.2] Primary functionality with server as DUT +name: 70.2.2. [TC-ILL-2.2] Primary functionality with server as DUT config: nodeId: 0x12344321 @@ -30,12 +30,20 @@ tests: "Test Harness Client reads MinMeasuredValue and MaxMeasuredValue from Server DUT" verification: | - ./chip-tool illuminancemeasurement read measured-value 1 1 + ./chip-tool illuminancemeasurement read min-measured-value 1 1 + + [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 + + [1650881715.935533][2791:2797] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0400 Attribute 0x0000_0002 DataVersion: 1034665079 + [1650881715.935645][2791:2797] CHIP:TOO: MaxMeasuredValue: 65534 disabled: true - label: "Cover the sensor or darken the room" verification: | - + currently we can't do this test-step in chip-tool disabled: true - label: "After a few seconds, TH reads MeasuredValue attribute from DUT" @@ -45,7 +53,7 @@ tests: - label: "Expose the sensor again to light" verification: | - + currently we can't do this test-step in chip-tool disabled: true - label: "After a few seconds, TH reads MeasuredValue attribute from DUT" diff --git a/src/app/tests/suites/certification/Test_TC_MOD_2_1.yaml b/src/app/tests/suites/certification/Test_TC_MOD_2_1.yaml index 717b59bf18a43b..c165423039234f 100644 --- a/src/app/tests/suites/certification/Test_TC_MOD_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_MOD_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: 78.2.1. [TC-MOD-2.1] ChangeToMode Verification (DUT as Server) +name: 79.2.1. [TC-MOD-2.1] ChangeToMode Verification (DUT as Server) config: nodeId: 0x12344321 @@ -24,22 +24,38 @@ tests: - label: "TH reads the SupportedModes attribute from the DUT" verification: | ./chip-tool modeselect read supported-modes 1 1 - [1645776884.203383][4698:4703] CHIP:TOO: SupportedModes: 3 entries - [1645776884.203448][4698:4703] CHIP:TOO: [1]: { - [1645776884.203473][4698:4703] CHIP:TOO: Label: Black - [1645776884.203497][4698:4703] CHIP:TOO: Mode: 0 - [1645776884.203520][4698:4703] CHIP:TOO: SemanticTag: 0 - [1645776884.203544][4698:4703] CHIP:TOO: } - [1645776884.203574][4698:4703] CHIP:TOO: [2]: { - [1645776884.203597][4698:4703] CHIP:TOO: Label: Cappuccino - [1645776884.203619][4698:4703] CHIP:TOO: Mode: 4 - [1645776884.203641][4698:4703] CHIP:TOO: SemanticTag: 0 - [1645776884.203663][4698:4703] CHIP:TOO: } - [1645776884.203691][4698:4703] CHIP:TOO: [3]: { - [1645776884.203714][4698:4703] CHIP:TOO: Label: Espresso - [1645776884.203735][4698:4703] CHIP:TOO: Mode: 7 - [1645776884.203757][4698:4703] CHIP:TOO: SemanticTag: 0 - [1645776884.203779][4698:4703] CHIP:TOO: } + + [1654595268.854568][14400:14405] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0002 DataVersion: 366231602 + [1654595268.854678][14400:14405] CHIP:TOO: SupportedModes: 3 entries + [1654595268.854743][14400:14405] CHIP:TOO: [1]: { + [1654595268.854772][14400:14405] CHIP:TOO: Label: Black + [1654595268.854811][14400:14405] CHIP:TOO: Mode: 0 + [1654595268.854843][14400:14405] CHIP:TOO: SemanticTags: 1 entries + [1654595268.854891][14400:14405] CHIP:TOO: [1]: { + [1654595268.854918][14400:14405] CHIP:TOO: MfgCode: 0 + [1654595268.854945][14400:14405] CHIP:TOO: Value: 0 + [1654595268.854971][14400:14405] CHIP:TOO: } + [1654595268.855000][14400:14405] CHIP:TOO: } + [1654595268.855038][14400:14405] CHIP:TOO: [2]: { + [1654595268.855064][14400:14405] CHIP:TOO: Label: Cappuccino + [1654595268.855089][14400:14405] CHIP:TOO: Mode: 4 + [1654595268.855117][14400:14405] CHIP:TOO: SemanticTags: 1 entries + [1654595268.855149][14400:14405] CHIP:TOO: [1]: { + [1654595268.855175][14400:14405] CHIP:TOO: MfgCode: 0 + [1654595268.855199][14400:14405] CHIP:TOO: Value: 0 + [1654595268.855223][14400:14405] CHIP:TOO: } + [1654595268.855249][14400:14405] CHIP:TOO: } + [1654595268.855284][14400:14405] CHIP:TOO: [3]: { + [1654595268.855310][14400:14405] CHIP:TOO: Label: Espresso + [1654595268.855332][14400:14405] CHIP:TOO: Mode: 7 + [1654595268.855360][14400:14405] CHIP:TOO: SemanticTags: 1 entries + [1654595268.855390][14400:14405] CHIP:TOO: [1]: { + [1654595268.855416][14400:14405] CHIP:TOO: MfgCode: 0 + [1654595268.855440][14400:14405] CHIP:TOO: Value: 0 + [1654595268.855464][14400:14405] CHIP:TOO: } + [1654595268.855490][14400:14405] CHIP:TOO: } + [1649677252.376226][10804:10809] CHIP:TOO: SemanticTag: 0 + [1649677252.376252][10804:10809] CHIP:TOO: } disabled: true - label: @@ -47,68 +63,21 @@ tests: list in step 1." verification: | ./chip-tool modeselect change-to-mode 4 1 1 - [1645776998.880151][4739:4744] CHIP:DMG: InvokeResponseMessage = - [1645776998.880182][4739:4744] CHIP:DMG: { - [1645776998.880233][4739:4744] CHIP:DMG: suppressResponse = false, - [1645776998.880270][4739:4744] CHIP:DMG: InvokeResponseIBs = - [1645776998.880309][4739:4744] CHIP:DMG: [ - [1645776998.880340][4739:4744] CHIP:DMG: InvokeResponseIB = - [1645776998.880386][4739:4744] CHIP:DMG: { - [1645776998.880418][4739:4744] CHIP:DMG: CommandStatusIB = - [1645776998.880476][4739:4744] CHIP:DMG: { - [1645776998.880529][4739:4744] CHIP:DMG: CommandPathIB = - [1645776998.880586][4739:4744] CHIP:DMG: { - [1645776998.880671][4739:4744] CHIP:DMG: EndpointId = 0x1, - [1645776998.880734][4739:4744] CHIP:DMG: ClusterId = 0x50, - [1645776998.880778][4739:4744] CHIP:DMG: CommandId = 0x0, - [1645776998.880873][4739:4744] CHIP:DMG: }, - [1645776998.880924][4739:4744] CHIP:DMG: - [1645776998.880987][4739:4744] CHIP:DMG: StatusIB = - [1645776998.881057][4739:4744] CHIP:DMG: { - [1645776998.881102][4739:4744] CHIP:DMG: status = 0x0, - [1645776998.881168][4739:4744] CHIP:DMG: }, - [1645776998.881210][4739:4744] CHIP:DMG: - [1645776998.881245][4739:4744] CHIP:DMG: }, - [1645776998.881286][4739:4744] CHIP:DMG: - [1645776998.881320][4739:4744] CHIP:DMG: }, - [1645776998.881360][4739:4744] CHIP:DMG: - [1645776998.881388][4739:4744] CHIP:DMG: ], - [1645776998.881425][4739:4744] CHIP:DMG: - [1645776998.881454][4739:4744] CHIP:DMG: InteractionModelRevision = 1 - [1645776998.881482][4739:4744] CHIP:DMG: }, + + + + [1649677293.280207][10810:10815] CHIP:DMG: StatusIB = + [1649677293.280283][10810:10815] CHIP:DMG: { + [1649677293.280358][10810:10815] CHIP:DMG: status = 0x00 (SUCCESS), + [1649677293.280421][10810:10815] CHIP:DMG: }, disabled: true - label: "TH reads the CurrentMode attribute from the DUT" verification: | ./chip-tool modeselect read current-mode 1 1 - [1645777197.117853][4759:4764] CHIP:DMG: ReportDataMessage = - [1645777197.117885][4759:4764] CHIP:DMG: { - [1645777197.117910][4759:4764] CHIP:DMG: AttributeReportIBs = - [1645777197.117943][4759:4764] CHIP:DMG: [ - [1645777197.117969][4759:4764] CHIP:DMG: AttributeReportIB = - [1645777197.118004][4759:4764] CHIP:DMG: { - [1645777197.118036][4759:4764] CHIP:DMG: AttributeDataIB = - [1645777197.118068][4759:4764] CHIP:DMG: { - [1645777197.118100][4759:4764] CHIP:DMG: DataVersion = 0xe164a618, - [1645777197.118136][4759:4764] CHIP:DMG: AttributePathIB = - [1645777197.118167][4759:4764] CHIP:DMG: { - [1645777197.118198][4759:4764] CHIP:DMG: Endpoint = 0x1, - [1645777197.118232][4759:4764] CHIP:DMG: Cluster = 0x50, - [1645777197.118271][4759:4764] CHIP:DMG: Attribute = 0x0000_0000, - [1645777197.118302][4759:4764] CHIP:DMG: } - [1645777197.118336][4759:4764] CHIP:DMG: - [1645777197.118369][4759:4764] CHIP:DMG: Data = 4, - [1645777197.118406][4759:4764] CHIP:DMG: }, - [1645777197.118439][4759:4764] CHIP:DMG: - [1645777197.118469][4759:4764] CHIP:DMG: }, - [1645777197.118501][4759:4764] CHIP:DMG: - [1645777197.118526][4759:4764] CHIP:DMG: ], - [1645777197.118559][4759:4764] CHIP:DMG: - [1645777197.118585][4759:4764] CHIP:DMG: SuppressResponse = true, - [1645777197.118618][4759:4764] CHIP:DMG: InteractionModelRevision = 1 - [1645777197.118647][4759:4764] CHIP:DMG: } - [1645777197.118795][4759:4764] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0000DataVersion: 3781469720 - [1645777197.118866][4759:4764] CHIP:TOO: CurrentMode: 4 + + [1649678800.298128][10854:10861] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0003 DataVersion: 4277065073 + [1649678800.298279][10854:10861] CHIP:TOO: CurrentMode: 4 disabled: true - label: @@ -116,38 +85,6 @@ tests: not in the list in step 1." verification: | ./chip-tool modeselect change-to-mode 2 1 1 - [1645777235.574575][4770:4775] CHIP:DMG: ICR moving to [ResponseRe] - [1645777235.574631][4770:4775] CHIP:DMG: InvokeResponseMessage = - [1645777235.574663][4770:4775] CHIP:DMG: { - [1645777235.574690][4770:4775] CHIP:DMG: suppressResponse = false, - [1645777235.574726][4770:4775] CHIP:DMG: InvokeResponseIBs = - [1645777235.574766][4770:4775] CHIP:DMG: [ - [1645777235.574804][4770:4775] CHIP:DMG: InvokeResponseIB = - [1645777235.574844][4770:4775] CHIP:DMG: { - [1645777235.574877][4770:4775] CHIP:DMG: CommandStatusIB = - [1645777235.574914][4770:4775] CHIP:DMG: { - [1645777235.574944][4770:4775] CHIP:DMG: CommandPathIB = - [1645777235.574991][4770:4775] CHIP:DMG: { - [1645777235.575031][4770:4775] CHIP:DMG: EndpointId = 0x1, - [1645777235.575066][4770:4775] CHIP:DMG: ClusterId = 0x50, - [1645777235.575100][4770:4775] CHIP:DMG: CommandId = 0x0, - [1645777235.575131][4770:4775] CHIP:DMG: }, - [1645777235.575174][4770:4775] CHIP:DMG: - [1645777235.575214][4770:4775] CHIP:DMG: StatusIB = - [1645777235.575257][4770:4775] CHIP:DMG: { - [1645777235.575301][4770:4775] CHIP:DMG: status = 0x87, - [1645777235.575341][4770:4775] CHIP:DMG: }, - [1645777235.575386][4770:4775] CHIP:DMG: - [1645777235.575429][4770:4775] CHIP:DMG: }, - [1645777235.575472][4770:4775] CHIP:DMG: - [1645777235.575507][4770:4775] CHIP:DMG: }, - [1645777235.575549][4770:4775] CHIP:DMG: - [1645777235.575578][4770:4775] CHIP:DMG: ], - [1645777235.575615][4770:4775] CHIP:DMG: - [1645777235.575644][4770:4775] CHIP:DMG: InteractionModelRevision = 1 - [1645777235.575675][4770:4775] CHIP:DMG: }, - [1645777235.575751][4770:4775] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0050 Command=0x0000_0000 Status=0x87 - [1645777235.575793][4770:4775] CHIP:TOO: Error: IM Error 0x00000587: General error: 0x87 - - *NOTE*: Chip-tool error is currently incorrect + CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0050 Command=0x0000_0000 Status=0x85 + CHIP:TOO: Error: IM Error 0x00000585: General error: 0x85 (INVALID_COMMAND) disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_MOD_2_2.yaml b/src/app/tests/suites/certification/Test_TC_MOD_2_2.yaml index 7629e158dfd919..b3d60e45287cc5 100644 --- a/src/app/tests/suites/certification/Test_TC_MOD_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_MOD_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: 78.2.2. [TC-MOD-2.2] ChangeToMode Verification (DUT as Client) +name: 3.2.2. [TC-MOD-2.2] ChangeToMode Verification (DUT as Client) config: nodeId: 0x12344321 @@ -24,22 +24,28 @@ tests: - label: "DUT reads the SupportedModes attribute from the TH" verification: | ./chip-tool modeselect read supported-modes 1 1 - [1645776742.667057][4661:4666] CHIP:TOO: SupportedModes: 3 entries - [1645776742.669546][4661:4666] CHIP:TOO: [1]: { - [1645776742.669588][4661:4666] CHIP:TOO: Label: Black - [1645776742.669613][4661:4666] CHIP:TOO: Mode: 0 - [1645776742.669636][4661:4666] CHIP:TOO: SemanticTag: 0 - [1645776742.669661][4661:4666] CHIP:TOO: } - [1645776742.669692][4661:4666] CHIP:TOO: [2]: { - [1645776742.669715][4661:4666] CHIP:TOO: Label: Cappuccino - [1645776742.669737][4661:4666] CHIP:TOO: Mode: 4 - [1645776742.669757][4661:4666] CHIP:TOO: SemanticTag: 0 - [1645776742.669779][4661:4666] CHIP:TOO: } - [1645776742.669808][4661:4666] CHIP:TOO: [3]: { - [1645776742.669831][4661:4666] CHIP:TOO: Label: Espresso - [1645776742.669853][4661:4666] CHIP:TOO: Mode: 7 - [1645776742.669874][4661:4666] CHIP:TOO: SemanticTag: 0 - [1645776742.669896][4661:4666] CHIP:TOO: } + + + [1651126603.327986][16335:16335] CHIP:IM: Received Read request + [1651126603.328038][16335:16335] CHIP:DMG: ReadRequestMessage = + [1651126603.328064][16335:16335] CHIP:DMG: { + [1651126603.328086][16335:16335] CHIP:DMG: AttributePathIBs = + [1651126603.328113][16335:16335] CHIP:DMG: [ + [1651126603.328137][16335:16335] CHIP:DMG: AttributePathIB = + [1651126603.328174][16335:16335] CHIP:DMG: { + [1651126603.328205][16335:16335] CHIP:DMG: Endpoint = 0x1, + [1651126603.328240][16335:16335] CHIP:DMG: Cluster = 0x50, + [1651126603.328274][16335:16335] CHIP:DMG: Attribute = 0x0000_0002, + [1651126603.328307][16335:16335] CHIP:DMG: } + [1651126603.328337][16335:16335] CHIP:DMG: + [1651126603.328365][16335:16335] CHIP:DMG: ], + [1651126603.328393][16335:16335] CHIP:DMG: + [1651126603.328419][16335:16335] CHIP:DMG: isFabricFiltered = true, + [1651126603.328444][16335:16335] CHIP:DMG: InteractionModelRevision = 1 + [1651126603.328468][16335:16335] CHIP:DMG: }, + [1651126603.328537][16335:16335] CHIP:DMG: IM RH moving to [GeneratingReports] + [1651126603.328616][16335:16335] CHIP:DMG: Building Reports for ReadHandler with + LastReportGeneration = 0 DirtyGeneration = 0 disabled: true - label: @@ -47,34 +53,39 @@ tests: list in step 1." verification: | ./chip-tool modeselect change-to-mode 4 1 1 - [1645778189.043893][4888:4893] CHIP:DMG: InvokeResponseMessage = - [1645778189.043924][4888:4893] CHIP:DMG: { - [1645778189.043953][4888:4893] CHIP:DMG: suppressResponse = false, - [1645778189.043986][4888:4893] CHIP:DMG: InvokeResponseIBs = - [1645778189.044027][4888:4893] CHIP:DMG: [ - [1645778189.044056][4888:4893] CHIP:DMG: InvokeResponseIB = - [1645778189.044100][4888:4893] CHIP:DMG: { - [1645778189.044132][4888:4893] CHIP:DMG: CommandStatusIB = - [1645778189.044171][4888:4893] CHIP:DMG: { - [1645778189.044203][4888:4893] CHIP:DMG: CommandPathIB = - [1645778189.044239][4888:4893] CHIP:DMG: { - [1645778189.044277][4888:4893] CHIP:DMG: EndpointId = 0x1, - [1645778189.044319][4888:4893] CHIP:DMG: ClusterId = 0x50, - [1645778189.044361][4888:4893] CHIP:DMG: CommandId = 0x0, - [1645778189.044394][4888:4893] CHIP:DMG: }, - [1645778189.044435][4888:4893] CHIP:DMG: - [1645778189.044472][4888:4893] CHIP:DMG: StatusIB = - [1645778189.044519][4888:4893] CHIP:DMG: { - [1645778189.044558][4888:4893] CHIP:DMG: status = 0x0, - [1645778189.044603][4888:4893] CHIP:DMG: }, - [1645778189.044650][4888:4893] CHIP:DMG: - [1645778189.044686][4888:4893] CHIP:DMG: }, - [1645778189.044724][4888:4893] CHIP:DMG: - [1645778189.044754][4888:4893] CHIP:DMG: }, - [1645778189.044793][4888:4893] CHIP:DMG: - [1645778189.044821][4888:4893] CHIP:DMG: ], - [1645778189.044896][4888:4893] CHIP:DMG: - [1645778189.044925][4888:4893] CHIP:DMG: InteractionModelRevision = 1 - [1645778189.044954][4888:4893] CHIP:DMG: }, - [1645778189.045030][4888:4893] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0050 Command=0x0000_0000 Status=0x0 + + + [1651126725.828241][16335:16335] CHIP:DMG: InvokeRequestMessage = + [1651126725.828279][16335:16335] CHIP:DMG: { + [1651126725.828313][16335:16335] CHIP:DMG: suppressResponse = false, + [1651126725.828353][16335:16335] CHIP:DMG: timedRequest = false, + [1651126725.828388][16335:16335] CHIP:DMG: InvokeRequests = + [1651126725.828434][16335:16335] CHIP:DMG: [ + [1651126725.828470][16335:16335] CHIP:DMG: CommandDataIB = + [1651126725.828514][16335:16335] CHIP:DMG: { + [1651126725.828554][16335:16335] CHIP:DMG: CommandPathIB = + [1651126725.828605][16335:16335] CHIP:DMG: { + [1651126725.828651][16335:16335] CHIP:DMG: EndpointId = 0x1, + [1651126725.828701][16335:16335] CHIP:DMG: ClusterId = 0x50, + [1651126725.828753][16335:16335] CHIP:DMG: CommandId = 0x0, + [1651126725.828799][16335:16335] CHIP:DMG: }, + [1651126725.828847][16335:16335] CHIP:DMG: + [1651126725.828889][16335:16335] CHIP:DMG: CommandData = + [1651126725.828934][16335:16335] CHIP:DMG: { + [1651126725.829098][16335:16335] CHIP:DMG: 0x0 = 4, + [1651126725.829149][16335:16335] CHIP:DMG: }, + [1651126725.829192][16335:16335] CHIP:DMG: }, + [1651126725.829239][16335:16335] CHIP:DMG: + [1651126725.829274][16335:16335] CHIP:DMG: ], + [1651126725.829317][16335:16335] CHIP:DMG: + [1651126725.829351][16335:16335] CHIP:DMG: InteractionModelRevision = 1 + [1651126725.829386][16335:16335] CHIP:DMG: }, + [1651126725.829473][16335:16335] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0050 e=1 p=o + [1651126725.829522][16335:16335] CHIP:DMG: AccessControl: allowed + [1651126725.829561][16335:16335] CHIP:DMG: Received command for Endpoint=1 Cluster=0x0000_0050 Command=0x0000_0000 + [1651126725.829605][16335:16335] CHIP:ZCL: ModeSelect: Entering emberAfModeSelectClusterChangeToModeCallback + [1651126725.829847][16335:16335] CHIP:DL: writing settings to file (/tmp/chip_kvs-9EOPmP) + [1651126725.831832][16335:16335] CHIP:DL: renamed tmp file to file (/tmp/chip_kvs) + [1651126725.831893][16335:16335] CHIP:DMG: Endpoint 1, Cluster 0x0000_0050 update version to 11823e0a + [1651126725.831933][16335:16335] CHIP:ZCL: ModeSelect: ChangeToMode successful disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_MOD_3_1.yaml b/src/app/tests/suites/certification/Test_TC_MOD_3_1.yaml index 4f1485addb4acc..0812f9abcc84dd 100644 --- a/src/app/tests/suites/certification/Test_TC_MOD_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_MOD_3_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: 78.3.1. [TC-MOD-3.1] OnMode Verification (DUT as Server) +name: 79.3.1. [TC-MOD-3.1] OnMode Verification (DUT as Server) config: nodeId: 0x12344321 @@ -24,67 +24,18 @@ tests: - label: "TH reads the OnMode attribute from the DUT" verification: | ./chip-tool modeselect read on-mode 1 1 - [1645777342.720928][4783:4788] CHIP:DMG: ReportDataMessage = - [1645777342.720955][4783:4788] CHIP:DMG: { - [1645777342.720976][4783:4788] CHIP:DMG: AttributeReportIBs = - [1645777342.721011][4783:4788] CHIP:DMG: [ - [1645777342.721035][4783:4788] CHIP:DMG: AttributeReportIB = - [1645777342.721072][4783:4788] CHIP:DMG: { - [1645777342.721100][4783:4788] CHIP:DMG: AttributeDataIB = - [1645777342.721134][4783:4788] CHIP:DMG: { - [1645777342.721167][4783:4788] CHIP:DMG: DataVersion = 0xe164a618, - [1645777342.721201][4783:4788] CHIP:DMG: AttributePathIB = - [1645777342.721235][4783:4788] CHIP:DMG: { - [1645777342.721271][4783:4788] CHIP:DMG: Endpoint = 0x1, - [1645777342.721307][4783:4788] CHIP:DMG: Cluster = 0x50, - [1645777342.721344][4783:4788] CHIP:DMG: Attribute = 0x0000_0002, - [1645777342.721378][4783:4788] CHIP:DMG: } - [1645777342.721415][4783:4788] CHIP:DMG: - [1645777342.721452][4783:4788] CHIP:DMG: Data = 0, - [1645777342.721488][4783:4788] CHIP:DMG: }, - [1645777342.721525][4783:4788] CHIP:DMG: - [1645777342.721555][4783:4788] CHIP:DMG: }, - [1645777342.721590][4783:4788] CHIP:DMG: - [1645777342.721615][4783:4788] CHIP:DMG: ], - [1645777342.721648][4783:4788] CHIP:DMG: - [1645777342.721672][4783:4788] CHIP:DMG: SuppressResponse = true, - [1645777342.721698][4783:4788] CHIP:DMG: InteractionModelRevision = 1 - [1645777342.721723][4783:4788] CHIP:DMG: } - [1645777342.721860][4783:4788] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0002DataVersion: 3781469720 - [1645777342.721929][4783:4788] CHIP:TOO: OnMode: 0 + + [1649678983.679893][10871:10876] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0005 DataVersion: 4277065073 + [1649678983.680002][10871:10876] CHIP:TOO: OnMode: null + disabled: true - label: "TH reads the CurrentMode attribute from the DUT" verification: | ./chip-tool modeselect read current-mode 1 1 - [1645777371.981905][4789:4794] CHIP:DMG: ReportDataMessage = - [1645777371.981941][4789:4794] CHIP:DMG: { - [1645777371.981974][4789:4794] CHIP:DMG: AttributeReportIBs = - [1645777371.982015][4789:4794] CHIP:DMG: [ - [1645777371.982046][4789:4794] CHIP:DMG: AttributeReportIB = - [1645777371.982092][4789:4794] CHIP:DMG: { - [1645777371.982128][4789:4794] CHIP:DMG: AttributeDataIB = - [1645777371.982174][4789:4794] CHIP:DMG: { - [1645777371.982218][4789:4794] CHIP:DMG: DataVersion = 0xe164a618, - [1645777371.982267][4789:4794] CHIP:DMG: AttributePathIB = - [1645777371.982310][4789:4794] CHIP:DMG: { - [1645777371.982363][4789:4794] CHIP:DMG: Endpoint = 0x1, - [1645777371.982419][4789:4794] CHIP:DMG: Cluster = 0x50, - [1645777371.982468][4789:4794] CHIP:DMG: Attribute = 0x0000_0000, - [1645777371.982512][4789:4794] CHIP:DMG: } - [1645777371.982566][4789:4794] CHIP:DMG: - [1645777371.982612][4789:4794] CHIP:DMG: Data = 4, - [1645777371.982655][4789:4794] CHIP:DMG: }, - [1645777371.982698][4789:4794] CHIP:DMG: - [1645777371.982734][4789:4794] CHIP:DMG: }, - [1645777371.982775][4789:4794] CHIP:DMG: - [1645777371.982809][4789:4794] CHIP:DMG: ], - [1645777371.982849][4789:4794] CHIP:DMG: - [1645777371.982882][4789:4794] CHIP:DMG: SuppressResponse = true, - [1645777371.982914][4789:4794] CHIP:DMG: InteractionModelRevision = 1 - [1645777371.982945][4789:4794] CHIP:DMG: } - [1645777371.983122][4789:4794] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0000DataVersion: 3781469720 - [1645777371.983204][4789:4794] CHIP:TOO: CurrentMode: 4 + + [1649679034.895848][10879:10884] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0003 DataVersion: 4277065073 + [1649679034.895972][10879:10884] CHIP:TOO: CurrentMode: 4 disabled: true - label: @@ -94,7 +45,7 @@ tests: disabled: true - - label: "DUT reads the SupportedModes attribute from the TH" + - label: "TH reads the SupportedModes attribute from the DUT" verification: | ./chip-tool modeselect read supported-modes 1 1 [1645776884.203383][4698:4703] CHIP:TOO: SupportedModes: 3 entries @@ -121,137 +72,28 @@ tests: to the TH with the selected value." verification: | ./chip-tool modeselect change-to-mode 7 1 1 - [1645777419.710445][4798:4803] CHIP:DMG: InvokeResponseMessage = - [1645777419.710472][4798:4803] CHIP:DMG: { - [1645777419.710504][4798:4803] CHIP:DMG: suppressResponse = false, - [1645777419.710536][4798:4803] CHIP:DMG: InvokeResponseIBs = - [1645777419.710577][4798:4803] CHIP:DMG: [ - [1645777419.710607][4798:4803] CHIP:DMG: InvokeResponseIB = - [1645777419.710649][4798:4803] CHIP:DMG: { - [1645777419.710678][4798:4803] CHIP:DMG: CommandStatusIB = - [1645777419.710714][4798:4803] CHIP:DMG: { - [1645777419.710751][4798:4803] CHIP:DMG: CommandPathIB = - [1645777419.710790][4798:4803] CHIP:DMG: { - [1645777419.710838][4798:4803] CHIP:DMG: EndpointId = 0x1, - [1645777419.710881][4798:4803] CHIP:DMG: ClusterId = 0x50, - [1645777419.710916][4798:4803] CHIP:DMG: CommandId = 0x0, - [1645777419.710963][4798:4803] CHIP:DMG: }, - [1645777419.711009][4798:4803] CHIP:DMG: - [1645777419.711046][4798:4803] CHIP:DMG: StatusIB = - [1645777419.711090][4798:4803] CHIP:DMG: { - [1645777419.711133][4798:4803] CHIP:DMG: status = 0x0, - [1645777419.711172][4798:4803] CHIP:DMG: }, - [1645777419.711218][4798:4803] CHIP:DMG: - [1645777419.711260][4798:4803] CHIP:DMG: }, - [1645777419.711307][4798:4803] CHIP:DMG: - [1645777419.711340][4798:4803] CHIP:DMG: }, - [1645777419.711378][4798:4803] CHIP:DMG: - [1645777419.711406][4798:4803] CHIP:DMG: ], - [1645777419.711443][4798:4803] CHIP:DMG: - [1645777419.711472][4798:4803] CHIP:DMG: InteractionModelRevision = 1 - [1645777419.711499][4798:4803] CHIP:DMG: }, + [1645777419.711572][4798:4803] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0050 Command=0x0000_0000 Status=0x0 disabled: true - label: "TH reads sends an Off command to the DUT" verification: | ./chip-tool onoff off 1 1 - [1645777463.883758][4807:4812] CHIP:DMG: InvokeResponseMessage = - [1645777463.883789][4807:4812] CHIP:DMG: { - [1645777463.883818][4807:4812] CHIP:DMG: suppressResponse = false, - [1645777463.883852][4807:4812] CHIP:DMG: InvokeResponseIBs = - [1645777463.883894][4807:4812] CHIP:DMG: [ - [1645777463.883924][4807:4812] CHIP:DMG: InvokeResponseIB = - [1645777463.883972][4807:4812] CHIP:DMG: { - [1645777463.884006][4807:4812] CHIP:DMG: CommandStatusIB = - [1645777463.884042][4807:4812] CHIP:DMG: { - [1645777463.884113][4807:4812] CHIP:DMG: CommandPathIB = - [1645777463.884160][4807:4812] CHIP:DMG: { - [1645777463.884231][4807:4812] CHIP:DMG: EndpointId = 0x1, - [1645777463.884300][4807:4812] CHIP:DMG: ClusterId = 0x6, - [1645777463.884335][4807:4812] CHIP:DMG: CommandId = 0x0, - [1645777463.884411][4807:4812] CHIP:DMG: }, - [1645777463.884460][4807:4812] CHIP:DMG: - [1645777463.884490][4807:4812] CHIP:DMG: StatusIB = - [1645777463.884554][4807:4812] CHIP:DMG: { - [1645777463.884591][4807:4812] CHIP:DMG: status = 0x0, - [1645777463.884658][4807:4812] CHIP:DMG: }, - [1645777463.884692][4807:4812] CHIP:DMG: - [1645777463.884745][4807:4812] CHIP:DMG: }, - [1645777463.884788][4807:4812] CHIP:DMG: - [1645777463.884816][4807:4812] CHIP:DMG: }, - [1645777463.885035][4807:4812] CHIP:DMG: - [1645777463.885106][4807:4812] CHIP:DMG: ], - [1645777463.885165][4807:4812] CHIP:DMG: - [1645777463.885206][4807:4812] CHIP:DMG: InteractionModelRevision = 1 - [1645777463.885239][4807:4812] CHIP:DMG: }, - [1645777463.885341][4807:4812] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0006 Command=0x0000_0000 Status=0x0 + + [1649679101.658594][10886:10891] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0006 Command=0x0000_0000 Status=0x0 disabled: true - label: "TH reads sends an On command to the DUT" verification: | ./chip-tool onoff on 1 1 - [1645777484.676451][4813:4818] CHIP:DMG: InvokeResponseMessage = - [1645777484.676481][4813:4818] CHIP:DMG: { - [1645777484.676509][4813:4818] CHIP:DMG: suppressResponse = false, - [1645777484.676536][4813:4818] CHIP:DMG: InvokeResponseIBs = - [1645777484.676569][4813:4818] CHIP:DMG: [ - [1645777484.676596][4813:4818] CHIP:DMG: InvokeResponseIB = - [1645777484.676640][4813:4818] CHIP:DMG: { - [1645777484.676671][4813:4818] CHIP:DMG: CommandStatusIB = - [1645777484.676710][4813:4818] CHIP:DMG: { - [1645777484.676746][4813:4818] CHIP:DMG: CommandPathIB = - [1645777484.676785][4813:4818] CHIP:DMG: { - [1645777484.676859][4813:4818] CHIP:DMG: EndpointId = 0x1, - [1645777484.676906][4813:4818] CHIP:DMG: ClusterId = 0x6, - [1645777484.676947][4813:4818] CHIP:DMG: CommandId = 0x1, - [1645777484.676986][4813:4818] CHIP:DMG: }, - [1645777484.677026][4813:4818] CHIP:DMG: - [1645777484.677055][4813:4818] CHIP:DMG: StatusIB = - [1645777484.677084][4813:4818] CHIP:DMG: { - [1645777484.677111][4813:4818] CHIP:DMG: status = 0x0, - [1645777484.677151][4813:4818] CHIP:DMG: }, - [1645777484.677184][4813:4818] CHIP:DMG: - [1645777484.677219][4813:4818] CHIP:DMG: }, - [1645777484.677253][4813:4818] CHIP:DMG: - [1645777484.677283][4813:4818] CHIP:DMG: }, - [1645777484.677319][4813:4818] CHIP:DMG: - [1645777484.677344][4813:4818] CHIP:DMG: ], - [1645777484.677377][4813:4818] CHIP:DMG: - [1645777484.677403][4813:4818] CHIP:DMG: InteractionModelRevision = 1 - [1645777484.677427][4813:4818] CHIP:DMG: }, - [1645777484.677492][4813:4818] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0006 Command=0x0000_0001 Status=0x0 + + [1649679156.146015][10893:10898] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0006 Command=0x0000_0001 Status=0x0 disabled: true - label: "TH reads the CurrentMode attribute from the DUT" verification: | ./chip-tool modeselect read current-mode 1 1 - [1645777734.855000][4848:4853] CHIP:DMG: ReportDataMessage = - [1645777734.855043][4848:4853] CHIP:DMG: { - [1645777734.855071][4848:4853] CHIP:DMG: AttributeReportIBs = - [1645777734.855109][4848:4853] CHIP:DMG: [ - [1645777734.855138][4848:4853] CHIP:DMG: AttributeReportIB = - [1645777734.855179][4848:4853] CHIP:DMG: { - [1645777734.855209][4848:4853] CHIP:DMG: AttributeDataIB = - [1645777734.855247][4848:4853] CHIP:DMG: { - [1645777734.855288][4848:4853] CHIP:DMG: DataVersion = 0xe164a619, - [1645777734.855326][4848:4853] CHIP:DMG: AttributePathIB = - [1645777734.855366][4848:4853] CHIP:DMG: { - [1645777734.855406][4848:4853] CHIP:DMG: Endpoint = 0x1, - [1645777734.855449][4848:4853] CHIP:DMG: Cluster = 0x50, - [1645777734.855491][4848:4853] CHIP:DMG: Attribute = 0x0000_0000, - [1645777734.855569][4848:4853] CHIP:DMG: } - [1645777734.855606][4848:4853] CHIP:DMG: - [1645777734.855639][4848:4853] CHIP:DMG: Data = 0, - [1645777734.855696][4848:4853] CHIP:DMG: }, - [1645777734.855744][4848:4853] CHIP:DMG: - [1645777734.855775][4848:4853] CHIP:DMG: }, - [1645777734.855811][4848:4853] CHIP:DMG: - [1645777734.855840][4848:4853] CHIP:DMG: ], - [1645777734.855876][4848:4853] CHIP:DMG: - [1645777734.855920][4848:4853] CHIP:DMG: SuppressResponse = true, - [1645777734.855968][4848:4853] CHIP:DMG: InteractionModelRevision = 1 - [1645777734.855993][4848:4853] CHIP:DMG: } - [1645777734.856233][4848:4853] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0000DataVersion: 3781469721 - [1645777734.856345][4848:4853] CHIP:TOO: CurrentMode: 0 + + [1649679202.069163][10899:10904] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0003 DataVersion: 4277065073 + [1649679202.069278][10899:10904] CHIP:TOO: CurrentMode: 4 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_MOD_3_2.yaml b/src/app/tests/suites/certification/Test_TC_MOD_3_2.yaml index b638d0f252f8e7..985a11a5374109 100644 --- a/src/app/tests/suites/certification/Test_TC_MOD_3_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_MOD_3_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: 78.3.2. [TC-MOD-3.2] StartUpMode Verification (DUT as Server) +name: 79.3.2. [TC-MOD-3.2] StartUpMode Verification (DUT as Server) config: nodeId: 0x12344321 @@ -24,32 +24,7 @@ tests: - label: "TH reads the StartUpMode attribute from the DUT" verification: | ./chip-tool modeselect read start-up-mode 1 1 - [1645777708.405861][4841:4846] CHIP:DMG: ReportDataMessage = - [1645777708.405890][4841:4846] CHIP:DMG: { - [1645777708.405912][4841:4846] CHIP:DMG: AttributeReportIBs = - [1645777708.405946][4841:4846] CHIP:DMG: [ - [1645777708.405970][4841:4846] CHIP:DMG: AttributeReportIB = - [1645777708.406025][4841:4846] CHIP:DMG: { - [1645777708.406075][4841:4846] CHIP:DMG: AttributeDataIB = - [1645777708.406119][4841:4846] CHIP:DMG: { - [1645777708.406166][4841:4846] CHIP:DMG: DataVersion = 0xe164a619, - [1645777708.406211][4841:4846] CHIP:DMG: AttributePathIB = - [1645777708.406245][4841:4846] CHIP:DMG: { - [1645777708.406282][4841:4846] CHIP:DMG: Endpoint = 0x1, - [1645777708.406319][4841:4846] CHIP:DMG: Cluster = 0x50, - [1645777708.406356][4841:4846] CHIP:DMG: Attribute = 0x0000_0003, - [1645777708.406392][4841:4846] CHIP:DMG: } - [1645777708.406429][4841:4846] CHIP:DMG: - [1645777708.406464][4841:4846] CHIP:DMG: Data = 0, - [1645777708.406499][4841:4846] CHIP:DMG: }, - [1645777708.406535][4841:4846] CHIP:DMG: - [1645777708.406563][4841:4846] CHIP:DMG: }, - [1645777708.406595][4841:4846] CHIP:DMG: - [1645777708.406620][4841:4846] CHIP:DMG: ], - [1645777708.406650][4841:4846] CHIP:DMG: - [1645777708.406674][4841:4846] CHIP:DMG: SuppressResponse = true, - [1645777708.406700][4841:4846] CHIP:DMG: InteractionModelRevision = 1 - [1645777708.406725][4841:4846] CHIP:DMG: } + [1645777708.406864][4841:4846] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0003DataVersion: 3781469721 [1645777708.406933][4841:4846] CHIP:TOO: StartUpMode: 0 disabled: true @@ -57,99 +32,60 @@ tests: - label: "TH reads the CurrentMode attribute from the DUT" verification: | ./chip-tool modeselect read current-mode 1 1 - [1645778146.170365][4876:4881] CHIP:DMG: ReportDataMessage = - [1645778146.170407][4876:4881] CHIP:DMG: { - [1645778146.170431][4876:4881] CHIP:DMG: AttributeReportIBs = - [1645778146.170482][4876:4881] CHIP:DMG: [ - [1645778146.170527][4876:4881] CHIP:DMG: AttributeReportIB = - [1645778146.170565][4876:4881] CHIP:DMG: { - [1645778146.170593][4876:4881] CHIP:DMG: AttributeDataIB = - [1645778146.170629][4876:4881] CHIP:DMG: { - [1645778146.170664][4876:4881] CHIP:DMG: DataVersion = 0xe164a619, - [1645778146.170697][4876:4881] CHIP:DMG: AttributePathIB = - [1645778146.170733][4876:4881] CHIP:DMG: { - [1645778146.170776][4876:4881] CHIP:DMG: Endpoint = 0x1, - [1645778146.170815][4876:4881] CHIP:DMG: Cluster = 0x50, - [1645778146.170852][4876:4881] CHIP:DMG: Attribute = 0x0000_0000, - [1645778146.170888][4876:4881] CHIP:DMG: } - [1645778146.170925][4876:4881] CHIP:DMG: - [1645778146.170988][4876:4881] CHIP:DMG: Data = 7, - [1645778146.171026][4876:4881] CHIP:DMG: }, - [1645778146.171060][4876:4881] CHIP:DMG: - [1645778146.171090][4876:4881] CHIP:DMG: }, - [1645778146.171129][4876:4881] CHIP:DMG: - [1645778146.171154][4876:4881] CHIP:DMG: ], - [1645778146.171196][4876:4881] CHIP:DMG: - [1645778146.171235][4876:4881] CHIP:DMG: SuppressResponse = true, - [1645778146.171262][4876:4881] CHIP:DMG: InteractionModelRevision = 1 - [1645778146.171290][4876:4881] CHIP:DMG: } + [1645778146.171510][4876:4881] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0000DataVersion: 3781469721 - [1645778146.171602][4876:4881] CHIP:TOO: CurrentMode: 7 + [1645778146.171602][4876:4881] CHIP:TOO: CurrentMode: 4 disabled: true - label: "If the StartUpMode and CurrentMode attributes have the same value, proceed to step 2c, Otherwise proceed to step 3a." verification: | - + If the StartUpMode and CurrentMode attributes have the same value, proceed to step 2c, Otherwise proceed to step 3a. disabled: true - - label: "DUT reads the SupportedModes attribute from the TH" + - label: "TH reads the SupportedModes attribute from the DUT" verification: | ./chip-tool modeselect read supported-modes 1 1 - [1645776742.667057][4661:4666] CHIP:TOO: SupportedModes: 3 entries - [1645776742.669546][4661:4666] CHIP:TOO: [1]: { - [1645776742.669588][4661:4666] CHIP:TOO: Label: Black - [1645776742.669613][4661:4666] CHIP:TOO: Mode: 0 - [1645776742.669636][4661:4666] CHIP:TOO: SemanticTag: 0 - [1645776742.669661][4661:4666] CHIP:TOO: } - [1645776742.669692][4661:4666] CHIP:TOO: [2]: { - [1645776742.669715][4661:4666] CHIP:TOO: Label: Cappuccino - [1645776742.669737][4661:4666] CHIP:TOO: Mode: 4 - [1645776742.669757][4661:4666] CHIP:TOO: SemanticTag: 0 - [1645776742.669779][4661:4666] CHIP:TOO: } - [1645776742.669808][4661:4666] CHIP:TOO: [3]: { - [1645776742.669831][4661:4666] CHIP:TOO: Label: Espresso - [1645776742.669853][4661:4666] CHIP:TOO: Mode: 7 - [1645776742.669874][4661:4666] CHIP:TOO: SemanticTag: 0 - [1645776742.669896][4661:4666] CHIP:TOO: } + + [1654153500.212649][3409:3414] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0002 DataVersion: 2392545814 + [1654153500.212776][3409:3414] CHIP:TOO: SupportedModes: 3 entries + [1654153500.212893][3409:3414] CHIP:TOO: [1]: { + [1654153500.212926][3409:3414] CHIP:TOO: Label: Black + [1654153500.212957][3409:3414] CHIP:TOO: Mode: 0 + [1654153500.212993][3409:3414] CHIP:TOO: SemanticTags: 1 entries + [1654153500.213034][3409:3414] CHIP:TOO: [1]: { + [1654153500.213066][3409:3414] CHIP:TOO: MfgCode: 0 + [1654153500.213097][3409:3414] CHIP:TOO: Value: 0 + [1654153500.213128][3409:3414] CHIP:TOO: } + [1654153500.213160][3409:3414] CHIP:TOO: } + [1654153500.213205][3409:3414] CHIP:TOO: [2]: { + [1654153500.213236][3409:3414] CHIP:TOO: Label: Cappuccino + [1654153500.213266][3409:3414] CHIP:TOO: Mode: 4 + [1654153500.213300][3409:3414] CHIP:TOO: SemanticTags: 1 entries + [1654153500.213339][3409:3414] CHIP:TOO: [1]: { + [1654153500.213371][3409:3414] CHIP:TOO: MfgCode: 0 + [1654153500.213401][3409:3414] CHIP:TOO: Value: 0 + [1654153500.213432][3409:3414] CHIP:TOO: } + [1654153500.213463][3409:3414] CHIP:TOO: } + [1654153500.213504][3409:3414] CHIP:TOO: [3]: { + [1654153500.213535][3409:3414] CHIP:TOO: Label: Espresso + [1654153500.213564][3409:3414] CHIP:TOO: Mode: 7 + [1654153500.213599][3409:3414] CHIP:TOO: SemanticTags: 1 entries + [1654153500.213637][3409:3414] CHIP:TOO: [1]: { + [1654153500.213669][3409:3414] CHIP:TOO: MfgCode: 0 + [1654153500.213700][3409:3414] CHIP:TOO: Value: 0 + [1654153500.213730][3409:3414] CHIP:TOO: } + [1654153500.213761][3409:3414] CHIP:TOO: } disabled: true - label: "Select a value from the list in step 2c with a different value than the StartUpMode value read in step 1. TH sends a ChangeToMode command - to the TH with the selected value." + to the DUT with the selected value." verification: | ./chip-tool modeselect change-to-mode 4 1 1 - [1645778189.043893][4888:4893] CHIP:DMG: InvokeResponseMessage = - [1645778189.043924][4888:4893] CHIP:DMG: { - [1645778189.043953][4888:4893] CHIP:DMG: suppressResponse = false, - [1645778189.043986][4888:4893] CHIP:DMG: InvokeResponseIBs = - [1645778189.044027][4888:4893] CHIP:DMG: [ - [1645778189.044056][4888:4893] CHIP:DMG: InvokeResponseIB = - [1645778189.044100][4888:4893] CHIP:DMG: { - [1645778189.044132][4888:4893] CHIP:DMG: CommandStatusIB = - [1645778189.044171][4888:4893] CHIP:DMG: { - [1645778189.044203][4888:4893] CHIP:DMG: CommandPathIB = - [1645778189.044239][4888:4893] CHIP:DMG: { - [1645778189.044277][4888:4893] CHIP:DMG: EndpointId = 0x1, - [1645778189.044319][4888:4893] CHIP:DMG: ClusterId = 0x50, - [1645778189.044361][4888:4893] CHIP:DMG: CommandId = 0x0, - [1645778189.044394][4888:4893] CHIP:DMG: }, - [1645778189.044435][4888:4893] CHIP:DMG: - [1645778189.044472][4888:4893] CHIP:DMG: StatusIB = - [1645778189.044519][4888:4893] CHIP:DMG: { - [1645778189.044558][4888:4893] CHIP:DMG: status = 0x0, - [1645778189.044603][4888:4893] CHIP:DMG: }, - [1645778189.044650][4888:4893] CHIP:DMG: - [1645778189.044686][4888:4893] CHIP:DMG: }, - [1645778189.044724][4888:4893] CHIP:DMG: - [1645778189.044754][4888:4893] CHIP:DMG: }, - [1645778189.044793][4888:4893] CHIP:DMG: - [1645778189.044821][4888:4893] CHIP:DMG: ], - [1645778189.044896][4888:4893] CHIP:DMG: - [1645778189.044925][4888:4893] CHIP:DMG: InteractionModelRevision = 1 - [1645778189.044954][4888:4893] CHIP:DMG: }, + [1645778189.045030][4888:4893] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0050 Command=0x0000_0000 Status=0x0 disabled: true @@ -161,32 +97,7 @@ tests: - label: "TH reads the CurrentMode attribute from the DUT" verification: | ./chip-tool modeselect read current-mode 1 1 - [1645778146.170365][4876:4881] CHIP:DMG: ReportDataMessage = - [1645778146.170407][4876:4881] CHIP:DMG: { - [1645778146.170431][4876:4881] CHIP:DMG: AttributeReportIBs = - [1645778146.170482][4876:4881] CHIP:DMG: [ - [1645778146.170527][4876:4881] CHIP:DMG: AttributeReportIB = - [1645778146.170565][4876:4881] CHIP:DMG: { - [1645778146.170593][4876:4881] CHIP:DMG: AttributeDataIB = - [1645778146.170629][4876:4881] CHIP:DMG: { - [1645778146.170664][4876:4881] CHIP:DMG: DataVersion = 0xe164a619, - [1645778146.170697][4876:4881] CHIP:DMG: AttributePathIB = - [1645778146.170733][4876:4881] CHIP:DMG: { - [1645778146.170776][4876:4881] CHIP:DMG: Endpoint = 0x1, - [1645778146.170815][4876:4881] CHIP:DMG: Cluster = 0x50, - [1645778146.170852][4876:4881] CHIP:DMG: Attribute = 0x0000_0000, - [1645778146.170888][4876:4881] CHIP:DMG: } - [1645778146.170925][4876:4881] CHIP:DMG: - [1645778146.170988][4876:4881] CHIP:DMG: Data = 0, - [1645778146.171026][4876:4881] CHIP:DMG: }, - [1645778146.171060][4876:4881] CHIP:DMG: - [1645778146.171090][4876:4881] CHIP:DMG: }, - [1645778146.171129][4876:4881] CHIP:DMG: - [1645778146.171154][4876:4881] CHIP:DMG: ], - [1645778146.171196][4876:4881] CHIP:DMG: - [1645778146.171235][4876:4881] CHIP:DMG: SuppressResponse = true, - [1645778146.171262][4876:4881] CHIP:DMG: InteractionModelRevision = 1 - [1645778146.171290][4876:4881] CHIP:DMG: } + [1645778146.171510][4876:4881] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0000DataVersion: 3781469721 [1645778146.171602][4876:4881] CHIP:TOO: CurrentMode: 0 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_MOD_3_3.yaml b/src/app/tests/suites/certification/Test_TC_MOD_3_3.yaml index a47cfaa509625c..84918a5746ea6d 100644 --- a/src/app/tests/suites/certification/Test_TC_MOD_3_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_MOD_3_3.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: 78.3.3. [TC-MOD-3.3] OTA Mode Verification (DUT as Server) +name: 79.3.3. [TC-MOD-3.3] OTA Mode Verification (DUT as Server) config: nodeId: 0x12344321 @@ -24,32 +24,7 @@ tests: - label: "TH reads the StartUpMode attribute from the DUT" verification: | ./chip-tool modeselect read start-up-mode 1 1 - [1645778279.692171][4898:4903] CHIP:DMG: ReportDataMessage = - [1645778279.692198][4898:4903] CHIP:DMG: { - [1645778279.692219][4898:4903] CHIP:DMG: AttributeReportIBs = - [1645778279.692254][4898:4903] CHIP:DMG: [ - [1645778279.692278][4898:4903] CHIP:DMG: AttributeReportIB = - [1645778279.692309][4898:4903] CHIP:DMG: { - [1645778279.692336][4898:4903] CHIP:DMG: AttributeDataIB = - [1645778279.692368][4898:4903] CHIP:DMG: { - [1645778279.692403][4898:4903] CHIP:DMG: DataVersion = 0xe164a61a, - [1645778279.692429][4898:4903] CHIP:DMG: AttributePathIB = - [1645778279.692462][4898:4903] CHIP:DMG: { - [1645778279.692494][4898:4903] CHIP:DMG: Endpoint = 0x1, - [1645778279.692533][4898:4903] CHIP:DMG: Cluster = 0x50, - [1645778279.692570][4898:4903] CHIP:DMG: Attribute = 0x0000_0003, - [1645778279.692601][4898:4903] CHIP:DMG: } - [1645778279.692635][4898:4903] CHIP:DMG: - [1645778279.692671][4898:4903] CHIP:DMG: Data = 0, - [1645778279.692703][4898:4903] CHIP:DMG: }, - [1645778279.692737][4898:4903] CHIP:DMG: - [1645778279.692764][4898:4903] CHIP:DMG: }, - [1645778279.692795][4898:4903] CHIP:DMG: - [1645778279.692818][4898:4903] CHIP:DMG: ], - [1645778279.692872][4898:4903] CHIP:DMG: - [1645778279.692897][4898:4903] CHIP:DMG: SuppressResponse = true, - [1645778279.692921][4898:4903] CHIP:DMG: InteractionModelRevision = 1 - [1645778279.692944][4898:4903] CHIP:DMG: } + [1645778279.693082][4898:4903] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0003DataVersion: 3781469722 [1645778279.693151][4898:4903] CHIP:TOO: StartUpMode: 0 disabled: true @@ -57,32 +32,7 @@ tests: - label: "TH reads the CurrentMode attribute from the DUT" verification: | ./chip-tool modeselect read current-mode 1 1 - [1645778146.170365][4876:4881] CHIP:DMG: ReportDataMessage = - [1645778146.170407][4876:4881] CHIP:DMG: { - [1645778146.170431][4876:4881] CHIP:DMG: AttributeReportIBs = - [1645778146.170482][4876:4881] CHIP:DMG: [ - [1645778146.170527][4876:4881] CHIP:DMG: AttributeReportIB = - [1645778146.170565][4876:4881] CHIP:DMG: { - [1645778146.170593][4876:4881] CHIP:DMG: AttributeDataIB = - [1645778146.170629][4876:4881] CHIP:DMG: { - [1645778146.170664][4876:4881] CHIP:DMG: DataVersion = 0xe164a619, - [1645778146.170697][4876:4881] CHIP:DMG: AttributePathIB = - [1645778146.170733][4876:4881] CHIP:DMG: { - [1645778146.170776][4876:4881] CHIP:DMG: Endpoint = 0x1, - [1645778146.170815][4876:4881] CHIP:DMG: Cluster = 0x50, - [1645778146.170852][4876:4881] CHIP:DMG: Attribute = 0x0000_0000, - [1645778146.170888][4876:4881] CHIP:DMG: } - [1645778146.170925][4876:4881] CHIP:DMG: - [1645778146.170988][4876:4881] CHIP:DMG: Data = 7, - [1645778146.171026][4876:4881] CHIP:DMG: }, - [1645778146.171060][4876:4881] CHIP:DMG: - [1645778146.171090][4876:4881] CHIP:DMG: }, - [1645778146.171129][4876:4881] CHIP:DMG: - [1645778146.171154][4876:4881] CHIP:DMG: ], - [1645778146.171196][4876:4881] CHIP:DMG: - [1645778146.171235][4876:4881] CHIP:DMG: SuppressResponse = true, - [1645778146.171262][4876:4881] CHIP:DMG: InteractionModelRevision = 1 - [1645778146.171290][4876:4881] CHIP:DMG: } + [1645778146.171510][4876:4881] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0000DataVersion: 3781469721 [1645778146.171602][4876:4881] CHIP:TOO: CurrentMode: 7 disabled: true @@ -91,10 +41,10 @@ tests: "If the StartUpMode and CurrentMode attributes have the same value, proceed to step 2c, Otherwise proceed to step 3a." verification: | - + If the StartUpMode and CurrentMode attributes have the same value, proceed to step 2c, Otherwise proceed to step 3a. disabled: true - - label: "DUT reads the SupportedModes attribute from the TH" + - label: "TH reads the SupportedModes attribute from the DUT" verification: | ./chip-tool modeselect read supported-modes 1 1 [1645776742.667057][4661:4666] CHIP:TOO: SupportedModes: 3 entries @@ -118,38 +68,10 @@ tests: - label: "Select a value from the list in step 2c with a different value than the StartUpMode value read in step 1. TH sends a ChangeToMode command - to the TH with the selected value." + to the DUT with the selected value." verification: | ./chip-tool modeselect change-to-mode 4 1 1 - [1645778189.043893][4888:4893] CHIP:DMG: InvokeResponseMessage = - [1645778189.043924][4888:4893] CHIP:DMG: { - [1645778189.043953][4888:4893] CHIP:DMG: suppressResponse = false, - [1645778189.043986][4888:4893] CHIP:DMG: InvokeResponseIBs = - [1645778189.044027][4888:4893] CHIP:DMG: [ - [1645778189.044056][4888:4893] CHIP:DMG: InvokeResponseIB = - [1645778189.044100][4888:4893] CHIP:DMG: { - [1645778189.044132][4888:4893] CHIP:DMG: CommandStatusIB = - [1645778189.044171][4888:4893] CHIP:DMG: { - [1645778189.044203][4888:4893] CHIP:DMG: CommandPathIB = - [1645778189.044239][4888:4893] CHIP:DMG: { - [1645778189.044277][4888:4893] CHIP:DMG: EndpointId = 0x1, - [1645778189.044319][4888:4893] CHIP:DMG: ClusterId = 0x50, - [1645778189.044361][4888:4893] CHIP:DMG: CommandId = 0x0, - [1645778189.044394][4888:4893] CHIP:DMG: }, - [1645778189.044435][4888:4893] CHIP:DMG: - [1645778189.044472][4888:4893] CHIP:DMG: StatusIB = - [1645778189.044519][4888:4893] CHIP:DMG: { - [1645778189.044558][4888:4893] CHIP:DMG: status = 0x0, - [1645778189.044603][4888:4893] CHIP:DMG: }, - [1645778189.044650][4888:4893] CHIP:DMG: - [1645778189.044686][4888:4893] CHIP:DMG: }, - [1645778189.044724][4888:4893] CHIP:DMG: - [1645778189.044754][4888:4893] CHIP:DMG: }, - [1645778189.044793][4888:4893] CHIP:DMG: - [1645778189.044821][4888:4893] CHIP:DMG: ], - [1645778189.044896][4888:4893] CHIP:DMG: - [1645778189.044925][4888:4893] CHIP:DMG: InteractionModelRevision = 1 - [1645778189.044954][4888:4893] CHIP:DMG: }, + [1645778189.045030][4888:4893] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0050 Command=0x0000_0000 Status=0x0 disabled: true @@ -157,38 +79,13 @@ tests: "Perform an OTA update on the device that requires a reboot. Allow for the DUT to update and fully reboot." verification: | - + Perform an OTA update on the device that requires a reboot. Allow for the DUT to update and fully reboot. disabled: true - label: "TH reads the CurrentMode attribute from the DUT" verification: | ./chip-tool modeselect read current-mode 1 1 - [1645778146.170365][4876:4881] CHIP:DMG: ReportDataMessage = - [1645778146.170407][4876:4881] CHIP:DMG: { - [1645778146.170431][4876:4881] CHIP:DMG: AttributeReportIBs = - [1645778146.170482][4876:4881] CHIP:DMG: [ - [1645778146.170527][4876:4881] CHIP:DMG: AttributeReportIB = - [1645778146.170565][4876:4881] CHIP:DMG: { - [1645778146.170593][4876:4881] CHIP:DMG: AttributeDataIB = - [1645778146.170629][4876:4881] CHIP:DMG: { - [1645778146.170664][4876:4881] CHIP:DMG: DataVersion = 0xe164a619, - [1645778146.170697][4876:4881] CHIP:DMG: AttributePathIB = - [1645778146.170733][4876:4881] CHIP:DMG: { - [1645778146.170776][4876:4881] CHIP:DMG: Endpoint = 0x1, - [1645778146.170815][4876:4881] CHIP:DMG: Cluster = 0x50, - [1645778146.170852][4876:4881] CHIP:DMG: Attribute = 0x0000_0000, - [1645778146.170888][4876:4881] CHIP:DMG: } - [1645778146.170925][4876:4881] CHIP:DMG: - [1645778146.170988][4876:4881] CHIP:DMG: Data = 4, - [1645778146.171026][4876:4881] CHIP:DMG: }, - [1645778146.171060][4876:4881] CHIP:DMG: - [1645778146.171090][4876:4881] CHIP:DMG: }, - [1645778146.171129][4876:4881] CHIP:DMG: - [1645778146.171154][4876:4881] CHIP:DMG: ], - [1645778146.171196][4876:4881] CHIP:DMG: - [1645778146.171235][4876:4881] CHIP:DMG: SuppressResponse = true, - [1645778146.171262][4876:4881] CHIP:DMG: InteractionModelRevision = 1 - [1645778146.171290][4876:4881] CHIP:DMG: } + [1645778146.171510][4876:4881] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0000DataVersion: 3781469721 [1645778146.171602][4876:4881] CHIP:TOO: CurrentMode: 4 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_OCC_2_3.yaml b/src/app/tests/suites/certification/Test_TC_OCC_2_3.yaml index e9cfd4b44f36e2..6594c05336890b 100644 --- a/src/app/tests/suites/certification/Test_TC_OCC_2_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_OCC_2_3.yaml @@ -32,14 +32,16 @@ tests: verification: | ./chip-tool occupancysensing read occupancy-sensor-type 1 1 - Endpoint: 1 Cluster: 0x0000_0406 Attribute 0x0000_0001DataVersion: 289401399 - [1646129490.492433][2997:3002] CHIP:TOO: occupancy sensor type: 0 + [1648461912.765825][9300:9306] CHIP:DMG: } + [1648461912.766013][9300:9306] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0406 Attribute 0x0000_0001 DataVersion: 3082917122 + [1648461912.766089][9300:9306] CHIP:TOO: occupancy sensor type: 0 disabled: true - label: "TH reads OccupancySensorTypeBitmap attribute from DUT" verification: | ./chip-tool occupancysensing read occupancy-sensor-type-bitmap 1 1 - Endpoint: 1 Cluster: 0x0000_0406 Attribute 0x0000_0002DataVersion: 289401399 - [1646129577.158531][3007:3013] CHIP:TOO: occupancy sensor type bitmap: 1 + [1648461918.499009][9307:9312] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0406 Attribute 0x0000_0002 DataVersion: 3082917122 + [1648461918.499082][9307:9312] CHIP:TOO: occupancy sensor type bitmap: 1 + [1648461918.499192][9307:9312] CHIP:EM: Sending Standalone Ack for MessageCounter:14798084 on exchange 49320i disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_OCC_2_4.yaml b/src/app/tests/suites/certification/Test_TC_OCC_2_4.yaml index f0c199718de7a9..48c5ef14be8915 100644 --- a/src/app/tests/suites/certification/Test_TC_OCC_2_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_OCC_2_4.yaml @@ -28,47 +28,21 @@ tests: disabled: true - - label: "TH reads OccupancySensorType attribute from DUT" + - label: "DUT reads OccupancySensorType attribute from TH" verification: | ./chip-tool occupancysensing read occupancy-sensor-type 1 1 - [1646207157.076863][2190:2190] CHIP:IM: Received Read request - [1646207157.076920][2190:2190] CHIP:DMG: ReadRequestMessage = - [1646207157.076949][2190:2190] CHIP:DMG: { - [1646207157.076974][2190:2190] CHIP:DMG: AttributePathIBs = - [1646207157.077003][2190:2190] CHIP:DMG: [ - [1646207157.077029][2190:2190] CHIP:DMG: AttributePathIB = - [1646207157.077074][2190:2190] CHIP:DMG: { - [1646207157.077125][2190:2190] CHIP:DMG: Endpoint = 0x1, - [1646207157.077165][2190:2190] CHIP:DMG: Cluster = 0x406, - [1646207157.077202][2190:2190] CHIP:DMG: Attribute = 0x0000_0001, - [1646207157.077239][2190:2190] CHIP:DMG: } - [1646207157.077271][2190:2190] CHIP:DMG: - [1646207157.077299][2190:2190] CHIP:DMG: ], - [1646207157.077329][2190:2190] CHIP:DMG: - [1646207157.077358][2190:2190] CHIP:DMG: isFabricFiltered = false, - [1646207157.077393][2190:2190] CHIP:DMG: InteractionModelRevision = 1 - [1646207157.077417][2190:2190] CHIP:DMG: }, - [1646207157.077486][2190:2190] CHIP:DMG: IM RH moving to [GeneratingReports] + + [1648461912.765825][9300:9306] CHIP:DMG: } + [1648461912.766013][9300:9306] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0406 Attribute 0x0000_0001 DataVersion: 3082917122 + [1648461912.766089][9300:9306] CHIP:TOO: occupancy sensor type: 0 + [1648461912.766203][9300:9306] CHIP:EM: Sending Standalone Ack for MessageCounter:12865747 on exchange 64494i disabled: true - - label: "TH reads OccupancySensorTypeBitmap attribute from DUT" + - label: "DUT reads OccupancySensorTypeBitmap attribute from TH" verification: | ./chip-tool occupancysensing read occupancy-sensor-type-bitmap 1 1 - [1646207177.525045][2190:2190] CHIP:IM: Received Read request - [1646207177.525107][2190:2190] CHIP:DMG: ReadRequestMessage = - [1646207177.525139][2190:2190] CHIP:DMG: { - [1646207177.525165][2190:2190] CHIP:DMG: AttributePathIBs = - [1646207177.525202][2190:2190] CHIP:DMG: [ - [1646207177.525232][2190:2190] CHIP:DMG: AttributePathIB = - [1646207177.525268][2190:2190] CHIP:DMG: { - [1646207177.525304][2190:2190] CHIP:DMG: Endpoint = 0x1, - [1646207177.525346][2190:2190] CHIP:DMG: Cluster = 0x406, - [1646207177.525385][2190:2190] CHIP:DMG: Attribute = 0x0000_0002, - [1646207177.525425][2190:2190] CHIP:DMG: } - [1646207177.525461][2190:2190] CHIP:DMG: - [1646207177.525494][2190:2190] CHIP:DMG: ], - [1646207177.525529][2190:2190] CHIP:DMG: - [1646207177.525561][2190:2190] CHIP:DMG: isFabricFiltered = false, - [1646207177.525591][2190:2190] CHIP:DMG: InteractionModelRevision = 1 - [1646207177.525619][2190:2190] CHIP:DMG: }, + + [1648461918.499009][9307:9312] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0406 Attribute 0x0000_0002 DataVersion: 3082917122 + [1648461918.499082][9307:9312] CHIP:TOO: occupancy sensor type bitmap: 1 + [1648461918.499192][9307:9312] CHIP:EM: Sending Standalone Ack for MessageCounter:14798084 on exchange 49320i disabled: true 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 6aa385b8a458fa..544f9f53ea2ef4 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 @@ -36,7 +36,7 @@ tests: - label: "Operate on DUT to change the occupancy status" verification: | - + DUT Action needed. disabled: true - label: "after a few seconds, TH reads Occupancy attribute from DUT" diff --git a/src/app/tests/suites/certification/Test_TC_PRS_2_2.yaml b/src/app/tests/suites/certification/Test_TC_PRS_2_2.yaml index c0c13082760fd0..12ee8c7b5e6887 100644 --- a/src/app/tests/suites/certification/Test_TC_PRS_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_PRS_2_2.yaml @@ -26,18 +26,23 @@ tests: disabled: true - - label: "TH reads MeasuredValue attribute from DUT" + - label: "TH reads from the DUT the MeasuredValue attribute" verification: | ./chip-tool pressuremeasurement read measured-value 1 1 - Verify response: cluster id: 0x0403 Attribute: 0 + + CHIP:TOO: MeasuredValue: 0 disabled: true - label: "Operate on device to change the pressure significantly" verification: | - + Operate at device disabled: true - - label: "after a few seconds, TH reads MeasuredValue attribute from DUT" + - label: + "After a few seconds, TH reads from the DUT the MeasuredValue + attribute" verification: | + ./chip-tool pressuremeasurement read measured-value 1 1 + DUT action missing [cant verify using Raspi] disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_PRS_2_3.yaml b/src/app/tests/suites/certification/Test_TC_PRS_2_3.yaml index 226fab6ae64900..af0080a6012ec9 100644 --- a/src/app/tests/suites/certification/Test_TC_PRS_2_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_PRS_2_3.yaml @@ -26,14 +26,17 @@ tests: disabled: true - - label: "TH reads Tolerance attribute from DUT" + - label: "TH reads from the DUT the Tolerance attribute" verification: | ./chip-tool pressuremeasurement read tolerance 1 1 + + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true - - label: "TH reads MeasuredValue attribute from DUT" + - label: "TH reads from the DUT the MeasuredValue attribute" verification: | ./chip-tool pressuremeasurement read measured-value 1 1 + [1646049376.457970][12096:12101] CHIP:DMG: SuppressResponse = true, [1646049376.458003][12096:12101] CHIP:DMG: InteractionModelRevision = 1 [1646049376.458033][12096:12101] CHIP:DMG: } @@ -42,27 +45,37 @@ tests: [1646049376.458395][12096:12101] CHIP:TOO: MeasuredValue: 0 disabled: true - - label: "TH reads MeasuredValue attribute from DUT" + - label: "TH reads from the DUT the MeasuredValue attribute" verification: | + ./chip-tool pressuremeasurement read measured-value 1 1 + CHIP:TOO: MeasuredValue: 0 disabled: true - - label: "TH reads Scale attribute from DUT" + - label: "TH reads from the DUT the Scale attribute" verification: | ./chip-tool pressuremeasurement read scale 1 1 + + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) NOT IMPLEMENTED IN SDK disabled: true - - label: "TH reads ScaledValue attribute from DUT" + - label: "TH reads from the DUT the ScaledValue attribute" verification: | ./chip-tool pressuremeasurement read scaled-value 1 1 + + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) NOT IMPLEMENTED IN SDK disabled: true - - label: "TH reads ScaledTolerance attribute from DUT" + - label: "TH reads from the DUT the ScaledTolerance attribute" verification: | ./chip-tool pressuremeasurement read scaled-tolerance 1 1 + + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) NOT IMPLEMENTED IN SDK disabled: true - - label: "TH reads ScaledValue attribute from DUT" + - label: "TH reads from the DUT the ScaledValue attribute" verification: | ./chip-tool pressuremeasurement read scaled-value 1 1 + + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) NOT IMPLEMENTED IN SDK disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_PSCFG_2_1.yaml b/src/app/tests/suites/certification/Test_TC_PSCFG_2_1.yaml index f02750587972ae..8ea7c3cab95432 100644 --- a/src/app/tests/suites/certification/Test_TC_PSCFG_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PSCFG_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: 63.2.1. [TC-PSCFG-2.1] Attributes with server as DUT +name: 64.2.1. [TC-PSCFG-2.1] Attributes with server as DUT config: nodeId: 0x12344321 @@ -28,56 +28,37 @@ tests: - label: "TH reads the Sources attribute from the DUT" verification: | - ./chip-tool powersourceconfiguration read sources 1234 0 + ./chip-tool powersourceconfiguration read sources 1 0 The response should look like this: - [1641813530.468521][38091:38096] CHIP:EM: Removed CHIP MessageCounter:11072693 from RetransTable on exchange 57191i - [1641813530.468647][38091:38096] CHIP:DMG: ReportDataMessage = - [1641813530.468713][38091:38096] CHIP:DMG: { - [1641813530.468767][38091:38096] CHIP:DMG: AttributeReportIBs = - [1641813530.468840][38091:38096] CHIP:DMG: [ - [1641813530.468900][38091:38096] CHIP:DMG: AttributeReportIB = - [1641813530.468976][38091:38096] CHIP:DMG: { - [1641813530.469073][38091:38096] CHIP:DMG: AttributeDataIB = - [1641813530.469316][38091:38096] CHIP:DMG: { - [1641813530.469549][38091:38096] CHIP:DMG: DataVersion = 0x0, - [1641813530.469657][38091:38096] CHIP:DMG: AttributePathIB = - [1641813530.469750][38091:38096] CHIP:DMG: { - [1641813530.469827][38091:38096] CHIP:DMG: Endpoint = 0x0, - [1641813530.469909][38091:38096] CHIP:DMG: Cluster = 0x2e, - [1641813530.469986][38091:38096] CHIP:DMG: Attribute = 0x0000_0000, - [1641813530.470055][38091:38096] CHIP:DMG: } - [1641813530.470135][38091:38096] CHIP:DMG: - [1641813530.470210][38091:38096] CHIP:DMG: Data = [ - [1641813530.470290][38091:38096] CHIP:DMG: - [1641813530.470362][38091:38096] CHIP:DMG: ], - [1641813530.470489][38091:38096] CHIP:DMG: }, - [1641813530.470561][38091:38096] CHIP:DMG: - [1641813530.470627][38091:38096] CHIP:DMG: }, - [1641813530.470715][38091:38096] CHIP:DMG: - [1641813530.470771][38091:38096] CHIP:DMG: AttributeReportIB = - [1641813530.470844][38091:38096] CHIP:DMG: { - [1641813530.470907][38091:38096] CHIP:DMG: AttributeDataIB = - [1641813530.470977][38091:38096] CHIP:DMG: { - [1641813530.471050][38091:38096] CHIP:DMG: DataVersion = 0x0, - [1641813530.471115][38091:38096] CHIP:DMG: AttributePathIB = - [1641813530.471194][38091:38096] CHIP:DMG: { - [1641813530.471278][38091:38096] CHIP:DMG: Endpoint = 0x0, - [1641813530.471361][38091:38096] CHIP:DMG: Cluster = 0x2e, - [1641813530.471449][38091:38096] CHIP:DMG: Attribute = 0x0000_0000, - [1641813530.471530][38091:38096] CHIP:DMG: ListIndex = Null, - [1641813530.471602][38091:38096] CHIP:DMG: } - [1641813530.471689][38091:38096] CHIP:DMG: - [1641813530.471768][38091:38096] CHIP:DMG: Data = 1, - [1641813530.471840][38091:38096] CHIP:DMG: }, - [1641813530.471948][38091:38096] CHIP:DMG: - [1641813530.472011][38091:38096] CHIP:DMG: }, - [1641813530.472089][38091:38096] CHIP:DMG: - [1641813530.472143][38091:38096] CHIP:DMG: ], - [1641813530.472221][38091:38096] CHIP:DMG: - [1641813530.472273][38091:38096] CHIP:DMG: SuppressResponse = true, - [1641813530.472325][38091:38096] CHIP:DMG: } - [1641813530.472778][38091:38096] CHIP:TOO: PowerSourceConfiguration.Sources response: 1 entries - [1641813530.472872][38091:38096] CHIP:TOO: [1]: 1 + + [1650273002.440249][8875:8880] CHIP:DMG: AttributeReportIB = + [1650273002.440310][8875:8880] CHIP:DMG: { + [1650273002.440353][8875:8880] CHIP:DMG: AttributeDataIB = + [1650273002.440413][8875:8880] CHIP:DMG: { + [1650273002.440472][8875:8880] CHIP:DMG: DataVersion = 0x1b83f378, + [1650273002.440519][8875:8880] CHIP:DMG: AttributePathIB = + [1650273002.440578][8875:8880] CHIP:DMG: { + [1650273002.440641][8875:8880] CHIP:DMG: Endpoint = 0x0, + [1650273002.440694][8875:8880] CHIP:DMG: Cluster = 0x2e, + [1650273002.440767][8875:8880] CHIP:DMG: Attribute = 0x0000_0000, + [1650273002.440830][8875:8880] CHIP:DMG: ListIndex = Null, + [1650273002.440897][8875:8880] CHIP:DMG: } + [1650273002.440971][8875:8880] CHIP:DMG: + [1650273002.441023][8875:8880] CHIP:DMG: Data = 1, + [1650273002.441083][8875:8880] CHIP:DMG: }, + [1650273002.441144][8875:8880] CHIP:DMG: + [1650273002.441196][8875:8880] CHIP:DMG: }, + [1650273002.441251][8875:8880] CHIP:DMG: + [1650273002.441295][8875:8880] CHIP:DMG: ], + [1650273002.441354][8875:8880] CHIP:DMG: + [1650273002.441398][8875:8880] CHIP:DMG: SuppressResponse = true, + [1650273002.441449][8875:8880] CHIP:DMG: InteractionModelRevision = 1 + [1650273002.441492][8875:8880] CHIP:DMG: } + [1650273002.441884][8875:8880] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002E Attribute 0x0000_0000 DataVersion: 461632376 + [1653564197.717105][36217:36222] CHIP:TOO: Sources: 3 entries + [1653564197.717154][36217:36222] CHIP:TOO: [1]: 2 + [1653564197.717196][36217:36222] CHIP:TOO: [2]: 1 + [1653564197.717236][36217:36222] CHIP:TOO: [3]: 0 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_PSCFG_3_1.yaml b/src/app/tests/suites/certification/Test_TC_PSCFG_3_1.yaml index 207fd7f9797f1a..f5e850c2918589 100644 --- a/src/app/tests/suites/certification/Test_TC_PSCFG_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PSCFG_3_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: 63.3.1. [TC-PSCFG-3.1] Attributes with client as DUT +name: 64.3.1. [TC-PSCFG-3.1] Attributes with client as DUT config: nodeId: 0x12344321 @@ -27,36 +27,36 @@ tests: verification: | On TestHarnes (all-cluster-app) a received read of the Sources attribute (id 0) looks like this: - [1646159106.338144][33190:33190] CHIP:EM: Received message of type 0x2 with protocolId (0, 1) and MessageCounter:15430892 on exchange 55596r - [1646159106.338186][33190:33190] CHIP:EM: Handling via exchange: 55596r, Delegate: 0xaaaace1730c8 - [1646159106.338646][33190:33190] CHIP:IM: Received Read request - [1646159106.338735][33190:33190] CHIP:DMG: ReadRequestMessage = - [1646159106.338767][33190:33190] CHIP:DMG: { - [1646159106.338788][33190:33190] CHIP:DMG: AttributePathIBs = - [1646159106.338815][33190:33190] CHIP:DMG: [ - [1646159106.338838][33190:33190] CHIP:DMG: AttributePathIB = - [1646159106.338870][33190:33190] CHIP:DMG: { - [1646159106.338899][33190:33190] CHIP:DMG: Endpoint = 0x0, - [1646159106.338935][33190:33190] CHIP:DMG: Cluster = 0x2e, - [1646159106.338969][33190:33190] CHIP:DMG: Attribute = 0x0000_0000, - [1646159106.339001][33190:33190] CHIP:DMG: } - [1646159106.339031][33190:33190] CHIP:DMG: - [1646159106.339058][33190:33190] CHIP:DMG: ], - [1646159106.339085][33190:33190] CHIP:DMG: - [1646159106.339111][33190:33190] CHIP:DMG: isFabricFiltered = false, - [1646159106.339138][33190:33190] CHIP:DMG: InteractionModelRevision = 1 - [1646159106.339160][33190:33190] CHIP:DMG: }, - [1646159106.339244][33190:33190] CHIP:DMG: IM RH moving to [GeneratingReports] - [1646159106.340134][33190:33190] CHIP:DMG: Cluster 2e, Attribute 0 is dirty - [1646159106.340201][33190:33190] CHIP:DMG: Reading attribute: Cluster=0x0000_002E Endpoint=0 AttributeId=0x0000_0000 (expanded=0) - [1646159106.340234][33190:33190] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_002E e=0 p=v + ./chip-tool powersourceconfiguration read sources 1 0 + + [1650881032.387446][2715:2715] CHIP:IM: Received Read request + [1650881032.387500][2715:2715] CHIP:DMG: ReadRequestMessage = + [1650881032.387527][2715:2715] CHIP:DMG: { + [1650881032.387549][2715:2715] CHIP:DMG: AttributePathIBs = + [1650881032.387578][2715:2715] CHIP:DMG: [ + [1650881032.387602][2715:2715] CHIP:DMG: AttributePathIB = + [1650881032.387629][2715:2715] CHIP:DMG: { + [1650881032.387657][2715:2715] CHIP:DMG: Endpoint = 0x0, + [1650881032.387690][2715:2715] CHIP:DMG: Cluster = 0x2e, + [1650881032.387722][2715:2715] CHIP:DMG: Attribute = 0x0000_0000, + [1650881032.387750][2715:2715] CHIP:DMG: } + [1650881032.387781][2715:2715] CHIP:DMG: + [1650881032.387807][2715:2715] CHIP:DMG: ], + [1650881032.387836][2715:2715] CHIP:DMG: + [1650881032.387862][2715:2715] CHIP:DMG: isFabricFiltered = true, + [1650881032.387887][2715:2715] CHIP:DMG: InteractionModelRevision = 1 + [1650881032.387910][2715:2715] CHIP:DMG: }, + [1650881032.387979][2715:2715] CHIP:DMG: IM RH moving to [GeneratingReports] + [1650881032.388058][2715:2715] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + [1650881032.388087][2715:2715] CHIP:DMG: Cluster 2e, Attribute 0 is dirty + [1650881032.388109][2715:2715] CHIP:DMG: Reading attribute: Cluster=0x0000_002E Endpoint=0 AttributeId=0x0000_0000 (expanded=0) disabled: true - label: "DUT reads all supported optional attributes from TH once at a time in a manufacturer specific order" verification: | - see above + No optional attributes disabled: true - label: diff --git a/src/app/tests/suites/certification/Test_TC_PS_2_2.yaml b/src/app/tests/suites/certification/Test_TC_PS_2_2.yaml index 335cc96e7e499e..d28e7caf968208 100644 --- a/src/app/tests/suites/certification/Test_TC_PS_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_PS_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: 60.2.2. [TC-PS-2.2] Event reporting with server as DUT +name: 33.2.2. [TC-PRS-2.2] Primary functionality with server as DUT config: nodeId: 0x12344321 @@ -33,27 +33,56 @@ tests: - label: "TH reads the ActiveWiredFaults attribute from the DUT" verification: | - ./apps/chip-tool powersource read active-wired-faults 12345 1 + ./chip-tool powersource read active-wired-faults 1 1 + + + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true - label: "Set up subscription to WiredFaultChange event" verification: | - ./apps/chip-tool powersource subscribe-event-by-id 0 120 3600 1 54321 1 + ./chip-tool interactive start + + powersource subscribe-event-by-id 120 3600 1 1 + + [1651671151.484803][6266:6266] CHIP:DMG: SubscribeRequestMessage = + [1651671151.484857][6266:6266] CHIP:DMG: { + [1651671151.484907][6266:6266] CHIP:DMG: KeepSubscriptions = false, + [1651671151.484968][6266:6266] CHIP:DMG: MinIntervalFloorSeconds = 0x78, + [1651671151.485025][6266:6266] CHIP:DMG: MaxIntervalCeilingSeconds = 0xe10, + [1651671151.485069][6266:6266] CHIP:DMG: EventPathIBs = + [1651671151.485134][6266:6266] CHIP:DMG: [ + [1651671151.485185][6266:6266] CHIP:DMG: EventPath = + [1651671151.485246][6266:6266] CHIP:DMG: { + [1651671151.485303][6266:6266] CHIP:DMG: Endpoint = 0x1, + [1651671151.485368][6266:6266] CHIP:DMG: Cluster = 0x2f, + [1651671151.485439][6266:6266] CHIP:DMG: Event = 0x0, + [1651671151.485510][6266:6266] CHIP:DMG: }, + [1651671151.485570][6266:6266] CHIP:DMG: + [1651671151.485620][6266:6266] CHIP:DMG: ], + [1651671151.485679][6266:6266] CHIP:DMG: + [1651671151.485731][6266:6266] CHIP:DMG: isFabricFiltered = true, + [1651671151.485784][6266:6266] CHIP:DMG: InteractionModelRevision = 1 + [1651671151.485827][6266:6266] CHIP:DMG: }, + [1651671151.485956][6266:6266] CHIP:DMG: Final negotiated min/max parameters: Min = 120s, Max = 3600s disabled: true - label: "Bring the DUT into a wired fault state." verification: | - + DUT ACTION REQUIRED disabled: true - label: "TH reads the ActiveWiredFaults attribute from the DUT" verification: | - ./apps/chip-tool powersource read active-wired-faults 12345 1 + ./chip-tool powersource read active-wired-faults 1 1 + + + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true - label: "Bring the DUT back into a clean state." verification: | - + DUT ACTION REQUIRED disabled: true - label: "Bring the DUT into a state without any battery faults." @@ -64,26 +93,53 @@ tests: - label: "TH reads the ActiveBatFaults attribute from the DUT" verification: | ./apps/chip-tool powersource read active-battery-faults 12345 1 + + + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true - label: "Set up subscription to BatFaultChange event" verification: | - ./apps/chip-tool powersource subscribe-event-by-id 1 120 3600 1 54321 1 + ./chip-tool interactive start + powersource subscribe-event-by-id 0 100 1 1 + + SubscribeRequestMessage = + [1651667556.522349][6266:6266] CHIP:DMG: { + [1651667556.522399][6266:6266] CHIP:DMG: KeepSubscriptions = false, + [1651667556.522454][6266:6266] CHIP:DMG: MinIntervalFloorSeconds = 0x0, + [1651667556.522512][6266:6266] CHIP:DMG: MaxIntervalCeilingSeconds = 0x64, + [1651667556.522564][6266:6266] CHIP:DMG: EventPathIBs = + [1651667556.522619][6266:6266] CHIP:DMG: [ + [1651667556.522670][6266:6266] CHIP:DMG: EventPath = + [1651667556.522730][6266:6266] CHIP:DMG: { + [1651667556.522789][6266:6266] CHIP:DMG: Endpoint = 0x1, + [1651667556.522897][6266:6266] CHIP:DMG: Cluster = 0x2f, + [1651667556.522965][6266:6266] CHIP:DMG: Event = 0x1, + [1651667556.523026][6266:6266] CHIP:DMG: }, + [1651667556.523090][6266:6266] CHIP:DMG: + [1651667556.523140][6266:6266] CHIP:DMG: ], + [1651667556.523199][6266:6266] CHIP:DMG: + [1651667556.523243][6266:6266] CHIP:DMG: isFabricFiltered = true, + [1651667556.523296][6266:6266] CHIP:DMG: InteractionModelRevision = 1 + [1651667556.523344][6266:6266] CHIP:DMG: }, + [1651667556.523471][6266:6266] CHIP:DMG: Final negotiated min/max parameters: Min = 0s, Max = 100s disabled: true - label: "Bring the DUT into a battery fault state." verification: | - + DUT ACTION REQUIRED disabled: true - label: "TH reads the ActiveBatFaults attribute from the DUT" verification: | - ./apps/chip-tool powersource read active-battery-faults 12345 1 + ./chip-tool powersource read active-battery-faults 1 1 + + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true - label: "Bring the DUT back into a clean state." verification: | - + DUT ACTION REQUIRED disabled: true - label: "Bring the DUT into a state without any charge faults." @@ -93,25 +149,53 @@ tests: - label: "TH reads the ActiveBatChargeFaults attribute from the DUT" verification: | - ./apps/chip-tool powersource read active-battery-charge-faults 12345 1 + ./chip-tool powersource read active-battery-charge-faults 1 1 + + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true - label: "Set up subscription to BatChargeFaultChange event" verification: | - ./apps/chip-tool powersource subscribe-event-by-id 2 120 3600 1 54321 1 + ./chip-tool interactive start + + powersource subscribe-event-by-id 1 100 1000 1 1 + + [1651671068.817350][6266:6266] CHIP:IM: Received Subscribe request + [1651671068.817489][6266:6266] CHIP:DMG: SubscribeRequestMessage = + [1651671068.817529][6266:6266] CHIP:DMG: { + [1651671068.817553][6266:6266] CHIP:DMG: KeepSubscriptions = false, + [1651671068.817612][6266:6266] CHIP:DMG: MinIntervalFloorSeconds = 0x0, + [1651671068.817672][6266:6266] CHIP:DMG: MaxIntervalCeilingSeconds = 0x64, + [1651671068.817707][6266:6266] CHIP:DMG: EventPathIBs = + [1651671068.817734][6266:6266] CHIP:DMG: [ + [1651671068.817769][6266:6266] CHIP:DMG: EventPath = + [1651671068.817830][6266:6266] CHIP:DMG: { + [1651671068.817883][6266:6266] CHIP:DMG: Endpoint = 0x1, + [1651671068.817923][6266:6266] CHIP:DMG: Cluster = 0x2f, + [1651671068.817985][6266:6266] CHIP:DMG: Event = 0x2, + [1651671068.818013][6266:6266] CHIP:DMG: }, + [1651671068.818074][6266:6266] CHIP:DMG: + [1651671068.818129][6266:6266] CHIP:DMG: ], + [1651671068.818159][6266:6266] CHIP:DMG: + [1651671068.818228][6266:6266] CHIP:DMG: isFabricFiltered = true, + [1651671068.818310][6266:6266] CHIP:DMG: InteractionModelRevision = 1 + [1651671068.818336][6266:6266] CHIP:DMG: }, + [1651671068.818414][6266:6266] CHIP:DMG: Final negotiated min/max parameters: Min = 0s, Max = 100s disabled: true - label: "Bring the DUT into a charge fault state." verification: | - + DUT ACTION REQUIRED disabled: true - label: "TH reads the ActiveBatChargeFaults attribute from the DUT" verification: | - ./apps/chip-tool powersource read active-battery-charge-faults 12345 1 + ./apps/chip-tool powersource read active-battery-charge-faults 1 1 + + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true - label: "Bring the DUT back into a clean state." verification: | - + DUT ACTION REQUIRED disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_SC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_SC_1_1.yaml new file mode 100644 index 00000000000000..1c14682774c74b --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_SC_1_1.yaml @@ -0,0 +1,36 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: 14.1.1. [TC-SC-1.1] MRP Max Message Size + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: + "TH sends a single message to DUT with a message size equal to 1280 + bytes inclusive of headers and reliability flag set to 1" + verification: | + Verify DUT responds with an acknowledgement of receipt. + disabled: true + + - label: + "TH sends a single message to DUT with a message size larger than 1280 + bytes and reliability flag set to 1" + verification: | + Verify that the DUT ignore the message and no response is sent. + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_SC_1_2.yaml b/src/app/tests/suites/certification/Test_TC_SC_1_2.yaml new file mode 100644 index 00000000000000..6ee6564f1fc131 --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_SC_1_2.yaml @@ -0,0 +1,62 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: 14.1.2. [TC-SC-1.2] MRP Message Flows + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: + "TH sends a reliable (R flag set) MRP message to DUT that requires a + data response." + verification: | + Verify that the DUT receives the message. + disabled: true + + - label: + "DUT must respond to the message with a MRP reply packet that + piggybacks the ACK(A flag set)." + verification: | + DUT should piggyback the ACKs of the message in the reply to TH. + disabled: true + + - label: + "TH sends a reliable (R flag set) MRP message to DUT that doesnt + require a data response." + verification: | + DUT must receive the message. + disabled: true + + - label: "DUT must respond to the message with an ACK message." + verification: | + DUT must sent only the ACK packet to TH. + disabled: true + + - label: + "TH sends 5 unreliable (R flag not set) MRP messages to DUT that + requires a data response." + verification: | + DUT may receive the messages. + disabled: true + + - label: + "DUT must respond to the message with a MRP reply packet that doesnt + piggyback the ACK (A flag not set)." + verification: | + DUT should send only a MRP reply packet to TH with no ACK piggybacked or sent in a separate message. + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_SC_1_3.yaml b/src/app/tests/suites/certification/Test_TC_SC_1_3.yaml new file mode 100644 index 00000000000000..d8e36c919152b5 --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_SC_1_3.yaml @@ -0,0 +1,46 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: 14.1.3. [TC-SC-1.3] MRP Retransmissions + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: + "Simulate TH to ignore all messages received by DUT (100% message + loss)" + verification: | + + disabled: true + + - label: "DUT sends a message to TH with the R flag set to 1" + verification: | + Verify that no reply is received by the DUT. + disabled: true + + - label: "DUT sends a retransmission of the message in step 2" + verification: | + Verify that the message is sent after waiting for MRP_RETRY_INTERVAL_IDLE milliseconds. Verify that no response is received by the DUT. + disabled: true + + - label: + "DUT continues to send retransmissions of the message in step 2 up to + MRP_MAX_TRANSMISSIONS times." + verification: | + Verify that the DUT stops sending messages after a total of MRP_MAX_TRANSMISSIONS - 1 messages have been sent. + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_SC_1_4.yaml b/src/app/tests/suites/certification/Test_TC_SC_1_4.yaml new file mode 100644 index 00000000000000..8f28905f7adc0b --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_SC_1_4.yaml @@ -0,0 +1,34 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: 14.1.4. [TC-SC-1.4] MRP message counter and duplicate messaging + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: "TH sends a message to DUT with the R flag set to 1." + verification: | + Verify DUT responds with an acknowledgement message with the A flag set and the Acknowledged Message Counter field set to the Message Counter of the received message. + disabled: true + + - label: + "TH sends a duplicate message to the DUT, with the R flag set to 1 and + the same message counter as the message in step 1." + verification: | + Verify DUT responds with an acknowledgement message with the A flag set and the Acknowledged Message Counter field set to the Message Counter of the received message. Verify that the DUT takes no further action on duplicate messages. + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_SC_2_1.yaml b/src/app/tests/suites/certification/Test_TC_SC_2_1.yaml new file mode 100644 index 00000000000000..bed08a8702f8ae --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_SC_2_1.yaml @@ -0,0 +1,60 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: + 14.2.1. [TC-SC-2.1] Session Establishment - Passcode Authenticated Session + Establishment (PASE) + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: + "Initiator constructs and sends a TLV-encoded PBKDFParamRequest + message" + verification: | + Verify that the responder receives the PBKDFParamRequest message. Verify that the protocol header is properly constructed: Message Flags: S Flag is set to 0, and DSIZ field is set to 0 Session ID is set to 0 Security Flags: Session Type bits are set to 0 Exchange Flags: I Flag is set to 1 Protocol Opcode is set to 32 (0x20) Protocol ID is set to 0 Verify, if possible in a debug mode, that the PBKDFParamRequest message contains: initiatorRandom - randomly generated 32-bit octet string initiatorSessionId - max size 16-bits unsigned integer that does not overlap with existing initiator session identifiers passcodeId - max size 16-bits unsigned integer hasPBKDFParameters - boolean If hasPBKDFParameters is set to true then PBKDF parameters are not known for the given passcodeId If hasPBKDFParameters is set to false then PBKDF parameters are known for the given passcodeId initiatorSEDParams - optional sed-parameter-struct which contains SLEEPY_IDLE_INTERVAL - max size 16-bits unsigned integer SLEEPY_ACTIVE_INTERVAL - max size 16-bits unsigned integer + disabled: true + + - label: + "Responder verifies the passcodeID, constructs and sends a TLV-encoded + PBKDFParamResponse message" + verification: | + Verify that the Initiator receives the PBKDFParamResponse message. Verify that the protocol header is properly constructed: Message Flags: S Flag is set to 0, and DSIZ field is set to 0 Session ID is set to 0 Security Flags: Session Type bits are set to 0 Exchange Flags: I Flag is set to 0 Protocol Opcode is set to 33 (0x21) Protocol ID is set to 0 Verify, if possible in a debug mode, that the PBKDFParamResponse message contains: initiatorRandom - value from the PBKDFParamRequest message responderRandom - randomly generated 32-bit octet string responderSessionId - max size 16-bits unsigned integer that does not overlap with existing that does not overlap with existing responder session identifiers pbkdf_parameters If hasPBKDFParameters from the PBKDFParamRequest message is true, then pbkdf_parameters should not be included. If hasPBKDFParameters from the PBKDFParamRequest message is false, then PBKDFParameters should contain a + Crypto_PBKDFParameterSet struct with values for iterations (max size 32 bit unsigned integer) and salt (octet string with a minimum of 16 bits and maximum of 32 bits) responderSEDParams - optional sed-parameter-struct SLEEPY_IDLE_INTERVAL - max size 16-bits unsigned integer SLEEPY_ACTIVE_INTERVAL - max size 16-bits unsigned integer + disabled: true + + - label: "Initiator constructs and sends a TLV-encoded Pake1 message" + verification: | + Verify that the Responder receives the Pake1 message. Verify that the protocol header is properly constructed: 1. Message Flags: S Flag is set to 0, and DSIZ field is set to 0 2. Session ID is set to 0 3. Security Flags: Session Type bits are set to 0 4. Exchange Flags: I Flag is set to 1 5. Protocol Opcode is set to 34 (0x22) 6. Protocol ID is set to 0 Verify, if possible in a debug mode, that the Pake1 message contains: 1. pA - 65 bit octet string + disabled: true + + - label: "Responder constructs and sends a TLV-encoded Pake2 message" + verification: | + Verify that the Initiator receives the Pake2 message. Verify that the protocol header is properly constructed: 1. Message Flags: S Flag is set to 0, and DSIZ field is set to 0 2. Session ID is set to 0 3. Security Flags: Session Type bits are set to 0 4. Exchange Flags: I Flag is set to 0 5. Protocol Opcode is set to 35 (0x23) 6. Protocol ID is set to 0 Verify, if possible in a debug mode, that the Pake1 message contains: 1. pB - 65 bit octet string 2. cB - 32 bit octet string + disabled: true + + - label: "Initiator constructs and sends a TLV-encoded Pake3 message" + verification: | + Verify that the Responder receives the Pake3 message. Verify that the protocol header is properly constructed: 1. Message Flags: S Flag is set to 0, and DSIZ field is set to 0 2. Session ID is set to 0 3. Security Flags: Session Type bits are set to 0 4. Exchange Flags: I Flag is set to 1 5. Protocol Opcode is set to 36 (0x24) 6. Protocol ID is set to 0 Verify, if possible in a debug mode, that the Pake3 message contains: 1. cA - 32 bit octet string + disabled: true + + - label: + "Responder validates Pake3, then constructs and sends a status report + (PakeFinished) message" + verification: | + Verify that the Initiator receives the status report/PakeFinished message. Verify that the status report contains: 1. GeneralCode - SUCCESS (value 0) 2. ProtocolId - SECURE_CHANNEL (value 0x0000) 3. ProtocolCode - SESSION_ESTABLISHMENT_SUCCESS (value 0x0000) Verify that the initiator has not sent any encrypted data to the responder prior to receiving PakeFinished. + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_SC_2_2.yaml b/src/app/tests/suites/certification/Test_TC_SC_2_2.yaml new file mode 100644 index 00000000000000..8a2d405653dee3 --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_SC_2_2.yaml @@ -0,0 +1,49 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: + 14.2.2. [TC-SC-2.2] Bidirectional Communication - Passcode Authenticated + Session Establishment (PASE) + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: "Initiator uses I2RKey to encrypt and send a message" + verification: | + Responder receives the encrypted message + disabled: true + + - label: "Responder uses I2RKey to decrypt the message" + verification: | + Responder is able to decrypt the message + disabled: true + + - label: "Responder uses R2IKey to encrypt and send a message" + verification: | + Initiator receives the encrypted message + disabled: true + + - label: "Initiator uses R2IKey to decrypt the message" + verification: | + Initiator is able to decrypt the message + disabled: true + + - label: "An error is encountered in initiator or responder decryption" + verification: | + Session is terminated and keys are cleared from memory + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_SC_2_3.yaml b/src/app/tests/suites/certification/Test_TC_SC_2_3.yaml new file mode 100644 index 00000000000000..0a52bec43c7266 --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_SC_2_3.yaml @@ -0,0 +1,65 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: 14.2.3. [TC-SC-2.3] PASE Error Handling [DUT - Responder/Commissionee] + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: + "TH generates and sends PBKDFParamRequest with an invalid passcodeID" + verification: | + Verify DUT receives the PBKDFParamRequest message. + disabled: true + + - label: "DUT verifies the passcodeID." + verification: | + Verify that the DUT fails verification of the passcodeID and sends a status report to the TH with a FAILURE general code (value 1), protocol ID of SECURE_CHANNEL (0x0000), and Protocol code of INVALID_PARAMETER (0X0002). Verify that the DUT performs no further processing after sending the status report. + disabled: true + + - label: "TH generates and sends PBKDFParamRequest with a valid passcodeID" + verification: | + Verify DUT receives the PBKDFParamRequest message. + disabled: true + + - label: "DUT verifies the passcodeID." + verification: | + Verify that the DUT passes verification, then constructs and sends a PBKDFParamResponse message. Verify that the TH receives the message. + disabled: true + + - label: "TH generates and sends Pake1" + verification: | + Verify DUT receives the Pake1 message. + disabled: true + + - label: "DUT generates and sends Pake2" + verification: | + Verify TH receives the Pake2 message. + disabled: true + + - label: + "TH generates and sends Pake3 with an invalid key confirmation message + (cA)" + verification: | + Verify DUT receives the Pake3 message. + disabled: true + + - label: "DUT verifies Pake3.cA." + verification: | + Verify that the DUT fails verification and sends a status report to the TH with a FAILURE general code (value 1), protocol ID of SECURE_CHANNEL (0x0000), and Protocol code of INVALID_PARAMETER (0X0002). Verify that the DUT performs no further processing after sending the status report. + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_SC_2_4.yaml b/src/app/tests/suites/certification/Test_TC_SC_2_4.yaml new file mode 100644 index 00000000000000..6346e8dd9ca5c5 --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_SC_2_4.yaml @@ -0,0 +1,49 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: 14.2.4. [TC-SC-2.4] PASE Error Handling [DUT - Initiator/Commissioner] + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: "DUT generates and sends PBKDFParamRequest" + verification: | + Verify TH receives the PBKDFParamRequest message. + disabled: true + + - label: "TH generates and sends PBKDFParamResponse" + verification: | + Verify DUT receives the PBKDFParamResponse message. + disabled: true + + - label: "DUT generates and sends Pake1" + verification: | + Verify TH receives the Pake1 message. + disabled: true + + - label: + "TH generates and sends Pake2 with an invalid key confirmation message + (cB)" + verification: | + Verify DUT receives the Pake2 message. + disabled: true + + - label: "DUT verifies Pake2.cB." + verification: | + Verify that the DUT fails verification and sends a status report to the TH with a FAILURE general code (value 1), protocol ID of SECURE_CHANNEL (0x0000), and Protocol code of INVALID_PARAMETER (0X0002). Verify that the DUT performs no further processing after sending the status report. + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_SC_3_1.yaml b/src/app/tests/suites/certification/Test_TC_SC_3_1.yaml new file mode 100644 index 00000000000000..2729e69ab5650d --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_SC_3_1.yaml @@ -0,0 +1,69 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: 14.3.1. [TC-SC-3.1] Session Establishment + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: + "Initiator constructs and sends a TLV-encoded Sigma1 message + containing a random initiation value, destination identifier, session + identifier, the public key for its ephemeral key pair, and optional + MRP parameters." + verification: | + Verify that the message is properly formatted: 1. I Flag is set to 1 2. S flag and DIZ fields of message flags are set to 0 3. Encryption Type of security flags is set to 0 4. The message payload follows the sigma-1-struct TLV encoding format 5. The Session Key Type field is set to 0 6. The Protocol ID field is set to 0 and Protocol Opcode field is set to 48 (0x30) Verify that the responder receives the message. + disabled: true + + - label: + "Responder validates the destination identifier contained in the + message." + verification: | + If the destination identifier matches a candidate destination id (as generated by the process in spec section 4.13.2.4), the responder proceeds to generate a Sigma 2 message. + disabled: true + + - label: + "Responder constructs and sends a TLV-encoded Sigma2 message + containing a random responder value, responder session id, trusted + root id, public key for its responder ephemeral key pair, and + encrypted integrity data." + verification: | + Verify that the message is properly formatted: 1. I flag is set to 0 2. S flag and DIZ fields of message flags are set to 0 3. Encryption Type of security flags is set to 0 4. The message payload follows the sigma-2-struct TLV encoding format 5. The Session Key Type field is set to 0 6. The Protocol ID field is set to 0 and Protocol Opcode field is set to 49 (0x31) Verify that the initiator receives the message. + disabled: true + + - label: + "Initiator generates a shared secret, generates a S2K key, and + decrypts and verifies the message data, node operational certificate + (NOC), and signature data." + verification: | + If the verification succeeds, the initiator moves to the next step to send a Sigma3 message. + disabled: true + + - label: + "Initiator constructs and sends a TLV-encoded Sigma3 message + containing encrypted integrity data." + verification: | + Verify that the message is properly formatted: 1. I Flag is set to 1 2. S flag and DIZ fields of message flags are set to 0 3. Encryption Type of security flags is set to 0 4. The message payload follows the sigma-3-struct TLV encoding format 5. The Session Key Type field is set to 0 6. The Protocol ID field is set to 0 and Protocol Opcode field is set to 50 (0x32) Verify that the responder receives the message. + disabled: true + + - label: + "Responder decrypts and verifies the message data, NOC, and signature + data." + verification: | + If the verification succeed, the session is established and the responder sends a SigmaFinished StatusReport message with GeneralCode SUCCESS, ProtocolId PROTOCOL_ID_SECURE_CHANNEL, and ProtocolCode SessionEstablishmentSuccess. + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_SC_3_2.yaml b/src/app/tests/suites/certification/Test_TC_SC_3_2.yaml new file mode 100644 index 00000000000000..8d887f4ffad83e --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_SC_3_2.yaml @@ -0,0 +1,44 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: 14.3.2. [TC-SC-3.2] CASE Session Resumption [DUT - Responder] + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: + "Initiator constructs and sends a TLV-encoded Sigma1 message to + Responder with resumption containing initiatorRandom + initiatorSessionId destinationId resumptionID initiatorResumeMIC + initiatorEphPubKey initiatorSEDParams" + verification: | + Verify that the Responder receives the Sigma1 message from Initiator + disabled: true + + - label: + "Initiator receives the Sigma2_Resume message and extracts the + following values resumptionID responderSessionID sigma2ResumeMIC + responderMRPParams" + verification: | + Verify that the message is properly formatted: I Flag is set to 0 S flag and DIZ fields of message flags are set to 0 Encryption Type of security flags is set to 0 The Session Key Type field is set to 0 The Protocol ID field is set to 0x0000 and The Protocol Opcode field is set to 0x33 Verify that the resumptionID is of Octet String maximum of length 16 bytes Verify that the responderSessionID is of uint16 Verify that the sigma2ResumeMIC is of Octet String maximum of length 16 bytes Verify that the responderSEDParams is from any one of the following: SLEEPY_IDLE_INTERVAL Verify that it is of uint32 SLEEPY_ACTIVE_INTERVAL Verify that it is of uint32 + disabled: true + + - label: "Initiator sends SigmaFinished message to Responder" + verification: | + + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_SC_3_3.yaml b/src/app/tests/suites/certification/Test_TC_SC_3_3.yaml new file mode 100644 index 00000000000000..022cb1f3a3fe5c --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_SC_3_3.yaml @@ -0,0 +1,45 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: 14.3.3. [TC-SC-3.3] CASE Session Resumption [DUT - Initiator] + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: + "Responder receives the Sigma1 message and extracts the following + initiatorRandom initiatorSessionId destinationId resumptionID + initiatorResumeMIC initiatorEphPubKey initiatorSEDParams" + verification: | + Verify that the message is properly formatted: I Flag is set to 1 S flag and DIZ fields of message flags are set to 0 Encryption Type of security flags is set to 0 The Session Key Type field is set to 0 The Protocol ID field is set to 0x0000 and The Protocol Opcode field is set to 0x30 Verify that the initiatorRandom is of Octet String maximum of length 32 bytes Verify that the initiatorSessionId is of uint16 Verify that the destinationId is of Octet string Verify that the resumptionID from the Initiator matches with the precondition Verify that the resumptionID is of Octet String maximum of length 16 bytes Verify that the initiatorEphPubKey is of Octet string Verify that the initiatorResumeMIC is of Octet string Verify that the responderSEDParams is from any one of the following: SLEEPY_IDLE_INTERVAL Verify that it is of uint32 SLEEPY_ACTIVE_INTERVAL Verify that it is of uint32 + disabled: true + + - label: + "Responder sends a TLV-encoded Sigma2_Resume message to Initiator + containing resumptionID responderSessionID sigma2ResumeMIC + responderMRPParams" + verification: | + Verify that the Initiator receives the Sigma2_Resume message + disabled: true + + - label: + "Responder receives the SigmaFinished message and extracts the + following ProtcolId ProtocolCode" + verification: | + Verify that the SigmaFinished Status report with the following GeneralCode as SUCCESS ProtcolId as SECURE_CHANNEL ProtocolCode as SESSION_ESTABLISHMENT_SUCCESS + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_SC_3_4.yaml b/src/app/tests/suites/certification/Test_TC_SC_3_4.yaml new file mode 100644 index 00000000000000..b3d51a435b449a --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_SC_3_4.yaml @@ -0,0 +1,127 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: 14.3.4. [TC-SC-3.4] CASE Error Handling [DUT - Responder] + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: + "TH constructs and sends a Sigma1 message with a resumptionID and no + initiatorResumeMIC to DUT" + verification: | + Verify that the DUT receives the message. + disabled: true + + - label: + "TH constructs and sends a Sigma1 message with a initiatorResumeMIC + and no resumptionID to DUT" + verification: | + Verify that the DUT receives the message. + disabled: true + + - label: + "TH constructs and sends a Sigma1 message with an invalid + destinationId to DUT" + verification: | + Verify that the DUT receives the message. + disabled: true + + - label: + "TH constructs and sends a properly formatted and encoded Sigma1 + message to DUT" + verification: | + Verify that the DUT receives the message. + disabled: true + + - label: + "TH constructs and sends a Sigma3 message with improperly generated + encrypted integrity data (TBEData3Encrypted) to DUT" + verification: | + Verify that the DUT receives the message. + disabled: true + + - label: + "TH constructs and sends a properly formatted and encoded Sigma1 + message to DUT" + verification: | + Verify that the DUT receives the message. + disabled: true + + - label: + "TH constructs and sends a Sigma3 message with invalid initiatorNOC + data to DUT" + verification: | + Verify that the DUT receives the message. + disabled: true + + - label: + "TH constructs and sends a properly formatted and encoded Sigma1 + message to DUT" + verification: | + Verify that the DUT receives the message. + disabled: true + + - label: + "TH constructs and sends a Sigma3 message with invalid signature data + to DUT" + verification: | + Verify that the DUT receives the message. + disabled: true + + - label: + "TH constructs and sends a properly formatted and encoded Sigma1 + message to DUT" + verification: | + Verify that the DUT receives the message. + disabled: true + + - label: + "TH constructs and sends a Sigma3 message with invalid initiatorICAC + to DUT" + verification: | + Verify that the DUT receives the message. + disabled: true + + - label: + "TH constructs and sends a properly formatted and encoded Sigma1 + message to DUT" + verification: | + Verify that the DUT receives the message. + disabled: true + + - label: + "TH constructs and sends a Sigma3 message with invalid + initiatorEphPubKey to DUT" + verification: | + Verify that the DUT receives the message. + disabled: true + + - label: + "TH constructs and sends a properly formatted and encoded Sigma1 + message to DUT" + verification: | + Verify that the DUT receives the message. + disabled: true + + - label: + "TH constructs and sends a Sigma3 message with invalid + responderEphPubKey to DUT" + verification: | + Verify that the DUT receives the message. + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_S_1_1.yaml b/src/app/tests/suites/certification/Test_TC_S_1_1.yaml new file mode 100644 index 00000000000000..3e7af15e9ea9ab --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_S_1_1.yaml @@ -0,0 +1,67 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: 123.1.1. [TC-S-1.1] Global attributes with server as DUT + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: "Commission DUT to TH (can be skipped if done in a preceding test)" + verification: | + DUT and TH are on same fabric + disabled: true + + - label: "Read ClusterRevision (global attribute 65533)" + verification: | + value SHALL be 4 + disabled: true + + - label: "Read FeatureMap (global attribute 65532)" + verification: | + value SHALL be 0 + disabled: true + + - label: "Read FeatureMap (global attribute 65532)" + verification: | + value SHALL be 1 + disabled: true + + - label: "Read AttributeList (global attribute 65531)" + verification: | + list SHALL be [0,1,2,3,4] + disabled: true + + - label: "Read AttributeList (global attribute 65531)" + verification: | + list SHALL be [0,1,2,3,4,5] + disabled: true + + - label: "Read EventList (global attribute 65530)" + verification: | + list SHALL be empty + disabled: true + + - label: "Read AcceptedCommandList (global attribute 65529)" + verification: | + list SHALL contain at least [0,1,2,3,4,5,6] if S.S.C40.Rsp(EnhancedAddScene) then list SHALL also contain [40] else it SHALL NOT contain [40] if S.S.C41.Rsp(EnhancedViewScene) then list SHALL also contain [41] else it SHALL NOT contain [41] if S.S.C42.Rsp(CopyScene) then list SHALL also contain [42] else it SHALL NOT contain [42] + disabled: true + + - label: "Read GeneratedCommandList (global attribute 65528)" + verification: | + list SHALL contain at least [0,1,2,3,4,5,6] if S.S.C40.Rsp(EnhancedAddScene) then list SHALL also contain [40] else it SHALL NOT contain [40] if S.S.C41.Rsp(EnhancedViewScene) then list SHALL also contain [41] else it SHALL NOT contain [41] if S.S.C42.Rsp(CopyScene) then list SHALL also contain [42] else it SHALL NOT contain [42] + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_S_2_1.yaml b/src/app/tests/suites/certification/Test_TC_S_2_1.yaml new file mode 100644 index 00000000000000..af62e8cd9fae7d --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_S_2_1.yaml @@ -0,0 +1,61 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: 123.2.1. [TC-S-2.1] Attributes with server as DUT + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: "Commission DUT to TH" + verification: | + + disabled: true + + - label: "TH reads all mandatory attributes from DUT one at a time." + verification: | + The data type in each command must match the value listed in the specification(s). The data value in each command for the attribute must fall within the valid range described in the specification(s). + disabled: true + + - label: + "TH writes the respective default value to all mandatory attributes to + DUT one at a time." + verification: | + If the access control of DUT is set to READ, the DUT response will indicate that the attribute write command was not a SUCCESS. If the access control of DUT is set to READ/WRITE, the DUT response will indicate that the write command was a SUCCESS. + disabled: true + + - label: "TH reads back all attributes written in step 3a." + verification: | + If the Status field of the write attributes response command frame was equal to SUCCESS, the updated value is read back. If the Status field of the write attributes response command frame was not equal to SUCCESS the value is not updated when read back. + disabled: true + + - label: "TH reads each optional attributes from DUT one at a time." + verification: | + If the DUT implements the attribute, the Status field will be equal to SUCCESS and the command will contain the requested attribute. If the DUT does not implement the attribute, the Status field will not be equal to SUCCESS. The data type in each command must match the value listed in the specification(s). The data value in each command for the attribute must fall within the valid range described in the specification(s). + disabled: true + + - label: + "TH writes the respective default value to each optional attributes to + DUT one at a time." + verification: | + If the attribute is not implemented or the access control of DUT is set to READ, the DUT response will indicate that the attribute write command was not a SUCCESS. If the attribute is implemented and the access control of DUT is set to READ/WRITE, the DUT response will indicate that the write command was a SUCCESS. + disabled: true + + - label: "TH reads back all attributes written in step 5a." + verification: | + If the Status field of the write attributes response command frame was equal to SUCCESS, the updated value is read back. If the Status field of the write attributes response command frame was not equal to SUCCESS the value is not updated when read back. + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_S_2_2.yaml b/src/app/tests/suites/certification/Test_TC_S_2_2.yaml new file mode 100644 index 00000000000000..8eb44544e29936 --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_S_2_2.yaml @@ -0,0 +1,264 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: 123.2.2. [TC-S-2.2] Primary functionality with server as DUT + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: "TH sends a RemoveAllGroups command to DUT." + verification: | + If a status response is expected, DUT sends a response to TH with the Status field equal to 0x00 (SUCCESS). + disabled: true + + - label: + "preparation step for using commands from Groups cluster: TH generates + fabric-unique GroupID, GroupName, random key, EpochKey0 and + GroupKeySetID. TH sets GroupKeySecurityPolicy = TrustFirst (1) + GroupKeyMulticastPolicy = PerGroupID (0) EpochStartTime0 = 0" + verification: | + + disabled: true + + - label: + "TH sends a AddGroup command to DUT with the GroupID field set to + 0x0001." + verification: | + DUT sends a AddGroupResponse command to TH with the Status field set to 0x00 (SUCCESS) and the GroupID field set to 0x0001. + disabled: true + + - label: + "TH sends a RemoveAllScenes command to DUT with the GroupID field set + to 0x0001." + verification: | + DUT sends a RemoveAllScenesResponse command to TH with the Status field set to 0x00 (SUCCESS) and GroupID field set to 0x0001. + disabled: true + + - label: + "TH sends a GetSceneMembership command to DUT with the GroupID field + set to 0x0001." + verification: | + DUT sends a GetSceneMembershipResponse command to TH with the Status field set to 0x00 (SUCCESS), the Capacity field set to the value SC0, the GroupID field set to 0x0001 and the SceneCount field set to 0x00. + disabled: true + + - label: + "TH configures AC1 on DUT for all implemented application clusters + supporting scenes." + verification: | + DUT is configured with AC1. + disabled: true + + - label: + "TH sends a StoreScene command to DUT with the GroupID field set to + 0x0001 and the SceneID field set to 0x01." + verification: | + DUT sends a StoreSceneResponse command to TH with the Status field set to 0x00 (SUCCESS), the GroupID field set to 0x0001 and the SceneID field set to 0x01. + disabled: true + + - label: + "TH configures AC2 on DUT for all implemented application clusters + supporting scenes." + verification: | + DUT is configured with AC2 which is different from AC1. + disabled: true + + - label: + "TH sends a RecallScene command to DUT with the GroupID field set to + 0x0001 and the SceneID field set to 0x01." + verification: | + If a status response is expected, DUT sends a response to TH with the Status field equal to 0x00 (SUCCESS). DUT returns to AC1. + disabled: true + + - label: + "TH reads attributes SceneCount, CurrentScene, CurrentGroup and + SceneValid from DUT." + verification: | + DUT provides these attribute values: SceneCount attribute has the value (PIXIT.S.SceneTableEntriesOnFactoryNew + 1) CurrentScene attribute has the value 0x01 CurrentGroup attribute has the value G1 SceneValid attribute has the value TRUE. + disabled: true + + - label: "By application specific means, remove the power source from DUT." + verification: | + DUT is powered off. + disabled: true + + - label: "By application specific means, return the power source to DUT." + verification: | + DUT is powered on. + disabled: true + + - label: + "TH configures AC2 on DUT for all implemented application clusters + supporting scenes." + verification: | + DUT is configured with AC2 which is different from AC1. + disabled: true + + - label: + "TH sends a RecallScene command to DUT with the GroupID field set to + 0x0001 and the SceneID field set to 0x01." + verification: | + If a status response is expected, DUT sends a response to TH with the Status field equal to 0x00 (SUCCESS). DUT returns to AC1. + disabled: true + + - label: + "TH sends a ViewScene command to DUT with the GroupID field set to + 0x0001 and the SceneID field set to 0x01." + verification: | + DUT sends a ViewSceneResponse command to TH with the Status field set to 0x00 (SUCCESS), the GroupID field set to 0x0001, the SceneID field set to 0x01, the TransitionTime field set to 0x0000 and a set of extension fields appropriate to AC1. + disabled: true + + - label: + "TH sends a GetSceneMembership command to DUT with the GroupID field + set to 0x0001." + verification: | + DUT sends a GetSceneMembershipResponse command to TH with the Status field set to 0x00 (SUCCESS), the Capacity field set to one of the values (SC0 - 1), 0xfe or null, the GroupID field set to 0x0001, the SceneCount field set to 0x01 and the SceneList field containing only the scene ID 0x01. + disabled: true + + - label: + "TH sends a RemoveAllScenes command to DUT with the GroupID field set + to 0x0001." + verification: | + DUT sends a RemoveAllScenesResponse command to TH with the Status field set to 0x00 (SUCCESS) and GroupID field set to 0x0001. + disabled: true + + - label: + "TH sends a GetSceneMembership command to DUT with the GroupID field + set to 0x0001." + verification: | + DUT sends a GetSceneMembershipResponse command to TH with the Status field set to 0x00 (SUCCESS), the Capacity field set to one of the values SC0, 0xfe or null, the GroupID field set to 0x0001 and the SceneCount field set to 0x00. + disabled: true + + - label: + "TH sends a AddScene command to DUT with the GroupID field set to + 0x0001, the SceneID field set to 0x01, the TransitionTime field set to + 0x0001 and a set of extension fields appropriate to AC1." + verification: | + DUT sends a AddSceneResponse command to TH with the Status field set to 0x00 (SUCCESS), the GroupID field set to 0x0001 and the SceneID field set to 0x01. + disabled: true + + - label: + "TH sends a GetSceneMembership command to DUT with the GroupID field + set to 0x0001." + verification: | + DUT sends a GetSceneMembershipResponse command to TH with the Status field set to 0x00 (SUCCESS), the Capacity field set to one of the values (SC0 - 1), 0xfe or null, the GroupID field set to 0x0001, the SceneCount field set to 0x01 and the SceneList field containing only the scene ID 0x01. + disabled: true + + - label: + "TH sends a RemoveScene command to DUT with the GroupID field set to + 0x0001 and the SceneID field set to 0x01." + verification: | + DUT sends a RemoveSceneResponse command to TH with the Status field set to 0x00 (SUCCESS), the GroupID field set to 0x0001 and the SceneID field set to 0x01. + disabled: true + + - label: + "TH sends a GetSceneMembership command to DUT with the GroupID field + set to 0x0001." + verification: | + DUT sends a GetSceneMembershipResponse command to TH with the Status field set to 0x00 (SUCCESS), the Capacity field set to one of the values SC0, 0xfe or null, the GroupID field set to 0x0001 and the SceneCount field set to 0x00. + disabled: true + + - label: + "TH configures AC2 on DUT for all implemented application clusters + supporting scenes." + verification: | + DUT is configured with AC2 which is different from AC1. + disabled: true + + - label: + "TH sends a RecallScene command to DUT with the GroupID field set to + 0x0001 and the SceneID field set to 0x01." + verification: | + If a status response is expected, DUT sends a response to TH with the Status field equal to 0x8b (NOT_FOUND). + disabled: true + + - label: + "TH configures AC1 on DUT for all implemented application clusters + supporting scenes." + verification: | + DUT is configured with AC1. + disabled: true + + - label: + "TH sends a StoreScene command to DUT with the GroupID field set to + 0x0001 and the SceneID field set to 0x01." + verification: | + DUT sends a StoreSceneResponse command to TH with the Status field set to 0x00 (SUCCESS), the GroupID field set to 0x0001 and the SceneID field set to 0x01. + disabled: true + + - label: + "TH configures AC2 on DUT for all implemented application clusters + supporting scenes." + verification: | + DUT is configured with AC2 which is different to AC1. + disabled: true + + - label: + "TH sends a StoreScene command to DUT with the GroupID field set to + 0x0001 and the SceneID field set to 0x02." + verification: | + DUT sends a StoreSceneResponse command to TH with the Status field set to 0x00 (SUCCESS) or 0x89 (INSUFFICIENT_SPACE). If SUCCESS, with the GroupID field set to 0x0001 and the SceneID field set to 0x02. If INSUFFICIENT_SPACE, the following steps SHALL NOT be executed. + disabled: true + + - label: + "TH sends a GetSceneMembership command to DUT with the GroupID field + set to 0x0001." + verification: | + DUT sends a GetSceneMembershipResponse command to TH with the Status field set to 0x00 (SUCCESS), the Capacity field set to one of the values (SC0 - 2), 0xfe or null, the GroupID field set to 0x0001, the SceneCount field set to 0x02 and the SceneList field containing the scene IDs 0x01 and 0x02. + disabled: true + + - label: + "If capacity allows, TH sends a AddGroup command to DUT with the + GroupID field set to 0x0002." + verification: | + DUT sends a AddGroupResponse command to TH with the Status field set to 0x00 (SUCCESS) and the GroupID field set to 0x0002. + disabled: true + + - label: + "TH sends a RemoveAllScenes command to DUT with the GroupID field set + to 0x0002." + verification: | + DUT sends a RemoveAllScenesResponse command to TH with the Status field set to 0x00 (SUCCESS) and GroupID field set to 0x0002. + disabled: true + + - label: + "TH sends a GetSceneMembership command to DUT with the GroupID field + set to 0x0002." + verification: | + DUT sends a GetSceneMembershipResponse command to TH with the Status field set to 0x00 (SUCCESS), the Capacity field set to the value SC1, the GroupID field set to 0x0002 and the SceneCount field set to 0x00. + disabled: true + + - label: + "TH configures AC3 on DUT for all implemented application clusters + supporting scenes." + verification: | + DUT is configured with AC3 which is different to both AC1 and AC2. + disabled: true + + - label: + "TH sends a StoreScene command to DUT with the GroupID field set to + 0x0002 and the SceneID field set to 0x03." + verification: | + DUT sends a StoreSceneResponse command to TH with the Status field set to 0x00 (SUCCESS) or 0x89 (INSUFFICIENT_SPACE). If SUCCESS, with the GroupID field set to 0x0002 and the SceneID field set to 0x03. IF INSUFFICIENT_SPACE, the following steps SHALL NOT be executed. + disabled: true + + - label: + "TH sends a GetSceneMembership command to DUT with the GroupID field + set to 0x0002." + verification: | + DUT sends a GetSceneMembershipResponse command to TH with the Status field set to 0x00 (SUCCESS), the Capacity field set to one of the values (SC1 - 3), 0xfe or null, the GroupID field set to 0x0002, the SceneCount field set to 0x01 and the SceneList field containing only the scene ID 0x03. + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_S_2_3.yaml b/src/app/tests/suites/certification/Test_TC_S_2_3.yaml new file mode 100644 index 00000000000000..3ea2eb3e8f0fa9 --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_S_2_3.yaml @@ -0,0 +1,118 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: 123.2.3. [TC-S-2.3] Secondary functionality with server as DUT + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: + "preparation step for using commands from Groups cluster: TH generates + fabric-unique GroupID, GroupName, random key, EpochKey0 and + GroupKeySetID. TH sets GroupKeySecurityPolicy = TrustFirst (1) + GroupKeyMulticastPolicy = PerGroupID (0) EpochStartTime0 = 0" + verification: | + + disabled: true + + - label: + "TH sends a AddGroup command to DUT with the GroupID field set to G1." + verification: | + DUT sends a AddGroupResponse command to TH with the Status field set to 0x00 (SUCCESS) or 0x8a (DUPLICATE_EXISTS) and the GroupID field set to G1. + disabled: true + + - label: + "TH sends a RemoveAllScenes command to DUT with the GroupID field set + to G1." + verification: | + DUT sends a RemoveAllScenesResponse command to TH with the Status field set to 0x00 (SUCCESS) and GroupID field set to G1. + disabled: true + + - label: + "TH sends a GetSceneMembership command to DUT with the GroupID field + set to G1." + verification: | + DUT sends a GetSceneMembershipResponse command to TH with the Status field set to 0x00 (SUCCESS), the Capacity field set to the value SC0, the GroupID field set to G1 and the SceneCount field set to 0x00. + disabled: true + + - label: + "TH sends a EnhancedAddScene command to DUT with the GroupID field set + to G1, the SceneID field set to 0x01, the TransitionTime field set to + 0x000a (1s) and a set of extension fields appropriate to AC1." + verification: | + DUT sends a EnhancedAddSceneResponse command to TH with the Status field set to 0x00 (SUCCESS), the GroupID field set to G1 and the SceneID field set to 0x01. + disabled: true + + - label: + "TH sends a AddScene command to DUT with the GroupID field set to G1, + the SceneID field set to 0x01, the TransitionTime field set to 0x0001 + (1s) and a set of extension fields appropriate to AC1." + verification: | + DUT sends a AddSceneResponse command to TH with the Status field set to 0x00 (SUCCESS), the GroupID field set to G1 and the SceneID field set to 0x01. + disabled: true + + - label: + "TH sends a EnhancedViewScene command to DUT with the GroupID field + set to G1 and the SceneID field set to 0x01." + verification: | + DUT sends a EnhancedViewSceneResponse command to TH with the Status field set to 0x00 (SUCCESS), the GroupID field set to G1, the SceneID field set to 0x01, the TransitionTime field set to 0x000a (1s) and a set of extension fields appropriate to AC1. + disabled: true + + - label: + "TH sends a ViewScene command to DUT with the GroupID field set to G1 + and the SceneID field set to 0x01." + verification: | + DUT sends a ViewSceneResponse command to TH with the Status field set to 0x00 (SUCCESS), the GroupID field set to G1 and the SceneID field set to 0x01, the TransitionTime field set to 0x0001 (1s) and a set of extension fields appropriate to AC1. + disabled: true + + - label: + "TH sends a GetSceneMembership command to DUT with the GroupID field + set to G1." + verification: | + DUT sends a GetSceneMembershipResponse command to TH with the Status field set to 0x00 (SUCCESS), the Capacity field set to one of the values (SC0 - 1), 0xfe or null, the GroupID field set to G1, the SceneCount field set to 0x01 and the SceneList field containing only the scene ID 0x01. + disabled: true + + - label: + "TH configures AC2 on DUT for all implemented application clusters + supporting scenes." + verification: | + DUT is configured with AC2 which is different from AC1. + disabled: true + + - label: + "TH sends a RecallScene command to group G1 with the GroupID field set + to G1 and the scene ID field set to 0x01." + verification: | + (There is no Status response since this was a groupcast) DUT returns to AC1. + disabled: true + + - label: + "TH sends a CopyScene command to DUT with the mode field set to 0x00, + the group identifier from field set to G1, the scene identifier from + field set to 0x01, the group identifier to field set to G1 and the + scene identifier to field set to 0x02." + verification: | + DUT sends a CopySceneResponse command to TH with the Status field set to 0x00 (SUCCESS), the group identifier from field set to G1 and the scene identifier from field set to 0x01. + disabled: true + + - label: + "TH sends a GetSceneMembership command to DUT with the GroupID field + set to G1." + verification: | + DUT sends a GetSceneMembershipResponse command to TH with the Status field set to 0x00 (SUCCESS), the Capacity field set to one of the values (SC0 - 2), 0xfe or null, the GroupID field set to G1, the SceneCount field set to 0x02 and the SceneList field containing the scene IDs 0x01 and 0x02. + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_S_3_1.yaml b/src/app/tests/suites/certification/Test_TC_S_3_1.yaml new file mode 100644 index 00000000000000..a2fb68f135c140 --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_S_3_1.yaml @@ -0,0 +1,116 @@ +# Copyright (c) 2021 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# 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: 123.3.1. [TC-S-3.1] Functionality with client as DUT + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: "read mandatory attributes" + verification: | + read mandatory attributes + disabled: true + + - label: + "DUT reads all supported mandatory attributes from TH one at a time in + a manufacturer specific order" + verification: | + - TH receives the read command and knows this attribute for this cluster and provides a plausible value. - DUT processes the values and operates normally (does not crash, continues with next steps) + disabled: true + + - label: + "read optional attributes (TH simulates a server cluster which + supports all optional attributes)" + verification: | + read optional attributes (TH simulates a server cluster which supports all optional attributes) + disabled: true + + - label: + "DUT reads all supported optional attributes from TH one at a time in + a manufacturer specific order" + verification: | + - TH receives the read command and provides a plausible value - DUT processes the values and operates normally (does not crash, continues with next steps) + disabled: true + + - label: "write mandatory attributes" + verification: | + write mandatory attributes + 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: | + TH receives the write command, checks whether the value is valid. If value invalid, provide appropriate feedback to DUT and flag test as FAIL - DUT operates normally (does not crash, continues with next steps) + disabled: true + + - label: + "write optional attributes (TH simulates a server cluster which + supports all optional attributes)" + verification: | + write optional attributes (TH simulates a server cluster which supports all optional attributes) + disabled: true + + - label: + "DUT writes a suitable value to all supported optional attributes on + the TH one at a time in a manufacturer specific order" + verification: | + - TH receives the write command, checks whether the value is valid. If value invalid, provide appropriate feedback to DUT and flag test as FAIL - DUT operates normally (does not crash, continues with next steps) + disabled: true + + - label: "Change configuration - TH does not support optional attributes" + verification: | + Change configuration - TH does not support optional attributes + disabled: true + + - label: + "Configure TH such that it implements mandatory and none of the + optional attributes of the server-side of the cluster, and that it + also reflects this in global attributes such as FeatureMap and + AttributeList. Commission DUT to TH again" + verification: | + DUT is aware of the new configuration. + disabled: true + + - label: + "read optional attributes (TH simulates a server cluster which does + not support any optional attributes)" + verification: | + read optional attributes (TH simulates a server cluster which does not support any optional attributes) + disabled: true + + - label: + "DUT reads all supported optional attributes from TH one at a time in + a manufacturer specific order" + verification: | + - TH receives the read command, and responds that this attribute is not available - DUT processes the error response and operates normally (does not crash, continues with next steps) Alternative allowed DUT behavior: - DUT is aware (from the global attributes it may have read in step 5) that the optional attributes are not available, and does not issue read requests for the attributes which it did read in step 2 + disabled: true + + - label: + "write optional attributes (TH simulates a server cluster which does + not support any optional attributes)" + verification: | + write optional attributes (TH simulates a server cluster which does not support any optional attributes) + disabled: true + + - label: + "DUT writes a suitable value to all supported optional attributes on + the TH one at a time in a manufacturer specific order" + verification: | + - TH receives the write command and responds that this attribute is not available - DUT processes the error response and operates normally (does not crash, continues with next steps if any) Alternative allowed DUT behavior: - DUT is aware (from the global attributes it may have read in step 5) that the optional attributes are not available, and does not issue write requests for the attributes which it did write in step 4 + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_WNCV_6_1.yaml b/src/app/tests/suites/certification/Test_TC_WNCV_6_1.yaml index c232f3e97b37c3..8e0b08117073b1 100644 --- a/src/app/tests/suites/certification/Test_TC_WNCV_6_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_WNCV_6_1.yaml @@ -11,6 +11,7 @@ # 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: 3.4.7. [TC-WNCV-6.1] Basic Commands Verification with client as DUT @@ -29,6 +30,8 @@ tests: verification: | On TestHarnes (all-cluster-app) a received up-or-open for WindowCovering looks like this + ./chip-tool windowcovering up-or-open 1 1 + [1646243704.407225][352796:352796] CHIP:EM: Received message of type 0x8 with protocolId (0, 1) and MessageCounter:10452706 on exchange 27302r [1646243704.407277][352796:352796] CHIP:EM: Handling via exchange: 27302r, Delegate: 0x560eb84d5500 [1646243704.407350][352796:352796] CHIP:DMG: InvokeRequestMessage = @@ -67,6 +70,7 @@ tests: - label: "DUT sends DownOrClose command to TH" verification: | On TestHarnes (all-cluster-app) a received down-or-close for WindowCovering looks like this + ./chip-tool windowcovering down-or-close 1 1 [1646243773.438732][352796:352796] CHIP:EM: Received message of type 0x8 with protocolId (0, 1) and MessageCounter:8564771 on exchange 6526r [1646243773.438764][352796:352796] CHIP:EM: Handling via exchange: 6526r, Delegate: 0x560eb84d5500 @@ -107,6 +111,8 @@ tests: verification: | On TestHarnes (all-cluster-app) a received stop-motion for WindowCovering looks like this + ./chip-tool windowcovering stop-motion 1 1 + 1646243464.420695][352796:352796] CHIP:EM: Received message of type 0x8 with protocolId (0, 1) and MessageCounter:3710998 on exchange 7151r [1646243464.420725][352796:352796] CHIP:EM: Handling via exchange: 7151r, Delegate: 0x560eb84d5500 [1646243464.420779][352796:352796] CHIP:DMG: InvokeRequestMessage = diff --git a/src/app/tests/suites/tests.js b/src/app/tests/suites/tests.js index 4362d67f73d49a..cfcd4bb1ffeec3 100644 --- a/src/app/tests/suites/tests.js +++ b/src/app/tests/suites/tests.js @@ -77,10 +77,17 @@ function getManualTests() { ]; const BulkDataExchangeProtocol = [ + 'Test_TC_BDX_1_1', 'Test_TC_BDX_1_2', + 'Test_TC_BDX_1_3', 'Test_TC_BDX_1_4', + 'Test_TC_BDX_1_5', + 'Test_TC_BDX_1_6', 'Test_TC_BDX_2_1', 'Test_TC_BDX_2_2', + 'Test_TC_BDX_2_3', + 'Test_TC_BDX_2_4', + 'Test_TC_BDX_2_5', ]; const bridge = [ @@ -96,7 +103,12 @@ function getManualTests() { ]; const DeviceAttestation = [ + 'Test_TC_DA_1_1', + 'Test_TC_DA_1_2', 'Test_TC_DA_1_3', + 'Test_TC_DA_1_4', + 'Test_TC_DA_1_5', + 'Test_TC_DA_1_6', ]; const DeviceManagement = [ @@ -187,6 +199,7 @@ function getManualTests() { 'Test_TC_IDM_6_3', 'Test_TC_IDM_6_4', 'Test_TC_IDM_7_1', + 'Test_TC_IDM_8_1', ]; const MediaControl = [ @@ -278,6 +291,18 @@ function getManualTests() { ]; const SecureChannel = [ + 'Test_TC_SC_1_1', + 'Test_TC_SC_1_2', + 'Test_TC_SC_1_3', + 'Test_TC_SC_1_4', + 'Test_TC_SC_2_1', + 'Test_TC_SC_2_2', + 'Test_TC_SC_2_3', + 'Test_TC_SC_2_4', + 'Test_TC_SC_3_1', + 'Test_TC_SC_3_2', + 'Test_TC_SC_3_3', + 'Test_TC_SC_3_4', 'Test_TC_SC_4_1', 'Test_TC_SC_4_3', 'Test_TC_SC_4_4', @@ -438,6 +463,14 @@ function getManualTests() { 'Test_TC_BIND_2_1', ]; + const Scenes = [ + 'Test_TC_S_1_1', + 'Test_TC_S_2_1', + 'Test_TC_S_2_2', + 'Test_TC_S_2_3', + 'Test_TC_S_3_1', + ]; + const tests = [ DeviceDiscovery, Groups, @@ -485,6 +518,7 @@ function getManualTests() { UnitLocalization, FixedLabel, Binding, + Scenes, ].flat(1); tests.disable = disable.bind(tests); diff --git a/zzz_generated/chip-tool/zap-generated/test/Commands.h b/zzz_generated/chip-tool/zap-generated/test/Commands.h index 5594731c164d58..989009966e478a 100644 --- a/zzz_generated/chip-tool/zap-generated/test/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/test/Commands.h @@ -286,17 +286,29 @@ class ManualTestList : public Command printf("Test_TC_GR_2_3\n"); printf("Test_TC_GR_3_1\n"); printf("Test_TC_GR_3_2\n"); + printf("Test_TC_BDX_1_1\n"); printf("Test_TC_BDX_1_2\n"); + printf("Test_TC_BDX_1_3\n"); printf("Test_TC_BDX_1_4\n"); + printf("Test_TC_BDX_1_5\n"); + printf("Test_TC_BDX_1_6\n"); printf("Test_TC_BDX_2_1\n"); printf("Test_TC_BDX_2_2\n"); + printf("Test_TC_BDX_2_3\n"); + printf("Test_TC_BDX_2_4\n"); + printf("Test_TC_BDX_2_5\n"); printf("Test_TC_BR_1\n"); printf("Test_TC_BR_2\n"); printf("Test_TC_BR_3\n"); printf("Test_TC_BRAC_2_1\n"); printf("Test_TC_BRAC_2_2\n"); printf("Test_TC_BRAC_3_1\n"); + printf("Test_TC_DA_1_1\n"); + printf("Test_TC_DA_1_2\n"); printf("Test_TC_DA_1_3\n"); + printf("Test_TC_DA_1_4\n"); + printf("Test_TC_DA_1_5\n"); + printf("Test_TC_DA_1_6\n"); printf("Test_TC_DM_1_1\n"); printf("Test_TC_DM_1_2\n"); printf("Test_TC_DM_1_3\n"); @@ -360,6 +372,7 @@ class ManualTestList : public Command printf("Test_TC_IDM_6_3\n"); printf("Test_TC_IDM_6_4\n"); printf("Test_TC_IDM_7_1\n"); + printf("Test_TC_IDM_8_1\n"); printf("Test_TC_MC_2_2\n"); printf("Test_TC_MC_3_7_1\n"); printf("Test_TC_MC_3_8_1\n"); @@ -433,6 +446,18 @@ class ManualTestList : public Command printf("Test_TC_PSCFG_2_1\n"); printf("Test_TC_PSCFG_2_2\n"); printf("Test_TC_PSCFG_3_1\n"); + printf("Test_TC_SC_1_1\n"); + printf("Test_TC_SC_1_2\n"); + printf("Test_TC_SC_1_3\n"); + printf("Test_TC_SC_1_4\n"); + printf("Test_TC_SC_2_1\n"); + printf("Test_TC_SC_2_2\n"); + printf("Test_TC_SC_2_3\n"); + printf("Test_TC_SC_2_4\n"); + printf("Test_TC_SC_3_1\n"); + printf("Test_TC_SC_3_2\n"); + printf("Test_TC_SC_3_3\n"); + printf("Test_TC_SC_3_4\n"); printf("Test_TC_SC_4_1\n"); printf("Test_TC_SC_4_3\n"); printf("Test_TC_SC_4_4\n"); @@ -516,6 +541,11 @@ class ManualTestList : public Command printf("Test_TC_FLABEL_2_2\n"); printf("Test_TC_BIND_1_1\n"); printf("Test_TC_BIND_2_1\n"); + printf("Test_TC_S_1_1\n"); + printf("Test_TC_S_2_1\n"); + printf("Test_TC_S_2_2\n"); + printf("Test_TC_S_2_3\n"); + printf("Test_TC_S_3_1\n"); return CHIP_NO_ERROR; } @@ -69747,6 +69777,62 @@ class Test_TC_GR_3_2Suite : public TestCommand } }; +class Test_TC_BDX_1_1Suite : public TestCommand +{ +public: + Test_TC_BDX_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BDX_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_BDX_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_BDX_1_2Suite : public TestCommand { public: @@ -69803,6 +69889,62 @@ class Test_TC_BDX_1_2Suite : public TestCommand } }; +class Test_TC_BDX_1_3Suite : public TestCommand +{ +public: + Test_TC_BDX_1_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BDX_1_3", 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_BDX_1_3Suite() {} + + 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_BDX_1_4Suite : public TestCommand { public: @@ -69859,6 +70001,118 @@ class Test_TC_BDX_1_4Suite : public TestCommand } }; +class Test_TC_BDX_1_5Suite : public TestCommand +{ +public: + Test_TC_BDX_1_5Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BDX_1_5", 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_BDX_1_5Suite() {} + + 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_BDX_1_6Suite : public TestCommand +{ +public: + Test_TC_BDX_1_6Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BDX_1_6", 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_BDX_1_6Suite() {} + + 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_BDX_2_1Suite : public TestCommand { public: @@ -69971,10 +70225,10 @@ class Test_TC_BDX_2_2Suite : public TestCommand } }; -class Test_TC_BR_1Suite : public TestCommand +class Test_TC_BDX_2_3Suite : public TestCommand { public: - Test_TC_BR_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BR_1", 0, credsIssuerConfig) + Test_TC_BDX_2_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BDX_2_3", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -69982,7 +70236,7 @@ class Test_TC_BR_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_BR_1Suite() {} + ~Test_TC_BDX_2_3Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -70027,10 +70281,10 @@ class Test_TC_BR_1Suite : public TestCommand } }; -class Test_TC_BR_2Suite : public TestCommand +class Test_TC_BDX_2_4Suite : public TestCommand { public: - Test_TC_BR_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BR_2", 0, credsIssuerConfig) + Test_TC_BDX_2_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BDX_2_4", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -70038,7 +70292,7 @@ class Test_TC_BR_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_BR_2Suite() {} + ~Test_TC_BDX_2_4Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -70083,10 +70337,10 @@ class Test_TC_BR_2Suite : public TestCommand } }; -class Test_TC_BR_3Suite : public TestCommand +class Test_TC_BDX_2_5Suite : public TestCommand { public: - Test_TC_BR_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BR_3", 0, credsIssuerConfig) + Test_TC_BDX_2_5Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BDX_2_5", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -70094,7 +70348,7 @@ class Test_TC_BR_3Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_BR_3Suite() {} + ~Test_TC_BDX_2_5Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -70139,10 +70393,10 @@ class Test_TC_BR_3Suite : public TestCommand } }; -class Test_TC_BRAC_2_1Suite : public TestCommand +class Test_TC_BR_1Suite : public TestCommand { public: - Test_TC_BRAC_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BRAC_2_1", 0, credsIssuerConfig) + Test_TC_BR_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BR_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -70150,7 +70404,7 @@ class Test_TC_BRAC_2_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_BRAC_2_1Suite() {} + ~Test_TC_BR_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -70195,10 +70449,10 @@ class Test_TC_BRAC_2_1Suite : public TestCommand } }; -class Test_TC_BRAC_2_2Suite : public TestCommand +class Test_TC_BR_2Suite : public TestCommand { public: - Test_TC_BRAC_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BRAC_2_2", 0, credsIssuerConfig) + Test_TC_BR_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BR_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -70206,7 +70460,7 @@ class Test_TC_BRAC_2_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_BRAC_2_2Suite() {} + ~Test_TC_BR_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -70251,10 +70505,10 @@ class Test_TC_BRAC_2_2Suite : public TestCommand } }; -class Test_TC_BRAC_3_1Suite : public TestCommand +class Test_TC_BR_3Suite : public TestCommand { public: - Test_TC_BRAC_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BRAC_3_1", 0, credsIssuerConfig) + Test_TC_BR_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BR_3", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -70262,7 +70516,7 @@ class Test_TC_BRAC_3_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_BRAC_3_1Suite() {} + ~Test_TC_BR_3Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -70307,10 +70561,10 @@ class Test_TC_BRAC_3_1Suite : public TestCommand } }; -class Test_TC_DA_1_3Suite : public TestCommand +class Test_TC_BRAC_2_1Suite : public TestCommand { public: - Test_TC_DA_1_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DA_1_3", 0, credsIssuerConfig) + Test_TC_BRAC_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BRAC_2_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -70318,7 +70572,7 @@ class Test_TC_DA_1_3Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DA_1_3Suite() {} + ~Test_TC_BRAC_2_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -70363,10 +70617,10 @@ class Test_TC_DA_1_3Suite : public TestCommand } }; -class Test_TC_DM_1_1Suite : public TestCommand +class Test_TC_BRAC_2_2Suite : public TestCommand { public: - Test_TC_DM_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_1_1", 0, credsIssuerConfig) + Test_TC_BRAC_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BRAC_2_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -70374,7 +70628,7 @@ class Test_TC_DM_1_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_1_1Suite() {} + ~Test_TC_BRAC_2_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -70419,10 +70673,10 @@ class Test_TC_DM_1_1Suite : public TestCommand } }; -class Test_TC_DM_1_2Suite : public TestCommand +class Test_TC_BRAC_3_1Suite : public TestCommand { public: - Test_TC_DM_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_1_2", 0, credsIssuerConfig) + Test_TC_BRAC_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BRAC_3_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -70430,7 +70684,7 @@ class Test_TC_DM_1_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_1_2Suite() {} + ~Test_TC_BRAC_3_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -70475,10 +70729,10 @@ class Test_TC_DM_1_2Suite : public TestCommand } }; -class Test_TC_DM_1_3Suite : public TestCommand +class Test_TC_DA_1_1Suite : public TestCommand { public: - Test_TC_DM_1_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_1_3", 0, credsIssuerConfig) + Test_TC_DA_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DA_1_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -70486,7 +70740,7 @@ class Test_TC_DM_1_3Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_1_3Suite() {} + ~Test_TC_DA_1_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -70531,10 +70785,10 @@ class Test_TC_DM_1_3Suite : public TestCommand } }; -class Test_TC_DM_2_2Suite : public TestCommand +class Test_TC_DA_1_2Suite : public TestCommand { public: - Test_TC_DM_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_2_2", 13, credsIssuerConfig) + Test_TC_DA_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DA_1_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -70542,7 +70796,7 @@ class Test_TC_DM_2_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_2_2Suite() {} + ~Test_TC_DA_1_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -70555,8 +70809,6 @@ class Test_TC_DM_2_2Suite : public TestCommand chip::Optional mEndpoint; chip::Optional mTimeout; - uint32_t SoftwareVersionValue; - chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } // @@ -70569,75 +70821,6 @@ class Test_TC_DM_2_2Suite : public TestCommand 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))); - VerifyOrReturn(CheckConstraintType("value", "", "uint8")); - SoftwareVersionValue = value; - } - break; - case 2: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - bool value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "bool")); - } - 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)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("softwareVersion", value, SoftwareVersionValue)); - } - 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)); - shouldContinue = true; - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 10: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 11: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 12: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - bool value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "bool")); - } - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -70653,94 +70836,15 @@ class Test_TC_DM_2_2Suite : public TestCommand 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, "Query SoftwareVersion"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::SoftwareVersion::Id, true, - chip::NullOptional); - } - case 2: { - LogStep(2, "Query Reachable Fabrics"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::Reachable::Id, true, - chip::NullOptional); - } - case 3: { - LogStep(3, "Reboot target device"); - ListFreer listFreer; - chip::app::Clusters::SystemCommands::Commands::Reboot::Type value; - return Reboot(kIdentityAlpha, value); - } - case 4: { - LogStep(4, "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 5: { - LogStep(5, "Query SoftwareVersion"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::SoftwareVersion::Id, true, - chip::NullOptional); - } - case 6: { - LogStep(6, "Reboot target device"); - ListFreer listFreer; - chip::app::Clusters::SystemCommands::Commands::Reboot::Type value; - return Reboot(kIdentityAlpha, value); - } - case 7: { - LogStep(7, "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 8: { - LogStep(8, "Factory Reset the accessory"); - ListFreer listFreer; - chip::app::Clusters::SystemCommands::Commands::FactoryReset::Type value; - return FactoryReset(kIdentityAlpha, value); - } - case 9: { - LogStep(9, "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 10: { - LogStep(10, "Reboot target device"); - ListFreer listFreer; - chip::app::Clusters::SystemCommands::Commands::Reboot::Type value; - return Reboot(kIdentityAlpha, value); - } - case 11: { - LogStep(11, "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 12: { - LogStep(12, "Query Reachable Fabrics"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::Reachable::Id, true, - chip::NullOptional); - } } return CHIP_NO_ERROR; } }; -class Test_TC_DM_2_4Suite : public TestCommand +class Test_TC_DA_1_3Suite : public TestCommand { public: - Test_TC_DM_2_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_2_4", 0, credsIssuerConfig) + Test_TC_DA_1_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DA_1_3", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -70748,7 +70852,7 @@ class Test_TC_DM_2_4Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_2_4Suite() {} + ~Test_TC_DA_1_3Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -70793,10 +70897,10 @@ class Test_TC_DM_2_4Suite : public TestCommand } }; -class Test_TC_DM_3_1Suite : public TestCommand +class Test_TC_DA_1_4Suite : public TestCommand { public: - Test_TC_DM_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_3_1", 0, credsIssuerConfig) + Test_TC_DA_1_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DA_1_4", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -70804,7 +70908,7 @@ class Test_TC_DM_3_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_3_1Suite() {} + ~Test_TC_DA_1_4Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -70849,10 +70953,10 @@ class Test_TC_DM_3_1Suite : public TestCommand } }; -class Test_TC_DM_3_2Suite : public TestCommand +class Test_TC_DA_1_5Suite : public TestCommand { public: - Test_TC_DM_3_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_3_2", 0, credsIssuerConfig) + Test_TC_DA_1_5Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DA_1_5", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -70860,7 +70964,7 @@ class Test_TC_DM_3_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_3_2Suite() {} + ~Test_TC_DA_1_5Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -70905,10 +71009,10 @@ class Test_TC_DM_3_2Suite : public TestCommand } }; -class Test_TC_DM_3_3Suite : public TestCommand +class Test_TC_DA_1_6Suite : public TestCommand { public: - Test_TC_DM_3_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_3_3", 0, credsIssuerConfig) + Test_TC_DA_1_6Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DA_1_6", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -70916,7 +71020,7 @@ class Test_TC_DM_3_3Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_3_3Suite() {} + ~Test_TC_DA_1_6Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -70961,10 +71065,10 @@ class Test_TC_DM_3_3Suite : public TestCommand } }; -class Test_TC_DM_3_4Suite : public TestCommand +class Test_TC_DM_1_1Suite : public TestCommand { public: - Test_TC_DM_3_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_3_4", 0, credsIssuerConfig) + Test_TC_DM_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_1_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -70972,7 +71076,7 @@ class Test_TC_DM_3_4Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_3_4Suite() {} + ~Test_TC_DM_1_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -71017,10 +71121,10 @@ class Test_TC_DM_3_4Suite : public TestCommand } }; -class Test_TC_DM_4_1Suite : public TestCommand +class Test_TC_DM_1_2Suite : public TestCommand { public: - Test_TC_DM_4_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_1", 0, credsIssuerConfig) + Test_TC_DM_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_1_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -71028,7 +71132,7 @@ class Test_TC_DM_4_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_4_1Suite() {} + ~Test_TC_DM_1_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -71073,10 +71177,10 @@ class Test_TC_DM_4_1Suite : public TestCommand } }; -class Test_TC_DM_4_2Suite : public TestCommand +class Test_TC_DM_1_3Suite : public TestCommand { public: - Test_TC_DM_4_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_2", 0, credsIssuerConfig) + Test_TC_DM_1_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_1_3", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -71084,7 +71188,7 @@ class Test_TC_DM_4_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_4_2Suite() {} + ~Test_TC_DM_1_3Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -71129,10 +71233,10 @@ class Test_TC_DM_4_2Suite : public TestCommand } }; -class Test_TC_DM_4_3Suite : public TestCommand +class Test_TC_DM_2_2Suite : public TestCommand { public: - Test_TC_DM_4_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_3", 0, credsIssuerConfig) + Test_TC_DM_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_2_2", 13, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -71140,7 +71244,7 @@ class Test_TC_DM_4_3Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_4_3Suite() {} + ~Test_TC_DM_2_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -71153,6 +71257,8 @@ class Test_TC_DM_4_3Suite : public TestCommand chip::Optional mEndpoint; chip::Optional mTimeout; + uint32_t SoftwareVersionValue; + chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } // @@ -71165,6 +71271,75 @@ class Test_TC_DM_4_3Suite : public TestCommand 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))); + VerifyOrReturn(CheckConstraintType("value", "", "uint8")); + SoftwareVersionValue = value; + } + break; + case 2: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + bool value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "bool")); + } + 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)); + { + uint32_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("softwareVersion", value, SoftwareVersionValue)); + } + 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)); + shouldContinue = true; + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 11: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + bool value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "bool")); + } + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -71180,15 +71355,94 @@ class Test_TC_DM_4_3Suite : public TestCommand 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, "Query SoftwareVersion"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::SoftwareVersion::Id, true, + chip::NullOptional); + } + case 2: { + LogStep(2, "Query Reachable Fabrics"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::Reachable::Id, true, + chip::NullOptional); + } + case 3: { + LogStep(3, "Reboot target device"); + ListFreer listFreer; + chip::app::Clusters::SystemCommands::Commands::Reboot::Type value; + return Reboot(kIdentityAlpha, value); + } + case 4: { + LogStep(4, "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 5: { + LogStep(5, "Query SoftwareVersion"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::SoftwareVersion::Id, true, + chip::NullOptional); + } + case 6: { + LogStep(6, "Reboot target device"); + ListFreer listFreer; + chip::app::Clusters::SystemCommands::Commands::Reboot::Type value; + return Reboot(kIdentityAlpha, value); + } + case 7: { + LogStep(7, "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 8: { + LogStep(8, "Factory Reset the accessory"); + ListFreer listFreer; + chip::app::Clusters::SystemCommands::Commands::FactoryReset::Type value; + return FactoryReset(kIdentityAlpha, value); + } + case 9: { + LogStep(9, "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 10: { + LogStep(10, "Reboot target device"); + ListFreer listFreer; + chip::app::Clusters::SystemCommands::Commands::Reboot::Type value; + return Reboot(kIdentityAlpha, value); + } + case 11: { + LogStep(11, "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 12: { + LogStep(12, "Query Reachable Fabrics"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::Reachable::Id, true, + chip::NullOptional); + } } return CHIP_NO_ERROR; } }; -class Test_TC_DM_4_4Suite : public TestCommand +class Test_TC_DM_2_4Suite : public TestCommand { public: - Test_TC_DM_4_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_4", 0, credsIssuerConfig) + Test_TC_DM_2_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_2_4", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -71196,7 +71450,7 @@ class Test_TC_DM_4_4Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_4_4Suite() {} + ~Test_TC_DM_2_4Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -71241,10 +71495,10 @@ class Test_TC_DM_4_4Suite : public TestCommand } }; -class Test_TC_DM_4_5Suite : public TestCommand +class Test_TC_DM_3_1Suite : public TestCommand { public: - Test_TC_DM_4_5Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_5", 0, credsIssuerConfig) + Test_TC_DM_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_3_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -71252,7 +71506,7 @@ class Test_TC_DM_4_5Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_4_5Suite() {} + ~Test_TC_DM_3_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -71297,10 +71551,10 @@ class Test_TC_DM_4_5Suite : public TestCommand } }; -class Test_TC_DM_4_6Suite : public TestCommand +class Test_TC_DM_3_2Suite : public TestCommand { public: - Test_TC_DM_4_6Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_6", 0, credsIssuerConfig) + Test_TC_DM_3_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_3_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -71308,7 +71562,7 @@ class Test_TC_DM_4_6Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_4_6Suite() {} + ~Test_TC_DM_3_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -71353,10 +71607,10 @@ class Test_TC_DM_4_6Suite : public TestCommand } }; -class Test_TC_DM_4_7Suite : public TestCommand +class Test_TC_DM_3_3Suite : public TestCommand { public: - Test_TC_DM_4_7Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_7", 0, credsIssuerConfig) + Test_TC_DM_3_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_3_3", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -71364,7 +71618,7 @@ class Test_TC_DM_4_7Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_4_7Suite() {} + ~Test_TC_DM_3_3Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -71409,10 +71663,10 @@ class Test_TC_DM_4_7Suite : public TestCommand } }; -class Test_TC_DM_4_8Suite : public TestCommand +class Test_TC_DM_3_4Suite : public TestCommand { public: - Test_TC_DM_4_8Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_8", 0, credsIssuerConfig) + Test_TC_DM_3_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_3_4", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -71420,7 +71674,7 @@ class Test_TC_DM_4_8Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_4_8Suite() {} + ~Test_TC_DM_3_4Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -71465,10 +71719,10 @@ class Test_TC_DM_4_8Suite : public TestCommand } }; -class Test_TC_DM_4_9Suite : public TestCommand +class Test_TC_DM_4_1Suite : public TestCommand { public: - Test_TC_DM_4_9Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_9", 0, credsIssuerConfig) + Test_TC_DM_4_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -71476,7 +71730,7 @@ class Test_TC_DM_4_9Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_4_9Suite() {} + ~Test_TC_DM_4_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -71521,10 +71775,10 @@ class Test_TC_DM_4_9Suite : public TestCommand } }; -class Test_TC_DM_4_10Suite : public TestCommand +class Test_TC_DM_4_2Suite : public TestCommand { public: - Test_TC_DM_4_10Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_10", 0, credsIssuerConfig) + Test_TC_DM_4_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -71532,7 +71786,7 @@ class Test_TC_DM_4_10Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_4_10Suite() {} + ~Test_TC_DM_4_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -71577,10 +71831,10 @@ class Test_TC_DM_4_10Suite : public TestCommand } }; -class Test_TC_DM_4_11Suite : public TestCommand +class Test_TC_DM_4_3Suite : public TestCommand { public: - Test_TC_DM_4_11Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_11", 0, credsIssuerConfig) + Test_TC_DM_4_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_3", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -71588,7 +71842,7 @@ class Test_TC_DM_4_11Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_4_11Suite() {} + ~Test_TC_DM_4_3Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -71633,10 +71887,10 @@ class Test_TC_DM_4_11Suite : public TestCommand } }; -class Test_TC_DM_4_12Suite : public TestCommand +class Test_TC_DM_4_4Suite : public TestCommand { public: - Test_TC_DM_4_12Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_12", 0, credsIssuerConfig) + Test_TC_DM_4_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_4", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -71644,7 +71898,7 @@ class Test_TC_DM_4_12Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_4_12Suite() {} + ~Test_TC_DM_4_4Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -71689,10 +71943,10 @@ class Test_TC_DM_4_12Suite : public TestCommand } }; -class Test_TC_DM_4_13Suite : public TestCommand +class Test_TC_DM_4_5Suite : public TestCommand { public: - Test_TC_DM_4_13Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_13", 0, credsIssuerConfig) + Test_TC_DM_4_5Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_5", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -71700,7 +71954,7 @@ class Test_TC_DM_4_13Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_4_13Suite() {} + ~Test_TC_DM_4_5Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -71745,10 +71999,10 @@ class Test_TC_DM_4_13Suite : public TestCommand } }; -class Test_TC_DM_4_14Suite : public TestCommand +class Test_TC_DM_4_6Suite : public TestCommand { public: - Test_TC_DM_4_14Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_14", 0, credsIssuerConfig) + Test_TC_DM_4_6Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_6", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -71756,7 +72010,7 @@ class Test_TC_DM_4_14Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_4_14Suite() {} + ~Test_TC_DM_4_6Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -71801,10 +72055,10 @@ class Test_TC_DM_4_14Suite : public TestCommand } }; -class Test_TC_DM_4_15Suite : public TestCommand +class Test_TC_DM_4_7Suite : public TestCommand { public: - Test_TC_DM_4_15Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_15", 0, credsIssuerConfig) + Test_TC_DM_4_7Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_7", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -71812,7 +72066,7 @@ class Test_TC_DM_4_15Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_4_15Suite() {} + ~Test_TC_DM_4_7Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -71857,10 +72111,10 @@ class Test_TC_DM_4_15Suite : public TestCommand } }; -class Test_TC_DM_4_16Suite : public TestCommand +class Test_TC_DM_4_8Suite : public TestCommand { public: - Test_TC_DM_4_16Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_16", 0, credsIssuerConfig) + Test_TC_DM_4_8Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_8", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -71868,7 +72122,7 @@ class Test_TC_DM_4_16Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_4_16Suite() {} + ~Test_TC_DM_4_8Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -71913,10 +72167,10 @@ class Test_TC_DM_4_16Suite : public TestCommand } }; -class Test_TC_DM_4_17Suite : public TestCommand +class Test_TC_DM_4_9Suite : public TestCommand { public: - Test_TC_DM_4_17Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_17", 0, credsIssuerConfig) + Test_TC_DM_4_9Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_9", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -71924,7 +72178,7 @@ class Test_TC_DM_4_17Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_4_17Suite() {} + ~Test_TC_DM_4_9Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -71969,10 +72223,10 @@ class Test_TC_DM_4_17Suite : public TestCommand } }; -class Test_TC_DM_4_18Suite : public TestCommand +class Test_TC_DM_4_10Suite : public TestCommand { public: - Test_TC_DM_4_18Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_18", 0, credsIssuerConfig) + Test_TC_DM_4_10Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_10", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -71980,7 +72234,7 @@ class Test_TC_DM_4_18Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_4_18Suite() {} + ~Test_TC_DM_4_10Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -72025,10 +72279,10 @@ class Test_TC_DM_4_18Suite : public TestCommand } }; -class Test_TC_DM_4_19Suite : public TestCommand +class Test_TC_DM_4_11Suite : public TestCommand { public: - Test_TC_DM_4_19Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_19", 0, credsIssuerConfig) + Test_TC_DM_4_11Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_11", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -72036,7 +72290,7 @@ class Test_TC_DM_4_19Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_4_19Suite() {} + ~Test_TC_DM_4_11Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -72081,10 +72335,10 @@ class Test_TC_DM_4_19Suite : public TestCommand } }; -class Test_TC_DM_4_20Suite : public TestCommand +class Test_TC_DM_4_12Suite : public TestCommand { public: - Test_TC_DM_4_20Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_20", 0, credsIssuerConfig) + Test_TC_DM_4_12Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_12", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -72092,7 +72346,7 @@ class Test_TC_DM_4_20Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_4_20Suite() {} + ~Test_TC_DM_4_12Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -72137,10 +72391,10 @@ class Test_TC_DM_4_20Suite : public TestCommand } }; -class Test_TC_DM_4_21Suite : public TestCommand +class Test_TC_DM_4_13Suite : public TestCommand { public: - Test_TC_DM_4_21Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_21", 0, credsIssuerConfig) + Test_TC_DM_4_13Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_13", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -72148,7 +72402,7 @@ class Test_TC_DM_4_21Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DM_4_21Suite() {} + ~Test_TC_DM_4_13Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -72193,10 +72447,10 @@ class Test_TC_DM_4_21Suite : public TestCommand } }; -class Test_TC_DLOG_1_1Suite : public TestCommand +class Test_TC_DM_4_14Suite : public TestCommand { public: - Test_TC_DLOG_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DLOG_1_1", 0, credsIssuerConfig) + Test_TC_DM_4_14Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_14", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -72204,7 +72458,7 @@ class Test_TC_DLOG_1_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DLOG_1_1Suite() {} + ~Test_TC_DM_4_14Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -72249,10 +72503,10 @@ class Test_TC_DLOG_1_1Suite : public TestCommand } }; -class Test_TC_DLOG_2_1Suite : public TestCommand +class Test_TC_DM_4_15Suite : public TestCommand { public: - Test_TC_DLOG_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DLOG_2_1", 0, credsIssuerConfig) + Test_TC_DM_4_15Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_15", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -72260,7 +72514,7 @@ class Test_TC_DLOG_2_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DLOG_2_1Suite() {} + ~Test_TC_DM_4_15Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -72305,10 +72559,10 @@ class Test_TC_DLOG_2_1Suite : public TestCommand } }; -class Test_TC_DLOG_2_2Suite : public TestCommand +class Test_TC_DM_4_16Suite : public TestCommand { public: - Test_TC_DLOG_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DLOG_2_2", 0, credsIssuerConfig) + Test_TC_DM_4_16Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_16", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -72316,7 +72570,7 @@ class Test_TC_DLOG_2_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DLOG_2_2Suite() {} + ~Test_TC_DM_4_16Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -72361,10 +72615,10 @@ class Test_TC_DLOG_2_2Suite : public TestCommand } }; -class Test_TC_DLOG_3_1Suite : public TestCommand +class Test_TC_DM_4_17Suite : public TestCommand { public: - Test_TC_DLOG_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DLOG_3_1", 0, credsIssuerConfig) + Test_TC_DM_4_17Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_17", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -72372,7 +72626,7 @@ class Test_TC_DLOG_3_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DLOG_3_1Suite() {} + ~Test_TC_DM_4_17Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -72417,10 +72671,10 @@ class Test_TC_DLOG_3_1Suite : public TestCommand } }; -class Test_TC_DESC_2_1Suite : public TestCommand +class Test_TC_DM_4_18Suite : public TestCommand { public: - Test_TC_DESC_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DESC_2_1", 0, credsIssuerConfig) + Test_TC_DM_4_18Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_18", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -72428,7 +72682,7 @@ class Test_TC_DESC_2_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DESC_2_1Suite() {} + ~Test_TC_DM_4_18Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -72473,10 +72727,10 @@ class Test_TC_DESC_2_1Suite : public TestCommand } }; -class Test_TC_DESC_2_2Suite : public TestCommand +class Test_TC_DM_4_19Suite : public TestCommand { public: - Test_TC_DESC_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DESC_2_2", 0, credsIssuerConfig) + Test_TC_DM_4_19Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_19", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -72484,7 +72738,7 @@ class Test_TC_DESC_2_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DESC_2_2Suite() {} + ~Test_TC_DM_4_19Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -72529,10 +72783,10 @@ class Test_TC_DESC_2_2Suite : public TestCommand } }; -class Test_TC_DGETH_1_1Suite : public TestCommand +class Test_TC_DM_4_20Suite : public TestCommand { public: - Test_TC_DGETH_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGETH_1_1", 0, credsIssuerConfig) + Test_TC_DM_4_20Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_20", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -72540,7 +72794,7 @@ class Test_TC_DGETH_1_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DGETH_1_1Suite() {} + ~Test_TC_DM_4_20Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -72585,10 +72839,10 @@ class Test_TC_DGETH_1_1Suite : public TestCommand } }; -class Test_TC_DGETH_3_1Suite : public TestCommand +class Test_TC_DM_4_21Suite : public TestCommand { public: - Test_TC_DGETH_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGETH_3_1", 0, credsIssuerConfig) + Test_TC_DM_4_21Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DM_4_21", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -72596,7 +72850,7 @@ class Test_TC_DGETH_3_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DGETH_3_1Suite() {} + ~Test_TC_DM_4_21Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -72641,10 +72895,10 @@ class Test_TC_DGETH_3_1Suite : public TestCommand } }; -class Test_TC_DGETH_3_2Suite : public TestCommand +class Test_TC_DLOG_1_1Suite : public TestCommand { public: - Test_TC_DGETH_3_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGETH_3_2", 0, credsIssuerConfig) + Test_TC_DLOG_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DLOG_1_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -72652,7 +72906,7 @@ class Test_TC_DGETH_3_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DGETH_3_2Suite() {} + ~Test_TC_DLOG_1_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -72697,10 +72951,10 @@ class Test_TC_DGETH_3_2Suite : public TestCommand } }; -class Test_TC_CGEN_2_2Suite : public TestCommand +class Test_TC_DLOG_2_1Suite : public TestCommand { public: - Test_TC_CGEN_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CGEN_2_2", 0, credsIssuerConfig) + Test_TC_DLOG_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DLOG_2_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -72708,7 +72962,7 @@ class Test_TC_CGEN_2_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_CGEN_2_2Suite() {} + ~Test_TC_DLOG_2_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -72753,10 +73007,10 @@ class Test_TC_CGEN_2_2Suite : public TestCommand } }; -class Test_TC_CGEN_2_3Suite : public TestCommand +class Test_TC_DLOG_2_2Suite : public TestCommand { public: - Test_TC_CGEN_2_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CGEN_2_3", 0, credsIssuerConfig) + Test_TC_DLOG_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DLOG_2_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -72764,7 +73018,7 @@ class Test_TC_CGEN_2_3Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_CGEN_2_3Suite() {} + ~Test_TC_DLOG_2_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -72809,10 +73063,10 @@ class Test_TC_CGEN_2_3Suite : public TestCommand } }; -class Test_TC_CGEN_2_4Suite : public TestCommand +class Test_TC_DLOG_3_1Suite : public TestCommand { public: - Test_TC_CGEN_2_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CGEN_2_4", 0, credsIssuerConfig) + Test_TC_DLOG_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DLOG_3_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -72820,7 +73074,7 @@ class Test_TC_CGEN_2_4Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_CGEN_2_4Suite() {} + ~Test_TC_DLOG_3_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -72865,11 +73119,10 @@ class Test_TC_CGEN_2_4Suite : public TestCommand } }; -class Test_TC_GENDIAG_1_2Suite : public TestCommand +class Test_TC_DESC_2_1Suite : public TestCommand { public: - Test_TC_GENDIAG_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_GENDIAG_1_2", 0, credsIssuerConfig) + Test_TC_DESC_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DESC_2_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -72877,7 +73130,7 @@ class Test_TC_GENDIAG_1_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_GENDIAG_1_2Suite() {} + ~Test_TC_DESC_2_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -72922,10 +73175,10 @@ class Test_TC_GENDIAG_1_2Suite : public TestCommand } }; -class Test_TC_I_3_1Suite : public TestCommand +class Test_TC_DESC_2_2Suite : public TestCommand { public: - Test_TC_I_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_I_3_1", 0, credsIssuerConfig) + Test_TC_DESC_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DESC_2_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -72933,7 +73186,7 @@ class Test_TC_I_3_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_I_3_1Suite() {} + ~Test_TC_DESC_2_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -72978,10 +73231,10 @@ class Test_TC_I_3_1Suite : public TestCommand } }; -class Test_TC_I_3_2Suite : public TestCommand +class Test_TC_DGETH_1_1Suite : public TestCommand { public: - Test_TC_I_3_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_I_3_2", 0, credsIssuerConfig) + Test_TC_DGETH_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGETH_1_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -72989,7 +73242,7 @@ class Test_TC_I_3_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_I_3_2Suite() {} + ~Test_TC_DGETH_1_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -73034,10 +73287,10 @@ class Test_TC_I_3_2Suite : public TestCommand } }; -class Test_TC_ILL_2_2Suite : public TestCommand +class Test_TC_DGETH_3_1Suite : public TestCommand { public: - Test_TC_ILL_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ILL_2_2", 0, credsIssuerConfig) + Test_TC_DGETH_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGETH_3_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -73045,7 +73298,7 @@ class Test_TC_ILL_2_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_ILL_2_2Suite() {} + ~Test_TC_DGETH_3_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -73090,10 +73343,10 @@ class Test_TC_ILL_2_2Suite : public TestCommand } }; -class Test_TC_ILL_3_1Suite : public TestCommand +class Test_TC_DGETH_3_2Suite : public TestCommand { public: - Test_TC_ILL_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ILL_3_1", 0, credsIssuerConfig) + Test_TC_DGETH_3_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGETH_3_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -73101,7 +73354,7 @@ class Test_TC_ILL_3_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_ILL_3_1Suite() {} + ~Test_TC_DGETH_3_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -73146,10 +73399,10 @@ class Test_TC_ILL_3_1Suite : public TestCommand } }; -class Test_TC_IDM_1_1Suite : public TestCommand +class Test_TC_CGEN_2_2Suite : public TestCommand { public: - Test_TC_IDM_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_1_1", 0, credsIssuerConfig) + Test_TC_CGEN_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CGEN_2_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -73157,7 +73410,7 @@ class Test_TC_IDM_1_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_IDM_1_1Suite() {} + ~Test_TC_CGEN_2_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -73202,10 +73455,10 @@ class Test_TC_IDM_1_1Suite : public TestCommand } }; -class Test_TC_IDM_1_2Suite : public TestCommand +class Test_TC_CGEN_2_3Suite : public TestCommand { public: - Test_TC_IDM_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_1_2", 0, credsIssuerConfig) + Test_TC_CGEN_2_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CGEN_2_3", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -73213,7 +73466,7 @@ class Test_TC_IDM_1_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_IDM_1_2Suite() {} + ~Test_TC_CGEN_2_3Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -73258,10 +73511,10 @@ class Test_TC_IDM_1_2Suite : public TestCommand } }; -class Test_TC_IDM_2_1Suite : public TestCommand +class Test_TC_CGEN_2_4Suite : public TestCommand { public: - Test_TC_IDM_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_2_1", 0, credsIssuerConfig) + Test_TC_CGEN_2_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CGEN_2_4", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -73269,7 +73522,7 @@ class Test_TC_IDM_2_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_IDM_2_1Suite() {} + ~Test_TC_CGEN_2_4Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -73314,10 +73567,11 @@ class Test_TC_IDM_2_1Suite : public TestCommand } }; -class Test_TC_IDM_2_2Suite : public TestCommand +class Test_TC_GENDIAG_1_2Suite : public TestCommand { public: - Test_TC_IDM_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_2_2", 0, credsIssuerConfig) + Test_TC_GENDIAG_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : + TestCommand("Test_TC_GENDIAG_1_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -73325,7 +73579,7 @@ class Test_TC_IDM_2_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_IDM_2_2Suite() {} + ~Test_TC_GENDIAG_1_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -73370,10 +73624,10 @@ class Test_TC_IDM_2_2Suite : public TestCommand } }; -class Test_TC_IDM_3_1Suite : public TestCommand +class Test_TC_I_3_1Suite : public TestCommand { public: - Test_TC_IDM_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_3_1", 0, credsIssuerConfig) + Test_TC_I_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_I_3_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -73381,7 +73635,7 @@ class Test_TC_IDM_3_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_IDM_3_1Suite() {} + ~Test_TC_I_3_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -73426,10 +73680,10 @@ class Test_TC_IDM_3_1Suite : public TestCommand } }; -class Test_TC_IDM_3_2Suite : public TestCommand +class Test_TC_I_3_2Suite : public TestCommand { public: - Test_TC_IDM_3_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_3_2", 0, credsIssuerConfig) + Test_TC_I_3_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_I_3_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -73437,7 +73691,7 @@ class Test_TC_IDM_3_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_IDM_3_2Suite() {} + ~Test_TC_I_3_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -73482,10 +73736,10 @@ class Test_TC_IDM_3_2Suite : public TestCommand } }; -class Test_TC_IDM_4_1Suite : public TestCommand +class Test_TC_ILL_2_2Suite : public TestCommand { public: - Test_TC_IDM_4_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_4_1", 0, credsIssuerConfig) + Test_TC_ILL_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ILL_2_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -73493,7 +73747,7 @@ class Test_TC_IDM_4_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_IDM_4_1Suite() {} + ~Test_TC_ILL_2_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -73538,10 +73792,10 @@ class Test_TC_IDM_4_1Suite : public TestCommand } }; -class Test_TC_IDM_4_2Suite : public TestCommand +class Test_TC_ILL_3_1Suite : public TestCommand { public: - Test_TC_IDM_4_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_4_2", 0, credsIssuerConfig) + Test_TC_ILL_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ILL_3_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -73549,7 +73803,7 @@ class Test_TC_IDM_4_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_IDM_4_2Suite() {} + ~Test_TC_ILL_3_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -73594,10 +73848,10 @@ class Test_TC_IDM_4_2Suite : public TestCommand } }; -class Test_TC_IDM_4_3Suite : public TestCommand +class Test_TC_IDM_1_1Suite : public TestCommand { public: - Test_TC_IDM_4_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_4_3", 0, credsIssuerConfig) + Test_TC_IDM_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_1_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -73605,7 +73859,7 @@ class Test_TC_IDM_4_3Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_IDM_4_3Suite() {} + ~Test_TC_IDM_1_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -73650,10 +73904,10 @@ class Test_TC_IDM_4_3Suite : public TestCommand } }; -class Test_TC_IDM_5_1Suite : public TestCommand +class Test_TC_IDM_1_2Suite : public TestCommand { public: - Test_TC_IDM_5_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_5_1", 0, credsIssuerConfig) + Test_TC_IDM_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_1_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -73661,7 +73915,7 @@ class Test_TC_IDM_5_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_IDM_5_1Suite() {} + ~Test_TC_IDM_1_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -73706,10 +73960,10 @@ class Test_TC_IDM_5_1Suite : public TestCommand } }; -class Test_TC_IDM_5_2Suite : public TestCommand +class Test_TC_IDM_2_1Suite : public TestCommand { public: - Test_TC_IDM_5_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_5_2", 0, credsIssuerConfig) + Test_TC_IDM_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_2_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -73717,7 +73971,7 @@ class Test_TC_IDM_5_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_IDM_5_2Suite() {} + ~Test_TC_IDM_2_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -73762,10 +74016,10 @@ class Test_TC_IDM_5_2Suite : public TestCommand } }; -class Test_TC_IDM_6_1Suite : public TestCommand +class Test_TC_IDM_2_2Suite : public TestCommand { public: - Test_TC_IDM_6_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_6_1", 0, credsIssuerConfig) + Test_TC_IDM_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_2_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -73773,7 +74027,7 @@ class Test_TC_IDM_6_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_IDM_6_1Suite() {} + ~Test_TC_IDM_2_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -73818,10 +74072,10 @@ class Test_TC_IDM_6_1Suite : public TestCommand } }; -class Test_TC_IDM_6_2Suite : public TestCommand +class Test_TC_IDM_3_1Suite : public TestCommand { public: - Test_TC_IDM_6_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_6_2", 0, credsIssuerConfig) + Test_TC_IDM_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_3_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -73829,7 +74083,7 @@ class Test_TC_IDM_6_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_IDM_6_2Suite() {} + ~Test_TC_IDM_3_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -73874,10 +74128,10 @@ class Test_TC_IDM_6_2Suite : public TestCommand } }; -class Test_TC_IDM_6_3Suite : public TestCommand +class Test_TC_IDM_3_2Suite : public TestCommand { public: - Test_TC_IDM_6_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_6_3", 0, credsIssuerConfig) + Test_TC_IDM_3_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_3_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -73885,7 +74139,7 @@ class Test_TC_IDM_6_3Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_IDM_6_3Suite() {} + ~Test_TC_IDM_3_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -73930,10 +74184,10 @@ class Test_TC_IDM_6_3Suite : public TestCommand } }; -class Test_TC_IDM_6_4Suite : public TestCommand +class Test_TC_IDM_4_1Suite : public TestCommand { public: - Test_TC_IDM_6_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_6_4", 0, credsIssuerConfig) + Test_TC_IDM_4_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_4_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -73941,7 +74195,7 @@ class Test_TC_IDM_6_4Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_IDM_6_4Suite() {} + ~Test_TC_IDM_4_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -73986,10 +74240,10 @@ class Test_TC_IDM_6_4Suite : public TestCommand } }; -class Test_TC_IDM_7_1Suite : public TestCommand +class Test_TC_IDM_4_2Suite : public TestCommand { public: - Test_TC_IDM_7_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_7_1", 0, credsIssuerConfig) + Test_TC_IDM_4_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_4_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -73997,7 +74251,7 @@ class Test_TC_IDM_7_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_IDM_7_1Suite() {} + ~Test_TC_IDM_4_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -74042,10 +74296,10 @@ class Test_TC_IDM_7_1Suite : public TestCommand } }; -class Test_TC_MC_2_2Suite : public TestCommand +class Test_TC_IDM_4_3Suite : public TestCommand { public: - Test_TC_MC_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_2_2", 0, credsIssuerConfig) + Test_TC_IDM_4_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_4_3", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -74053,7 +74307,7 @@ class Test_TC_MC_2_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MC_2_2Suite() {} + ~Test_TC_IDM_4_3Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -74098,10 +74352,10 @@ class Test_TC_MC_2_2Suite : public TestCommand } }; -class Test_TC_MC_3_7_1Suite : public TestCommand +class Test_TC_IDM_5_1Suite : public TestCommand { public: - Test_TC_MC_3_7_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_3_7_1", 0, credsIssuerConfig) + Test_TC_IDM_5_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_5_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -74109,7 +74363,7 @@ class Test_TC_MC_3_7_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MC_3_7_1Suite() {} + ~Test_TC_IDM_5_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -74154,10 +74408,10 @@ class Test_TC_MC_3_7_1Suite : public TestCommand } }; -class Test_TC_MC_3_8_1Suite : public TestCommand +class Test_TC_IDM_5_2Suite : public TestCommand { public: - Test_TC_MC_3_8_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_3_8_1", 0, credsIssuerConfig) + Test_TC_IDM_5_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_5_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -74165,7 +74419,7 @@ class Test_TC_MC_3_8_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MC_3_8_1Suite() {} + ~Test_TC_IDM_5_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -74210,10 +74464,10 @@ class Test_TC_MC_3_8_1Suite : public TestCommand } }; -class Test_TC_MC_3_9_1Suite : public TestCommand +class Test_TC_IDM_6_1Suite : public TestCommand { public: - Test_TC_MC_3_9_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_3_9_1", 0, credsIssuerConfig) + Test_TC_IDM_6_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_6_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -74221,7 +74475,7 @@ class Test_TC_MC_3_9_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MC_3_9_1Suite() {} + ~Test_TC_IDM_6_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -74266,10 +74520,10 @@ class Test_TC_MC_3_9_1Suite : public TestCommand } }; -class Test_TC_MC_3_14Suite : public TestCommand +class Test_TC_IDM_6_2Suite : public TestCommand { public: - Test_TC_MC_3_14Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_3_14", 0, credsIssuerConfig) + Test_TC_IDM_6_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_6_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -74277,7 +74531,7 @@ class Test_TC_MC_3_14Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MC_3_14Suite() {} + ~Test_TC_IDM_6_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -74322,10 +74576,10 @@ class Test_TC_MC_3_14Suite : public TestCommand } }; -class Test_TC_MC_3_15Suite : public TestCommand +class Test_TC_IDM_6_3Suite : public TestCommand { public: - Test_TC_MC_3_15Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_3_15", 0, credsIssuerConfig) + Test_TC_IDM_6_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_6_3", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -74333,7 +74587,7 @@ class Test_TC_MC_3_15Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MC_3_15Suite() {} + ~Test_TC_IDM_6_3Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -74378,10 +74632,10 @@ class Test_TC_MC_3_15Suite : public TestCommand } }; -class Test_TC_MC_3_16Suite : public TestCommand +class Test_TC_IDM_6_4Suite : public TestCommand { public: - Test_TC_MC_3_16Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_3_16", 0, credsIssuerConfig) + Test_TC_IDM_6_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_6_4", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -74389,7 +74643,7 @@ class Test_TC_MC_3_16Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MC_3_16Suite() {} + ~Test_TC_IDM_6_4Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -74434,10 +74688,10 @@ class Test_TC_MC_3_16Suite : public TestCommand } }; -class Test_TC_MC_3_17Suite : public TestCommand +class Test_TC_IDM_7_1Suite : public TestCommand { public: - Test_TC_MC_3_17Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_3_17", 0, credsIssuerConfig) + Test_TC_IDM_7_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_7_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -74445,7 +74699,7 @@ class Test_TC_MC_3_17Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MC_3_17Suite() {} + ~Test_TC_IDM_7_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -74490,10 +74744,10 @@ class Test_TC_MC_3_17Suite : public TestCommand } }; -class Test_TC_MC_4_1Suite : public TestCommand +class Test_TC_IDM_8_1Suite : public TestCommand { public: - Test_TC_MC_4_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_4_1", 0, credsIssuerConfig) + Test_TC_IDM_8_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_IDM_8_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -74501,7 +74755,7 @@ class Test_TC_MC_4_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MC_4_1Suite() {} + ~Test_TC_IDM_8_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -74546,10 +74800,10 @@ class Test_TC_MC_4_1Suite : public TestCommand } }; -class Test_TC_MC_5_4Suite : public TestCommand +class Test_TC_MC_2_2Suite : public TestCommand { public: - Test_TC_MC_5_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_5_4", 0, credsIssuerConfig) + Test_TC_MC_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_2_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -74557,7 +74811,7 @@ class Test_TC_MC_5_4Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MC_5_4Suite() {} + ~Test_TC_MC_2_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -74602,10 +74856,10 @@ class Test_TC_MC_5_4Suite : public TestCommand } }; -class Test_TC_MC_5_5Suite : public TestCommand +class Test_TC_MC_3_7_1Suite : public TestCommand { public: - Test_TC_MC_5_5Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_5_5", 0, credsIssuerConfig) + Test_TC_MC_3_7_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_3_7_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -74613,7 +74867,7 @@ class Test_TC_MC_5_5Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MC_5_5Suite() {} + ~Test_TC_MC_3_7_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -74658,10 +74912,10 @@ class Test_TC_MC_5_5Suite : public TestCommand } }; -class Test_TC_MC_5_6Suite : public TestCommand +class Test_TC_MC_3_8_1Suite : public TestCommand { public: - Test_TC_MC_5_6Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_5_6", 0, credsIssuerConfig) + Test_TC_MC_3_8_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_3_8_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -74669,7 +74923,7 @@ class Test_TC_MC_5_6Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MC_5_6Suite() {} + ~Test_TC_MC_3_8_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -74714,10 +74968,10 @@ class Test_TC_MC_5_6Suite : public TestCommand } }; -class Test_TC_MC_6_1Suite : public TestCommand +class Test_TC_MC_3_9_1Suite : public TestCommand { public: - Test_TC_MC_6_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_6_1", 13, credsIssuerConfig) + Test_TC_MC_3_9_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_3_9_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -74725,7 +74979,7 @@ class Test_TC_MC_6_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MC_6_1Suite() {} + ~Test_TC_MC_3_9_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -74750,86 +75004,6 @@ class Test_TC_MC_6_1Suite : public TestCommand 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)); - { - chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - } - break; - case 2: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 3: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::Clusters::MediaPlayback::PlaybackStateEnum value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("currentState", value, 1)); - } - break; - case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - } - 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)); - { - chip::app::Clusters::MediaPlayback::PlaybackStateEnum value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("currentState", value, 0)); - } - break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - } - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::Clusters::MediaPlayback::PlaybackStateEnum value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("currentState", value, 1)); - } - break; - case 10: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - } - break; - case 11: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 12: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::Clusters::MediaPlayback::PlaybackStateEnum value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("currentState", value, 2)); - } - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -74845,116 +75019,15 @@ class Test_TC_MC_6_1Suite : public TestCommand 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, "Precondition: Media content in a paused state at the beginning of the content"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), 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, - chip::NullOptional - - ); - } - case 2: { - LogStep(2, "log a command"); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Verify that media is pausedgarbage: not in length on purpose", 27); - return UserPrompt(kIdentityAlpha, value); - } - case 3: { - LogStep(3, "Reads the CurrentState attribute"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::CurrentState::Id, - true, chip::NullOptional); - } - case 4: { - LogStep(4, "sends a Play command"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), 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, - chip::NullOptional - - ); - } - case 5: { - LogStep(5, "log a command"); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = - chip::Span("Physically verify that the media is playinggarbage: not in length on purpose", 43); - return UserPrompt(kIdentityAlpha, value); - } - case 6: { - LogStep(6, "Reads the playback state attribute"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::CurrentState::Id, - true, chip::NullOptional); - } - case 7: { - LogStep(7, "sends a Pause command"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), 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, - chip::NullOptional - - ); - } - case 8: { - LogStep(8, "log a command"); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = - chip::Span("Physically verify that the media is pausedgarbage: not in length on purpose", 42); - return UserPrompt(kIdentityAlpha, value); - } - case 9: { - LogStep(9, "Reads the playback state attribute"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::CurrentState::Id, - true, chip::NullOptional); - } - case 10: { - LogStep(10, "sends a Stop command"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), 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, - chip::NullOptional - - ); - } - case 11: { - LogStep(11, "log a command"); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = - chip::Span("Physically verify that the media is stopedgarbage: not in length on purpose", 42); - return UserPrompt(kIdentityAlpha, value); - } - case 12: { - LogStep(12, "Reads the playback state attribute"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::CurrentState::Id, - true, chip::NullOptional); - } } return CHIP_NO_ERROR; } }; -class Test_TC_MC_6_2Suite : public TestCommand +class Test_TC_MC_3_14Suite : public TestCommand { public: - Test_TC_MC_6_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_6_2", 19, credsIssuerConfig) + Test_TC_MC_3_14Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_3_14", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -74962,7 +75035,455 @@ class Test_TC_MC_6_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MC_6_2Suite() {} + ~Test_TC_MC_3_14Suite() {} + + 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_MC_3_15Suite : public TestCommand +{ +public: + Test_TC_MC_3_15Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_3_15", 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_MC_3_15Suite() {} + + 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_MC_3_16Suite : public TestCommand +{ +public: + Test_TC_MC_3_16Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_3_16", 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_MC_3_16Suite() {} + + 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_MC_3_17Suite : public TestCommand +{ +public: + Test_TC_MC_3_17Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_3_17", 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_MC_3_17Suite() {} + + 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_MC_4_1Suite : public TestCommand +{ +public: + Test_TC_MC_4_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_4_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_MC_4_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_MC_5_4Suite : public TestCommand +{ +public: + Test_TC_MC_5_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_5_4", 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_MC_5_4Suite() {} + + 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_MC_5_5Suite : public TestCommand +{ +public: + Test_TC_MC_5_5Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_5_5", 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_MC_5_5Suite() {} + + 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_MC_5_6Suite : public TestCommand +{ +public: + Test_TC_MC_5_6Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_5_6", 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_MC_5_6Suite() {} + + 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_MC_6_1Suite : public TestCommand +{ +public: + Test_TC_MC_6_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_6_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_MC_6_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -75043,61 +75564,28 @@ class Test_TC_MC_6_2Suite : public TestCommand case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; + chip::app::Clusters::MediaPlayback::PlaybackStateEnum value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("currentState", value, 1)); } break; case 10: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 11: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - } - break; - case 12: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 13: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - } - break; - case 14: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 15: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::Nullable value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValueNonNull("sampledPosition", value)); - } - break; - case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); } break; - case 17: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 18: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - chip::app::DataModel::Nullable value; + chip::app::Clusters::MediaPlayback::PlaybackStateEnum value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValueNonNull("sampledPosition", value)); + VerifyOrReturn(CheckValue("currentState", value, 2)); } break; default: @@ -75140,13 +75628,13 @@ class Test_TC_MC_6_2Suite : public TestCommand return UserPrompt(kIdentityAlpha, value); } case 3: { - LogStep(3, "Reads the CurrentState attribute from the DUT"); + LogStep(3, "Reads the CurrentState attribute"); VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::CurrentState::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Sends a Play command to the DUT"); + LogStep(4, "sends a Play command"); VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::MediaPlayback::Commands::Play::Type value; @@ -75164,16 +75652,16 @@ class Test_TC_MC_6_2Suite : public TestCommand return UserPrompt(kIdentityAlpha, value); } case 6: { - LogStep(6, "Reads the CurrentState attribute"); + LogStep(6, "Reads the playback state attribute"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::CurrentState::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Sends a StartOver command to the DUT"); + LogStep(7, "sends a Pause command"); VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; - chip::app::Clusters::MediaPlayback::Commands::StartOver::Type value; - return SendCommand(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Commands::StartOver::Id, value, + chip::app::Clusters::MediaPlayback::Commands::Pause::Type value; + return SendCommand(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Commands::Pause::Id, value, chip::NullOptional ); @@ -75183,15 +75671,285 @@ class Test_TC_MC_6_2Suite : public TestCommand ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = - chip::Span("Physically verify that the media is started overgarbage: not in length on purpose", 48); + chip::Span("Physically verify that the media is pausedgarbage: not in length on purpose", 42); return UserPrompt(kIdentityAlpha, value); } case 9: { - LogStep(9, "Sends a Next command to the DUT"); - ListFreer listFreer; - chip::app::Clusters::MediaPlayback::Commands::Next::Type value; - return SendCommand(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Commands::Next::Id, value, - chip::NullOptional + LogStep(9, "Reads the playback state attribute"); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::CurrentState::Id, + true, chip::NullOptional); + } + case 10: { + LogStep(10, "sends a Stop command"); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), 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, + chip::NullOptional + + ); + } + case 11: { + LogStep(11, "log a command"); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = + chip::Span("Physically verify that the media is stopedgarbage: not in length on purpose", 42); + return UserPrompt(kIdentityAlpha, value); + } + case 12: { + LogStep(12, "Reads the playback state attribute"); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::CurrentState::Id, + true, chip::NullOptional); + } + } + return CHIP_NO_ERROR; + } +}; + +class Test_TC_MC_6_2Suite : public TestCommand +{ +public: + Test_TC_MC_6_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_6_2", 19, credsIssuerConfig) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + + ~Test_TC_MC_6_2Suite() {} + + 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)); + { + chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + } + break; + case 2: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 3: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::Clusters::MediaPlayback::PlaybackStateEnum value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("currentState", value, 1)); + } + break; + case 4: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + } + 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)); + { + chip::app::Clusters::MediaPlayback::PlaybackStateEnum value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("currentState", value, 0)); + } + break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + } + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + } + break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 11: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + } + break; + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 13: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + } + break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 15: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::Nullable value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValueNonNull("sampledPosition", value)); + } + break; + case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + } + break; + case 17: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::Nullable value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValueNonNull("sampledPosition", value)); + } + 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, "Precondition: Media content in a paused state at the beginning of the content"); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), 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, + chip::NullOptional + + ); + } + case 2: { + LogStep(2, "log a command"); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Verify that media is pausedgarbage: not in length on purpose", 27); + return UserPrompt(kIdentityAlpha, value); + } + case 3: { + LogStep(3, "Reads the CurrentState attribute from the DUT"); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::CurrentState::Id, + true, chip::NullOptional); + } + case 4: { + LogStep(4, "Sends a Play command to the DUT"); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), 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, + chip::NullOptional + + ); + } + case 5: { + LogStep(5, "log a command"); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = + chip::Span("Physically verify that the media is playinggarbage: not in length on purpose", 43); + return UserPrompt(kIdentityAlpha, value); + } + case 6: { + LogStep(6, "Reads the CurrentState attribute"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::CurrentState::Id, + true, chip::NullOptional); + } + case 7: { + LogStep(7, "Sends a StartOver command to the DUT"); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::MediaPlayback::Commands::StartOver::Type value; + return SendCommand(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Commands::StartOver::Id, value, + chip::NullOptional + + ); + } + case 8: { + LogStep(8, "log a command"); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = + chip::Span("Physically verify that the media is started overgarbage: not in length on purpose", 48); + return UserPrompt(kIdentityAlpha, value); + } + case 9: { + LogStep(9, "Sends a Next command to the DUT"); + ListFreer listFreer; + chip::app::Clusters::MediaPlayback::Commands::Next::Type value; + return SendCommand(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Commands::Next::Id, value, + chip::NullOptional ); } @@ -75490,138 +76248,982 @@ class Test_TC_MC_6_4Suite : public TestCommand 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)); - { - chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - } - break; - case 2: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 3: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::Clusters::MediaPlayback::PlaybackStateEnum value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("currentState", value, 1)); - } - break; - case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - float value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("playbackSpeed", value, 0.0f)); - } - break; - case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - } - 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)); - { - chip::app::Clusters::MediaPlayback::PlaybackStateEnum value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("currentState", value, 0)); - } - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - float value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("playbackSpeed", value, 1.0f)); - } - break; - case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - } - break; - case 10: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 11: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - float value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("playbackSpeed", value, 2.0f)); - } - break; - case 12: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - } - break; - case 13: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 14: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::Clusters::MediaPlayback::PlaybackStateEnum value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("currentState", value, 0)); - } - break; - case 15: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - } - break; - case 16: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 17: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - } - break; - case 18: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 19: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - float value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("playbackSpeed", value, 1.0f)); - } - break; - case 20: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 4)); - break; - case 21: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 4)); - break; + 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)); + { + chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + } + break; + case 2: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 3: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::Clusters::MediaPlayback::PlaybackStateEnum value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("currentState", value, 1)); + } + break; + case 4: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + float value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("playbackSpeed", value, 0.0f)); + } + break; + case 5: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + } + 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)); + { + chip::app::Clusters::MediaPlayback::PlaybackStateEnum value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("currentState", value, 0)); + } + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + float value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("playbackSpeed", value, 1.0f)); + } + break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + } + break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 11: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + float value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("playbackSpeed", value, 2.0f)); + } + break; + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + } + break; + case 13: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::Clusters::MediaPlayback::PlaybackStateEnum value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("currentState", value, 0)); + } + break; + case 15: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + } + break; + case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 17: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + } + break; + case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 19: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + float value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("playbackSpeed", value, 1.0f)); + } + break; + case 20: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 4)); + break; + case 21: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 4)); + 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, "Precondition: Media content in a paused state at the beginning of the content"); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), 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, + chip::NullOptional + + ); + } + case 2: { + LogStep(2, "log a command"); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Verify that media is pausedgarbage: not in length on purpose", 27); + return UserPrompt(kIdentityAlpha, value); + } + case 3: { + LogStep(3, "Reads the CurrentState attribute from the DUT"); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::CurrentState::Id, + true, chip::NullOptional); + } + case 4: { + LogStep(4, "Reads the PlaybackSpeed attribute from the DUT"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::PlaybackSpeed::Id, + true, chip::NullOptional); + } + case 5: { + LogStep(5, "Sends a FastForward command"); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::MediaPlayback::Commands::FastForward::Type value; + return SendCommand(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Commands::FastForward::Id, value, + chip::NullOptional + + ); + } + case 6: { + LogStep(6, "log a command"); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Verify that the media is playinggarbage: not in length on purpose", 32); + return UserPrompt(kIdentityAlpha, value); + } + case 7: { + LogStep(7, "Reads the CurrentState attribute"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::CurrentState::Id, + true, chip::NullOptional); + } + case 8: { + LogStep(8, "Reads the PlaybackSpeed attribute from the DUT"); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::PlaybackSpeed::Id, + true, chip::NullOptional); + } + case 9: { + LogStep(9, "Sends a FastForward command"); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::MediaPlayback::Commands::FastForward::Type value; + return SendCommand(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Commands::FastForward::Id, value, + chip::NullOptional + + ); + } + case 10: { + LogStep(10, "log a command"); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = + chip::Span("Verify that the media play speed has increasedgarbage: not in length on purpose", 46); + return UserPrompt(kIdentityAlpha, value); + } + case 11: { + LogStep(11, "Reads the PlaybackSpeed attribute from the DUT"); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::PlaybackSpeed::Id, + true, chip::NullOptional); + } + case 12: { + LogStep(12, "Sends a Rewind command to the DUT"); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::MediaPlayback::Commands::Rewind::Type value; + return SendCommand(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Commands::Rewind::Id, value, + chip::NullOptional + + ); + } + case 13: { + LogStep(13, "log a command"); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = + chip::Span("Verify that the media play has reversed directiongarbage: not in length on purpose", 49); + return UserPrompt(kIdentityAlpha, value); + } + case 14: { + LogStep(14, "Reads the CurrentState attribute"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::CurrentState::Id, + true, chip::NullOptional); + } + case 15: { + LogStep(15, "Sends a Rewind command to the DUT"); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::MediaPlayback::Commands::Rewind::Type value; + return SendCommand(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Commands::Rewind::Id, value, + chip::NullOptional + + ); + } + case 16: { + LogStep(16, "log a command"); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = + chip::Span("Verify that the media play has reversed directiongarbage: not in length on purpose", 49); + return UserPrompt(kIdentityAlpha, value); + } + case 17: { + LogStep(17, "Sends a Play command"); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), 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, + chip::NullOptional + + ); + } + case 18: { + LogStep(18, "log a command"); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span( + "Verify that the media is has resumed playing forward at the default speedgarbage: not in length on purpose", 73); + return UserPrompt(kIdentityAlpha, value); + } + case 19: { + LogStep(19, "Reads the PlaybackSpeed attribute from the DUT"); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::PlaybackSpeed::Id, + true, chip::NullOptional); + } + case 20: { + LogStep(20, "Sends consecutive FastForward commands"); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::MediaPlayback::Commands::FastForward::Type value; + return SendCommand(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Commands::FastForward::Id, value, + chip::NullOptional + + ); + } + case 21: { + LogStep(21, "Sends consecutive Rewind commands"); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::MediaPlayback::Commands::Rewind::Type value; + return SendCommand(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Commands::Rewind::Id, value, + chip::NullOptional + + ); + } + } + return CHIP_NO_ERROR; + } +}; + +class Test_TC_MC_6_5Suite : public TestCommand +{ +public: + Test_TC_MC_6_5Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_6_5", 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_MC_6_5Suite() {} + + 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_MC_6_7Suite : public TestCommand +{ +public: + Test_TC_MC_6_7Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_6_7", 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_MC_6_7Suite() {} + + 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_MC_7_3Suite : public TestCommand +{ +public: + Test_TC_MC_7_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_7_3", 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_MC_7_3Suite() {} + + 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_MC_7_4Suite : public TestCommand +{ +public: + Test_TC_MC_7_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_7_4", 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_MC_7_4Suite() {} + + 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_MC_10_3Suite : public TestCommand +{ +public: + Test_TC_MC_10_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_10_3", 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_MC_10_3Suite() {} + + 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_MC_10_5Suite : public TestCommand +{ +public: + Test_TC_MC_10_5Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_10_5", 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_MC_10_5Suite() {} + + 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_MC_10_7Suite : public TestCommand +{ +public: + Test_TC_MC_10_7Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_10_7", 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_MC_10_7Suite() {} + + 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_MC_11_1Suite : public TestCommand +{ +public: + Test_TC_MC_11_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_11_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_MC_11_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_MC_11_2Suite : public TestCommand +{ +public: + Test_TC_MC_11_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_11_2", 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_MC_11_2Suite() {} + + 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_MC_12_1Suite : public TestCommand +{ +public: + Test_TC_MC_12_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_12_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_MC_12_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_MC_12_2Suite : public TestCommand +{ +public: + Test_TC_MC_12_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_12_2", 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_MC_12_2Suite() {} + + 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_MF_1_1Suite : public TestCommand +{ +public: + Test_TC_MF_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_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_MF_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)); } @@ -75637,187 +77239,15 @@ class Test_TC_MC_6_4Suite : public TestCommand 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, "Precondition: Media content in a paused state at the beginning of the content"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), 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, - chip::NullOptional - - ); - } - case 2: { - LogStep(2, "log a command"); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Verify that media is pausedgarbage: not in length on purpose", 27); - return UserPrompt(kIdentityAlpha, value); - } - case 3: { - LogStep(3, "Reads the CurrentState attribute from the DUT"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::CurrentState::Id, - true, chip::NullOptional); - } - case 4: { - LogStep(4, "Reads the PlaybackSpeed attribute from the DUT"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::PlaybackSpeed::Id, - true, chip::NullOptional); - } - case 5: { - LogStep(5, "Sends a FastForward command"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::MediaPlayback::Commands::FastForward::Type value; - return SendCommand(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Commands::FastForward::Id, value, - chip::NullOptional - - ); - } - case 6: { - LogStep(6, "log a command"); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Verify that the media is playinggarbage: not in length on purpose", 32); - return UserPrompt(kIdentityAlpha, value); - } - case 7: { - LogStep(7, "Reads the CurrentState attribute"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::CurrentState::Id, - true, chip::NullOptional); - } - case 8: { - LogStep(8, "Reads the PlaybackSpeed attribute from the DUT"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::PlaybackSpeed::Id, - true, chip::NullOptional); - } - case 9: { - LogStep(9, "Sends a FastForward command"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::MediaPlayback::Commands::FastForward::Type value; - return SendCommand(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Commands::FastForward::Id, value, - chip::NullOptional - - ); - } - case 10: { - LogStep(10, "log a command"); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = - chip::Span("Verify that the media play speed has increasedgarbage: not in length on purpose", 46); - return UserPrompt(kIdentityAlpha, value); - } - case 11: { - LogStep(11, "Reads the PlaybackSpeed attribute from the DUT"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::PlaybackSpeed::Id, - true, chip::NullOptional); - } - case 12: { - LogStep(12, "Sends a Rewind command to the DUT"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::MediaPlayback::Commands::Rewind::Type value; - return SendCommand(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Commands::Rewind::Id, value, - chip::NullOptional - - ); - } - case 13: { - LogStep(13, "log a command"); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = - chip::Span("Verify that the media play has reversed directiongarbage: not in length on purpose", 49); - return UserPrompt(kIdentityAlpha, value); - } - case 14: { - LogStep(14, "Reads the CurrentState attribute"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::CurrentState::Id, - true, chip::NullOptional); - } - case 15: { - LogStep(15, "Sends a Rewind command to the DUT"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::MediaPlayback::Commands::Rewind::Type value; - return SendCommand(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Commands::Rewind::Id, value, - chip::NullOptional - - ); - } - case 16: { - LogStep(16, "log a command"); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = - chip::Span("Verify that the media play has reversed directiongarbage: not in length on purpose", 49); - return UserPrompt(kIdentityAlpha, value); - } - case 17: { - LogStep(17, "Sends a Play command"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), 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, - chip::NullOptional - - ); - } - case 18: { - LogStep(18, "log a command"); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span( - "Verify that the media is has resumed playing forward at the default speedgarbage: not in length on purpose", 73); - return UserPrompt(kIdentityAlpha, value); - } - case 19: { - LogStep(19, "Reads the PlaybackSpeed attribute from the DUT"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::PlaybackSpeed::Id, - true, chip::NullOptional); - } - case 20: { - LogStep(20, "Sends consecutive FastForward commands"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::MediaPlayback::Commands::FastForward::Type value; - return SendCommand(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Commands::FastForward::Id, value, - chip::NullOptional - - ); - } - case 21: { - LogStep(21, "Sends consecutive Rewind commands"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::MediaPlayback::Commands::Rewind::Type value; - return SendCommand(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Commands::Rewind::Id, value, - chip::NullOptional - - ); - } } return CHIP_NO_ERROR; } }; -class Test_TC_MC_6_5Suite : public TestCommand +class Test_TC_MF_1_2Suite : public TestCommand { public: - Test_TC_MC_6_5Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_6_5", 0, credsIssuerConfig) + Test_TC_MF_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -75825,7 +77255,7 @@ class Test_TC_MC_6_5Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MC_6_5Suite() {} + ~Test_TC_MF_1_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -75870,10 +77300,10 @@ class Test_TC_MC_6_5Suite : public TestCommand } }; -class Test_TC_MC_6_7Suite : public TestCommand +class Test_TC_MF_1_7Suite : public TestCommand { public: - Test_TC_MC_6_7Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_6_7", 0, credsIssuerConfig) + Test_TC_MF_1_7Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_7", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -75881,7 +77311,7 @@ class Test_TC_MC_6_7Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MC_6_7Suite() {} + ~Test_TC_MF_1_7Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -75926,10 +77356,10 @@ class Test_TC_MC_6_7Suite : public TestCommand } }; -class Test_TC_MC_7_3Suite : public TestCommand +class Test_TC_MF_1_8Suite : public TestCommand { public: - Test_TC_MC_7_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_7_3", 0, credsIssuerConfig) + Test_TC_MF_1_8Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_8", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -75937,7 +77367,7 @@ class Test_TC_MC_7_3Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MC_7_3Suite() {} + ~Test_TC_MF_1_8Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -75982,10 +77412,10 @@ class Test_TC_MC_7_3Suite : public TestCommand } }; -class Test_TC_MC_7_4Suite : public TestCommand +class Test_TC_MF_1_11Suite : public TestCommand { public: - Test_TC_MC_7_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_7_4", 0, credsIssuerConfig) + Test_TC_MF_1_11Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_11", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -75993,7 +77423,7 @@ class Test_TC_MC_7_4Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MC_7_4Suite() {} + ~Test_TC_MF_1_11Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -76038,10 +77468,10 @@ class Test_TC_MC_7_4Suite : public TestCommand } }; -class Test_TC_MC_10_3Suite : public TestCommand +class Test_TC_MF_1_12Suite : public TestCommand { public: - Test_TC_MC_10_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_10_3", 0, credsIssuerConfig) + Test_TC_MF_1_12Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_12", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -76049,7 +77479,7 @@ class Test_TC_MC_10_3Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MC_10_3Suite() {} + ~Test_TC_MF_1_12Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -76094,10 +77524,10 @@ class Test_TC_MC_10_3Suite : public TestCommand } }; -class Test_TC_MC_10_5Suite : public TestCommand +class Test_TC_MF_1_13Suite : public TestCommand { public: - Test_TC_MC_10_5Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_10_5", 0, credsIssuerConfig) + Test_TC_MF_1_13Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_13", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -76105,7 +77535,7 @@ class Test_TC_MC_10_5Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MC_10_5Suite() {} + ~Test_TC_MF_1_13Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -76150,10 +77580,10 @@ class Test_TC_MC_10_5Suite : public TestCommand } }; -class Test_TC_MC_10_7Suite : public TestCommand +class Test_TC_MF_1_14Suite : public TestCommand { public: - Test_TC_MC_10_7Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_10_7", 0, credsIssuerConfig) + Test_TC_MF_1_14Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_14", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -76161,7 +77591,7 @@ class Test_TC_MC_10_7Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MC_10_7Suite() {} + ~Test_TC_MF_1_14Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -76206,10 +77636,10 @@ class Test_TC_MC_10_7Suite : public TestCommand } }; -class Test_TC_MC_11_1Suite : public TestCommand +class Test_TC_MF_1_16Suite : public TestCommand { public: - Test_TC_MC_11_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_11_1", 0, credsIssuerConfig) + Test_TC_MF_1_16Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_16", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -76217,7 +77647,7 @@ class Test_TC_MC_11_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MC_11_1Suite() {} + ~Test_TC_MF_1_16Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -76262,10 +77692,10 @@ class Test_TC_MC_11_1Suite : public TestCommand } }; -class Test_TC_MC_11_2Suite : public TestCommand +class Test_TC_MF_1_17Suite : public TestCommand { public: - Test_TC_MC_11_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_11_2", 0, credsIssuerConfig) + Test_TC_MF_1_17Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_17", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -76273,7 +77703,7 @@ class Test_TC_MC_11_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MC_11_2Suite() {} + ~Test_TC_MF_1_17Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -76318,10 +77748,10 @@ class Test_TC_MC_11_2Suite : public TestCommand } }; -class Test_TC_MC_12_1Suite : public TestCommand +class Test_TC_MF_1_18Suite : public TestCommand { public: - Test_TC_MC_12_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_12_1", 0, credsIssuerConfig) + Test_TC_MF_1_18Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_18", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -76329,7 +77759,7 @@ class Test_TC_MC_12_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MC_12_1Suite() {} + ~Test_TC_MF_1_18Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -76374,18 +77804,18 @@ class Test_TC_MC_12_1Suite : public TestCommand } }; -class Test_TC_MC_12_2Suite : public TestCommand +class Test_TC_MF_1_19Suite : public TestCommand { public: - Test_TC_MC_12_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MC_12_2", 0, credsIssuerConfig) + Test_TC_MF_1_19Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_19", 0, credsIssuerConfig) { - AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MC_12_2Suite() {} + ~Test_TC_MF_1_19Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -76393,9 +77823,9 @@ class Test_TC_MC_12_2Suite : public TestCommand } private: - chip::Optional mNodeId; chip::Optional mCluster; chip::Optional mEndpoint; + chip::Optional mNodeId; chip::Optional mTimeout; chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } @@ -76430,10 +77860,10 @@ class Test_TC_MC_12_2Suite : public TestCommand } }; -class Test_TC_MF_1_1Suite : public TestCommand +class Test_TC_MF_1_20Suite : public TestCommand { public: - Test_TC_MF_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_1", 0, credsIssuerConfig) + Test_TC_MF_1_20Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_20", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -76441,7 +77871,7 @@ class Test_TC_MF_1_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MF_1_1Suite() {} + ~Test_TC_MF_1_20Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -76486,10 +77916,10 @@ class Test_TC_MF_1_1Suite : public TestCommand } }; -class Test_TC_MF_1_2Suite : public TestCommand +class Test_TC_MF_1_21Suite : public TestCommand { public: - Test_TC_MF_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_2", 0, credsIssuerConfig) + Test_TC_MF_1_21Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_21", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -76497,7 +77927,7 @@ class Test_TC_MF_1_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MF_1_2Suite() {} + ~Test_TC_MF_1_21Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -76542,10 +77972,10 @@ class Test_TC_MF_1_2Suite : public TestCommand } }; -class Test_TC_MF_1_7Suite : public TestCommand +class Test_TC_MF_1_22Suite : public TestCommand { public: - Test_TC_MF_1_7Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_7", 0, credsIssuerConfig) + Test_TC_MF_1_22Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_22", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -76553,7 +77983,7 @@ class Test_TC_MF_1_7Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MF_1_7Suite() {} + ~Test_TC_MF_1_22Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -76598,10 +78028,10 @@ class Test_TC_MF_1_7Suite : public TestCommand } }; -class Test_TC_MF_1_8Suite : public TestCommand +class Test_TC_MF_1_23Suite : public TestCommand { public: - Test_TC_MF_1_8Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_8", 0, credsIssuerConfig) + Test_TC_MF_1_23Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_23", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -76609,7 +78039,7 @@ class Test_TC_MF_1_8Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MF_1_8Suite() {} + ~Test_TC_MF_1_23Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -76654,10 +78084,10 @@ class Test_TC_MF_1_8Suite : public TestCommand } }; -class Test_TC_MF_1_11Suite : public TestCommand +class Test_TC_MF_1_24Suite : public TestCommand { public: - Test_TC_MF_1_11Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_11", 0, credsIssuerConfig) + Test_TC_MF_1_24Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_24", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -76665,7 +78095,7 @@ class Test_TC_MF_1_11Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MF_1_11Suite() {} + ~Test_TC_MF_1_24Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -76710,10 +78140,10 @@ class Test_TC_MF_1_11Suite : public TestCommand } }; -class Test_TC_MF_1_12Suite : public TestCommand +class Test_TC_MF_1_25Suite : public TestCommand { public: - Test_TC_MF_1_12Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_12", 0, credsIssuerConfig) + Test_TC_MF_1_25Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_25", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -76721,7 +78151,7 @@ class Test_TC_MF_1_12Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MF_1_12Suite() {} + ~Test_TC_MF_1_25Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -76766,10 +78196,10 @@ class Test_TC_MF_1_12Suite : public TestCommand } }; -class Test_TC_MF_1_13Suite : public TestCommand +class Test_TC_MF_1_26Suite : public TestCommand { public: - Test_TC_MF_1_13Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_13", 0, credsIssuerConfig) + Test_TC_MF_1_26Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_26", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -76777,7 +78207,7 @@ class Test_TC_MF_1_13Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MF_1_13Suite() {} + ~Test_TC_MF_1_26Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -76822,29 +78252,24 @@ class Test_TC_MF_1_13Suite : public TestCommand } }; -class Test_TC_MF_1_14Suite : public TestCommand +class Test_TC_MF_1_27Suite : public TestCommand { public: - Test_TC_MF_1_14Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_14", 0, credsIssuerConfig) + Test_TC_MF_1_27Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_27", 7, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); - AddArgument("cluster", &mCluster); - AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } - ~Test_TC_MF_1_14Suite() {} + ~Test_TC_MF_1_27Suite() {} - chip::System::Clock::Timeout GetWaitDuration() const override - { - return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); - } + chip::System::Clock::Timeout GetWaitDuration() const override { return chip::System::Clock::Seconds16(mTimeout.ValueOr(330)); } private: chip::Optional mNodeId; - chip::Optional mCluster; - chip::Optional mEndpoint; chip::Optional mTimeout; + chip::Optional mEndpoint; chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } @@ -76858,6 +78283,40 @@ class Test_TC_MF_1_14Suite : public TestCommand 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)); + shouldContinue = true; + break; + case 2: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + 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)); + { + uint8_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("windowStatus", value, 0)); + } + break; + case 5: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_INVALID_COMMAND)); + break; + case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + uint8_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("windowStatus", value, 0)); + } + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -76873,34 +78332,81 @@ class Test_TC_MF_1_14Suite : public TestCommand using namespace chip::app::Clusters; switch (testIndex) { + case 0: { + LogStep(0, "Factory Reset the DUT_CE"); + ListFreer listFreer; + chip::app::Clusters::SystemCommands::Commands::FactoryReset::Type value; + return FactoryReset(kIdentityAlpha, value); + } + case 1: { + LogStep(1, "TH_CR1 starts a commissioning process with DUT_CE"); + ListFreer listFreer; + chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; + value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; + return WaitForCommissionee(kIdentityAlpha, value); + } + case 2: { + LogStep(2, "TH_CR1 opens a commissioning window on DUT_CE"); + ListFreer listFreer; + chip::app::Clusters::AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type value; + value.commissioningTimeout = 180U; + return SendCommand(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id, + AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Id, value, + chip::Optional(10000), chip::NullOptional + + ); + } + case 3: { + LogStep(3, "Wait for commissioning Window to 301 seconds"); + ListFreer listFreer; + chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; + value.ms = 181000UL; + return WaitForMs(kIdentityAlpha, value); + } + case 4: { + LogStep(4, "TH_CR1 reads the window status to verify the DUT_CE window is closed"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id, + AdministratorCommissioning::Attributes::WindowStatus::Id, true, chip::NullOptional); + } + case 5: { + LogStep(5, "TH_CR1 opens a commissioning window on DUT_CE"); + ListFreer listFreer; + chip::app::Clusters::AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type value; + value.commissioningTimeout = 179U; + return SendCommand(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id, + AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Id, value, + chip::Optional(10000), chip::NullOptional + + ); + } + case 6: { + LogStep(6, "TH_CR1 reads the window status to verify the DUT_CE window is closed"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id, + AdministratorCommissioning::Attributes::WindowStatus::Id, true, chip::NullOptional); + } } return CHIP_NO_ERROR; } }; -class Test_TC_MF_1_16Suite : public TestCommand +class Test_TC_MF_1_28Suite : public TestCommand { public: - Test_TC_MF_1_16Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_16", 0, credsIssuerConfig) + Test_TC_MF_1_28Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_28", 7, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); - AddArgument("cluster", &mCluster); - AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); } - ~Test_TC_MF_1_16Suite() {} + ~Test_TC_MF_1_28Suite() {} - chip::System::Clock::Timeout GetWaitDuration() const override - { - return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); - } + chip::System::Clock::Timeout GetWaitDuration() const override { return chip::System::Clock::Seconds16(mTimeout.ValueOr(330)); } private: chip::Optional mNodeId; - chip::Optional mCluster; - chip::Optional mEndpoint; chip::Optional mTimeout; + chip::Optional mEndpoint; chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } @@ -76914,6 +78420,40 @@ class Test_TC_MF_1_16Suite : public TestCommand 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)); + shouldContinue = true; + break; + case 2: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + 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)); + { + uint8_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("windowStatus", value, 0)); + } + break; + case 5: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_INVALID_COMMAND)); + break; + case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + uint8_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("windowStatus", value, 0)); + } + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -76929,15 +78469,85 @@ class Test_TC_MF_1_16Suite : public TestCommand using namespace chip::app::Clusters; switch (testIndex) { + case 0: { + LogStep(0, "Factory Reset the DUT_CE"); + ListFreer listFreer; + chip::app::Clusters::SystemCommands::Commands::FactoryReset::Type value; + return FactoryReset(kIdentityAlpha, value); + } + case 1: { + LogStep(1, "TH_CR1 starts a commissioning process with DUT_CE"); + ListFreer listFreer; + chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; + value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; + return WaitForCommissionee(kIdentityAlpha, value); + } + case 2: { + LogStep(2, "TH_CR1 opens a commissioning window on DUT_CE"); + ListFreer listFreer; + chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value; + value.commissioningTimeout = 180U; + value.PAKEVerifier = chip::ByteSpan( + chip::Uint8::from_const_char("\006\307V\337\374\327\042e4R\241-\315\224]\214T\332+\017<\275\033M\303\361\255\262#" + "\256\262k\004|\322L\226\206o\227\233\035\203\354P\342\264\2560\315\362\375\263+" + "\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.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, + AdministratorCommissioning::Commands::OpenCommissioningWindow::Id, value, + chip::Optional(10000), chip::NullOptional + + ); + } + case 3: { + LogStep(3, "Wait for commissioning Window to 301 seconds"); + ListFreer listFreer; + chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; + value.ms = 181000UL; + return WaitForMs(kIdentityAlpha, value); + } + case 4: { + LogStep(4, "TH_CR1 reads the window status to verify the DUT_CE window is closed"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id, + AdministratorCommissioning::Attributes::WindowStatus::Id, true, chip::NullOptional); + } + case 5: { + LogStep(5, "TH_CR1 opens a commissioning window on DUT_CE"); + ListFreer listFreer; + chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value; + value.commissioningTimeout = 179U; + value.PAKEVerifier = chip::ByteSpan( + chip::Uint8::from_const_char("\006\307V\337\374\327\042e4R\241-\315\224]\214T\332+\017<\275\033M\303\361\255\262#" + "\256\262k\004|\322L\226\206o\227\233\035\203\354P\342\264\2560\315\362\375\263+" + "\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.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, + AdministratorCommissioning::Commands::OpenCommissioningWindow::Id, value, + chip::Optional(10000), chip::NullOptional + + ); + } + case 6: { + LogStep(6, "TH_CR1 reads the window status to verify the DUT_CE window is closed"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id, + AdministratorCommissioning::Attributes::WindowStatus::Id, true, chip::NullOptional); + } } return CHIP_NO_ERROR; } }; -class Test_TC_MF_1_17Suite : public TestCommand +class Test_TC_MOD_1_2Suite : public TestCommand { public: - Test_TC_MF_1_17Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_17", 0, credsIssuerConfig) + Test_TC_MOD_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MOD_1_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -76945,7 +78555,7 @@ class Test_TC_MF_1_17Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MF_1_17Suite() {} + ~Test_TC_MOD_1_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -76990,10 +78600,10 @@ class Test_TC_MF_1_17Suite : public TestCommand } }; -class Test_TC_MF_1_18Suite : public TestCommand +class Test_TC_MOD_1_3Suite : public TestCommand { public: - Test_TC_MF_1_18Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_18", 0, credsIssuerConfig) + Test_TC_MOD_1_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MOD_1_3", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -77001,7 +78611,7 @@ class Test_TC_MF_1_18Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MF_1_18Suite() {} + ~Test_TC_MOD_1_3Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -77046,18 +78656,18 @@ class Test_TC_MF_1_18Suite : public TestCommand } }; -class Test_TC_MF_1_19Suite : public TestCommand +class Test_TC_MOD_2_1Suite : public TestCommand { public: - Test_TC_MF_1_19Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_19", 0, credsIssuerConfig) + Test_TC_MOD_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MOD_2_1", 0, credsIssuerConfig) { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); - AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MF_1_19Suite() {} + ~Test_TC_MOD_2_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -77065,9 +78675,9 @@ class Test_TC_MF_1_19Suite : public TestCommand } private: + chip::Optional mNodeId; chip::Optional mCluster; chip::Optional mEndpoint; - chip::Optional mNodeId; chip::Optional mTimeout; chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } @@ -77102,10 +78712,10 @@ class Test_TC_MF_1_19Suite : public TestCommand } }; -class Test_TC_MF_1_20Suite : public TestCommand +class Test_TC_MOD_2_2Suite : public TestCommand { public: - Test_TC_MF_1_20Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_20", 0, credsIssuerConfig) + Test_TC_MOD_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MOD_2_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -77113,7 +78723,7 @@ class Test_TC_MF_1_20Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MF_1_20Suite() {} + ~Test_TC_MOD_2_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -77158,10 +78768,10 @@ class Test_TC_MF_1_20Suite : public TestCommand } }; -class Test_TC_MF_1_21Suite : public TestCommand +class Test_TC_MOD_3_1Suite : public TestCommand { public: - Test_TC_MF_1_21Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_21", 0, credsIssuerConfig) + Test_TC_MOD_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MOD_3_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -77169,7 +78779,7 @@ class Test_TC_MF_1_21Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MF_1_21Suite() {} + ~Test_TC_MOD_3_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -77214,10 +78824,10 @@ class Test_TC_MF_1_21Suite : public TestCommand } }; -class Test_TC_MF_1_22Suite : public TestCommand +class Test_TC_MOD_3_2Suite : public TestCommand { public: - Test_TC_MF_1_22Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_22", 0, credsIssuerConfig) + Test_TC_MOD_3_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MOD_3_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -77225,7 +78835,7 @@ class Test_TC_MF_1_22Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MF_1_22Suite() {} + ~Test_TC_MOD_3_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -77270,10 +78880,10 @@ class Test_TC_MF_1_22Suite : public TestCommand } }; -class Test_TC_MF_1_23Suite : public TestCommand +class Test_TC_MOD_3_3Suite : public TestCommand { public: - Test_TC_MF_1_23Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_23", 0, credsIssuerConfig) + Test_TC_MOD_3_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MOD_3_3", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -77281,7 +78891,7 @@ class Test_TC_MF_1_23Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MF_1_23Suite() {} + ~Test_TC_MOD_3_3Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -77326,10 +78936,10 @@ class Test_TC_MF_1_23Suite : public TestCommand } }; -class Test_TC_MF_1_24Suite : public TestCommand +class Test_TC_SU_1_1Suite : public TestCommand { public: - Test_TC_MF_1_24Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_24", 0, credsIssuerConfig) + Test_TC_SU_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_1_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -77337,7 +78947,7 @@ class Test_TC_MF_1_24Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MF_1_24Suite() {} + ~Test_TC_SU_1_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -77382,10 +78992,10 @@ class Test_TC_MF_1_24Suite : public TestCommand } }; -class Test_TC_MF_1_25Suite : public TestCommand +class Test_TC_SU_2_1Suite : public TestCommand { public: - Test_TC_MF_1_25Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_25", 0, credsIssuerConfig) + Test_TC_SU_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_2_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -77393,7 +79003,7 @@ class Test_TC_MF_1_25Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MF_1_25Suite() {} + ~Test_TC_SU_2_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -77438,10 +79048,10 @@ class Test_TC_MF_1_25Suite : public TestCommand } }; -class Test_TC_MF_1_26Suite : public TestCommand +class Test_TC_SU_2_2Suite : public TestCommand { public: - Test_TC_MF_1_26Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_26", 0, credsIssuerConfig) + Test_TC_SU_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_2_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -77449,7 +79059,7 @@ class Test_TC_MF_1_26Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MF_1_26Suite() {} + ~Test_TC_SU_2_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -77494,24 +79104,29 @@ class Test_TC_MF_1_26Suite : public TestCommand } }; -class Test_TC_MF_1_27Suite : public TestCommand +class Test_TC_SU_2_3Suite : public TestCommand { public: - Test_TC_MF_1_27Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_27", 7, credsIssuerConfig) + Test_TC_SU_2_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_2_3", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); - AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + AddArgument("cluster", &mCluster); AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MF_1_27Suite() {} + ~Test_TC_SU_2_3Suite() {} - chip::System::Clock::Timeout GetWaitDuration() const override { return chip::System::Clock::Seconds16(mTimeout.ValueOr(330)); } + chip::System::Clock::Timeout GetWaitDuration() const override + { + return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); + } private: chip::Optional mNodeId; - chip::Optional mTimeout; + chip::Optional mCluster; chip::Optional mEndpoint; + chip::Optional mTimeout; chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } @@ -77525,40 +79140,6 @@ class Test_TC_MF_1_27Suite : public TestCommand 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)); - shouldContinue = true; - break; - case 2: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - 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)); - { - uint8_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("windowStatus", value, 0)); - } - break; - case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_INVALID_COMMAND)); - break; - case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint8_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("windowStatus", value, 0)); - } - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -77574,81 +79155,34 @@ class Test_TC_MF_1_27Suite : public TestCommand using namespace chip::app::Clusters; switch (testIndex) { - case 0: { - LogStep(0, "Factory Reset the DUT_CE"); - ListFreer listFreer; - chip::app::Clusters::SystemCommands::Commands::FactoryReset::Type value; - return FactoryReset(kIdentityAlpha, value); - } - case 1: { - LogStep(1, "TH_CR1 starts a commissioning process with DUT_CE"); - ListFreer listFreer; - chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; - value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; - return WaitForCommissionee(kIdentityAlpha, value); - } - case 2: { - LogStep(2, "TH_CR1 opens a commissioning window on DUT_CE"); - ListFreer listFreer; - chip::app::Clusters::AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type value; - value.commissioningTimeout = 180U; - return SendCommand(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id, - AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Id, value, - chip::Optional(10000), chip::NullOptional - - ); - } - case 3: { - LogStep(3, "Wait for commissioning Window to 301 seconds"); - ListFreer listFreer; - chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; - value.ms = 181000UL; - return WaitForMs(kIdentityAlpha, value); - } - case 4: { - LogStep(4, "TH_CR1 reads the window status to verify the DUT_CE window is closed"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id, - AdministratorCommissioning::Attributes::WindowStatus::Id, true, chip::NullOptional); - } - case 5: { - LogStep(5, "TH_CR1 opens a commissioning window on DUT_CE"); - ListFreer listFreer; - chip::app::Clusters::AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type value; - value.commissioningTimeout = 179U; - return SendCommand(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id, - AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Id, value, - chip::Optional(10000), chip::NullOptional - - ); - } - case 6: { - LogStep(6, "TH_CR1 reads the window status to verify the DUT_CE window is closed"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id, - AdministratorCommissioning::Attributes::WindowStatus::Id, true, chip::NullOptional); - } } return CHIP_NO_ERROR; } }; -class Test_TC_MF_1_28Suite : public TestCommand +class Test_TC_SU_2_4Suite : public TestCommand { public: - Test_TC_MF_1_28Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MF_1_28", 7, credsIssuerConfig) + Test_TC_SU_2_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_2_4", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); - AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + AddArgument("cluster", &mCluster); AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MF_1_28Suite() {} + ~Test_TC_SU_2_4Suite() {} - chip::System::Clock::Timeout GetWaitDuration() const override { return chip::System::Clock::Seconds16(mTimeout.ValueOr(330)); } + chip::System::Clock::Timeout GetWaitDuration() const override + { + return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); + } private: chip::Optional mNodeId; - chip::Optional mTimeout; + chip::Optional mCluster; chip::Optional mEndpoint; + chip::Optional mTimeout; chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } @@ -77662,40 +79196,6 @@ class Test_TC_MF_1_28Suite : public TestCommand 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)); - shouldContinue = true; - break; - case 2: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - 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)); - { - uint8_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("windowStatus", value, 0)); - } - break; - case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_INVALID_COMMAND)); - break; - case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint8_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("windowStatus", value, 0)); - } - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -77711,85 +79211,15 @@ class Test_TC_MF_1_28Suite : public TestCommand using namespace chip::app::Clusters; switch (testIndex) { - case 0: { - LogStep(0, "Factory Reset the DUT_CE"); - ListFreer listFreer; - chip::app::Clusters::SystemCommands::Commands::FactoryReset::Type value; - return FactoryReset(kIdentityAlpha, value); - } - case 1: { - LogStep(1, "TH_CR1 starts a commissioning process with DUT_CE"); - ListFreer listFreer; - chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; - value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; - return WaitForCommissionee(kIdentityAlpha, value); - } - case 2: { - LogStep(2, "TH_CR1 opens a commissioning window on DUT_CE"); - ListFreer listFreer; - chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value; - value.commissioningTimeout = 180U; - value.PAKEVerifier = chip::ByteSpan( - chip::Uint8::from_const_char("\006\307V\337\374\327\042e4R\241-\315\224]\214T\332+\017<\275\033M\303\361\255\262#" - "\256\262k\004|\322L\226\206o\227\233\035\203\354P\342\264\2560\315\362\375\263+" - "\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.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, - AdministratorCommissioning::Commands::OpenCommissioningWindow::Id, value, - chip::Optional(10000), chip::NullOptional - - ); - } - case 3: { - LogStep(3, "Wait for commissioning Window to 301 seconds"); - ListFreer listFreer; - chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; - value.ms = 181000UL; - return WaitForMs(kIdentityAlpha, value); - } - case 4: { - LogStep(4, "TH_CR1 reads the window status to verify the DUT_CE window is closed"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id, - AdministratorCommissioning::Attributes::WindowStatus::Id, true, chip::NullOptional); - } - case 5: { - LogStep(5, "TH_CR1 opens a commissioning window on DUT_CE"); - ListFreer listFreer; - chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value; - value.commissioningTimeout = 179U; - value.PAKEVerifier = chip::ByteSpan( - chip::Uint8::from_const_char("\006\307V\337\374\327\042e4R\241-\315\224]\214T\332+\017<\275\033M\303\361\255\262#" - "\256\262k\004|\322L\226\206o\227\233\035\203\354P\342\264\2560\315\362\375\263+" - "\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.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, - AdministratorCommissioning::Commands::OpenCommissioningWindow::Id, value, - chip::Optional(10000), chip::NullOptional - - ); - } - case 6: { - LogStep(6, "TH_CR1 reads the window status to verify the DUT_CE window is closed"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id, - AdministratorCommissioning::Attributes::WindowStatus::Id, true, chip::NullOptional); - } } return CHIP_NO_ERROR; } }; -class Test_TC_MOD_1_2Suite : public TestCommand +class Test_TC_SU_2_5Suite : public TestCommand { public: - Test_TC_MOD_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MOD_1_2", 0, credsIssuerConfig) + Test_TC_SU_2_5Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_2_5", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -77797,7 +79227,7 @@ class Test_TC_MOD_1_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MOD_1_2Suite() {} + ~Test_TC_SU_2_5Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -77842,10 +79272,10 @@ class Test_TC_MOD_1_2Suite : public TestCommand } }; -class Test_TC_MOD_1_3Suite : public TestCommand +class Test_TC_SU_2_6Suite : public TestCommand { public: - Test_TC_MOD_1_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MOD_1_3", 0, credsIssuerConfig) + Test_TC_SU_2_6Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_2_6", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -77853,7 +79283,7 @@ class Test_TC_MOD_1_3Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MOD_1_3Suite() {} + ~Test_TC_SU_2_6Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -77898,10 +79328,10 @@ class Test_TC_MOD_1_3Suite : public TestCommand } }; -class Test_TC_MOD_2_1Suite : public TestCommand +class Test_TC_SU_2_7Suite : public TestCommand { public: - Test_TC_MOD_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MOD_2_1", 0, credsIssuerConfig) + Test_TC_SU_2_7Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_2_7", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -77909,7 +79339,7 @@ class Test_TC_MOD_2_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MOD_2_1Suite() {} + ~Test_TC_SU_2_7Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -77954,10 +79384,10 @@ class Test_TC_MOD_2_1Suite : public TestCommand } }; -class Test_TC_MOD_2_2Suite : public TestCommand +class Test_TC_SU_2_8Suite : public TestCommand { public: - Test_TC_MOD_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MOD_2_2", 0, credsIssuerConfig) + Test_TC_SU_2_8Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_2_8", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -77965,7 +79395,7 @@ class Test_TC_MOD_2_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MOD_2_2Suite() {} + ~Test_TC_SU_2_8Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -78010,10 +79440,10 @@ class Test_TC_MOD_2_2Suite : public TestCommand } }; -class Test_TC_MOD_3_1Suite : public TestCommand +class Test_TC_SU_3_1Suite : public TestCommand { public: - Test_TC_MOD_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MOD_3_1", 0, credsIssuerConfig) + Test_TC_SU_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_3_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -78021,7 +79451,7 @@ class Test_TC_MOD_3_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MOD_3_1Suite() {} + ~Test_TC_SU_3_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -78066,10 +79496,10 @@ class Test_TC_MOD_3_1Suite : public TestCommand } }; -class Test_TC_MOD_3_2Suite : public TestCommand +class Test_TC_SU_3_2Suite : public TestCommand { public: - Test_TC_MOD_3_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MOD_3_2", 0, credsIssuerConfig) + Test_TC_SU_3_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_3_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -78077,7 +79507,7 @@ class Test_TC_MOD_3_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MOD_3_2Suite() {} + ~Test_TC_SU_3_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -78122,10 +79552,10 @@ class Test_TC_MOD_3_2Suite : public TestCommand } }; -class Test_TC_MOD_3_3Suite : public TestCommand +class Test_TC_SU_3_3Suite : public TestCommand { public: - Test_TC_MOD_3_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MOD_3_3", 0, credsIssuerConfig) + Test_TC_SU_3_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_3_3", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -78133,7 +79563,7 @@ class Test_TC_MOD_3_3Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_MOD_3_3Suite() {} + ~Test_TC_SU_3_3Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -78178,10 +79608,10 @@ class Test_TC_MOD_3_3Suite : public TestCommand } }; -class Test_TC_SU_1_1Suite : public TestCommand +class Test_TC_SU_3_4Suite : public TestCommand { public: - Test_TC_SU_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_1_1", 0, credsIssuerConfig) + Test_TC_SU_3_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_3_4", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -78189,7 +79619,7 @@ class Test_TC_SU_1_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_SU_1_1Suite() {} + ~Test_TC_SU_3_4Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -78234,10 +79664,10 @@ class Test_TC_SU_1_1Suite : public TestCommand } }; -class Test_TC_SU_2_1Suite : public TestCommand +class Test_TC_SU_4_1Suite : public TestCommand { public: - Test_TC_SU_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_2_1", 0, credsIssuerConfig) + Test_TC_SU_4_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_4_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -78245,7 +79675,7 @@ class Test_TC_SU_2_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_SU_2_1Suite() {} + ~Test_TC_SU_4_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -78290,10 +79720,10 @@ class Test_TC_SU_2_1Suite : public TestCommand } }; -class Test_TC_SU_2_2Suite : public TestCommand +class Test_TC_SU_4_2Suite : public TestCommand { public: - Test_TC_SU_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_2_2", 0, credsIssuerConfig) + Test_TC_SU_4_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_4_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -78301,7 +79731,7 @@ class Test_TC_SU_2_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_SU_2_2Suite() {} + ~Test_TC_SU_4_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -78346,10 +79776,10 @@ class Test_TC_SU_2_2Suite : public TestCommand } }; -class Test_TC_SU_2_3Suite : public TestCommand +class Test_TC_PSCFG_2_1Suite : public TestCommand { public: - Test_TC_SU_2_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_2_3", 0, credsIssuerConfig) + Test_TC_PSCFG_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_PSCFG_2_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -78357,7 +79787,7 @@ class Test_TC_SU_2_3Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_SU_2_3Suite() {} + ~Test_TC_PSCFG_2_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -78402,10 +79832,10 @@ class Test_TC_SU_2_3Suite : public TestCommand } }; -class Test_TC_SU_2_4Suite : public TestCommand +class Test_TC_PSCFG_2_2Suite : public TestCommand { public: - Test_TC_SU_2_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_2_4", 0, credsIssuerConfig) + Test_TC_PSCFG_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_PSCFG_2_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -78413,7 +79843,7 @@ class Test_TC_SU_2_4Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_SU_2_4Suite() {} + ~Test_TC_PSCFG_2_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -78458,10 +79888,10 @@ class Test_TC_SU_2_4Suite : public TestCommand } }; -class Test_TC_SU_2_5Suite : public TestCommand +class Test_TC_PSCFG_3_1Suite : public TestCommand { public: - Test_TC_SU_2_5Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_2_5", 0, credsIssuerConfig) + Test_TC_PSCFG_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_PSCFG_3_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -78469,7 +79899,7 @@ class Test_TC_SU_2_5Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_SU_2_5Suite() {} + ~Test_TC_PSCFG_3_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -78514,10 +79944,10 @@ class Test_TC_SU_2_5Suite : public TestCommand } }; -class Test_TC_SU_2_6Suite : public TestCommand +class Test_TC_SC_1_1Suite : public TestCommand { public: - Test_TC_SU_2_6Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_2_6", 0, credsIssuerConfig) + Test_TC_SC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SC_1_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -78525,7 +79955,7 @@ class Test_TC_SU_2_6Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_SU_2_6Suite() {} + ~Test_TC_SC_1_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -78570,10 +80000,10 @@ class Test_TC_SU_2_6Suite : public TestCommand } }; -class Test_TC_SU_2_7Suite : public TestCommand +class Test_TC_SC_1_2Suite : public TestCommand { public: - Test_TC_SU_2_7Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_2_7", 0, credsIssuerConfig) + Test_TC_SC_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SC_1_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -78581,7 +80011,7 @@ class Test_TC_SU_2_7Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_SU_2_7Suite() {} + ~Test_TC_SC_1_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -78626,10 +80056,10 @@ class Test_TC_SU_2_7Suite : public TestCommand } }; -class Test_TC_SU_2_8Suite : public TestCommand +class Test_TC_SC_1_3Suite : public TestCommand { public: - Test_TC_SU_2_8Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_2_8", 0, credsIssuerConfig) + Test_TC_SC_1_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SC_1_3", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -78637,7 +80067,7 @@ class Test_TC_SU_2_8Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_SU_2_8Suite() {} + ~Test_TC_SC_1_3Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -78682,10 +80112,10 @@ class Test_TC_SU_2_8Suite : public TestCommand } }; -class Test_TC_SU_3_1Suite : public TestCommand +class Test_TC_SC_1_4Suite : public TestCommand { public: - Test_TC_SU_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_3_1", 0, credsIssuerConfig) + Test_TC_SC_1_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SC_1_4", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -78693,7 +80123,7 @@ class Test_TC_SU_3_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_SU_3_1Suite() {} + ~Test_TC_SC_1_4Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -78738,10 +80168,10 @@ class Test_TC_SU_3_1Suite : public TestCommand } }; -class Test_TC_SU_3_2Suite : public TestCommand +class Test_TC_SC_2_1Suite : public TestCommand { public: - Test_TC_SU_3_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_3_2", 0, credsIssuerConfig) + Test_TC_SC_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SC_2_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -78749,7 +80179,7 @@ class Test_TC_SU_3_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_SU_3_2Suite() {} + ~Test_TC_SC_2_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -78794,10 +80224,10 @@ class Test_TC_SU_3_2Suite : public TestCommand } }; -class Test_TC_SU_3_3Suite : public TestCommand +class Test_TC_SC_2_2Suite : public TestCommand { public: - Test_TC_SU_3_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_3_3", 0, credsIssuerConfig) + Test_TC_SC_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SC_2_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -78805,7 +80235,7 @@ class Test_TC_SU_3_3Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_SU_3_3Suite() {} + ~Test_TC_SC_2_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -78850,10 +80280,10 @@ class Test_TC_SU_3_3Suite : public TestCommand } }; -class Test_TC_SU_3_4Suite : public TestCommand +class Test_TC_SC_2_3Suite : public TestCommand { public: - Test_TC_SU_3_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_3_4", 0, credsIssuerConfig) + Test_TC_SC_2_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SC_2_3", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -78861,7 +80291,7 @@ class Test_TC_SU_3_4Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_SU_3_4Suite() {} + ~Test_TC_SC_2_3Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -78906,10 +80336,10 @@ class Test_TC_SU_3_4Suite : public TestCommand } }; -class Test_TC_SU_4_1Suite : public TestCommand +class Test_TC_SC_2_4Suite : public TestCommand { public: - Test_TC_SU_4_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_4_1", 0, credsIssuerConfig) + Test_TC_SC_2_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SC_2_4", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -78917,7 +80347,7 @@ class Test_TC_SU_4_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_SU_4_1Suite() {} + ~Test_TC_SC_2_4Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -78962,10 +80392,10 @@ class Test_TC_SU_4_1Suite : public TestCommand } }; -class Test_TC_SU_4_2Suite : public TestCommand +class Test_TC_SC_3_1Suite : public TestCommand { public: - Test_TC_SU_4_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SU_4_2", 0, credsIssuerConfig) + Test_TC_SC_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SC_3_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -78973,7 +80403,7 @@ class Test_TC_SU_4_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_SU_4_2Suite() {} + ~Test_TC_SC_3_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -79018,10 +80448,10 @@ class Test_TC_SU_4_2Suite : public TestCommand } }; -class Test_TC_PSCFG_2_1Suite : public TestCommand +class Test_TC_SC_3_2Suite : public TestCommand { public: - Test_TC_PSCFG_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_PSCFG_2_1", 0, credsIssuerConfig) + Test_TC_SC_3_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SC_3_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -79029,7 +80459,7 @@ class Test_TC_PSCFG_2_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_PSCFG_2_1Suite() {} + ~Test_TC_SC_3_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -79074,10 +80504,10 @@ class Test_TC_PSCFG_2_1Suite : public TestCommand } }; -class Test_TC_PSCFG_2_2Suite : public TestCommand +class Test_TC_SC_3_3Suite : public TestCommand { public: - Test_TC_PSCFG_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_PSCFG_2_2", 0, credsIssuerConfig) + Test_TC_SC_3_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SC_3_3", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -79085,7 +80515,7 @@ class Test_TC_PSCFG_2_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_PSCFG_2_2Suite() {} + ~Test_TC_SC_3_3Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -79130,10 +80560,10 @@ class Test_TC_PSCFG_2_2Suite : public TestCommand } }; -class Test_TC_PSCFG_3_1Suite : public TestCommand +class Test_TC_SC_3_4Suite : public TestCommand { public: - Test_TC_PSCFG_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_PSCFG_3_1", 0, credsIssuerConfig) + Test_TC_SC_3_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SC_3_4", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -79141,7 +80571,7 @@ class Test_TC_PSCFG_3_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_PSCFG_3_1Suite() {} + ~Test_TC_SC_3_4Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -84122,6 +85552,286 @@ class Test_TC_BIND_2_1Suite : public TestCommand } }; +class Test_TC_S_1_1Suite : public TestCommand +{ +public: + Test_TC_S_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_S_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_S_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_S_2_1Suite : public TestCommand +{ +public: + Test_TC_S_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_S_2_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_S_2_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_S_2_2Suite : public TestCommand +{ +public: + Test_TC_S_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_S_2_2", 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_S_2_2Suite() {} + + 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_S_2_3Suite : public TestCommand +{ +public: + Test_TC_S_2_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_S_2_3", 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_S_2_3Suite() {} + + 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_S_3_1Suite : public TestCommand +{ +public: + Test_TC_S_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_S_3_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_S_3_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; + } +}; + #endif // CONFIG_ENABLE_YAML_TESTS void registerCommandsTests(Commands & commands, CredentialIssuerCommands * credsIssuerConfig) @@ -84373,17 +86083,29 @@ 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), 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), + 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), @@ -84447,6 +86169,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), @@ -84520,6 +86243,18 @@ 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), + make_unique(credsIssuerConfig), + make_unique(credsIssuerConfig), + make_unique(credsIssuerConfig), + make_unique(credsIssuerConfig), + make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), @@ -84603,6 +86338,11 @@ 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), #endif // CONFIG_ENABLE_YAML_TESTS };