diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 30ab4616ac4b3d..72fc925d80c3dc 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -196,7 +196,7 @@ jobs: ./scripts/run_in_build_env.sh \ "./scripts/tests/run_test_suite.py \ --chip-tool ./out/darwin-x64-chip-tool${CHIP_TOOL_VARIANT}-${BUILD_VARIANT}/chip-tool \ - --target-skip-glob '{TestGroupMessaging,Test_TC_DIAG_TH_NW_1_1,Test_TC_DIAG_TH_NW_1_2,Test_TC_DIAG_TH_NW_2_2,Test_TC_DIAG_TH_NW_2_3,Test_TC_DIAG_TH_NW_2_6,Test_TC_DIAG_TH_NW_2_7,Test_TC_DIAG_TH_NW_2_8,Test_TC_DIAG_TH_NW_2_9}' \ + --target-skip-glob '{TestGroupMessaging,Test_TC_DIAG_TH_NW_2_1,Test_TC_DIAG_TH_NW_2_2,Test_TC_DIAG_TH_NW_2_3,Test_TC_DIAG_TH_NW_2_4}' \ run \ --iterations 1 \ --test-timeout-seconds 120 \ diff --git a/examples/darwin-framework-tool/templates/tests/tests.js b/examples/darwin-framework-tool/templates/tests/tests.js index 64abad11357567..23537fa2a24ccb 100644 --- a/examples/darwin-framework-tool/templates/tests/tests.js +++ b/examples/darwin-framework-tool/templates/tests/tests.js @@ -45,11 +45,8 @@ function getTests() { // TODO: TestGroupMessaging does not work on Darwin for now. tests.disable('TestGroupMessaging'); - // TODO: Test_TC_DIAG_TH_NW_1_1 does not work on Darwin for now. - tests.disable('Test_TC_DIAG_TH_NW_1_1'); - - // TODO: Test_TC_DIAG_TH_NW_1_2 does not work on Darwin for now. - tests.disable('Test_TC_DIAG_TH_NW_1_2'); + // TODO: Test_TC_DIAG_TH_NW_2_1 does not work on Darwin for now. + tests.disable('Test_TC_DIAG_TH_NW_2_1'); // TODO: Test_TC_DIAG_TH_NW_2_2 does not work on Darwin for now. tests.disable('Test_TC_DIAG_TH_NW_2_2'); @@ -57,6 +54,9 @@ function getTests() { // TODO: Test_TC_DIAG_TH_NW_2_3 does not work on Darwin for now. tests.disable('Test_TC_DIAG_TH_NW_2_3'); + // TODO: Test_TC_DIAG_TH_NW_2_4 does not work on Darwin for now. + tests.disable('Test_TC_DIAG_TH_NW_2_4'); + // TODO: Test_TC_CC_9_1 does not work on Darwin for now. // But is disabled in CI, so we can't disable it here. //tests.disable('Test_TC_CC_9_1'); diff --git a/src/app/tests/suites/certification/Test_TC_BI_1_1.yaml b/src/app/tests/suites/certification/Test_TC_BI_1_1.yaml deleted file mode 100644 index 7c223f4628d53f..00000000000000 --- a/src/app/tests/suites/certification/Test_TC_BI_1_1.yaml +++ /dev/null @@ -1,86 +0,0 @@ -# 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. - -name: 18.1.1. [TC-BI-1.1] Global attributes with server as DUT - -config: - nodeId: 0x12344321 - cluster: "Binary Input (Basic)" - endpoint: 1 - -tests: - - label: "Wait for the commissioned device to be retrieved" - cluster: "DelayCommands" - command: "WaitForCommissionee" - arguments: - values: - - name: "nodeId" - value: nodeId - - - label: "Read the global attribute: ClusterRevision" - command: "readAttribute" - attribute: "ClusterRevision" - response: - value: 1 - constraints: - type: uint16 - - #Disabled due to issue #17483 - - label: "Read the global attribute : FeatureMap" - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" - - - label: "Read the global attribute: AttributeList" - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - - #issue #15011 disabled steps below Global attributes missing from YAML framework - - label: "Read the global attribute: EventList" - verification: | - Not implemented in chip-tool - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" - - - label: "Read the global attribute: AcceptedCommandList" - command: "readAttribute" - attribute: "AcceptedCommandList" - response: - value: [] - constraints: - type: list - - - label: "Read the global attribute: GeneratedCommandList" - command: "readAttribute" - attribute: "GeneratedCommandList" - response: - value: [] - constraints: - type: list diff --git a/src/app/tests/suites/certification/Test_TC_BI_2_1.yaml b/src/app/tests/suites/certification/Test_TC_BI_2_1.yaml deleted file mode 100644 index 0de63ce18ae806..00000000000000 --- a/src/app/tests/suites/certification/Test_TC_BI_2_1.yaml +++ /dev/null @@ -1,293 +0,0 @@ -# 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. - -name: 18.2.1. [TC-BI-2.1] Attributes with server as DUT - -config: - nodeId: 0x12344321 - cluster: "Binary Input (Basic)" - endpoint: 1 - -tests: - - label: "Wait for the commissioned device to be retrieved" - cluster: "DelayCommands" - command: "WaitForCommissionee" - arguments: - values: - - name: "nodeId" - value: nodeId - - - label: "Read mandatory non-global attribute: OutOfService" - command: "readAttribute" - attribute: "out of service" - response: - value: 0 - - - label: "Read mandatory non-global attribute constraints: OutOfService" - command: "readAttribute" - attribute: "out of service" - response: - constraints: - type: bool - - - label: - "Write the default values to mandatory non-global attribute: - OutOfService" - command: "writeAttribute" - attribute: "out of service" - arguments: - value: 0 - - - label: "Reads back the mandatory non-global attribute: OutOfService" - command: "readAttribute" - attribute: "out of service" - response: - value: 0 - - - label: "Read mandatory non-global attribute constraints: PresentValue" - command: "readAttribute" - attribute: "present value" - response: - constraints: - type: bool - - - label: - "Write the default values to mandatory non-global attribute: - PresentValue" - command: "writeAttribute" - attribute: "present value" - arguments: - value: 0 - - - label: "Reads back the mandatory non-global attribute: PresentValue" - command: "readAttribute" - attribute: "present value" - response: - value: 0 - - - label: "Read mandatory non-global attribute: StatusFlags" - command: "readAttribute" - attribute: "status flags" - response: - value: 0 - - - label: "Read mandatory non-global attribute constraints: StatusFlags" - command: "readAttribute" - attribute: "status flags" - response: - constraints: - type: map8 - minValue: 0 - maxValue: 15 - - - label: - "Write the default values to mandatory non-global attribute: - StatusFlags" - command: "writeAttribute" - attribute: "status flags" - arguments: - value: 0 - response: - error: UNSUPPORTED_WRITE - - - label: "Reads back the mandatory non-global attribute: StatusFlags" - command: "readAttribute" - attribute: "status flags" - response: - value: 0 - - #Issue #11142 Disabled all optional attribute checks - #disabled due to issue #13442 - - label: "Read optional non-global attribute: ActiveText" - disabled: true - command: "readAttribute" - attribute: "active text" - response: - value: null - - - label: "Read optional non-global attribute constraints: ActiveText" - disabled: true - command: "readAttribute" - attribute: "active text" - response: - constraints: - type: string - - - label: - "Write the default values to optional non-global attribute: ActiveText" - disabled: true - command: "writeAttribute" - attribute: "active text" - arguments: - value: null - - - label: "Reads back the optional non-global attribute: ActiveText" - disabled: true - command: "readAttribute" - attribute: "active text" - response: - value: null - - - label: "Read optional non-global attribute: Description" - disabled: true - command: "readAttribute" - attribute: "description" - response: - value: null - - - label: "Read optional non-global attribute constraints: Description" - disabled: true - command: "readAttribute" - attribute: "description" - response: - constraints: - type: string - - - label: - "Write the default values to optional non-global attribute: - Description" - disabled: true - command: "writeAttribute" - attribute: "description" - arguments: - value: null - - - label: "Reads back the optional non-global attribute: Description" - disabled: true - command: "readAttribute" - attribute: "description" - response: - value: null - - - label: "Read optional non-global attribute: InactiveText" - disabled: true - command: "readAttribute" - attribute: "inactive text" - response: - value: null - - - label: "Read optional non-global attribute constraints: InactiveText" - disabled: true - command: "readAttribute" - attribute: "inactive text" - response: - constraints: - type: string - - - label: - "Write the default values to optional non-global attribute: - InactiveText" - disabled: true - command: "writeAttribute" - attribute: "inactive text" - arguments: - value: null - - - label: "Reads back the optional non-global attribute: InactiveText" - disabled: true - command: "readAttribute" - attribute: "inactive text" - response: - value: null - - - label: "Read optional non-global attribute: Polarity" - disabled: true - command: "readAttribute" - attribute: "polarity" - response: - value: 0 - - - label: "Read optional non-global attribute constraints: Polarity" - disabled: true - command: "readAttribute" - attribute: "polarity" - response: - constraints: - type: enum8 - - - label: - "Write the default values to optional non-global attribute: Polarity" - disabled: true - command: "writeAttribute" - attribute: "polarity" - arguments: - value: 0 - response: - error: UNSUPPORTED_WRITE - - - label: "Reads back the optional non-global attribute: Polarity" - disabled: true - command: "readAttribute" - attribute: "polarity" - response: - value: 0 - - - label: "Read optional non-global attribute: Reliability" - disabled: true - command: "readAttribute" - attribute: "reliability" - response: - value: 0 - - - label: "Read optional non-global attribute constraints: Reliability" - disabled: true - command: "readAttribute" - attribute: "reliability" - response: - constraints: - type: enum8 - - - label: - "Write the default values to optional non-global attribute: - Reliability" - disabled: true - command: "writeAttribute" - attribute: "reliability" - arguments: - value: 0 - - - label: "Reads back the optional non-global attribute: Reliability" - disabled: true - command: "readAttribute" - attribute: "reliability" - response: - value: 0 - - - label: "Read optional non-global attribute constraints: ApplicationType" - disabled: true - command: "readAttribute" - attribute: "application type" - response: - constraints: - type: uint32 - minValue: 0 - maxValue: 4294967295 - - - label: - "Write the default values to optional non-global attribute: - ApplicationType" - disabled: true - command: "writeAttribute" - attribute: "application type" - arguments: - value: 0 - response: - error: UNSUPPORTED_WRITE - - - label: "Reads back the optional non-global attribute: ApplicationType" - disabled: true - command: "readAttribute" - attribute: "application type" - response: - value: 0 diff --git a/src/app/tests/suites/certification/Test_TC_BI_2_2.yaml b/src/app/tests/suites/certification/Test_TC_BI_2_2.yaml deleted file mode 100644 index 0ed11a1cf1af61..00000000000000 --- a/src/app/tests/suites/certification/Test_TC_BI_2_2.yaml +++ /dev/null @@ -1,164 +0,0 @@ -# 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. - -name: 18.2.2. [TC-BI-2.2] Primary functionality with server as DUT - -config: - nodeId: 0x12344321 - cluster: "Binary Input (Basic)" - endpoint: 1 - -tests: - - label: "Wait for the commissioned device to be retrieved" - cluster: "DelayCommands" - command: "WaitForCommissionee" - arguments: - values: - - name: "nodeId" - value: nodeId - - - label: "Reads PresentValue attribute from DUT" - command: "readAttribute" - attribute: "present value" - PICS: A_PRESENTVALUE - response: - value: 0 - - - label: "Reads OutOfService attribute from DUT" - command: "readAttribute" - attribute: "out of service" - PICS: A_OUTOFSERVICE - response: - value: 0 - - - label: "Reads StatusFlags attribute from DUT" - command: "readAttribute" - attribute: "status flags" - PICS: A_STATUSFLAGS - response: - value: 0 - - #issue #11475 User action needed, need to implement in YAML framework - - label: "Operate on device to change the sensor value to TRUE" - disabled: true - PICS: MANUAL_OPERATE - - - label: "Reads PresentValue attribute from DUT" - disabled: true - command: "readAttribute" - attribute: "present value" - PICS: A_PRESENTVALUE - response: - value: 1 - - #issue #11475 User action needed, need to implement in YAML framework - - label: "Operate on device to change the sensor value to FALSE" - disabled: true - PICS: MANUAL_OPERATE - - - label: "Reads PresentValue attribute from DUT" - command: "readAttribute" - attribute: "present value" - PICS: A_PRESENTVALUE - response: - value: 0 - - #issue #11475 User action needed, need to implement in YAML framework - - label: "Operate on device to Trigger an OutOfService state" - disabled: true - PICS: MANUAL_OUTOFSERVICE - - - label: "Reads OutOfService attribute from DUT" - disabled: true - command: "readAttribute" - attribute: "out of service" - PICS: A_OUTOFSERVICE - response: - value: 1 - - - label: "Reads StatusFlags attribute from DUT" - disabled: true - command: "readAttribute" - attribute: "status flags" - PICS: A_STATUSFLAGS - response: - value: 4 - - #issue #11475 User action needed, need to implement in YAML framework - - label: "Operate on device to Clear the OutOfService state if possible" - disabled: true - PICS: MANUAL_OUTOFSERVICE - - - label: "Reads OutOfService attribute from DUT" - command: "readAttribute" - attribute: "out of service" - PICS: A_OUTOFSERVICE - response: - value: 0 - - - label: "Reads StatusFlags attribute from DUT" - command: "readAttribute" - attribute: "status flags" - PICS: A_STATUSFLAGS - response: - value: 0 - - #issue #11475 User action needed, need to implement in YAML framework - - label: "Operate on device to Trigger an Alarm state" - disabled: true - PICS: MANUAL_ALARM - - - label: "Reads StatusFlags attribute from DUT" - disabled: true - command: "readAttribute" - attribute: "status flags" - PICS: A_STATUSFLAGS - response: - value: 1 - - - label: "Operate on device to Clear the Alarm state if possible" - disabled: true - PICS: MANUAL_ALARM - - - label: "Reads StatusFlags attribute from DUT" - command: "readAttribute" - attribute: "status flags" - PICS: A_STATUSFLAGS - response: - value: 0 - - #issue #11475 User action needed, need to implement in YAML framework - - label: "Operate on device to Trigger an Fault state" - disabled: true - PICS: MANUAL_FAULT - - - label: "Reads StatusFlags attribute from DUT" - disabled: true - command: "readAttribute" - attribute: "status flags" - PICS: A_STATUSFLAGS - response: - value: 2 - - #issue #11475 User action needed, need to implement in YAML framework - - label: "Operate on device to Clear the Fault state if possible" - disabled: true - PICS: MANUAL_FAULT - - - label: "Reads StatusFlags attribute from DUT" - command: "readAttribute" - attribute: "status flags" - PICS: A_STATUSFLAGS - response: - value: 0 diff --git a/src/app/tests/suites/certification/Test_TC_DGGEN_2_2.yaml b/src/app/tests/suites/certification/Test_TC_DGGEN_2_2.yaml new file mode 100644 index 00000000000000..08b4c4c938d7b3 --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_DGGEN_2_2.yaml @@ -0,0 +1,142 @@ +# 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: 3.2.2. [TC-DGGEN-2.2] Event functionality test with server as DUT + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: + "Induce a DUT hardware failure two times as addressed in HardwareFault + ENUM table 11.11.6.1. (Ex. Pull the DUT power plug off causing power + source failure, and rejoin DUT back to previous TH fabric. Next, + repeat power plug off and rejoining DUT back to previous TH fabric one + more time" + verification: | + ./chip-tool generaldiagnostics read-event hardware-fault-change 1 0 + + CHIP:DMG: ReportDataMessage = + [1651562132.028543][7867:7872] CHIP:DMG: { + [1651562132.028586][7867:7872] CHIP:DMG: SuppressResponse = true, + [1651562132.028632][7867:7872] CHIP:DMG: InteractionModelRevision = 1 + [1651562132.028675][7867:7872] CHIP:DMG: } + [1651562132.028788][7867:7872] CHIP:EM: Sending Standalone Ack for MessageCounter:10343932 on exchange 65462i + disabled: true + + - label: "TH initiates the subscription of HardwareFault event from DUT." + verification: | + sudo ./chip-tool generaldiagnostics subscribe-event hardware-fault-change 100 1000 1 0 + + [1653659428.373913][242542:242547] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:15916168 on exchange 65448i + [1653659428.373971][242542:242547] CHIP:EM: Found matching exchange: 65448i, Delegate: 0x7ff474004ae0 + [1653659428.374015][242542:242547] CHIP:EM: Rxd Ack; Removing MessageCounter:7607034 from Retrans Table on exchange 65448i + [1653659428.374041][242542:242547] CHIP:EM: Removed CHIP MessageCounter:7607034 from RetransTable on exchange 65448i + [1653659428.374100][242542:242547] CHIP:DMG: SubscribeResponseMessage = + [1653659428.374122][242542:242547] CHIP:DMG: { + [1653659428.374146][242542:242547] CHIP:DMG: SubscriptionId = 0xc90581ad3918815d, + [1653659428.374168][242542:242547] CHIP:DMG: MinIntervalFloorSeconds = 0x64, + [1653659428.374189][242542:242547] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, + [1653659428.374209][242542:242547] CHIP:DMG: InteractionModelRevision = 1 + [1653659428.374228][242542:242547] CHIP:DMG: } + [1653659428.374257][242542:242547] CHIP:DMG: Subscription established with SubscriptionID = 0xC90581AD3918815D MinInterval = 100s MaxInterval = 1000s Peer = 01:0000000000000002 + disabled: true + + - label: + "Induce a DUT radio failure two times as addressed in RadioFault ENUM + table 11.11.6.2. Ex. Put the DUT under metalic cover causing WiFi + failure. Uncover DUT and make DUT rejoining DUT back to previous TH + fabric. Repeat the radio failure one more time and rejoin DUT back to + previous TH fabric." + verification: | + ./chip-tool generaldiagnostics read-event radio-fault-change 1 0 + + CHIP:DMG: ReportDataMessage = + [1651562132.028543][7867:7872] CHIP:DMG: { + [1651562132.028586][7867:7872] CHIP:DMG: SuppressResponse = true, + [1651562132.028632][7867:7872] CHIP:DMG: InteractionModelRevision = 1 + [1651562132.028675][7867:7872] CHIP:DMG: } + [1651562132.028788][7867:7872] CHIP:EM: Sending Standalone Ack for MessageCounter:10343932 on exchange 65462i + disabled: true + + - label: "TH initiates the subscription of RadioFault event from DUT." + verification: | + sudo ./chip-tool generaldiagnostics subscribe-event radio-fault-change 100 1000 1 0 + + [1653659768.885436][242582:242587] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:13730082 on exchange 33170i + [1653659768.885490][242582:242587] CHIP:EM: Found matching exchange: 33170i, Delegate: 0x7f1d40006300 + [1653659768.885520][242582:242587] CHIP:EM: Rxd Ack; Removing MessageCounter:6045655 from Retrans Table on exchange 33170i + [1653659768.885539][242582:242587] CHIP:EM: Removed CHIP MessageCounter:6045655 from RetransTable on exchange 33170i + [1653659768.885591][242582:242587] CHIP:DMG: SubscribeResponseMessage = + [1653659768.885609][242582:242587] CHIP:DMG: { + [1653659768.885623][242582:242587] CHIP:DMG: SubscriptionId = 0x3487b97e17eb62c7, + [1653659768.885637][242582:242587] CHIP:DMG: MinIntervalFloorSeconds = 0x64, + [1653659768.885651][242582:242587] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, + [1653659768.885668][242582:242587] CHIP:DMG: InteractionModelRevision = 1 + [1653659768.885684][242582:242587] CHIP:DMG: } + [1653659768.885708][242582:242587] CHIP:DMG: Subscription established with SubscriptionID = 0x3487B97E17EB62C7 MinInterval = 100s MaxInterval = 1000s Peer = 01:0000000000000002 + disabled: true + + - label: + "Induce a DUT radio failure two times as addressed in NetworkFault + ENUM table 11.11.6.3. Ex. Put the DUT under metalic cover causing + network failure. Uncover DUT and rejoin DUT back to previous TH + fabric. Pull the DUT power plug off causing power source failure. + rejoining DUT back to previous TH fabric." + verification: | + ./chip-tool generaldiagnostics read-event network-fault-change 1 0 + + CHIP:DMG: ReportDataMessage = + [1651562132.028543][7867:7872] CHIP:DMG: { + [1651562132.028586][7867:7872] CHIP:DMG: SuppressResponse = true, + [1651562132.028632][7867:7872] CHIP:DMG: InteractionModelRevision = 1 + [1651562132.028675][7867:7872] CHIP:DMG: } + [1651562132.028788][7867:7872] CHIP:EM: Sending Standalone Ack for MessageCounter:10343932 on exchange 65462i + disabled: true + + - label: "TH initiates the subscription of NetworkFault event from DUT." + verification: | + sudo ./chip-tool generaldiagnostics subscribe-event network-fault-change 100 1000 1 0 + [1653659901.757441][242605:242610] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:11933575 on exchange 20223i + [1653659901.757513][242605:242610] CHIP:EM: Found matching exchange: 20223i, Delegate: 0x7fd058003950 + [1653659901.757544][242605:242610] CHIP:EM: Rxd Ack; Removing MessageCounter:3369789 from Retrans Table on exchange 20223i + [1653659901.757564][242605:242610] CHIP:EM: Removed CHIP MessageCounter:3369789 from RetransTable on exchange 20223i + [1653659901.757618][242605:242610] CHIP:DMG: SubscribeResponseMessage = + [1653659901.757638][242605:242610] CHIP:DMG: { + [1653659901.757658][242605:242610] CHIP:DMG: SubscriptionId = 0x17dc072d1130a3bd, + [1653659901.757676][242605:242610] CHIP:DMG: MinIntervalFloorSeconds = 0x64, + [1653659901.757690][242605:242610] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, + [1653659901.757708][242605:242610] CHIP:DMG: InteractionModelRevision = 1 + [1653659901.757721][242605:242610] CHIP:DMG: } + [1653659901.757746][242605:242610] CHIP:DMG: Subscription established with SubscriptionID = 0x17DC072D1130A3BD MinInterval = 100s MaxInterval = 1000s Peer = 01:0000000000000002 + disabled: true + + - label: + "Reboot DUT with a normal reboot process. Rejoin DUT back to previous + TH fabric." + verification: | + ./chip-tool generaldiagnostics read-event boot-reason 1 0 + + CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Event 0x0000_0003 + [1651562139.644134][7873:7878] CHIP:TOO: Event number: 1 + [1651562139.644157][7873:7878] CHIP:TOO: Priority: Critical + [1651562139.644179][7873:7878] CHIP:TOO: Timestamp: 8347991 + [1651562139.644273][7873:7878] CHIP:TOO: BootReason: { + [1651562139.644317][7873:7878] CHIP:TOO: BootReason: 0 + [1651562139.644343][7873:7878] CHIP:TOO: } + [1651562139.644431][7873:7878] CHIP:EM: Sending Standalone Ack for MessageCounter:9685408 on exchange 6383i + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DGGEN_2_3.yaml b/src/app/tests/suites/certification/Test_TC_DGGEN_2_3.yaml new file mode 100644 index 00000000000000..b520c3c0312c0b --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_DGGEN_2_3.yaml @@ -0,0 +1,32 @@ +# 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: 3.2.3. [TC-DGGEN-2.3] Command received at server as DUT + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: + "Provision TH with EnableKey with 128 bit value provided and matched a + value chosen by the manufacturer and configured on the DUT using + manufacturer-specific means. EventTrigger value is configured and + SHALL indicate the test or test mode which TH wants to trigger the + testing use by manufacturers." + verification: | + NOT AVAILABLE + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DGGEN_3_1.yaml b/src/app/tests/suites/certification/Test_TC_DGGEN_3_1.yaml new file mode 100644 index 00000000000000..605b5b99dbe0fd --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_DGGEN_3_1.yaml @@ -0,0 +1,427 @@ +# 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: 3.3.1. [TC-DGGEN-3.1] Attributes observed at client side as DUT + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: "Commission DUT to TH" + verification: | + + disabled: true + + - label: "TH reads NetworkInterfaces structure attribute from DUT." + verification: | + ./chip-tool generaldiagnostics read network-interfaces 1 0 + [1654682355.830733][32933:32938] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0000 DataVersion: 2161135285 + [1654682355.830907][32933:32938] CHIP:TOO: NetworkInterfaces: 11 entries + [1654682355.831236][32933:32938] CHIP:TOO: [1]: { + [1654682355.831270][32933:32938] CHIP:TOO: Name: vethf7aa085 + [1654682355.831294][32933:32938] CHIP:TOO: IsOperational: TRUE + [1654682355.831331][32933:32938] CHIP:TOO: OffPremiseServicesReachableIPv4: null + [1654682355.831356][32933:32938] CHIP:TOO: OffPremiseServicesReachableIPv6: null + [1654682355.831380][32933:32938] CHIP:TOO: HardwareAddress: 96C640A56417 + [1654682355.831415][32933:32938] CHIP:TOO: IPv4Addresses: 0 entries + [1654682355.831444][32933:32938] CHIP:TOO: IPv6Addresses: 1 entries + [1654682355.831474][32933:32938] CHIP:TOO: [1]: FE8000000000000094C640FFFEA56417 + [1654682355.831502][32933:32938] CHIP:TOO: Type: 0 + [1654682355.831527][32933:32938] CHIP:TOO: } + [1654682355.831567][32933:32938] CHIP:TOO: [2]: { + [1654682355.831591][32933:32938] CHIP:TOO: Name: veth2598e21 + [1654682355.831612][32933:32938] CHIP:TOO: IsOperational: TRUE + [1654682355.831633][32933:32938] CHIP:TOO: OffPremiseServicesReachableIPv4: null + [1654682355.831654][32933:32938] CHIP:TOO: OffPremiseServicesReachableIPv6: null + [1654682355.831677][32933:32938] CHIP:TOO: HardwareAddress: 3A177D3B1F89 + [1654682355.831700][32933:32938] CHIP:TOO: IPv4Addresses: 0 entries + [1654682355.831726][32933:32938] CHIP:TOO: IPv6Addresses: 1 entries + [1654682355.831752][32933:32938] CHIP:TOO: [1]: FE8000000000000038177DFFFE3B1F89 + [1654682355.831777][32933:32938] CHIP:TOO: Type: 0 + [1654682355.831800][32933:32938] CHIP:TOO: } + [1654682355.831834][32933:32938] CHIP:TOO: [3]: { + [1654682355.831856][32933:32938] CHIP:TOO: Name: veth8b3fd7e + [1654682355.831877][32933:32938] CHIP:TOO: IsOperational: TRUE + [1654682355.831899][32933:32938] CHIP:TOO: OffPremiseServicesReachableIPv4: null + [1654682355.831920][32933:32938] CHIP:TOO: OffPremiseServicesReachableIPv6: null + [1654682355.831942][32933:32938] CHIP:TOO: HardwareAddress: 866D1837E8EC + [1654682355.831965][32933:32938] CHIP:TOO: IPv4Addresses: 0 entries + [1654682355.831990][32933:32938] CHIP:TOO: IPv6Addresses: 1 entries + [1654682355.832016][32933:32938] CHIP:TOO: [1]: FE80000000000000846D18FFFE37E8EC + [1654682355.832041][32933:32938] CHIP:TOO: Type: 0 + [1654682355.832063][32933:32938] CHIP:TOO: } + [1654682355.832096][32933:32938] CHIP:TOO: [4]: { + [1654682355.832119][32933:32938] CHIP:TOO: Name: vethb477521 + [1654682355.832140][32933:32938] CHIP:TOO: IsOperational: TRUE + [1654682355.832161][32933:32938] CHIP:TOO: OffPremiseServicesReachableIPv4: null + [1654682355.832183][32933:32938] CHIP:TOO: OffPremiseServicesReachableIPv6: null + [1654682355.832205][32933:32938] CHIP:TOO: HardwareAddress: 46D8B6E48B90 + [1654682355.832228][32933:32938] CHIP:TOO: IPv4Addresses: 0 entries + [1654682355.832253][32933:32938] CHIP:TOO: IPv6Addresses: 1 entries + [1654682355.832280][32933:32938] CHIP:TOO: [1]: FE8000000000000044D8B6FFFEE48B90 + [1654682355.832305][32933:32938] CHIP:TOO: Type: 0 + [1654682355.832327][32933:32938] CHIP:TOO: } + [1654682355.832362][32933:32938] CHIP:TOO: [5]: { + [1654682355.832385][32933:32938] CHIP:TOO: Name: vethaf676ee + [1654682355.832405][32933:32938] CHIP:TOO: IsOperational: TRUE + [1654682355.832427][32933:32938] CHIP:TOO: OffPremiseServicesReachableIPv4: null + [1654682355.832448][32933:32938] CHIP:TOO: OffPremiseServicesReachableIPv6: null + [1654682355.832471][32933:32938] CHIP:TOO: HardwareAddress: 9EA9BC908F4D + [1654682355.832493][32933:32938] CHIP:TOO: IPv4Addresses: 0 entries + [1654682355.832518][32933:32938] CHIP:TOO: IPv6Addresses: 1 entries + [1654682355.832545][32933:32938] CHIP:TOO: [1]: FE800000000000009CA9BCFFFE908F4D + [1654682355.832571][32933:32938] CHIP:TOO: Type: 0 + [1654682355.832593][32933:32938] CHIP:TOO: } + [1654682355.832629][32933:32938] CHIP:TOO: [6]: { + [1654682355.832651][32933:32938] CHIP:TOO: Name: br-6ab75b625e42 + [1654682355.832672][32933:32938] CHIP:TOO: IsOperational: TRUE + [1654682355.832693][32933:32938] CHIP:TOO: OffPremiseServicesReachableIPv4: null + [1654682355.832715][32933:32938] CHIP:TOO: OffPremiseServicesReachableIPv6: null + [1654682355.832737][32933:32938] CHIP:TOO: HardwareAddress: 0242DF8961A4 + [1654682355.832761][32933:32938] CHIP:TOO: IPv4Addresses: 1 entries + [1654682355.832786][32933:32938] CHIP:TOO: [1]: AC130001 + [1654682355.832812][32933:32938] CHIP:TOO: IPv6Addresses: 1 entries + [1654682355.832838][32933:32938] CHIP:TOO: [1]: FE800000000000000042DFFFFE8961A4 + [1654682355.832863][32933:32938] CHIP:TOO: Type: 0 + [1654682355.832884][32933:32938] CHIP:TOO: } + [1654682355.832918][32933:32938] CHIP:TOO: [7]: { + [1654682355.832941][32933:32938] CHIP:TOO: Name: docker0 + [1654682355.832962][32933:32938] CHIP:TOO: IsOperational: FALSE + [1654682355.832983][32933:32938] CHIP:TOO: OffPremiseServicesReachableIPv4: null + [1654682355.833005][32933:32938] CHIP:TOO: OffPremiseServicesReachableIPv6: null + [1654682355.833027][32933:32938] CHIP:TOO: HardwareAddress: 0242F708AABC + [1654682355.833051][32933:32938] CHIP:TOO: IPv4Addresses: 1 entries + [1654682355.833076][32933:32938] CHIP:TOO: [1]: AC110001 + [1654682355.833101][32933:32938] CHIP:TOO: IPv6Addresses: 1 entries + [1654682355.833129][32933:32938] CHIP:TOO: [1]: Elided value too large of size 0 + [1654682355.833154][32933:32938] CHIP:TOO: Type: 0 + [1654682355.833176][32933:32938] CHIP:TOO: } + [1654682355.833229][32933:32938] CHIP:TOO: [8]: { + [1654682355.833254][32933:32938] CHIP:TOO: Name: br-01617d2fb6b6 + [1654682355.833275][32933:32938] CHIP:TOO: IsOperational: TRUE + [1654682355.833297][32933:32938] CHIP:TOO: OffPremiseServicesReachableIPv4: null + [1654682355.833318][32933:32938] CHIP:TOO: OffPremiseServicesReachableIPv6: null + [1654682355.833341][32933:32938] CHIP:TOO: HardwareAddress: 0242261CAA10 + [1654682355.833365][32933:32938] CHIP:TOO: IPv4Addresses: 1 entries + [1654682355.833391][32933:32938] CHIP:TOO: [1]: AC120001 + [1654682355.833418][32933:32938] CHIP:TOO: IPv6Addresses: 3 entries + [1654682355.833444][32933:32938] CHIP:TOO: [1]: FD006D61747465720000000000000001 + [1654682355.833471][32933:32938] CHIP:TOO: [2]: FE80000000000000004226FFFE1CAA10 + [1654682355.833607][32933:32938] CHIP:TOO: [3]: FE800000000000000000000000000001 + [1654682355.833636][32933:32938] CHIP:TOO: Type: 0 + [1654682355.833658][32933:32938] CHIP:TOO: } + [1654682355.833693][32933:32938] CHIP:TOO: [9]: { + [1654682355.833716][32933:32938] CHIP:TOO: Name: wlan0 + [1654682355.833737][32933:32938] CHIP:TOO: IsOperational: FALSE + [1654682355.833759][32933:32938] CHIP:TOO: OffPremiseServicesReachableIPv4: null + [1654682355.833780][32933:32938] CHIP:TOO: OffPremiseServicesReachableIPv6: null + [1654682355.833802][32933:32938] CHIP:TOO: HardwareAddress: E45F016961B3 + [1654682355.833825][32933:32938] CHIP:TOO: IPv4Addresses: 0 entries + [1654682355.833850][32933:32938] CHIP:TOO: IPv6Addresses: 0 entries + [1654682355.833874][32933:32938] CHIP:TOO: Type: 1 + [1654682355.833896][32933:32938] CHIP:TOO: } + [1654682355.833930][32933:32938] CHIP:TOO: [10]: { + [1654682355.833953][32933:32938] CHIP:TOO: Name: eth0 + [1654682355.833973][32933:32938] CHIP:TOO: IsOperational: TRUE + [1654682355.833994][32933:32938] CHIP:TOO: OffPremiseServicesReachableIPv4: null + [1654682355.834016][32933:32938] CHIP:TOO: OffPremiseServicesReachableIPv6: null + [1654682355.834039][32933:32938] CHIP:TOO: HardwareAddress: E45F016961B1 + [1654682355.834062][32933:32938] CHIP:TOO: IPv4Addresses: 1 entries + [1654682355.834087][32933:32938] CHIP:TOO: [1]: C0A80064 + [1654682355.834113][32933:32938] CHIP:TOO: IPv6Addresses: 1 entries + [1654682355.834139][32933:32938] CHIP:TOO: [1]: FE80000000000000E65F01FFFE6961B1 + [1654682355.834164][32933:32938] CHIP:TOO: Type: 2 + [1654682355.834186][32933:32938] CHIP:TOO: } + [1654682355.834220][32933:32938] CHIP:TOO: [11]: { + [1654682355.834243][32933:32938] CHIP:TOO: Name: lo + [1654682355.834264][32933:32938] CHIP:TOO: IsOperational: TRUE + [1654682355.834286][32933:32938] CHIP:TOO: OffPremiseServicesReachableIPv4: null + [1654682355.834307][32933:32938] CHIP:TOO: OffPremiseServicesReachableIPv6: null + [1654682355.834329][32933:32938] CHIP:TOO: HardwareAddress: 000000000000 + [1654682355.834353][32933:32938] CHIP:TOO: IPv4Addresses: 1 entries + [1654682355.834378][32933:32938] CHIP:TOO: [1]: 7F000001 + [1654682355.834403][32933:32938] CHIP:TOO: IPv6Addresses: 1 entries + [1654682355.834429][32933:32938] CHIP:TOO: [1]: 00000000000000000000000000000001 + [1654682355.834454][32933:32938] CHIP:TOO: Type: 0 + [1654682355.834476][32933:32938] CHIP:TOO: } + [1654682355.834653][32933:32938] CHIP:EM: Sending Standalone Ack for MessageCounter:226724572 on exchange 53960i + disabled: true + + - label: + "TH reads a RebootCount attribute value from DUT. Then a DUT (node) + gets rebooted more than 2 times." + verification: | + ./chip-tool generaldiagnostics read reboot-count 1 0 + + 1650873646.873308][19568:19573] CHIP:DMG: ReportDataMessage = + [1650873646.873352][19568:19573] CHIP:DMG: { + [1650873646.873388][19568:19573] CHIP:DMG: AttributeReportIBs = + [1650873646.873438][19568:19573] CHIP:DMG: [ + [1650873646.873478][19568:19573] CHIP:DMG: AttributeReportIB = + [1650873646.873536][19568:19573] CHIP:DMG: { + [1650873646.873579][19568:19573] CHIP:DMG: AttributeDataIB = + [1650873646.873635][19568:19573] CHIP:DMG: { + [1650873646.873690][19568:19573] CHIP:DMG: DataVersion = 0xa58fdd7d, + [1650873646.873743][19568:19573] CHIP:DMG: AttributePathIB = + [1650873646.873801][19568:19573] CHIP:DMG: { + [1650873646.873856][19568:19573] CHIP:DMG: Endpoint = 0x0, + [1650873646.873915][19568:19573] CHIP:DMG: Cluster = 0x33, + [1650873646.873974][19568:19573] CHIP:DMG: Attribute = 0x0000_0001, + [1650873646.874028][19568:19573] CHIP:DMG: } + [1650873646.874085][19568:19573] CHIP:DMG: + [1650873646.874137][19568:19573] CHIP:DMG: Data = 2, + [1650873646.874190][19568:19573] CHIP:DMG: }, + [1650873646.874247][19568:19573] CHIP:DMG: + [1650873646.874291][19568:19573] CHIP:DMG: }, + [1650873646.874344][19568:19573] CHIP:DMG: + [1650873646.874383][19568:19573] CHIP:DMG: ], + [1650873646.874432][19568:19573] CHIP:DMG: + [1650873646.874472][19568:19573] CHIP:DMG: SuppressResponse = true, + [1650873646.874514][19568:19573] CHIP:DMG: InteractionModelRevision = 1 + [1650873646.874552][19568:19573] CHIP:DMG: } + [1650873646.874760][19568:19573] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0001 DataVersion: 2777668989 + [1650873646.874854][19568:19573] CHIP:TOO: RebootCount: 2 + [1650873646.874974][19568:19573] CHIP:EM: Sending Standalone Ack for MessageCounter:3185095 on exchange 6631i + disabled: true + + - label: + "DUT reboots and TH reads a UpTime attribute value of DUT since some + arbitrary start time of DUT rebooting." + verification: | + ./chip-tool generaldiagnostics read up-time 1 0 + [1650877936.461150][2360:2365] CHIP:DMG: ReportDataMessage = + [1650877936.461189][2360:2365] CHIP:DMG: { + [1650877936.461222][2360:2365] CHIP:DMG: AttributeReportIBs = + [1650877936.461263][2360:2365] CHIP:DMG: [ + [1650877936.461299][2360:2365] CHIP:DMG: AttributeReportIB = + [1650877936.461346][2360:2365] CHIP:DMG: { + [1650877936.461384][2360:2365] CHIP:DMG: AttributeDataIB = + [1650877936.461427][2360:2365] CHIP:DMG: { + [1650877936.461478][2360:2365] CHIP:DMG: DataVersion = 0xcbcb87d9, + [1650877936.461536][2360:2365] CHIP:DMG: AttributePathIB = + [1650877936.461591][2360:2365] CHIP:DMG: { + [1650877936.461642][2360:2365] CHIP:DMG: Endpoint = 0x0, + [1650877936.461700][2360:2365] CHIP:DMG: Cluster = 0x33, + [1650877936.461749][2360:2365] CHIP:DMG: Attribute = 0x0000_0002, + [1650877936.461790][2360:2365] CHIP:DMG: } + [1650877936.461837][2360:2365] CHIP:DMG: + [1650877936.461893][2360:2365] CHIP:DMG: Data = 368, + [1650877936.461937][2360:2365] CHIP:DMG: }, + [1650877936.461991][2360:2365] CHIP:DMG: + [1650877936.462030][2360:2365] CHIP:DMG: }, + [1650877936.462075][2360:2365] CHIP:DMG: + [1650877936.462110][2360:2365] CHIP:DMG: ], + [1650877936.462155][2360:2365] CHIP:DMG: + [1650877936.462192][2360:2365] CHIP:DMG: SuppressResponse = true, + [1650877936.462229][2360:2365] CHIP:DMG: InteractionModelRevision = 1 + [1650877936.462263][2360:2365] CHIP:DMG: } + [1650877936.462457][2360:2365] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0002 DataVersion: 3419113433 + [1650877936.462538][2360:2365] CHIP:TOO: UpTime: 368 + disabled: true + + - label: "TH reads a TotalOpreationalHours attribute value from DUT." + verification: | + ./chip-tool generaldiagnostics read total-operational-hours 1 0 + + [1650877969.902946][2369:2374] CHIP:DMG: ReportDataMessage = + [1650877969.902986][2369:2374] CHIP:DMG: { + [1650877969.903019][2369:2374] CHIP:DMG: AttributeReportIBs = + [1650877969.903064][2369:2374] CHIP:DMG: [ + [1650877969.903099][2369:2374] CHIP:DMG: AttributeReportIB = + [1650877969.903157][2369:2374] CHIP:DMG: { + [1650877969.903195][2369:2374] CHIP:DMG: AttributeDataIB = + [1650877969.903241][2369:2374] CHIP:DMG: { + [1650877969.903290][2369:2374] CHIP:DMG: DataVersion = 0xcbcb87d9, + [1650877969.903337][2369:2374] CHIP:DMG: AttributePathIB = + [1650877969.903386][2369:2374] CHIP:DMG: { + [1650877969.903435][2369:2374] CHIP:DMG: Endpoint = 0x0, + [1650877969.903488][2369:2374] CHIP:DMG: Cluster = 0x33, + [1650877969.903545][2369:2374] CHIP:DMG: Attribute = 0x0000_0003, + [1650877969.903596][2369:2374] CHIP:DMG: } + [1650877969.903647][2369:2374] CHIP:DMG: + [1650877969.903697][2369:2374] CHIP:DMG: Data = 0, + [1650877969.903746][2369:2374] CHIP:DMG: }, + [1650877969.903797][2369:2374] CHIP:DMG: + [1650877969.903837][2369:2374] CHIP:DMG: }, + [1650877969.903886][2369:2374] CHIP:DMG: + [1650877969.903921][2369:2374] CHIP:DMG: ], + [1650877969.903966][2369:2374] CHIP:DMG: + [1650877969.904002][2369:2374] CHIP:DMG: SuppressResponse = true, + [1650877969.904038][2369:2374] CHIP:DMG: InteractionModelRevision = 1 + [1650877969.904072][2369:2374] CHIP:DMG: } + [1650877969.904265][2369:2374] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0003 DataVersion: 3419113433 + [1650877969.904339][2369:2374] CHIP:TOO: TotalOperationalHours: 0 + disabled: true + + - label: + "DUT undergoes a reboot process. TH reads a attribute value from DUT." + verification: | + ./chip-tool generaldiagnostics read boot-reasons 1 0 + + [1650877998.691446][2377:2382] CHIP:DMG: ReportDataMessage = + [1650877998.691494][2377:2382] CHIP:DMG: { + [1650877998.691534][2377:2382] CHIP:DMG: AttributeReportIBs = + [1650877998.691592][2377:2382] CHIP:DMG: [ + [1650877998.691637][2377:2382] CHIP:DMG: AttributeReportIB = + [1650877998.691702][2377:2382] CHIP:DMG: { + [1650877998.691748][2377:2382] CHIP:DMG: AttributeDataIB = + [1650877998.691804][2377:2382] CHIP:DMG: { + [1650877998.691864][2377:2382] CHIP:DMG: DataVersion = 0xcbcb87d9, + [1650877998.691922][2377:2382] CHIP:DMG: AttributePathIB = + [1650877998.691981][2377:2382] CHIP:DMG: { + [1650877998.692044][2377:2382] CHIP:DMG: Endpoint = 0x0, + [1650877998.692108][2377:2382] CHIP:DMG: Cluster = 0x33, + [1650877998.692167][2377:2382] CHIP:DMG: Attribute = 0x0000_0004, + [1650877998.692224][2377:2382] CHIP:DMG: } + [1650877998.692280][2377:2382] CHIP:DMG: + [1650877998.692341][2377:2382] CHIP:DMG: Data = 0, + [1650877998.692401][2377:2382] CHIP:DMG: }, + [1650877998.692453][2377:2382] CHIP:DMG: + [1650877998.692498][2377:2382] CHIP:DMG: }, + [1650877998.692553][2377:2382] CHIP:DMG: + [1650877998.692597][2377:2382] CHIP:DMG: ], + [1650877998.692652][2377:2382] CHIP:DMG: + [1650877998.692698][2377:2382] CHIP:DMG: SuppressResponse = true, + [1650877998.692744][2377:2382] CHIP:DMG: InteractionModelRevision = 1 + [1650877998.692787][2377:2382] CHIP:DMG: } + [1650877998.693012][2377:2382] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0004 DataVersion: 3419113433 + [1650877998.693118][2377:2382] CHIP:TOO: BootReasons: 0 + disabled: true + + - label: + "TH reads ActiveHardwareFaults attribute value from DUT. Subscription + is possible option for this attribute." + verification: | + ./chip-tool generaldiagnostics read active-hardware-faults 1 0 + [1650878034.131791][2385:2390] CHIP:DMG: ReportDataMessage = + [1650878034.131846][2385:2390] CHIP:DMG: { + [1650878034.131890][2385:2390] CHIP:DMG: AttributeReportIBs = + [1650878034.131937][2385:2390] CHIP:DMG: [ + [1650878034.131974][2385:2390] CHIP:DMG: AttributeReportIB = + [1650878034.132027][2385:2390] CHIP:DMG: { + [1650878034.132081][2385:2390] CHIP:DMG: AttributeDataIB = + [1650878034.132134][2385:2390] CHIP:DMG: { + [1650878034.132195][2385:2390] CHIP:DMG: DataVersion = 0xcbcb87d9, + [1650878034.132261][2385:2390] CHIP:DMG: AttributePathIB = + [1650878034.132314][2385:2390] CHIP:DMG: { + [1650878034.132376][2385:2390] CHIP:DMG: Endpoint = 0x0, + [1650878034.132444][2385:2390] CHIP:DMG: Cluster = 0x33, + [1650878034.132546][2385:2390] CHIP:DMG: Attribute = 0x0000_0005, + [1650878034.132612][2385:2390] CHIP:DMG: } + [1650878034.132666][2385:2390] CHIP:DMG: + [1650878034.132730][2385:2390] CHIP:DMG: Data = [ + [1650878034.132798][2385:2390] CHIP:DMG: + [1650878034.132849][2385:2390] CHIP:DMG: ], + [1650878034.132963][2385:2390] CHIP:DMG: }, + [1650878034.133022][2385:2390] CHIP:DMG: + [1650878034.133074][2385:2390] CHIP:DMG: }, + [1650878034.133159][2385:2390] CHIP:DMG: + [1650878034.133197][2385:2390] CHIP:DMG: ], + [1650878034.133254][2385:2390] CHIP:DMG: + [1650878034.133291][2385:2390] CHIP:DMG: SuppressResponse = true, + [1650878034.133342][2385:2390] CHIP:DMG: InteractionModelRevision = 1 + [1650878034.133471][2385:2390] CHIP:DMG: } + [1650878034.133792][2385:2390] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0005 DataVersion: 3419113433 + [1650878034.133891][2385:2390] CHIP:TOO: ActiveHardwareFaults: 0 entries + disabled: true + + - label: + "TH reads ActiveRadioFaults attribute value from DUT. Subscription is + possible option for this attribute" + verification: | + ./chip-tool generaldiagnostics read active-radio-faults 1 0 + + [1650878056.264551][2391:2396] CHIP:DMG: ReportDataMessage = + [1650878056.264600][2391:2396] CHIP:DMG: { + [1650878056.264639][2391:2396] CHIP:DMG: AttributeReportIBs = + [1650878056.264695][2391:2396] CHIP:DMG: [ + [1650878056.264739][2391:2396] CHIP:DMG: AttributeReportIB = + [1650878056.264806][2391:2396] CHIP:DMG: { + [1650878056.264857][2391:2396] CHIP:DMG: AttributeDataIB = + [1650878056.264915][2391:2396] CHIP:DMG: { + [1650878056.264975][2391:2396] CHIP:DMG: DataVersion = 0xcbcb87d9, + [1650878056.265037][2391:2396] CHIP:DMG: AttributePathIB = + [1650878056.265097][2391:2396] CHIP:DMG: { + [1650878056.265153][2391:2396] CHIP:DMG: Endpoint = 0x0, + [1650878056.265211][2391:2396] CHIP:DMG: Cluster = 0x33, + [1650878056.265268][2391:2396] CHIP:DMG: Attribute = 0x0000_0006, + [1650878056.265331][2391:2396] CHIP:DMG: } + [1650878056.265395][2391:2396] CHIP:DMG: + [1650878056.265455][2391:2396] CHIP:DMG: Data = [ + [1650878056.265523][2391:2396] CHIP:DMG: + [1650878056.265581][2391:2396] CHIP:DMG: ], + [1650878056.265642][2391:2396] CHIP:DMG: }, + [1650878056.265704][2391:2396] CHIP:DMG: + [1650878056.265754][2391:2396] CHIP:DMG: }, + [1650878056.265814][2391:2396] CHIP:DMG: + [1650878056.265858][2391:2396] CHIP:DMG: ], + [1650878056.265912][2391:2396] CHIP:DMG: + [1650878056.265957][2391:2396] CHIP:DMG: SuppressResponse = true, + [1650878056.266003][2391:2396] CHIP:DMG: InteractionModelRevision = 1 + [1650878056.266049][2391:2396] CHIP:DMG: } + [1650878056.266314][2391:2396] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0006 DataVersion: 3419113433 + [1650878056.266428][2391:2396] CHIP:TOO: ActiveRadioFaults: 0 entries + disabled: true + + - label: + "TH reads ActiveNetworkFaults attribute value from DUT. Subscription + is possible option for this attribute." + verification: | + ./chip-tool generaldiagnostics read active-network-faults 1 0 + [1650878077.693017][2399:2404] CHIP:DMG: ReportDataMessage = + [1650878077.693056][2399:2404] CHIP:DMG: { + [1650878077.693088][2399:2404] CHIP:DMG: AttributeReportIBs = + [1650878077.693133][2399:2404] CHIP:DMG: [ + [1650878077.693169][2399:2404] CHIP:DMG: AttributeReportIB = + [1650878077.693221][2399:2404] CHIP:DMG: { + [1650878077.693264][2399:2404] CHIP:DMG: AttributeDataIB = + [1650878077.693319][2399:2404] CHIP:DMG: { + [1650878077.693366][2399:2404] CHIP:DMG: DataVersion = 0xcbcb87d9, + [1650878077.693418][2399:2404] CHIP:DMG: AttributePathIB = + [1650878077.693467][2399:2404] CHIP:DMG: { + [1650878077.693518][2399:2404] CHIP:DMG: Endpoint = 0x0, + [1650878077.693569][2399:2404] CHIP:DMG: Cluster = 0x33, + [1650878077.693619][2399:2404] CHIP:DMG: Attribute = 0x0000_0007, + [1650878077.693662][2399:2404] CHIP:DMG: } + [1650878077.693712][2399:2404] CHIP:DMG: + [1650878077.693759][2399:2404] CHIP:DMG: Data = [ + [1650878077.693808][2399:2404] CHIP:DMG: + [1650878077.693858][2399:2404] CHIP:DMG: ], + [1650878077.693906][2399:2404] CHIP:DMG: }, + [1650878077.693956][2399:2404] CHIP:DMG: + [1650878077.693993][2399:2404] CHIP:DMG: }, + [1650878077.694040][2399:2404] CHIP:DMG: + [1650878077.694075][2399:2404] CHIP:DMG: ], + [1650878077.694119][2399:2404] CHIP:DMG: + [1650878077.694155][2399:2404] CHIP:DMG: SuppressResponse = true, + [1650878077.694192][2399:2404] CHIP:DMG: InteractionModelRevision = 1 + [1650878077.694229][2399:2404] CHIP:DMG: } + [1650878077.694616][2399:2404] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0007 DataVersion: 3419113433 + [1650878077.694781][2399:2404] CHIP:TOO: ActiveNetworkFaults: 0 entries + disabled: true + + - label: + "TH reads TestEventTriggersEnabled attribute value. If this value is + set True, then a certain test mode will be performed (or triggered) + according to pre-provisioned client and server test mode." + verification: | + ./chip-tool generaldiagnostics read test-event-triggers-enabled 1 0 + + [1655188892.957794][2868:2873] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0008 DataVersion: 3562689442 + [1655188892.957869][2868:2873] CHIP:TOO: TestEventTriggersEnabled: FALSE + [1655188892.957999][2868:2873] CHIP:EM: Sending Standalone Ack for MessageCounter:133140817 on exchange 23176i + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DGGEN_3_2.yaml b/src/app/tests/suites/certification/Test_TC_DGGEN_3_2.yaml new file mode 100644 index 00000000000000..ca90d3bcfc3d52 --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_DGGEN_3_2.yaml @@ -0,0 +1,35 @@ +# 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: 3.3.2. [TC-DGGEN-3.2] Command generated at client as DUT + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: + "Provision TH and DUT with EnableKey of octstr data type and + EventTrigger of unint64 data type specified by the manufacturer. a. + DUT checks if TestEventTriggersEnabled attribute is set to true. If + not, stop the command execution. b. DUT checks if TH sent Enablekey + matches. If not, UNSUPPORED_ACCESS is sent and stops the command + execution. c. DUT checks TH sent EventTrigger mode if it is a DUT + supported test mode. If not, INVALID_COMMAND is sent and stops the + command execution." + verification: | + Need SDK implementation + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_1_1.yaml index dc21b3abe346df..2a5285cc64e45f 100644 --- a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_1_1.yaml @@ -11,28 +11,146 @@ # 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: 51.1. TC-DIAG-TH_NW-1.1 ResetCounts Command[DUT Server] +name: 49.1.1. [TC-DIAG-TH_NW-1.1] Global Attributes [DUT-Server] config: nodeId: 0x12344321 - cluster: "Thread Network Diagnostics" + cluster: "Basic" endpoint: 0 tests: - - label: "Wait for the commissioned device to be retrieved" - cluster: "DelayCommands" - command: "WaitForCommissionee" - arguments: - values: - - name: "nodeId" - value: nodeId - - - label: "Sends ResetCounts command" - command: "ResetCounts" - - - label: "Read the Overruncount attribute" - command: "readAttribute" - attribute: "OverrunCount" - response: - value: 0 + - label: "Commission DUT to TH" + verification: | + + disabled: true + + - label: "TH reads the ClusterRevision from DUT" + verification: | + ./chip-tool threadnetworkdiagnostics read cluster-revision 24 0 + + [1649747941.607337][9541:9546] CHIP:DMG: SuppressResponse = true, + [1649747941.607399][9541:9546] CHIP:DMG: InteractionModelRevision = 1 + [1649747941.607455][9541:9546] CHIP:DMG: } + [1649747941.607752][9541:9546] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_FFFD DataVersion: 1406212801 + [1649747941.607906][9541:9546] CHIP:TOO: ClusterRevision: 1 + disabled: true + + - label: "TH reads the FeatureMap from DUT" + verification: | + ./chip-tool threadnetworkdiagnostics read feature-map 24 0 + + [1649747973.385016][9548:9553] CHIP:DMG: SuppressResponse = true, + [1649747973.385080][9548:9553] CHIP:DMG: InteractionModelRevision = 1 + [1649747973.385138][9548:9553] CHIP:DMG: } + [1649747973.385437][9548:9553] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_FFFC DataVersion: 1406212801 + [1649747973.385572][9548:9553] CHIP:TOO: FeatureMap: 15 + disabled: true + + - label: "TH reads AttributeList from DUT" + verification: | + ./chip-tool threadnetworkdiagnostics read attribute-list 24 0 + + [1649748119.656589][9559:9564] CHIP:DMG: SuppressResponse = true, + [1649748119.656616][9559:9564] CHIP:DMG: InteractionModelRevision = 1 + [1649748119.656639][9559:9564] CHIP:DMG: } + [1649748119.656908][9559:9564] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_FFFB DataVersion: 1406212801 + [1649748119.657030][9559:9564] CHIP:TOO: AttributeList: 68 entries + [1649748119.657064][9559:9564] CHIP:TOO: [1]: 0 + [1649748119.657089][9559:9564] CHIP:TOO: [2]: 1 + [1649748119.657114][9559:9564] CHIP:TOO: [3]: 2 + [1649748119.657139][9559:9564] CHIP:TOO: [4]: 3 + [1649748119.657163][9559:9564] CHIP:TOO: [5]: 4 + [1649748119.657187][9559:9564] CHIP:TOO: [6]: 5 + [1649748119.657211][9559:9564] CHIP:TOO: [7]: 6 + [1649748119.657235][9559:9564] CHIP:TOO: [8]: 7 + [1649748119.657259][9559:9564] CHIP:TOO: [9]: 8 + [1649748119.657283][9559:9564] CHIP:TOO: [10]: 9 + [1649748119.657308][9559:9564] CHIP:TOO: [11]: 10 + [1649748119.657333][9559:9564] CHIP:TOO: [12]: 11 + [1649748119.657357][9559:9564] CHIP:TOO: [13]: 12 + [1649748119.657381][9559:9564] CHIP:TOO: [14]: 13 + [1649748119.657405][9559:9564] CHIP:TOO: [15]: 14 + [1649748119.657429][9559:9564] CHIP:TOO: [16]: 15 + [1649748119.657453][9559:9564] CHIP:TOO: [17]: 16 + [1649748119.657477][9559:9564] CHIP:TOO: [18]: 17 + [1649748119.657502][9559:9564] CHIP:TOO: [19]: 18 + [1649748119.657526][9559:9564] CHIP:TOO: [20]: 19 + [1649748119.657550][9559:9564] CHIP:TOO: [21]: 20 + [1649748119.657575][9559:9564] CHIP:TOO: [22]: 21 + [1649748119.657599][9559:9564] CHIP:TOO: [23]: 22 + [1649748119.657623][9559:9564] CHIP:TOO: [24]: 23 + [1649748119.657647][9559:9564] CHIP:TOO: [25]: 24 + [1649748119.657671][9559:9564] CHIP:TOO: [26]: 25 + [1649748119.657695][9559:9564] CHIP:TOO: [27]: 26 + [1649748119.657719][9559:9564] CHIP:TOO: [28]: 27 + [1649748119.657744][9559:9564] CHIP:TOO: [29]: 28 + [1649748119.657768][9559:9564] CHIP:TOO: [30]: 29 + [1649748119.657792][9559:9564] CHIP:TOO: [31]: 30 + [1649748119.657816][9559:9564] CHIP:TOO: [32]: 31 + [1649748119.657840][9559:9564] CHIP:TOO: [33]: 32 + [1649748119.657864][9559:9564] CHIP:TOO: [34]: 33 + [1649748119.657888][9559:9564] CHIP:TOO: [35]: 34 + [1649748119.657912][9559:9564] CHIP:TOO: [36]: 35 + [1649748119.657970][9559:9564] CHIP:TOO: [37]: 36 + [1649748119.657996][9559:9564] CHIP:TOO: [38]: 37 + [1649748119.658020][9559:9564] CHIP:TOO: [39]: 38 + [1649748119.658044][9559:9564] CHIP:TOO: [40]: 39 + [1649748119.658068][9559:9564] CHIP:TOO: [41]: 40 + [1649748119.658093][9559:9564] CHIP:TOO: [42]: 41 + [1649748119.658117][9559:9564] CHIP:TOO: [43]: 42 + [1649748119.658141][9559:9564] CHIP:TOO: [44]: 43 + [1649748119.658165][9559:9564] CHIP:TOO: [45]: 44 + [1649748119.658189][9559:9564] CHIP:TOO: [46]: 45 + [1649748119.658213][9559:9564] CHIP:TOO: [47]: 46 + [1649748119.658237][9559:9564] CHIP:TOO: [48]: 47 + [1649748119.658261][9559:9564] CHIP:TOO: [49]: 48 + [1649748119.658285][9559:9564] CHIP:TOO: [50]: 49 + [1649748119.658310][9559:9564] CHIP:TOO: [51]: 50 + [1649748119.658334][9559:9564] CHIP:TOO: [52]: 51 + [1649748119.658358][9559:9564] CHIP:TOO: [53]: 52 + [1649748119.658382][9559:9564] CHIP:TOO: [54]: 53 + [1649748119.658406][9559:9564] CHIP:TOO: [55]: 54 + [1649748119.658431][9559:9564] CHIP:TOO: [56]: 55 + [1649748119.658455][9559:9564] CHIP:TOO: [57]: 56 + [1649748119.658479][9559:9564] CHIP:TOO: [58]: 57 + [1649748119.658503][9559:9564] CHIP:TOO: [59]: 58 + [1649748119.658527][9559:9564] CHIP:TOO: [60]: 59 + [1649748119.658551][9559:9564] CHIP:TOO: [61]: 60 + [1649748119.658575][9559:9564] CHIP:TOO: [62]: 61 + [1649748119.658599][9559:9564] CHIP:TOO: [63]: 62 + [1649748119.658623][9559:9564] CHIP:TOO: [64]: 65528 + [1649748119.658648][9559:9564] CHIP:TOO: [65]: 65529 + [1649748119.658673][9559:9564] CHIP:TOO: [66]: 65531 + [1649748119.658697][9559:9564] CHIP:TOO: [67]: 65532 + [1649748119.658722][9559:9564] CHIP:TOO: [68]: 65533 + disabled: true + + - label: "TH reads EventList from DUT" + verification: | + Event List is not supported by CHIP Tool + disabled: true + + - label: "TH reads AcceptedCommandList from DUT" + verification: | + ./chip-tool threadnetworkdiagnostics read accepted-command-list 24 0 + + [1649748231.835572][9579:9584] CHIP:DMG: SuppressResponse = true, + [1649748231.835633][9579:9584] CHIP:DMG: InteractionModelRevision = 1 + [1649748231.835690][9579:9584] CHIP:DMG: } + [1649748231.836192][9579:9584] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_FFF9 DataVersion: 1406212801 + [1649748231.836344][9579:9584] CHIP:TOO: AcceptedCommandList: 1 entries + [1649748231.836420][9579:9584] CHIP:TOO: [1]: 0 + disabled: true + + - label: "TH reads GeneratedCommandList from DUT" + verification: | + ./chip-tool threadnetworkdiagnostics read generated-command-list 24 0 + + [1649748201.118100][9570:9575] CHIP:DMG: SuppressResponse = true, + [1649748201.118163][9570:9575] CHIP:DMG: InteractionModelRevision = 1 + [1649748201.118221][9570:9575] CHIP:DMG: } + [1649748201.118561][9570:9575] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_FFF8 DataVersion: 1406212801 + [1649748201.118707][9570:9575] CHIP:TOO: GeneratedCommandList: 0 entries + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_1_2.yaml b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_1.yaml similarity index 99% rename from src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_1_2.yaml rename to src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_1.yaml index 974f3524402a34..5508115ca58568 100644 --- a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_1_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_1.yaml @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -name: 51.2. TC-DIAG-TH_NW-1.2 Attributes [DUT Server] +name: 49.2.1. [TC-DIAG-TH_NW-2.1] Attributes [DUT- Server] config: nodeId: 0x12344321 diff --git a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_4.yaml b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_4.yaml new file mode 100644 index 00000000000000..d2dd558a7ff2ce --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_4.yaml @@ -0,0 +1,38 @@ +# 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. + +name: 49.2.4. [TC-DIAG-TH_NW-2.4] ResetCounts Command[DUT- Server] + +config: + nodeId: 0x12344321 + cluster: "Thread Network Diagnostics" + endpoint: 0 + +tests: + - label: "Wait for the commissioned device to be retrieved" + cluster: "DelayCommands" + command: "WaitForCommissionee" + arguments: + values: + - name: "nodeId" + value: nodeId + + - label: "Sends ResetCounts command" + command: "ResetCounts" + + - label: "Read the Overruncount attribute" + command: "readAttribute" + attribute: "OverrunCount" + response: + value: 0 diff --git a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_5.yaml b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_5.yaml new file mode 100644 index 00000000000000..ea94eef973966c --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_5.yaml @@ -0,0 +1,76 @@ +# 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: + 48.2.5. [TC-DIAG-TH_NW-2.5] Thread Network Diagnostics Cluster Events [DUT- + Server] + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: "Induce a DUT by an Unspecified failure" + verification: | + Not Implemented in CHIP Tool + disabled: true + + - label: "Induce a DUT by LinkDown failure" + verification: | + Not Implemented in CHIP Tool + disabled: true + + - label: "Induce a DUT by HardwareFailure" + verification: | + Not Implemented in CHIP Tool + disabled: true + + - label: "Induce a DUT by NetworkJammed Failure" + verification: | + Not Implemented in CHIP Tool + disabled: true + + - label: "Induce a DUT by an Unspecified failure" + verification: | + Not Implemented in CHIP Tool + disabled: true + + - label: "Induce a DUT by LinkDown failure" + verification: | + Not Implemented in CHIP Tool + disabled: true + + - label: "Induce a DUT by HardwareFailure" + verification: | + Not Implemented in CHIP Tool + disabled: true + + - label: "Induce a DUT by NetworkJammed Failure" + verification: | + Not Implemented in CHIP Tool + disabled: true + + - label: "Disconnect and reconnect a node to a Thread network" + verification: | + ./chip-tool threadnetworkdiagnostics read-event connection-status 137 0 + + [1651233430.972821][7560:7565] CHIP:DMG: ReportDataMessage = + [1651233430.972891][7560:7565] CHIP:DMG: { + [1651233430.972950][7560:7565] CHIP:DMG: SuppressResponse = true, + [1651233430.973013][7560:7565] CHIP:DMG: InteractionModelRevision = 1 + [1651233430.973070][7560:7565] CHIP:DMG: } + [1651233430.973222][7560:7565] CHIP:EM: Sending Standalone Ack for MessageCounter:6424591 on exchange 2503i + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_6.yaml b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_1.yaml similarity index 100% rename from src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_6.yaml rename to src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_1.yaml diff --git a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_7.yaml b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_2.yaml similarity index 100% rename from src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_7.yaml rename to src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_2.yaml diff --git a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_8.yaml b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_3.yaml similarity index 100% rename from src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_8.yaml rename to src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_3.yaml diff --git a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_9.yaml b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_4.yaml similarity index 100% rename from src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_2_9.yaml rename to src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_4.yaml diff --git a/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_5.yaml b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_5.yaml new file mode 100644 index 00000000000000..5354e8750d60e2 --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_DIAG_TH_NW_3_5.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: + 48.3.5. [TC-DIAG-TH_NW-3.5] Thread Network Diagnostics Cluster Events [DUT- + Client] + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: "Simulate an Unspecified failure on TH" + verification: | + Not Implemented in CHIP Tool + disabled: true + + - label: "Simulate a LinkDown failure on TH" + verification: | + Not Implemented in CHIP Tool + disabled: true + + - label: "Simulate a HardwareFailure on TH" + verification: | + Not Implemented in CHIP Tool + disabled: true + + - label: "Simulate a NetworkJammed Failure on TH" + verification: | + Not Implemented in CHIP Tool + disabled: true + + - label: "Simulate an Unspecified failure on TH" + verification: | + Not Implemented in CHIP Tool + disabled: true + + - label: "Simulate a LinkDown failure on TH" + verification: | + Not Implemented in CHIP Tool + disabled: true + + - label: "Simulate a HardwareFailure on TH" + verification: | + Not Implemented in CHIP Tool + disabled: true + + - label: "Simulate a NetworkJammed Failure on TH" + verification: | + Not Implemented in CHIP Tool + disabled: true + + - label: "Simulate disconnecting and reconnecting to a Thread network on TH" + verification: | + ./chip-tool threadnetworkdiagnostics read-event connection-status 137 0 + + + D: 6728348 [EM]Handling via exchange: 2503r, Delegate: 0x2000753c + D: 6728354 [IM]Received Read request + D: 6728358 [DMG]IM RH moving to [GeneratingReports] + D: 6728363 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 0 + D: 6728372 [DMG]Fetched 0 events + D: 6728375 [DMG] Sending report (payload has 7 bytes)... + I: 6728381 [IN]Prepared secure message 0x20004a74 to 0x000000000001B669 (1) of. + I: 6728395 [IN]Sending encrypted msg 0x20004a74 with MessageCounter:6424591 to c + D: 6728409 [DMG] OnReportConfirm: NumReports = 0 + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_EMR_1_1.yaml b/src/app/tests/suites/certification/Test_TC_EMR_1_1.yaml deleted file mode 100644 index 6cd924bf349012..00000000000000 --- a/src/app/tests/suites/certification/Test_TC_EMR_1_1.yaml +++ /dev/null @@ -1,98 +0,0 @@ -# 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. - -name: 13.1.1. [TC-EMR-1.1] Global attributes with server as DUT - -config: - nodeId: 0x12344321 - cluster: "Electrical Measurement" - endpoint: 1 - -tests: - - label: "Wait for the commissioned device to be retrieved" - cluster: "DelayCommands" - command: "WaitForCommissionee" - arguments: - values: - - name: "nodeId" - value: nodeId - - - label: "read the global attribute: ClusterRevision" - command: "readAttribute" - attribute: "ClusterRevision" - response: - value: 3 - - - label: "Read the global attribute constraints: ClusterRevision" - command: "readAttribute" - attribute: "ClusterRevision" - response: - constraints: - type: uint16 - - - label: - "write the default values to mandatory global attribute: - ClusterRevision" - command: "writeAttribute" - attribute: "ClusterRevision" - arguments: - value: 1 - response: - error: UNSUPPORTED_WRITE - - - label: "reads back global attribute: ClusterRevision" - command: "readAttribute" - attribute: "ClusterRevision" - response: - value: 3 - - - label: "Read the global attribute: AttributeList" - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - - #issue #11053 disabled steps below Global attributes missing from YAML framework - - label: "Read the global attribute: EventList" - disabled: true - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - - - label: "Read the global attribute: AcceptedCommandList" - disabled: true - command: "readAttribute" - attribute: "AcceptedCommandList" - response: - constraints: - type: list - - - label: "Read the global attribute: GeneratedCommandList" - disabled: true - command: "readAttribute" - attribute: "GeneratedCommandList" - response: - constraints: - type: list - - - label: "Read the optional global attribute : FeatureMap" - disabled: true - command: "readAttribute" - attribute: "FeatureMap" - response: - constraints: - type: map32 diff --git a/src/app/tests/suites/certification/Test_TC_GENDIAG_1_2.yaml b/src/app/tests/suites/certification/Test_TC_GENDIAG_1_2.yaml deleted file mode 100644 index 71663c38bd2854..00000000000000 --- a/src/app/tests/suites/certification/Test_TC_GENDIAG_1_2.yaml +++ /dev/null @@ -1,466 +0,0 @@ -# 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: 87.2.1. [TC-GENDIAG-1.2] Attributes with client as DUT - -config: - nodeId: 0x12344321 - cluster: "Basic" - endpoint: 0 - -tests: - - label: "DUT reads a attribute value from TH." - verification: | - ./chip-tool generaldiagnostics read network-interfaces 1 0 - - [1636557398.652588][2921:2927] CHIP:EM: Flushed pending ack for MessageCounter:1532129280 on exchange 32260i - [1636557398.762984][2921:2927] CHIP:EM: Received message of type 0x5 with protocolId (0, 1) and MessageCounter:1 on exchange 32261i - [1636557398.763086][2921:2927] CHIP:EM: Rxd Ack; Removing MessageCounter:0 from Retrans Table on exchange 32261i - [1636557398.763136][2921:2927] CHIP:EM: Removed CHIP MessageCounter:0 from RetransTable on exchange 32261i - [1636557398.763218][2921:2927] CHIP:DMG: ReportDataMessage = - [1636557398.763272][2921:2927] CHIP:DMG: { - [1636557398.763313][2921:2927] CHIP:DMG: AttributeDataList = - [1636557398.763365][2921:2927] CHIP:DMG: [ - [1636557398.763413][2921:2927] CHIP:DMG: AttributeDataElement = - [1636557398.763475][2921:2927] CHIP:DMG: { - [1636557398.763526][2921:2927] CHIP:DMG: AttributePathIB = - [1636557398.763599][2921:2927] CHIP:DMG: { - [1636557398.763672][2921:2927] CHIP:DMG: Endpoint = 0x1, - [1636557398.763748][2921:2927] CHIP:DMG: Cluster = 0x33, - [1636557398.763824][2921:2927] CHIP:DMG: Attribute = 0x0000_0000, - [1636557398.763895][2921:2927] CHIP:DMG: } - [1636557398.763971][2921:2927] CHIP:DMG: - [1636557398.764041][2921:2927] CHIP:DMG: Data = [ - [1636557398.764111][2921:2927] CHIP:DMG: - [1636557398.764180][2921:2927] CHIP:DMG: { - [1636557398.764260][2921:2927] CHIP:DMG: 0x0 = "docker0", - [1636557398.764398][2921:2927] CHIP:DMG: 0x1 = false, - [1636557398.764477][2921:2927] CHIP:DMG: 0x2 = false, - [1636557398.764557][2921:2927] CHIP:DMG: 0x3 = false, - [1636557398.764633][2921:2927] CHIP:DMG: 0x4 = [ - [1636557398.764712][2921:2927] CHIP:DMG: 0x2, 0x42, 0xb1, 0xa, 0x8d, 0xbb, - [1636557398.764794][2921:2927] CHIP:DMG: ] - [1636557398.764872][2921:2927] CHIP:DMG: 0x5 = 0, - [1636557398.764950][2921:2927] CHIP:DMG: }, - [1636557398.765023][2921:2927] CHIP:DMG: { - [1636557398.765099][2921:2927] CHIP:DMG: 0x0 = "br-df4639020401", - [1636557398.765180][2921:2927] CHIP:DMG: 0x1 = false, - [1636557398.765257][2921:2927] CHIP:DMG: 0x2 = false, - [1636557398.765334][2921:2927] CHIP:DMG: 0x3 = false, - [1636557398.765410][2921:2927] CHIP:DMG: 0x4 = [ - [1636557398.765488][2921:2927] CHIP:DMG: 0x2, 0x42, 0x37, 0x57, 0x42, 0x53, - [1636557398.765569][2921:2927] CHIP:DMG: ] - [1636557398.765648][2921:2927] CHIP:DMG: 0x5 = 0, - [1636557398.765724][2921:2927] CHIP:DMG: }, - [1636557398.765797][2921:2927] CHIP:DMG: { - [1636557398.765873][2921:2927] CHIP:DMG: 0x0 = "br-9b548749a6f7", - [1636557398.765952][2921:2927] CHIP:DMG: 0x1 = false, - [1636557398.766031][2921:2927] CHIP:DMG: 0x2 = false, - [1636557398.766108][2921:2927] CHIP:DMG: 0x3 = false, - [1636557398.766185][2921:2927] CHIP:DMG: 0x4 = [ - [1636557398.766263][2921:2927] CHIP:DMG: 0x2, 0x42, 0xa8, 0x9e, 0xe9, 0x22, - [1636557398.766347][2921:2927] CHIP:DMG: ] - [1636557398.766424][2921:2927] CHIP:DMG: 0x5 = 0, - [1636557398.766503][2921:2927] CHIP:DMG: }, - [1636557398.766576][2921:2927] CHIP:DMG: { - [1636557398.766652][2921:2927] CHIP:DMG: 0x0 = "wlan0", - [1636557398.766731][2921:2927] CHIP:DMG: 0x1 = true, - [1636557398.766809][2921:2927] CHIP:DMG: 0x2 = false, - [1636557398.766886][2921:2927] CHIP:DMG: 0x3 = false, - [1636557398.766962][2921:2927] CHIP:DMG: 0x4 = [ - [1636557398.767180][2921:2927] CHIP:DMG: 0xe4, 0x5f, 0x1, 0x2f, 0x5, 0xf9, - [1636557398.767277][2921:2927] CHIP:DMG: ] - [1636557398.767358][2921:2927] CHIP:DMG: 0x5 = 1, - [1636557398.767435][2921:2927] CHIP:DMG: }, - [1636557398.767507][2921:2927] CHIP:DMG: { - [1636557398.767583][2921:2927] CHIP:DMG: 0x0 = "eth0", - [1636557398.767661][2921:2927] CHIP:DMG: 0x1 = false, - [1636557398.767740][2921:2927] CHIP:DMG: 0x2 = false, - [1636557398.767818][2921:2927] CHIP:DMG: 0x3 = false, - [1636557398.767893][2921:2927] CHIP:DMG: 0x4 = [ - [1636557398.767972][2921:2927] CHIP:DMG: 0xe4, 0x5f, 0x1, 0x2f, 0x5, 0xf8, - [1636557398.768058][2921:2927] CHIP:DMG: ] - [1636557398.768136][2921:2927] CHIP:DMG: 0x5 = 2, - [1636557398.768212][2921:2927] CHIP:DMG: }, - [1636557398.768310][2921:2927] CHIP:DMG: { - [1636557398.768389][2921:2927] CHIP:DMG: 0x0 = "lo", - [1636557398.768468][2921:2927] CHIP:DMG: 0x1 = true, - [1636557398.768545][2921:2927] CHIP:DMG: 0x2 = false, - [1636557398.768623][2921:2927] CHIP:DMG: 0x3 = false, - [1636557398.768699][2921:2927] CHIP:DMG: 0x4 = [ - [1636557398.768777][2921:2927] CHIP:DMG: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - [1636557398.768860][2921:2927] CHIP:DMG: ] - [1636557398.768907][2921:2927] CHIP:DMG: 0x5 = 0, - [1636557398.768953][2921:2927] CHIP:DMG: }, - [1636557398.769050][2921:2927] CHIP:DMG: ], - [1636557398.769094][2921:2927] CHIP:DMG: DataElementVersion = 0x0, - [1636557398.769134][2921:2927] CHIP:DMG: }, - [1636557398.769199][2921:2927] CHIP:DMG: - [1636557398.769227][2921:2927] CHIP:DMG: ], - [1636557398.769286][2921:2927] CHIP:DMG: - [1636557398.769313][2921:2927] CHIP:DMG: } - [1636557398.769502][2921:2927] CHIP:ZCL: ReadAttributesResponse: - [1636557398.769528][2921:2927] CHIP:ZCL: ClusterId: 0x0000_0033 - [1636557398.769557][2921:2927] CHIP:ZCL: attributeId: 0x0000_0000 - [1636557398.769582][2921:2927] CHIP:ZCL: status: Success (0x0000) - [1636557398.769606][2921:2927] CHIP:ZCL: attribute TLV Type: 0x16 - [1636557398.769690][2921:2927] CHIP:TOO: OnGeneralDiagnosticsNetworkInterfacesListAttributeResponse: 6 entries - [1636557398.769823][2921:2927] CHIP:TOO: [1]: { - [1636557398.769851][2921:2927] CHIP:TOO: Name: docker0 - [1636557398.769879][2921:2927] CHIP:TOO: FabricConnected: FALSE - [1636557398.769904][2921:2927] CHIP:TOO: OffPremiseServicesReachableIPv4: FALSE - [1636557398.769929][2921:2927] CHIP:TOO: OffPremiseServicesReachableIPv6: FALSE - [1636557398.769955][2921:2927] CHIP:TOO: HardwareAddress: 6 - [1636557398.769984][2921:2927] CHIP:TOO: Type: 0 - [1636557398.770009][2921:2927] CHIP:TOO: } - [1636557398.770048][2921:2927] CHIP:TOO: [2]: { - [1636557398.770074][2921:2927] CHIP:TOO: Name: br-df4639020401 - [1636557398.770099][2921:2927] CHIP:TOO: FabricConnected: FALSE - [1636557398.770123][2921:2927] CHIP:TOO: OffPremiseServicesReachableIPv4: FALSE - [1636557398.770148][2921:2927] CHIP:TOO: OffPremiseServicesReachableIPv6: FALSE - [1636557398.770173][2921:2927] CHIP:TOO: HardwareAddress: 6 - [1636557398.770199][2921:2927] CHIP:TOO: Type: 0 - [1636557398.770224][2921:2927] CHIP:TOO: } - [1636557398.770261][2921:2927] CHIP:TOO: [3]: { - [1636557398.770288][2921:2927] CHIP:TOO: Name: br-9b548749a6f7 - [1636557398.770313][2921:2927] CHIP:TOO: FabricConnected: FALSE - [1636557398.770338][2921:2927] CHIP:TOO: OffPremiseServicesReachableIPv4: FALSE - [1636557398.770363][2921:2927] CHIP:TOO: OffPremiseServicesReachableIPv6: FALSE - [1636557398.770387][2921:2927] CHIP:TOO: HardwareAddress: 6 - [1636557398.770414][2921:2927] CHIP:TOO: Type: 0 - [1636557398.770438][2921:2927] CHIP:TOO: } - [1636557398.770476][2921:2927] CHIP:TOO: [4]: { - [1636557398.770502][2921:2927] CHIP:TOO: Name: wlan0 - [1636557398.770526][2921:2927] CHIP:TOO: FabricConnected: TRUE - [1636557398.770551][2921:2927] CHIP:TOO: OffPremiseServicesReachableIPv4: FALSE - [1636557398.770576][2921:2927] CHIP:TOO: OffPremiseServicesReachableIPv6: FALSE - [1636557398.770601][2921:2927] CHIP:TOO: HardwareAddress: 6 - [1636557398.770627][2921:2927] CHIP:TOO: Type: 1 - [1636557398.770651][2921:2927] CHIP:TOO: } - [1636557398.770689][2921:2927] CHIP:TOO: [5]: { - [1636557398.770715][2921:2927] CHIP:TOO: Name: eth0 - [1636557398.770740][2921:2927] CHIP:TOO: FabricConnected: FALSE - [1636557398.770764][2921:2927] CHIP:TOO: OffPremiseServicesReachableIPv4: FALSE - [1636557398.770789][2921:2927] CHIP:TOO: OffPremiseServicesReachableIPv6: FALSE - [1636557398.770814][2921:2927] CHIP:TOO: HardwareAddress: 6 - [1636557398.770840][2921:2927] CHIP:TOO: Type: 2 - [1636557398.770864][2921:2927] CHIP:TOO: } - [1636557398.770901][2921:2927] CHIP:TOO: [6]: { - [1636557398.770927][2921:2927] CHIP:TOO: Name: lo - [1636557398.770952][2921:2927] CHIP:TOO: FabricConnected: TRUE - [1636557398.770977][2921:2927] CHIP:TOO: OffPremiseServicesReachableIPv4: FALSE - [1636557398.771001][2921:2927] CHIP:TOO: OffPremiseServicesReachableIPv6: FALSE - [1636557398.771026][2921:2927] CHIP:TOO: HardwareAddress: 6 - [1636557398.771052][2921:2927] CHIP:TOO: Type: 0 - [1636557398.771077][2921:2927] CHIP:TOO: } - [1636557398.771188][2921:2927] CHIP:EM: Piggybacking Ack for MessageCounter:1 on exchange: 32261i - [1636557398.771266][2921:2927] CHIP:IN: Prepared encrypted message 0xaaaaeca5bf00 to 0x0000000000000001 of type 0x1 and protocolId (0, 1) on exchange 32261i with MessageC - ounter:1. - [1636557398.771312][2921:2927] CHIP:IN: Sending encrypted msg 0xaaaaeca5bf00 with MessageCounter:1 to 0x0000000000000001 at monotonic time: 3104047 msec - disabled: true - - - label: "DUT reads a attribute value from TH." - verification: | - ./chip-tool generaldiagnostics read reboot-count 1 0 - - [1636557429.678822][2935:2941] CHIP:EM: Flushed pending ack for MessageCounter:1532129282 on exchange 22621i - [1636557429.719202][2935:2941] CHIP:EM: Received message of type 0x10 with protocolId (0, 0) and MessageCounter:1 on exchange 22622i - [1636557429.719259][2935:2941] CHIP:EM: Rxd Ack; Removing MessageCounter:0 from Retrans Table on exchange 22622i - [1636557429.719289][2935:2941] CHIP:EM: Removed CHIP MessageCounter:0 from RetransTable on exchange 22622i - [1636557429.752586][2935:2941] CHIP:EM: Received message of type 0x5 with protocolId (0, 1) and MessageCounter:2 on exchange 22622i - [1636557429.752653][2935:2941] CHIP:EM: CHIP MessageCounter:0 not in RetransTable on exchange 22622i - [1636557429.752737][2935:2941] CHIP:DMG: ReportDataMessage = - [1636557429.752792][2935:2941] CHIP:DMG: { - [1636557429.752835][2935:2941] CHIP:DMG: AttributeDataList = - [1636557429.752889][2935:2941] CHIP:DMG: [ - [1636557429.752938][2935:2941] CHIP:DMG: AttributeDataElement = - [1636557429.753004][2935:2941] CHIP:DMG: { - [1636557429.753062][2935:2941] CHIP:DMG: AttributePathIB = - [1636557429.753136][2935:2941] CHIP:DMG: { - [1636557429.753209][2935:2941] CHIP:DMG: Endpoint = 0x1, - [1636557429.753287][2935:2941] CHIP:DMG: Cluster = 0x33, - [1636557429.753364][2935:2941] CHIP:DMG: Attribute = 0x0000_0001, - [1636557429.753435][2935:2941] CHIP:DMG: } - [1636557429.753513][2935:2941] CHIP:DMG: - [1636557429.753588][2935:2941] CHIP:DMG: Data = 2, - [1636557429.753659][2935:2941] CHIP:DMG: DataElementVersion = 0x0, - [1636557429.753726][2935:2941] CHIP:DMG: }, - [1636557429.753793][2935:2941] CHIP:DMG: - [1636557429.753840][2935:2941] CHIP:DMG: ], - [1636557429.753900][2935:2941] CHIP:DMG: - [1636557429.753943][2935:2941] CHIP:DMG: } - [1636557429.754095][2935:2941] CHIP:ZCL: ReadAttributesResponse: - [1636557429.754139][2935:2941] CHIP:ZCL: ClusterId: 0x0000_0033 - [1636557429.754185][2935:2941] CHIP:ZCL: attributeId: 0x0000_0001 - [1636557429.754227][2935:2941] CHIP:ZCL: status: Success (0x0000) - [1636557429.754268][2935:2941] CHIP:ZCL: attribute TLV Type: 0x04 - [1636557429.754310][2935:2941] CHIP:TOO: Int16u attribute Response: 2 - [1636557429.754424][2935:2941] CHIP:EM: Piggybacking Ack for MessageCounter:2 on exchange: 22622i - [1636557429.754523][2935:2941] CHIP:IN: Prepared encrypted message 0xaaaae0f4ef00 to 0x0000000000000001 of type 0x1 and protocolId (0, 1) on exchange 22622i with MessageCounter:1. - [1636557429.754594][2935:2941] CHIP:IN: Sending encrypted msg 0xaaaae0f4ef00 with MessageCounter:1 to 0x0000000000000001 at monotonic time: 3135030 msec - disabled: true - - - label: "DUT reads a attribute value from TH." - verification: | - ./chip-tool generaldiagnostics read up-time 1 0 - - [1636557446.573304][2944:2949] CHIP:EM: Flushed pending ack for MessageCounter:1532129284 on exchange 58848i - [1636557446.611807][2944:2949] CHIP:EM: Received message of type 0x10 with protocolId (0, 0) and MessageCounter:1 on exchange 58849i - [1636557446.611854][2944:2949] CHIP:EM: Rxd Ack; Removing MessageCounter:0 from Retrans Table on exchange 58849i - [1636557446.611875][2944:2949] CHIP:EM: Removed CHIP MessageCounter:0 from RetransTable on exchange 58849i - [1636557446.646357][2944:2949] CHIP:EM: Received message of type 0x5 with protocolId (0, 1) and MessageCounter:2 on exchange 58849i - [1636557446.646428][2944:2949] CHIP:EM: CHIP MessageCounter:0 not in RetransTable on exchange 58849i - [1636557446.646532][2944:2949] CHIP:DMG: ReportDataMessage = - [1636557446.646588][2944:2949] CHIP:DMG: { - [1636557446.646632][2944:2949] CHIP:DMG: AttributeDataList = - [1636557446.646685][2944:2949] CHIP:DMG: [ - [1636557446.646734][2944:2949] CHIP:DMG: AttributeDataElement = - [1636557446.646798][2944:2949] CHIP:DMG: { - [1636557446.646855][2944:2949] CHIP:DMG: AttributePathIB = - [1636557446.646928][2944:2949] CHIP:DMG: { - [1636557446.647004][2944:2949] CHIP:DMG: Endpoint = 0x1, - [1636557446.647081][2944:2949] CHIP:DMG: Cluster = 0x33, - [1636557446.647160][2944:2949] CHIP:DMG: Attribute = 0x0000_0002, - [1636557446.647231][2944:2949] CHIP:DMG: } - [1636557446.647309][2944:2949] CHIP:DMG: - [1636557446.647387][2944:2949] CHIP:DMG: Data = 1132, - [1636557446.647453][2944:2949] CHIP:DMG: DataElementVersion = 0x0, - [1636557446.647520][2944:2949] CHIP:DMG: }, - [1636557446.647588][2944:2949] CHIP:DMG: - [1636557446.647638][2944:2949] CHIP:DMG: ], - [1636557446.647698][2944:2949] CHIP:DMG: - [1636557446.647743][2944:2949] CHIP:DMG: } - [1636557446.647894][2944:2949] CHIP:ZCL: ReadAttributesResponse: - [1636557446.647938][2944:2949] CHIP:ZCL: ClusterId: 0x0000_0033 - [1636557446.647985][2944:2949] CHIP:ZCL: attributeId: 0x0000_0002 - [1636557446.648028][2944:2949] CHIP:ZCL: status: Success (0x0000) - [1636557446.648069][2944:2949] CHIP:ZCL: attribute TLV Type: 0x04 - [1636557446.648112][2944:2949] CHIP:TOO: Int64u attribute Response: 1132 - [1636557446.648231][2944:2949] CHIP:EM: Piggybacking Ack for MessageCounter:2 on exchange: 58849i - [1636557446.648389][2944:2949] CHIP:IN: Prepared encrypted message 0xaaaad4f6df00 to 0x0000000000000001 of type 0x1 and protocolId (0, 1) on exchange 58849i with MessageC - ounter:1. - [1636557446.648459][2944:2949] CHIP:IN: Sending encrypted msg 0xaaaad4f6df00 with MessageCounter:1 to 0x0000000000000001 at monotonic time: 3151924 msec - disabled: true - - - label: "DUT reads a attribute value from TH." - verification: | - ./chip-tool generaldiagnostics read total-operational-hours 1 0 - - [1641964558.888877][42874:42879] CHIP:IN: Sending unauthenticated msg 0x7f3214b1a000 with MessageCounter:2008198488 to 0x0000000000000000 at monotonic time: 37232446 msec - [1641964558.888942][42874:42879] CHIP:EM: Flushed pending ack for MessageCounter:232282341 on exchange 38751i - [1641964558.931625][42874:42879] CHIP:EM: Received message of type 0x5 with protocolId (0, 1) and MessageCounter:13392059 on exchange 38752i - [1641964558.931677][42874:42879] CHIP:EM: Found matching exchange: 38752i, Delegate: 0x7f3200001980 - [1641964558.931706][42874:42879] CHIP:EM: Rxd Ack; Removing MessageCounter:12235477 from Retrans Table on exchange 38752i - [1641964558.931723][42874:42879] CHIP:EM: Removed CHIP MessageCounter:12235477 from RetransTable on exchange 38752i - [1641964558.931771][42874:42879] CHIP:DMG: ReportDataMessage = - [1641964558.931791][42874:42879] CHIP:DMG: { - [1641964558.931804][42874:42879] CHIP:DMG: AttributeReportIBs = - [1641964558.931829][42874:42879] CHIP:DMG: [ - [1641964558.931845][42874:42879] CHIP:DMG: AttributeReportIB = - [1641964558.931871][42874:42879] CHIP:DMG: { - [1641964558.931887][42874:42879] CHIP:DMG: AttributeDataIB = - [1641964558.931906][42874:42879] CHIP:DMG: { - [1641964558.931926][42874:42879] CHIP:DMG: DataVersion = 0x0, - [1641964558.931948][42874:42879] CHIP:DMG: AttributePathIB = - [1641964558.931967][42874:42879] CHIP:DMG: { - [1641964558.931986][42874:42879] CHIP:DMG: Endpoint = 0x0, - [1641964558.932009][42874:42879] CHIP:DMG: Cluster = 0x33, - [1641964558.932032][42874:42879] CHIP:DMG: Attribute = 0x0000_0003, - [1641964558.932054][42874:42879] CHIP:DMG: } - [1641964558.932104][42874:42879] CHIP:DMG: - [1641964558.932126][42874:42879] CHIP:DMG: Data = 0, - [1641964558.932144][42874:42879] CHIP:DMG: }, - [1641964558.932167][42874:42879] CHIP:DMG: - [1641964558.932184][42874:42879] CHIP:DMG: }, - [1641964558.932216][42874:42879] CHIP:DMG: - [1641964558.932239][42874:42879] CHIP:DMG: ], - [1641964558.932274][42874:42879] CHIP:DMG: - [1641964558.932297][42874:42879] CHIP:DMG: SuppressResponse = true, - [1641964558.932319][42874:42879] CHIP:DMG: } - [1641964558.932502][42874:42879] CHIP:TOO: GeneralDiagnostics.TotalOperationalHours response: 0 - [1641964558.932584][42874:42879] CHIP:EM: Sending Standalone Ack for MessageCounter:13392059 on exchange 38752i - [1641964558.932652][42874:42879] CHIP:IN: Prepared secure message 0x7f3214b19fe0 to 0x0000000000000002 (1) of type 0x10 and protocolId (0, 0) on exchange 38752i with MessageCounter:12235478. - [1641964558.932687][42874:42879] CHIP:IN: Sending encrypted msg 0x7f3214b19fe0 with MessageCounter:12235478 to 0x0000000000000002 (1) at monotonic time: 37232490 msec - [1641964558.932795][42874:42879] CHIP:EM: Flushed pending ack for MessageCounter:13392059 on exchange 38752i - disabled: true - - - label: "DUT reads a attribute value from TH." - verification: | - ./chip-tool generaldiagnostics read boot-reasons 1 0 - - [1636557536.267635][2963:2968] CHIP:EM: Flushed pending ack for MessageCounter:1532129288 on exchange 40103i - [1636557536.334504][2963:2968] CHIP:EM: Received message of type 0x5 with protocolId (0, 1) and MessageCounter:1 on exchange 40104i - [1636557536.334549][2963:2968] CHIP:EM: Rxd Ack; Removing MessageCounter:0 from Retrans Table on exchange 40104i - [1636557536.334570][2963:2968] CHIP:EM: Removed CHIP MessageCounter:0 from RetransTable on exchange 40104i - [1636557536.334609][2963:2968] CHIP:DMG: ReportDataMessage = - [1636557536.334635][2963:2968] CHIP:DMG: { - [1636557536.334653][2963:2968] CHIP:DMG: AttributeDataList = - [1636557536.334676][2963:2968] CHIP:DMG: [ - [1636557536.334697][2963:2968] CHIP:DMG: AttributeDataElement = - [1636557536.334724][2963:2968] CHIP:DMG: { - [1636557536.334746][2963:2968] CHIP:DMG: AttributePathIB = - [1636557536.334778][2963:2968] CHIP:DMG: { - [1636557536.334811][2963:2968] CHIP:DMG: Endpoint = 0x1, - [1636557536.334842][2963:2968] CHIP:DMG: Cluster = 0x33, - [1636557536.334874][2963:2968] CHIP:DMG: Attribute = 0x0000_0004, - [1636557536.334904][2963:2968] CHIP:DMG: } - [1636557536.334938][2963:2968] CHIP:DMG: - [1636557536.334970][2963:2968] CHIP:DMG: Data = 6, - [1636557536.334999][2963:2968] CHIP:DMG: DataElementVersion = 0x0, - [1636557536.335024][2963:2968] CHIP:DMG: }, - [1636557536.335053][2963:2968] CHIP:DMG: - [1636557536.335072][2963:2968] CHIP:DMG: ], - [1636557536.335098][2963:2968] CHIP:DMG: - [1636557536.335116][2963:2968] CHIP:DMG: } - [1636557536.335198][2963:2968] CHIP:ZCL: ReadAttributesResponse: - [1636557536.335217][2963:2968] CHIP:ZCL: ClusterId: 0x0000_0033 - [1636557536.335238][2963:2968] CHIP:ZCL: attributeId: 0x0000_0004 - [1636557536.335256][2963:2968] CHIP:ZCL: status: Success (0x0000) - [1636557536.335274][2963:2968] CHIP:ZCL: attribute TLV Type: 0x04 - [1636557536.335293][2963:2968] CHIP:TOO: Int8u attribute Response: 6 - [1636557536.335361][2963:2968] CHIP:EM: Piggybacking Ack for MessageCounter:1 on exchange: 40104i - [1636557536.335414][2963:2968] CHIP:IN: Prepared encrypted message 0xaaaaf45d5f00 to 0x0000000000000001 of type 0x1 and protocolId (0, 1) on exchange 40104i with MessageCounter:1. - [1636557536.335445][2963:2968] CHIP:IN: Sending encrypted msg 0xaaaaf45d5f00 with MessageCounter:1 to 0x0000000000000001 at monotonic time: 3241611 msec - disabled: true - - - label: "DUT reads a attribute value from TH." - verification: | - ./chip-tool generaldiagnostics read active-hardware-faults 1 0 - - [1641965190.317466][43496:43501] CHIP:IN: Sending unauthenticated msg 0x7fa9a09e4000 with MessageCounter:2890688003 to 0x0000000000000000 at monotonic time: 37863874 msec - [1641965190.317561][43496:43501] CHIP:EM: Flushed pending ack for MessageCounter:232282345 on exchange 8364i - [1641965190.363021][43496:43501] CHIP:EM: Received message of type 0x5 with protocolId (0, 1) and MessageCounter:7831593 on exchange 8365i - [1641965190.363074][43496:43501] CHIP:EM: Found matching exchange: 8365i, Delegate: 0x7fa98c001980 - [1641965190.363105][43496:43501] CHIP:EM: Rxd Ack; Removing MessageCounter:4919296 from Retrans Table on exchange 8365i - [1641965190.363125][43496:43501] CHIP:EM: Removed CHIP MessageCounter:4919296 from RetransTable on exchange 8365i - [1641965190.363196][43496:43501] CHIP:DMG: ReportDataMessage = - [1641965190.363226][43496:43501] CHIP:DMG: { - [1641965190.363247][43496:43501] CHIP:DMG: AttributeReportIBs = - [1641965190.363272][43496:43501] CHIP:DMG: [ - [1641965190.363292][43496:43501] CHIP:DMG: AttributeReportIB = - [1641965190.363329][43496:43501] CHIP:DMG: { - [1641965190.363355][43496:43501] CHIP:DMG: AttributeDataIB = - [1641965190.363379][43496:43501] CHIP:DMG: { - [1641965190.363408][43496:43501] CHIP:DMG: DataVersion = 0x0, - [1641965190.363435][43496:43501] CHIP:DMG: AttributePathIB = - [1641965190.363462][43496:43501] CHIP:DMG: { - [1641965190.363490][43496:43501] CHIP:DMG: Endpoint = 0x0, - [1641965190.363520][43496:43501] CHIP:DMG: Cluster = 0x33, - [1641965190.363549][43496:43501] CHIP:DMG: Attribute = 0x0000_0005, - [1641965190.363578][43496:43501] CHIP:DMG: } - [1641965190.363611][43496:43501] CHIP:DMG: - [1641965190.363637][43496:43501] CHIP:DMG: Data = [ - [1641965190.363668][43496:43501] CHIP:DMG: - [1641965190.363707][43496:43501] CHIP:DMG: ], - [1641965190.363740][43496:43501] CHIP:DMG: }, - [1641965190.363790][43496:43501] CHIP:DMG: - [1641965190.363817][43496:43501] CHIP:DMG: }, - [1641965190.363857][43496:43501] CHIP:DMG: - [1641965190.363881][43496:43501] CHIP:DMG: ], - [1641965190.363918][43496:43501] CHIP:DMG: - [1641965190.363943][43496:43501] CHIP:DMG: SuppressResponse = true, - [1641965190.363967][43496:43501] CHIP:DMG: } - [1641965190.364192][43496:43501] CHIP:TOO: GeneralDiagnostics.ActiveHardwareFaults response: 0 entries - [1641965190.364261][43496:43501] CHIP:EM: Sending Standalone Ack for MessageCounter:7831593 on exchange 8365i - [1641965190.364327][43496:43501] CHIP:IN: Prepared secure message 0x7fa9a09e3fe0 to 0x0000000000000002 (1) of type 0x10 and protocolId (0, 0) on exchange 8365i with MessageCounter:4919297. - [1641965190.364375][43496:43501] CHIP:IN: Sending encrypted msg 0x7fa9a09e3fe0 with MessageCounter:4919297 to 0x0000000000000002 (1) at monotonic time: 37863921 msec - [1641965190.364491][43496:43501] CHIP:EM: Flushed pending ack for MessageCounter:7831593 on exchange 8365i - disabled: true - - - label: "DUT reads a attribute value from TH." - verification: | - ./chip-tool generaldiagnostics read active-radio-faults 1 0 - - [1641965451.619831][43603:43608] CHIP:IN: Sending unauthenticated msg 0x7f6ceeffc000 with MessageCounter:1905359789 to 0x0000000000000000 at monotonic time: 38125177 msec - [1641965451.619898][43603:43608] CHIP:EM: Flushed pending ack for MessageCounter:232282347 on exchange 51439i - [1641965451.666375][43603:43608] CHIP:EM: Received message of type 0x5 with protocolId (0, 1) and MessageCounter:14540530 on exchange 51440i - [1641965451.666436][43603:43608] CHIP:EM: Found matching exchange: 51440i, Delegate: 0x7f6cdc001980 - [1641965451.666472][43603:43608] CHIP:EM: Rxd Ack; Removing MessageCounter:15284140 from Retrans Table on exchange 51440i - [1641965451.666486][43603:43608] CHIP:EM: Removed CHIP MessageCounter:15284140 from RetransTable on exchange 51440i - [1641965451.666541][43603:43608] CHIP:DMG: ReportDataMessage = - [1641965451.666570][43603:43608] CHIP:DMG: { - [1641965451.666586][43603:43608] CHIP:DMG: AttributeReportIBs = - [1641965451.666620][43603:43608] CHIP:DMG: [ - [1641965451.666638][43603:43608] CHIP:DMG: AttributeReportIB = - [1641965451.666672][43603:43608] CHIP:DMG: { - [1641965451.666699][43603:43608] CHIP:DMG: AttributeDataIB = - [1641965451.666723][43603:43608] CHIP:DMG: { - [1641965451.666748][43603:43608] CHIP:DMG: DataVersion = 0x0, - [1641965451.666773][43603:43608] CHIP:DMG: AttributePathIB = - [1641965451.666804][43603:43608] CHIP:DMG: { - [1641965451.666828][43603:43608] CHIP:DMG: Endpoint = 0x0, - [1641965451.666866][43603:43608] CHIP:DMG: Cluster = 0x33, - [1641965451.666905][43603:43608] CHIP:DMG: Attribute = 0x0000_0006, - [1641965451.666933][43603:43608] CHIP:DMG: } - [1641965451.666966][43603:43608] CHIP:DMG: - [1641965451.666988][43603:43608] CHIP:DMG: Data = [ - [1641965451.667032][43603:43608] CHIP:DMG: - [1641965451.667076][43603:43608] CHIP:DMG: ], - [1641965451.667106][43603:43608] CHIP:DMG: }, - [1641965451.667138][43603:43608] CHIP:DMG: - [1641965451.667153][43603:43608] CHIP:DMG: }, - [1641965451.667176][43603:43608] CHIP:DMG: - [1641965451.667189][43603:43608] CHIP:DMG: ], - [1641965451.667210][43603:43608] CHIP:DMG: - [1641965451.667227][43603:43608] CHIP:DMG: SuppressResponse = true, - [1641965451.667242][43603:43608] CHIP:DMG: } - [1641965451.667395][43603:43608] CHIP:TOO: GeneralDiagnostics.ActiveRadioFaults response: 0 entries - [1641965451.667448][43603:43608] CHIP:EM: Sending Standalone Ack for MessageCounter:14540530 on exchange 51440i - [1641965451.667495][43603:43608] CHIP:IN: Prepared secure message 0x7f6ceeffbfe0 to 0x0000000000000002 (1) of type 0x10 and protocolId (0, 0) on exchange 51440i with MessageCounter:15284141. - disabled: true - - - label: "DUT reads a attribute value from TH." - verification: | - ./chip-tool generaldiagnostics read active-network-faults 1 0 - - [1641965685.705750][43655:43660] CHIP:IN: Sending unauthenticated msg 0x7f90a77fd000 with MessageCounter:1562631730 to 0x0000000000000000 at monotonic time: 38359263 msec - [1641965685.705812][43655:43660] CHIP:EM: Flushed pending ack for MessageCounter:232282349 on exchange 18037i - [1641965685.799740][43655:43660] CHIP:EM: Received message of type 0x5 with protocolId (0, 1) and MessageCounter:15321486 on exchange 18038i - [1641965685.799801][43655:43660] CHIP:EM: Found matching exchange: 18038i, Delegate: 0x7f9094001980 - [1641965685.799846][43655:43660] CHIP:EM: Rxd Ack; Removing MessageCounter:12660801 from Retrans Table on exchange 18038i - [1641965685.799871][43655:43660] CHIP:EM: Removed CHIP MessageCounter:12660801 from RetransTable on exchange 18038i - [1641965685.799940][43655:43660] CHIP:DMG: ReportDataMessage = - [1641965685.799974][43655:43660] CHIP:DMG: { - [1641965685.799997][43655:43660] CHIP:DMG: AttributeReportIBs = - [1641965685.800035][43655:43660] CHIP:DMG: [ - [1641965685.800058][43655:43660] CHIP:DMG: AttributeReportIB = - [1641965685.800124][43655:43660] CHIP:DMG: { - [1641965685.800149][43655:43660] CHIP:DMG: AttributeDataIB = - [1641965685.800174][43655:43660] CHIP:DMG: { - [1641965685.800199][43655:43660] CHIP:DMG: DataVersion = 0x0, - [1641965685.800232][43655:43660] CHIP:DMG: AttributePathIB = - [1641965685.800259][43655:43660] CHIP:DMG: { - [1641965685.800279][43655:43660] CHIP:DMG: Endpoint = 0x0, - [1641965685.800301][43655:43660] CHIP:DMG: Cluster = 0x33, - [1641965685.800323][43655:43660] CHIP:DMG: Attribute = 0x0000_0007, - [1641965685.800345][43655:43660] CHIP:DMG: } - [1641965685.800367][43655:43660] CHIP:DMG: - [1641965685.800386][43655:43660] CHIP:DMG: Data = [ - [1641965685.800410][43655:43660] CHIP:DMG: - [1641965685.800437][43655:43660] CHIP:DMG: ], - [1641965685.800458][43655:43660] CHIP:DMG: }, - [1641965685.800483][43655:43660] CHIP:DMG: - [1641965685.800499][43655:43660] CHIP:DMG: }, - [1641965685.800525][43655:43660] CHIP:DMG: - [1641965685.800541][43655:43660] CHIP:DMG: ], - [1641965685.800567][43655:43660] CHIP:DMG: - [1641965685.800584][43655:43660] CHIP:DMG: SuppressResponse = true, - [1641965685.800600][43655:43660] CHIP:DMG: } - [1641965685.800755][43655:43660] CHIP:TOO: GeneralDiagnostics.ActiveNetworkFaults response: 0 entries - [1641965685.800812][43655:43660] CHIP:EM: Sending Standalone Ack for MessageCounter:15321486 on exchange 18038i - [1641965685.800868][43655:43660] CHIP:IN: Prepared secure message 0x7f90a77fcfe0 to 0x0000000000000002 (1) of type 0x10 and protocolId (0, 0) on exchange 18038i with MessageCounter:12660802. - [1641965685.800900][43655:43660] CHIP:IN: Sending encrypted msg 0x7f90a77fcfe0 with MessageCounter:12660802 to 0x0000000000000002 (1) at monotonic time: 38359358 msec - [1641965685.801006][43655:43660] CHIP:EM: Flushed pending ack for MessageCounter:15321486 on exchange 18038i - disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_1_1.yaml b/src/app/tests/suites/certification/Test_TC_IDM_1_1.yaml index affb77be34c378..bfa9cda1e2eef4 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_1_1.yaml @@ -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: - 19.1.1. [TC-IDM-1.1] Invoke Request Action from DUT to TH [DUT - Controller] + 20.1.1. [TC-IDM-1.1] Invoke Request Action from DUT to TH [DUT - Controller] config: nodeId: 0x12344321 @@ -30,6 +30,37 @@ tests: In case of chip tool, here is an example command to use sudo ./chip-tool identify identify 0 1 1 + + Verify we are getting EndpointID, CommandID, ClusterID in the response data (as below) matching with the data sent in the above command + + [1648721385.183101][2528:2528] CHIP:EM: Handling via exchange: 37235r, Delegate: 0xaaaaca773368 + [1648721385.183190][2528:2528] CHIP:DMG: InvokeRequestMessage = + [1648721385.183229][2528:2528] CHIP:DMG: { + [1648721385.183263][2528:2528] CHIP:DMG: suppressResponse = false, + [1648721385.183301][2528:2528] CHIP:DMG: timedRequest = false, + [1648721385.183342][2528:2528] CHIP:DMG: InvokeRequests = + [1648721385.183386][2528:2528] CHIP:DMG: [ + [1648721385.183423][2528:2528] CHIP:DMG: CommandDataIB = + [1648721385.183467][2528:2528] CHIP:DMG: { + [1648721385.183505][2528:2528] CHIP:DMG: CommandPathIB = + [1648721385.183553][2528:2528] CHIP:DMG: { + [1648721385.183605][2528:2528] CHIP:DMG: EndpointId = 0x1, + [1648721385.183661][2528:2528] CHIP:DMG: ClusterId = 0x3, + [1648721385.183716][2528:2528] CHIP:DMG: CommandId = 0x0, + [1648721385.183769][2528:2528] CHIP:DMG: }, + [1648721385.183818][2528:2528] CHIP:DMG: + [1648721385.183861][2528:2528] CHIP:DMG: CommandData = + [1648721385.183911][2528:2528] CHIP:DMG: { + [1648721385.183959][2528:2528] CHIP:DMG: 0x0 = 0, + [1648721385.184012][2528:2528] CHIP:DMG: }, + [1648721385.184060][2528:2528] CHIP:DMG: }, + [1648721385.184108][2528:2528] CHIP:DMG: + [1648721385.184142][2528:2528] CHIP:DMG: ], + [1648721385.184186][2528:2528] CHIP:DMG: + [1648721385.184221][2528:2528] CHIP:DMG: InteractionModelRevision = 1 + [1648721385.184256][2528:2528] CHIP:DMG: }, + [1648721385.184347][2528:2528] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0003 e=1 p=o + [1648721385.184403][2528:2528] CHIP:DMG: AccessControl: allowed disabled: true - label: @@ -56,15 +87,61 @@ tests: Messages to the TH." verification: | In case of chip tool, here is an example command to use + sudo ./chip-tool identify identify 10 1 1 + + Verify we are getting EndpointID, CommandID, ClusterID in the response data (as below) matching with the data sent in the above command + + + [1648721578.295986][2528:2528] CHIP:DMG: InvokeRequestMessage = + [1648721578.296016][2528:2528] CHIP:DMG: { + [1648721578.296039][2528:2528] CHIP:DMG: suppressResponse = false, + [1648721578.296066][2528:2528] CHIP:DMG: timedRequest = false, + [1648721578.296091][2528:2528] CHIP:DMG: InvokeRequests = + [1648721578.296120][2528:2528] CHIP:DMG: [ + [1648721578.296145][2528:2528] CHIP:DMG: CommandDataIB = + [1648721578.296180][2528:2528] CHIP:DMG: { + [1648721578.296208][2528:2528] CHIP:DMG: CommandPathIB = + [1648721578.296238][2528:2528] CHIP:DMG: { + [1648721578.296268][2528:2528] CHIP:DMG: EndpointId = 0x1, + [1648721578.296299][2528:2528] CHIP:DMG: ClusterId = 0x3, + [1648721578.296328][2528:2528] CHIP:DMG: CommandId = 0x0, + [1648721578.296357][2528:2528] CHIP:DMG: }, + [1648721578.296386][2528:2528] CHIP:DMG: + [1648721578.296412][2528:2528] CHIP:DMG: CommandData = + [1648721578.296440][2528:2528] CHIP:DMG: { + [1648721578.296470][2528:2528] CHIP:DMG: 0x0 = 10, + [1648721578.296499][2528:2528] CHIP:DMG: }, + [1648721578.296525][2528:2528] CHIP:DMG: }, + [1648721578.296554][2528:2528] CHIP:DMG: + [1648721578.296577][2528:2528] CHIP:DMG: ], + [1648721578.296607][2528:2528] CHIP:DMG: + [1648721578.296630][2528:2528] CHIP:DMG: InteractionModelRevision = 1 + [1648721578.296653][2528:2528] CHIP:DMG: }, + [1648721578.296718][2528:2528] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0003 e=1 p=o + [1648721578.296758][2528:2528] CHIP:DMG: AccessControl: allowed + [1648721578.296786][2528:2528] CHIP:DMG: Received command for Endpoint=1 Cluster=0x0000_0003 Command=0x0000_0000 + [1648721578.296828][2528:2528] CHIP:DMG: Endpoint 1, Cluster 0x0000_0003 update version to f25efe02 + [1648721578.296868][2528:2528] CHIP:ZCL: OnIdentifyStart + [1648721578.296917][2528:2528] CHIP:DMG: ICR moving to [AddingComm] + [1648721578.296950][2528:2528] CHIP:DMG: ICR moving to [AddedComma] + sudo ./chip-tool identify identify 10 1 1 sudo ./chip-tool identify identify 10 1 1 disabled: true - label: - "DUT sends the Invoke Request Message to the TH. The message should - contain a command that will return a data type of list as a response." + "DUT sends the Invoke Request Message to the TH. + The Message should + contain one valid CommandDataIB, which has the specific Endpoint, + Specific Cluster and Specific Command." verification: | - In case of chip tool, here is an example command to use - sudo ./chip-tool modeselect read supported-modes 1 1 + disabled: true + + - label: + "DUT sends the Invoke Request Message to the TH. + The Message should + contain one valid CommandDataIB, which has the specific Endpoint, + Specific Cluster and Specific Command. + Send 2 more Invoke Request + Messages to the TH." + verification: | + can be tested by using the command scan networks disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_1_2.yaml b/src/app/tests/suites/certification/Test_TC_IDM_1_2.yaml index b258b9249815cb..be43d49de95ea8 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_1_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_1_2.yaml @@ -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: 19.1.2. [TC-IDM-1.2] Invoke Response Action from DUT to TH. +name: 3.1.2. [TC-IDM-1.2] Invoke Response Action from DUT to TH. config: nodeId: 0x12344321 @@ -29,41 +29,11 @@ tests: ./chip-tool onoff on 1 20 - [1646259751838] [5046:202503] CHIP: [EM] Found matching exchange: 61331i, Delegate: 0x7fc26610f120 - [1646259751838] [5046:202503] CHIP: [EM] Rxd Ack; Removing MessageCounter:12132811 from Retrans Table on exchange 61331i - [1646259751838] [5046:202503] CHIP: [EM] Removed CHIP MessageCounter:12132811 from RetransTable on exchange 61331i - [1646259751838] [5046:202503] CHIP: [DMG] ICR moving to [ResponseRe] - [1646259751838] [5046:202503] CHIP: [DMG] InvokeResponseMessage = - [1646259751838] [5046:202503] CHIP: [DMG] { - [1646259751838] [5046:202503] CHIP: [DMG] suppressResponse = false, - [1646259751838] [5046:202503] CHIP: [DMG] InvokeResponseIBs = - [1646259751838] [5046:202503] CHIP: [DMG] [ - [1646259751838] [5046:202503] CHIP: [DMG] InvokeResponseIB = - [1646259751838] [5046:202503] CHIP: [DMG] { - [1646259751838] [5046:202503] CHIP: [DMG] CommandStatusIB = - [1646259751838] [5046:202503] CHIP: [DMG] { - [1646259751838] [5046:202503] CHIP: [DMG] CommandPathIB = - [1646259751838] [5046:202503] CHIP: [DMG] { - [1646259751838] [5046:202503] CHIP: [DMG] EndpointId = 0x3, - [1646259751838] [5046:202503] CHIP: [DMG] ClusterId = 0x6, - [1646259751838] [5046:202503] CHIP: [DMG] CommandId = 0x1, - [1646259751838] [5046:202503] CHIP: [DMG] }, - [1646259751838] [5046:202503] CHIP: [DMG] - [1646259751838] [5046:202503] CHIP: [DMG] StatusIB = - [1646259751838] [5046:202503] CHIP: [DMG] { - [1646259751838] [5046:202503] CHIP: [DMG] status = 0x7f, - [1646259751838] [5046:202503] CHIP: [DMG] }, - [1646259751838] [5046:202503] CHIP: [DMG] - [1646259751838] [5046:202503] CHIP: [DMG] }, - [1646259751838] [5046:202503] CHIP: [DMG] - [1646259751838] [5046:202503] CHIP: [DMG] }, - [1646259751838] [5046:202503] CHIP: [DMG] - [1646259751838] [5046:202503] CHIP: [DMG] ], - [1646259751838] [5046:202503] CHIP: [DMG] - [1646259751838] [5046:202503] CHIP: [DMG] InteractionModelRevision = 1 - [1646259751838] [5046:202503] CHIP: [DMG] }, - [1646259751838] [5046:202503] CHIP: [DMG] Received Command Response Status for Endpoint=3 Cluster=0x0000_0006 Command=0x0000_0001 Status=0x7f - [1646259751838] [5046:202503] CHIP: [TOO] Error: IM Error 0x0000057F: General error: 0x7f + verify TH is responsds with unsuppported endpoint with the data sent in the below command + + [1654076784.679791][13733:13738] CHIP:DMG: Received Command Response Status for Endpoint=20 Cluster=0x0000_0006 Command=0x0000_0001 Status=0x7f + [1654076784.679818][13733:13738] CHIP:TOO: Error: IM Error 0x0000057F: General error: 0x7f (UNSUPPORTED_ENDPOINT) + [1654076784.679871][13733:13738] CHIP:DMG: ICR moving to [AwaitingDe] disabled: true - label: @@ -74,41 +44,10 @@ tests: ./chip-tool any command-by-id 0x0003 0 1 1 2 - [1646259975665] [5055:204669] CHIP: [EM] Found matching exchange: 26369i, Delegate: 0x7feb9b534af0 - [1646259975665] [5055:204669] CHIP: [EM] Rxd Ack; Removing MessageCounter:10263298 from Retrans Table on exchange 26369i - [1646259975665] [5055:204669] CHIP: [EM] Removed CHIP MessageCounter:10263298 from RetransTable on exchange 26369i - [1646259975665] [5055:204669] CHIP: [DMG] ICR moving to [ResponseRe] - [1646259975665] [5055:204669] CHIP: [DMG] InvokeResponseMessage = - [1646259975665] [5055:204669] CHIP: [DMG] { - [1646259975665] [5055:204669] CHIP: [DMG] suppressResponse = false, - [1646259975665] [5055:204669] CHIP: [DMG] InvokeResponseIBs = - [1646259975665] [5055:204669] CHIP: [DMG] [ - [1646259975665] [5055:204669] CHIP: [DMG] InvokeResponseIB = - [1646259975665] [5055:204669] CHIP: [DMG] { - [1646259975665] [5055:204669] CHIP: [DMG] CommandStatusIB = - [1646259975665] [5055:204669] CHIP: [DMG] { - [1646259975665] [5055:204669] CHIP: [DMG] CommandPathIB = - [1646259975665] [5055:204669] CHIP: [DMG] { - [1646259975665] [5055:204669] CHIP: [DMG] EndpointId = 0x2, - [1646259975665] [5055:204669] CHIP: [DMG] ClusterId = 0x3, - [1646259975665] [5055:204669] CHIP: [DMG] CommandId = 0x0, - [1646259975665] [5055:204669] CHIP: [DMG] }, - [1646259975665] [5055:204669] CHIP: [DMG] - [1646259975665] [5055:204669] CHIP: [DMG] StatusIB = - [1646259975665] [5055:204669] CHIP: [DMG] { - [1646259975665] [5055:204669] CHIP: [DMG] status = 0xc3, - [1646259975665] [5055:204669] CHIP: [DMG] }, - [1646259975665] [5055:204669] CHIP: [DMG] - [1646259975665] [5055:204669] CHIP: [DMG] }, - [1646259975665] [5055:204669] CHIP: [DMG] - [1646259975665] [5055:204669] CHIP: [DMG] }, - [1646259975665] [5055:204669] CHIP: [DMG] - [1646259975665] [5055:204669] CHIP: [DMG] ], - [1646259975665] [5055:204669] CHIP: [DMG] - [1646259975666] [5055:204669] CHIP: [DMG] InteractionModelRevision = 1 - [1646259975666] [5055:204669] CHIP: [DMG] }, - [1646259975666] [5055:204669] CHIP: [DMG] Received Command Response Status for Endpoint=2 Cluster=0x0000_0003 Command=0x0000_0000 Status=0xc3 - [1646259975666] [5055:204669] CHIP: [TOO] Error: IM Error 0x000005C3: General error: 0xc3 + verify TH is responsds with unsuppported cluster with the data sent in the below command + [1654076811.947575][13740:13745] CHIP:DMG: Received Command Response Status for Endpoint=2 Cluster=0x0000_0003 Command=0x0000_0000 Status=0xc3 + [1654076811.947587][13740:13745] CHIP:TOO: Error: IM Error 0x000005C3: General error: 0xc3 (UNSUPPORTED_CLUSTER) + [1654076811.947602][13740:13745] CHIP:DMG: ICR moving to [AwaitingDe] disabled: true - label: @@ -116,41 +55,10 @@ tests: indicates a specific command that is unsupported." verification: | In case of chip tool, here is an example command to use - ./chip-tool any command-by-id 0x0003 3 1 1 0 - - [1646260061731] [5058:205583] CHIP: [EM] Removed CHIP MessageCounter:16578292 from RetransTable on exchange 22437i - [1646260061731] [5058:205583] CHIP: [DMG] ICR moving to [ResponseRe] - [1646260061731] [5058:205583] CHIP: [DMG] InvokeResponseMessage = - [1646260061731] [5058:205583] CHIP: [DMG] { - [1646260061731] [5058:205583] CHIP: [DMG] suppressResponse = false, - [1646260061731] [5058:205583] CHIP: [DMG] InvokeResponseIBs = - [1646260061732] [5058:205583] CHIP: [DMG] [ - [1646260061732] [5058:205583] CHIP: [DMG] InvokeResponseIB = - [1646260061732] [5058:205583] CHIP: [DMG] { - [1646260061732] [5058:205583] CHIP: [DMG] CommandStatusIB = - [1646260061732] [5058:205583] CHIP: [DMG] { - [1646260061732] [5058:205583] CHIP: [DMG] CommandPathIB = - [1646260061732] [5058:205583] CHIP: [DMG] { - [1646260061732] [5058:205583] CHIP: [DMG] EndpointId = 0x0, - [1646260061732] [5058:205583] CHIP: [DMG] ClusterId = 0x3, - [1646260061732] [5058:205583] CHIP: [DMG] CommandId = 0x3, - [1646260061732] [5058:205583] CHIP: [DMG] }, - [1646260061732] [5058:205583] CHIP: [DMG] - [1646260061732] [5058:205583] CHIP: [DMG] StatusIB = - [1646260061732] [5058:205583] CHIP: [DMG] { - [1646260061732] [5058:205583] CHIP: [DMG] status = 0x81, - [1646260061732] [5058:205583] CHIP: [DMG] }, - [1646260061732] [5058:205583] CHIP: [DMG] - [1646260061732] [5058:205583] CHIP: [DMG] }, - [1646260061732] [5058:205583] CHIP: [DMG] - [1646260061732] [5058:205583] CHIP: [DMG] }, - [1646260061732] [5058:205583] CHIP: [DMG] - [1646260061732] [5058:205583] CHIP: [DMG] ], - [1646260061732] [5058:205583] CHIP: [DMG] - [1646260061732] [5058:205583] CHIP: [DMG] InteractionModelRevision = 1 - [1646260061732] [5058:205583] CHIP: [DMG] }, - [1646260061732] [5058:205583] CHIP: [DMG] Received Command Response Status for Endpoint=0 Cluster=0x0000_0003 Command=0x0000_0003 Status=0x81 - [1646260061733] [5058:205583] CHIP: [TOO] Error: IM Error 0x00000581: General error: 0x81 + ./chip-tool any command-by-id 0x0003 3 1 1 0 + [1654076838.936184][13752:13757] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_0003 Command=0x0000_0003 Status=0x81 + [1654076838.936215][13752:13757] CHIP:TOO: Error: IM Error 0x00000581: General error: 0x81 (UNSUPPORTED_COMMAND) + [1654076838.936258][13752:13757] CHIP:DMG: ICR moving to [AwaitingDe] disabled: true - label: @@ -158,7 +66,13 @@ tests: cluster in the path. TH sends the Invoke Request Message to the DUT with a valid CommandDataIB" verification: | - Not for TE8 + In case of chip tool, here is an example command to use + + ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1234], "targets": null}]' 1 0 + ./chip-tool onoff on 1 1 + [1654079683.774619][14540:14546] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0006 Command=0x0000_0001 Status=0x7e + [1654079683.774630][14540:14546] CHIP:TOO: Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) + [1654079683.774643][14540:14546] CHIP:DMG: ICR moving to [AwaitingDe] disabled: true - label: @@ -166,109 +80,94 @@ tests: Invoke Request Message to the DUT with a valid and fabric-scoped CommandDataIB" verification: | - Not For TE8 - disabled: true + In case of chip tool, here is an example command to use - - label: - "TH sends the Invoke Request Message to the DUT with the path that is - a group path. One of the paths should be invalid." - verification: | - Out of Scope for V1.0 + To get UNSUPPORTED_ACCESS 1st we need to send below mentioned ACL command and then + ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1234], "targets": null}]' 1 0 + + ./chip-tool generalcommissioning commissioning-complete 1 0 + [1654079608.667986][14525:14530] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0004 Status=0x7e + [1654079608.668000][14525:14530] CHIP:TOO: Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) + [1654079608.668011][14525:14530] CHIP:DMG: ICR moving to [AwaitingDe] disabled: true - label: "(OPTIONAL) TH sends the Invoke Request Message to the DUT with the - command which requires another command in response." + command which requires a data response to be sent back." verification: | In case of chip tool, here is an example command to use - ./chip-tool generalcommissioning arm-fail-safe 1000 1 100 5 0 - - [1646239170811] [72173:10220345] CHIP: [DMG] InvokeResponseMessage = - [1646239170811] [72173:10220345] CHIP: [DMG] { - [1646239170811] [72173:10220345] CHIP: [DMG] suppressResponse = false, - [1646239170811] [72173:10220345] CHIP: [DMG] InvokeResponseIBs = - [1646239170811] [72173:10220345] CHIP: [DMG] [ - [1646239170811] [72173:10220345] CHIP: [DMG] InvokeResponseIB = - [1646239170811] [72173:10220345] CHIP: [DMG] { - [1646239170811] [72173:10220345] CHIP: [DMG] CommandDataIB = - [1646239170811] [72173:10220345] CHIP: [DMG] { - [1646239170811] [72173:10220345] CHIP: [DMG] CommandPathIB = - [1646239170811] [72173:10220345] CHIP: [DMG] { - [1646239170811] [72173:10220345] CHIP: [DMG] EndpointId = 0x0, - [1646239170811] [72173:10220345] CHIP: [DMG] ClusterId = 0x30, - [1646239170811] [72173:10220345] CHIP: [DMG] CommandId = 0x1, - [1646239170811] [72173:10220345] CHIP: [DMG] }, - [1646239170811] [72173:10220345] CHIP: [DMG] - [1646239170811] [72173:10220345] CHIP: [DMG] CommandData = - [1646239170811] [72173:10220345] CHIP: [DMG] { - [1646239170811] [72173:10220345] CHIP: [DMG] 0x0 = 0, - [1646239170811] [72173:10220345] CHIP: [DMG] 0x1 = "", - [1646239170811] [72173:10220345] CHIP: [DMG] }, - [1646239170811] [72173:10220345] CHIP: [DMG] }, - [1646239170811] [72173:10220345] CHIP: [DMG] - [1646239170811] [72173:10220345] CHIP: [DMG] }, - [1646239170811] [72173:10220345] CHIP: [DMG] - [1646239170811] [72173:10220345] CHIP: [DMG] ], - [1646239170811] [72173:10220345] CHIP: [DMG] - [1646239170811] [72173:10220345] CHIP: [DMG] InteractionModelRevision = 1 - [1646239170811] [72173:10220345] CHIP: [DMG] }, - [1646239170812] [72173:10220345] CHIP: [DMG] Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001 - [1646239170812] [72173:10220345] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0001 - [1646239170813] [72173:10220345] CHIP: [TOO] ArmFailSafeResponse: { - [1646239170813] [72173:10220345] CHIP: [TOO] errorCode: 0 - [1646239170813] [72173:10220345] CHIP: [TOO] debugText: - [1646239170813] [72173:10220345] CHIP: [TOO] } + sudo ./chip-tool generalcommissioning arm-fail-safe 1000 1 1 0 + + + [1653559028.744923][13424:13429] CHIP:DMG: InvokeResponseMessage = + [1653559028.744944][13424:13429] CHIP:DMG: { + [1653559028.744963][13424:13429] CHIP:DMG: suppressResponse = false, + [1653559028.744985][13424:13429] CHIP:DMG: InvokeResponseIBs = + [1653559028.745020][13424:13429] CHIP:DMG: [ + [1653559028.745041][13424:13429] CHIP:DMG: InvokeResponseIB = + [1653559028.745073][13424:13429] CHIP:DMG: { + [1653559028.745092][13424:13429] CHIP:DMG: CommandDataIB = + [1653559028.745113][13424:13429] CHIP:DMG: { + [1653559028.745140][13424:13429] CHIP:DMG: CommandPathIB = + [1653559028.745167][13424:13429] CHIP:DMG: { + [1653559028.745192][13424:13429] CHIP:DMG: EndpointId = 0x0, + [1653559028.745217][13424:13429] CHIP:DMG: ClusterId = 0x30, + [1653559028.745244][13424:13429] CHIP:DMG: CommandId = 0x1, + [1653559028.745268][13424:13429] CHIP:DMG: }, + [1653559028.745299][13424:13429] CHIP:DMG: + [1653559028.745322][13424:13429] CHIP:DMG: CommandData = + [1653559028.745348][13424:13429] CHIP:DMG: { + [1653559028.745399][13424:13429] CHIP:DMG: 0x0 = 0, + [1653559028.745425][13424:13429] CHIP:DMG: 0x1 = "", + [1653559028.745447][13424:13429] CHIP:DMG: }, + [1653559028.745468][13424:13429] CHIP:DMG: }, + [1653559028.745501][13424:13429] CHIP:DMG: + [1653559028.745524][13424:13429] CHIP:DMG: }, + [1653559028.745557][13424:13429] CHIP:DMG: + [1653559028.745579][13424:13429] CHIP:DMG: ], + [1653559028.745614][13424:13429] CHIP:DMG: + [1653559028.745636][13424:13429] CHIP:DMG: InteractionModelRevision = 1 + [1653559028.745656][13424:13429] CHIP:DMG: }, + [1653559028.745741][13424:13429] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001 + [1653559028.745793][13424:13429] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0001 + [1653559028.745851][13424:13429] CHIP:TOO: ArmFailSafeResponse: { + [1653559028.745884][13424:13429] CHIP:TOO: errorCode: 0 + [1653559028.745907][13424:13429] CHIP:TOO: debugText: + [1653559028.745930][13424:13429] CHIP:TOO: } disabled: true - label: "TH sends the Invoke Request Message to the DUT with a valid CommandDataIB and SuppressResponse set to True" + verification: | + https://github.com/project-chip/connectedhomeip/issues/8043 + Out of Scope for V1.0 + disabled: true + + - label: + "TH sends a Invoke Request Message to the DUT with the TimedRequest + set as TRUE.(There should be no previous Timed Invoke action.)" verification: | In case of chip tool, here is an example command to use - sudo ./chip-tool levelcontrol move-to-level 64 10 1 1 1 1 - sudo ./chip-tool levelcontrol read current-level 1 1 + ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1234], "targets": null}]' 1 0 + ./chip-tool any command-by-id 0x0003 0 1 1 0 --timedInteractionTimeoutMs 500 + + + [1654079573.921236][14516:14521] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_0003 Command=0x0000_0000 Status=0x7e + [1654079573.921251][14516:14521] CHIP:TOO: Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) + [1654079573.921268][14516:14521] CHIP:DMG: ICR moving to [AwaitingDe] disabled: true - label: - "TH sends the Invoke Request Message to the DUT with a valid - CommandDataIB which returns a response of data type list." + "TH sends Invoke Request Message to the DUT with the command in the + path that requires a Timed Invoke transaction to invoke and this + action is not part of a Timed Invoke transaction" verification: | In case of chip tool, here is an example command to use + ./chip-tool administratorcommissioning open-basic-commissioning-window 500 1 0 - ./chip-tool basic read client-generated-command-list 1 0 - - [1646261193889] [5094:213098] CHIP: [EM] Found matching exchange: 59233i, Delegate: 0x7ffe83c2c6c0 - [1646261193889] [5094:213098] CHIP: [EM] Rxd Ack; Removing MessageCounter:16023881 from Retrans Table on exchange 59233i - [1646261193889] [5094:213098] CHIP: [EM] Removed CHIP MessageCounter:16023881 from RetransTable on exchange 59233i - [1646261193889] [5094:213098] CHIP: [DMG] ReportDataMessage = - [1646261193889] [5094:213098] CHIP: [DMG] { - [1646261193889] [5094:213098] CHIP: [DMG] AttributeReportIBs = - [1646261193889] [5094:213098] CHIP: [DMG] [ - [1646261193889] [5094:213098] CHIP: [DMG] AttributeReportIB = - [1646261193889] [5094:213098] CHIP: [DMG] { - [1646261193889] [5094:213098] CHIP: [DMG] AttributeDataIB = - [1646261193889] [5094:213098] CHIP: [DMG] { - [1646261193889] [5094:213098] CHIP: [DMG] DataVersion = 0x2d467ce6, - [1646261193889] [5094:213098] CHIP: [DMG] AttributePathIB = - [1646261193889] [5094:213098] CHIP: [DMG] { - [1646261193889] [5094:213098] CHIP: [DMG] Endpoint = 0x0, - [1646261193889] [5094:213098] CHIP: [DMG] Cluster = 0x28, - [1646261193889] [5094:213098] CHIP: [DMG] Attribute = 0x0000_FFF9, - [1646261193889] [5094:213098] CHIP: [DMG] } - [1646261193889] [5094:213098] CHIP: [DMG] - [1646261193889] [5094:213098] CHIP: [DMG] Data = [ - [1646261193889] [5094:213098] CHIP: [DMG] - [1646261193889] [5094:213098] CHIP: [DMG] ], - [1646261193889] [5094:213098] CHIP: [DMG] }, - [1646261193889] [5094:213098] CHIP: [DMG] - [1646261193889] [5094:213098] CHIP: [DMG] }, - [1646261193889] [5094:213098] CHIP: [DMG] - [1646261193889] [5094:213098] CHIP: [DMG] ], - [1646261193889] [5094:213098] CHIP: [DMG] - [1646261193889] [5094:213098] CHIP: [DMG] SuppressResponse = true, - [1646261193889] [5094:213098] CHIP: [DMG] InteractionModelRevision = 1 - [1646261193889] [5094:213098] CHIP: [DMG] } - [1646261193889] [5094:213098] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_FFF9DataVersion: 759594214 - [1646261193889] [5094:213098] CHIP: [TOO] AcceptedCommandList: 0 entries + [1654077001.606235][13788:13793] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0001 Status=0xc6 + [1654077001.606268][13788:13793] CHIP:TOO: Error: IM Error 0x000005C6: General error: 0xc6 (NEEDS_TIMED_INTERACTION) + [1654077001.606311][13788:13793] CHIP:DMG: ICR moving to [AwaitingDe] disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_2_1.yaml b/src/app/tests/suites/certification/Test_TC_IDM_2_1.yaml index d42860e70820c1..857796d5b2830b 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_2_1.yaml @@ -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: "[TC-IDM-2.1] Read Request Action from DUT to TH [DUT - Controller]" +name: 20.2.1. [TC-IDM-2.1] Read Request Action from DUT to TH [DUT - Controller] config: nodeId: 0x12344321 @@ -23,224 +23,458 @@ config: tests: - label: "DUT sends the Read Request Message to the TH to read one attribute on - a given cluster and endpoint. The Message should contain one valid - CommandDataIB, which has the specific Endpoint, Specific Cluster and - Specific Attribute. On receipt of this message, TH should send a - report data action with the attribute value to the DUT." + a given cluster and endpoint. AttributePath = [[Endpoint = Specific + Endpoint, Cluster = Specific ClusterID, Attribute = Specific + Attribute]] On receipt of this message, TH should send a report data + action with the attribute value to the DUT." verification: | - In case of chip tool, here is an example command to use - sudo ./chip-tool identify read identify-time 1 1 + ./chip-tool identify read identify-time 1 1 + + On TH + [1652956326.948377][12333:12333] CHIP:DMG: ReadRequestMessage = + [1652956326.948411][12333:12333] CHIP:DMG: { + [1652956326.948441][12333:12333] CHIP:DMG: AttributePathIBs = + [1652956326.948476][12333:12333] CHIP:DMG: [ + [1652956326.948508][12333:12333] CHIP:DMG: AttributePathIB = + [1652956326.948548][12333:12333] CHIP:DMG: { + [1652956326.948585][12333:12333] CHIP:DMG: Endpoint = 0x1, + [1652956326.948628][12333:12333] CHIP:DMG: Cluster = 0x3, + [1652956326.948675][12333:12333] CHIP:DMG: Attribute = 0x0000_0000, + [1652956326.948719][12333:12333] CHIP:DMG: } + [1652956326.948760][12333:12333] CHIP:DMG: + [1652956326.948797][12333:12333] CHIP:DMG: ], + [1652956326.948834][12333:12333] CHIP:DMG: + [1652956326.948869][12333:12333] CHIP:DMG: isFabricFiltered = true, + [1652956326.948903][12333:12333] CHIP:DMG: InteractionModelRevision = 1 + [1652956326.948935][12333:12333] CHIP:DMG: }, disabled: true - label: - "DUT sends the Read Request Message to the TH. The Message should read - all attributes on a given cluster and Endpoint AttributePath = - [[Endpoint = Endpoint1, Cluster = ClusterID]] On receipt of this - message, TH should send a report data action with the attribute value - to the DUT." + "DUT sends the Read Request Message to the TH to read all attributes + on a given cluster and Endpoint AttributePath = [[Endpoint = Specific + Endpoint, Cluster = Specific ClusterID]] On receipt of this message, + TH should send a report data action with the attribute value to the + DUT." verification: | - In case of chip tool, here is an example command to use - - sudo ./chip-tool any read-by-id 0x3 0xFFFFFFFF 1 0 + ./chip-tool any read-by-id 0x3 0xFFFFFFFF 1 0 + + On TH + [1653564688.431433][29848:29848] CHIP:IM: Received Read request + [1653564688.431527][29848:29848] CHIP:DMG: ReadRequestMessage = + [1653564688.431582][29848:29848] CHIP:DMG: { + [1653564688.431628][29848:29848] CHIP:DMG: AttributePathIBs = + [1653564688.431682][29848:29848] CHIP:DMG: [ + [1653564688.431732][29848:29848] CHIP:DMG: AttributePathIB = + [1653564688.431794][29848:29848] CHIP:DMG: { + [1653564688.431859][29848:29848] CHIP:DMG: Endpoint = 0x0, + [1653564688.431918][29848:29848] CHIP:DMG: Cluster = 0x3, + [1653564688.431984][29848:29848] CHIP:DMG: } + [1653564688.432048][29848:29848] CHIP:DMG: + [1653564688.432105][29848:29848] CHIP:DMG: ], + [1653564688.432164][29848:29848] CHIP:DMG: + [1653564688.432218][29848:29848] CHIP:DMG: isFabricFiltered = true, + [1653564688.432270][29848:29848] CHIP:DMG: InteractionModelRevision = 1 + [1653564688.432319][29848:29848] CHIP:DMG: }, disabled: true - label: - "[Optional] DUT sends the Read Request Message to the TH to read an - attribute of data type bool." + "DUT sends the Read Request Message to the TH to read all attributes + in all clusters and all endpoints Path = [[ ]] On receipt of this + message, TH should send a report data action with the attribute values + to the DUT." verification: | - In case of chip tool, here is an example command to use + ./chip-tool any read-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0xFFFF - sudo ./chip-tool onoff read on-off 1 1 + Verify when we send this command from DUT to TH 1st till will send Read request message then it will start to exchange messages. disabled: true - label: - "[Optional] DUT sends the Read Request Message to the TH to read an - attribute of data type string." + "DUT sends the Read Request Message to the TH to read a specific + attribute from all endpoints and all clusters. AttributePath = [[ + Attribute = Specific Attribute]] On receipt of this message, TH should + send a report data action with the attribute value to the DUT." verification: | - In case of chip tool, here is an example command to use - - sudo ./chip-tool modeselect read description 1 1 + ./chip-tool any read-by-id 0xFFFFFFFF 0xFFFD 1 0xFFFF + + + [1653564959.547874][29848:29848] CHIP:IM: Received Read request + [1653564959.547950][29848:29848] CHIP:DMG: ReadRequestMessage = + [1653564959.548001][29848:29848] CHIP:DMG: { + [1653564959.548042][29848:29848] CHIP:DMG: AttributePathIBs = + [1653564959.548089][29848:29848] CHIP:DMG: [ + [1653564959.548133][29848:29848] CHIP:DMG: AttributePathIB = + [1653564959.548203][29848:29848] CHIP:DMG: { + [1653564959.548259][29848:29848] CHIP:DMG: Attribute = 0x0000_FFFD, + [1653564959.548328][29848:29848] CHIP:DMG: } + [1653564959.548379][29848:29848] CHIP:DMG: + [1653564959.548442][29848:29848] CHIP:DMG: ], + [1653564959.548493][29848:29848] CHIP:DMG: + [1653564959.548559][29848:29848] CHIP:DMG: isFabricFiltered = true, + [1653564959.548606][29848:29848] CHIP:DMG: InteractionModelRevision = 1 + [1653564959.548665][29848:29848] CHIP:DMG: }, disabled: true - label: - "[Optional] DUT sends the Read Request Message to the TH to read an - attribute of data type unsigned integer." + "DUT sends the Read Request Message to the TH to read all attributes + from a specific cluster on all endpoints AttributePath = [[ Cluster = + Specific ClusterID]] On receipt of this message, TH should send a + report data action with the attribute value to the DUT." verification: | - In case of chip tool, here is an example command to use - - sudo ./chip-tool any read-by-id 0x3 0x1 1 0 + ./chip-tool any read-by-id 0x03 0xFFFFFFFF 1 0xFFFF + + [1653565096.692999][29848:29848] CHIP:IM: Received Read request + [1653565096.693082][29848:29848] CHIP:DMG: ReadRequestMessage = + [1653565096.693129][29848:29848] CHIP:DMG: { + [1653565096.693170][29848:29848] CHIP:DMG: AttributePathIBs = + [1653565096.693215][29848:29848] CHIP:DMG: [ + [1653565096.693258][29848:29848] CHIP:DMG: AttributePathIB = + [1653565096.693308][29848:29848] CHIP:DMG: { + [1653565096.693356][29848:29848] CHIP:DMG: Cluster = 0x3, + [1653565096.693411][29848:29848] CHIP:DMG: } + [1653565096.693461][29848:29848] CHIP:DMG: + [1653565096.693511][29848:29848] CHIP:DMG: ], + [1653565096.693561][29848:29848] CHIP:DMG: + [1653565096.693610][29848:29848] CHIP:DMG: isFabricFiltered = true, + [1653565096.693657][29848:29848] CHIP:DMG: InteractionModelRevision = 1 + [1653565096.693699][29848:29848] CHIP:DMG: }, + [1653565096.693821][29848:29848] CHIP:DMG: IM RH moving to [GeneratingReports] disabled: true - label: - "[Optional] DUT sends the Read Request Message to the TH to read an - attribute of data type signed integer." + "DUT sends the Read Request Message to the TH to read a specific + attribute from a given cluster on all endpoints. AttributePath = [[ + Cluster = Specific Cluster, Attribute = specific attribute]] On + receipt of this message, TH should send a report data action with the + attribute value to the DUT." verification: | - In case of chip tool, here is an example command to use - - sudo ./chip-tool pressuremeasurement read measured-value 1 1 + ./chip-tool any read-by-id 0x03 0x01 1 0xFFFF + + [1653039253.620571][2293:2293] CHIP:IM: Received Read request + [1653039253.620624][2293:2293] CHIP:DMG: ReadRequestMessage = + [1653039253.620651][2293:2293] CHIP:DMG: { + [1653039253.620673][2293:2293] CHIP:DMG: AttributePathIBs = + [1653039253.620699][2293:2293] CHIP:DMG: [ + [1653039253.620723][2293:2293] CHIP:DMG: AttributePathIB = + [1653039253.620753][2293:2293] CHIP:DMG: { + [1653039253.620781][2293:2293] CHIP:DMG: Cluster = 0x3, + [1653039253.620811][2293:2293] CHIP:DMG: Attribute = 0x0000_0001, + [1653039253.620843][2293:2293] CHIP:DMG: } + [1653039253.620873][2293:2293] CHIP:DMG: + [1653039253.620900][2293:2293] CHIP:DMG: ], + [1653039253.620928][2293:2293] CHIP:DMG: + [1653039253.620955][2293:2293] CHIP:DMG: isFabricFiltered = true, + [1653039253.620980][2293:2293] CHIP:DMG: InteractionModelRevision = 1 + [1653039253.621002][2293:2293] CHIP:DMG: }, disabled: true - label: - "[Optional] DUT sends the Read Request Message to the TH to read an - attribute of data type floating point." + "DUT sends the Read Request Message to the TH to read all attributes + from all clusters at a given endpoint. AttributePath = [[ Endpoint = + Specific Endpoint]] On receipt of this message, TH should send a + report data action with the attribute value to the DUT." verification: | - Currently the Spec is not supporting for this data type. + ./chip-tool any read-by-id 0xFFFFFFFF 0xFFFFFFFF 1 1 + + [1653565163.290886][29848:29848] CHIP:IM: Received Read request + [1653565163.290969][29848:29848] CHIP:DMG: ReadRequestMessage = + [1653565163.291016][29848:29848] CHIP:DMG: { + [1653565163.291056][29848:29848] CHIP:DMG: AttributePathIBs = + [1653565163.291144][29848:29848] CHIP:DMG: [ + [1653565163.291192][29848:29848] CHIP:DMG: AttributePathIB = + [1653565163.291252][29848:29848] CHIP:DMG: { + [1653565163.291306][29848:29848] CHIP:DMG: Endpoint = 0x1, + [1653565163.291358][29848:29848] CHIP:DMG: } + [1653565163.291412][29848:29848] CHIP:DMG: + [1653565163.291461][29848:29848] CHIP:DMG: ], + [1653565163.291515][29848:29848] CHIP:DMG: + [1653565163.291564][29848:29848] CHIP:DMG: isFabricFiltered = true, + [1653565163.291610][29848:29848] CHIP:DMG: InteractionModelRevision = 1 + [1653565163.291653][29848:29848] CHIP:DMG: }, disabled: true - label: - "[Optional] DUT sends the Read Request Message to the TH to read an - attribute of data type Octet String." + "DUT sends the Read Request Message to the TH to a specific endpoint + to read a particular attribute from all the clusters at that endpoint + AttributePath = [[ Endpoint = Specific Endpoint, Attribute = specific + attribute]] On receipt of this message, TH should send a report data + action with the attribute value to the DUT." verification: | - In case of chip tool, here is an example command to use - - sudo ./chip-tool operationalcredentials read trusted-root-certificates 1 0 + ./chip-tool any read-by-id 0xFFFFFFFF 0xFFFD 1 0 + + [1652958379.699028][12447:12447] CHIP:IM: Received Read request + [1652958379.699103][12447:12447] CHIP:DMG: ReadRequestMessage = + [1652958379.699145][12447:12447] CHIP:DMG: { + [1652958379.699182][12447:12447] CHIP:DMG: AttributePathIBs = + [1652958379.699224][12447:12447] CHIP:DMG: [ + [1652958379.699264][12447:12447] CHIP:DMG: AttributePathIB = + [1652958379.699319][12447:12447] CHIP:DMG: { + [1652958379.699369][12447:12447] CHIP:DMG: Endpoint = 0x0, + [1652958379.699427][12447:12447] CHIP:DMG: Attribute = 0x0000_FFFD, + [1652958379.699477][12447:12447] CHIP:DMG: } + [1652958379.699520][12447:12447] CHIP:DMG: + [1652958379.699566][12447:12447] CHIP:DMG: ], + [1652958379.699612][12447:12447] CHIP:DMG: + [1652958379.699655][12447:12447] CHIP:DMG: isFabricFiltered = true, + [1652958379.699697][12447:12447] CHIP:DMG: InteractionModelRevision = 1 + [1652958379.699734][12447:12447] CHIP:DMG: }, disabled: true - label: "[Optional] DUT sends the Read Request Message to the TH to read an - attribute of data type Struct." + attribute of data type bool." verification: | - In case of chip tool, here is an example command to use - - Currently the Spec is not supporting for this data type. + ./chip-tool onoff read on-off 1 1 + + [1652958484.870200][12447:12447] CHIP:DMG: ReadRequestMessage = + [1652958484.870244][12447:12447] CHIP:DMG: { + [1652958484.870281][12447:12447] CHIP:DMG: AttributePathIBs = + [1652958484.870323][12447:12447] CHIP:DMG: [ + [1652958484.870363][12447:12447] CHIP:DMG: AttributePathIB = + [1652958484.870418][12447:12447] CHIP:DMG: { + [1652958484.870465][12447:12447] CHIP:DMG: Endpoint = 0x1, + [1652958484.870516][12447:12447] CHIP:DMG: Cluster = 0x6, + [1652958484.870573][12447:12447] CHIP:DMG: Attribute = 0x0000_0000, + [1652958484.870616][12447:12447] CHIP:DMG: } + [1652958484.870658][12447:12447] CHIP:DMG: + [1652958484.870699][12447:12447] CHIP:DMG: ], + [1652958484.870742][12447:12447] CHIP:DMG: + [1652958484.870819][12447:12447] CHIP:DMG: isFabricFiltered = true, + [1652958484.870861][12447:12447] CHIP:DMG: InteractionModelRevision = 1 + [1652958484.870899][12447:12447] CHIP:DMG: }, disabled: true - label: "[Optional] DUT sends the Read Request Message to the TH to read an - attribute of data type List." + attribute of data type string." verification: | - In case of chip tool, here is an example command to use - - sudo ./chip-tool modeselect read supported-modes 1 1 + ./chip-tool modeselect read description 1 1 + + [1652958540.740917][12447:12447] CHIP:DMG: ReadRequestMessage = + [1652958540.740976][12447:12447] CHIP:DMG: { + [1652958540.741048][12447:12447] CHIP:DMG: AttributePathIBs = + [1652958540.741104][12447:12447] CHIP:DMG: [ + [1652958540.741171][12447:12447] CHIP:DMG: AttributePathIB = + [1652958540.741238][12447:12447] CHIP:DMG: { + [1652958540.741318][12447:12447] CHIP:DMG: Endpoint = 0x1, + [1652958540.741387][12447:12447] CHIP:DMG: Cluster = 0x50, + [1652958540.741472][12447:12447] CHIP:DMG: Attribute = 0x0000_0000, + [1652958540.741535][12447:12447] CHIP:DMG: } + [1652958540.741618][12447:12447] CHIP:DMG: + [1652958540.741676][12447:12447] CHIP:DMG: ], + [1652958540.741753][12447:12447] CHIP:DMG: + [1652958540.741808][12447:12447] CHIP:DMG: isFabricFiltered = true, + [1652958540.741878][12447:12447] CHIP:DMG: InteractionModelRevision = 1 + [1652958540.741927][12447:12447] CHIP:DMG: }, disabled: true - label: "[Optional] DUT sends the Read Request Message to the TH to read an - attribute of data type enum." + attribute of data type unsigned integer." verification: | - In case of chip tool, here is an example command to use - - sudo ./chip-tool occupancysensing read occupancy-sensor-type 1 1 + ./chip-tool any read-by-id 0x3 0x1 1 0 + + [1652959133.781403][12447:12447] CHIP:IM: Received Read request + [1652959133.781479][12447:12447] CHIP:DMG: ReadRequestMessage = + [1652959133.781522][12447:12447] CHIP:DMG: { + [1652959133.781557][12447:12447] CHIP:DMG: AttributePathIBs = + [1652959133.781601][12447:12447] CHIP:DMG: [ + [1652959133.781640][12447:12447] CHIP:DMG: AttributePathIB = + [1652959133.781690][12447:12447] CHIP:DMG: { + [1652959133.781735][12447:12447] CHIP:DMG: Endpoint = 0x0, + [1652959133.781786][12447:12447] CHIP:DMG: Cluster = 0x3, + [1652959133.781843][12447:12447] CHIP:DMG: Attribute = 0x0000_0001, + [1652959133.781890][12447:12447] CHIP:DMG: } + [1652959133.781940][12447:12447] CHIP:DMG: + [1652959133.781982][12447:12447] CHIP:DMG: ], + [1652959133.782028][12447:12447] CHIP:DMG: + [1652959133.782071][12447:12447] CHIP:DMG: isFabricFiltered = true, + [1652959133.782112][12447:12447] CHIP:DMG: InteractionModelRevision = 1 + [1652959133.782150][12447:12447] CHIP:DMG: }, disabled: true - label: "[Optional] DUT sends the Read Request Message to the TH to read an - attribute of data type bitmap." - verification: | - In case of chip tool, here is an example command to use - - sudo ./chip-tool levelcontrol read options 1 1 - disabled: true - - - label: - "DUT sends the Read Request Message to the TH to read any attribute TH - responds with the report data action with the right attribute value - and sets the SuppressResponse field is set to True" - verification: | - In case of chip tool, here is an example command to use - - ./chip-tool basic read vendor-name 1 0 - disabled: true - - - label: - "DUT sends the Read Request Message to the TH to read an attribute - Repeat the above steps 3 times." + attribute of data type signed integer." verification: | - In case of chip tool, here is an example command to use - - sudo ./chip-tool occupancysensing read occupancy 1 1 - sudo ./chip-tool occupancysensing read occupancy 1 1 - - - sudo ./chip-tool occupancysensing read occupancy 1 1 + ./chip-tool pressuremeasurement read measured-value 1 1 + + [1652958611.986295][12447:12447] CHIP:DMG: ReadRequestMessage = + [1652958611.986360][12447:12447] CHIP:DMG: { + [1652958611.986400][12447:12447] CHIP:DMG: AttributePathIBs = + [1652958611.986447][12447:12447] CHIP:DMG: [ + [1652958611.986511][12447:12447] CHIP:DMG: AttributePathIB = + [1652958611.986567][12447:12447] CHIP:DMG: { + [1652958611.986637][12447:12447] CHIP:DMG: Endpoint = 0x1, + [1652958611.986698][12447:12447] CHIP:DMG: Cluster = 0x403, + [1652958611.986963][12447:12447] CHIP:DMG: Attribute = 0x0000_0000, + [1652958611.987021][12447:12447] CHIP:DMG: } + [1652958611.987095][12447:12447] CHIP:DMG: + [1652958611.987162][12447:12447] CHIP:DMG: ], + [1652958611.987216][12447:12447] CHIP:DMG: + [1652958611.987279][12447:12447] CHIP:DMG: isFabricFiltered = true, + [1652958611.987328][12447:12447] CHIP:DMG: InteractionModelRevision = 1 + [1652958611.987386][12447:12447] CHIP:DMG: }, disabled: true - label: - "DUT sends the Read Request Message to the TH to read an attribute - data or event data which is large in size For every chunked data - message received, DUT sends a status response." + "[Optional] DUT sends the Read Request Message to the TH to read an + attribute of data type floating point." verification: | - Add multiple admins on to the node (say 5 , if device supports) and read trusted-root-certificates attribute - - In case of chip tool, here is an example command to use - - sudo ./out/debug/chip-tool operationalcredentials read trusted-root-certificates 5 0 + DUT implementation required to verify read an attribute of data type Float disabled: true - label: - "DUT sends the Read Request Message to the TH to read any data which - is larger than 1 MTU(1280 bytes) The read can be done on any attribute - data or event data which is of type list and is greater than 1 MTU in - size or a set of attributes whose total size is greater than 1 MTU. - For every chunked data message received, DUT sends a status response." + "[Optional] DUT sends the Read Request Message to the TH to read an + attribute of data type Octet String." verification: | - Out of Scope for TE8 + ./chip-tool operationalcredentials read trusted-root-certificates 1 0 + + [1652958890.430648][12447:12447] CHIP:DMG: ReadRequestMessage = + [1652958890.430703][12447:12447] CHIP:DMG: { + [1652958890.430790][12447:12447] CHIP:DMG: AttributePathIBs = + [1652958890.430850][12447:12447] CHIP:DMG: [ + [1652958890.430902][12447:12447] CHIP:DMG: AttributePathIB = + [1652958890.430960][12447:12447] CHIP:DMG: { + [1652958890.431018][12447:12447] CHIP:DMG: Endpoint = 0x0, + [1652958890.431078][12447:12447] CHIP:DMG: Cluster = 0x3e, + [1652958890.431143][12447:12447] CHIP:DMG: Attribute = 0x0000_0004, + [1652958890.431203][12447:12447] CHIP:DMG: } + [1652958890.431267][12447:12447] CHIP:DMG: + [1652958890.431324][12447:12447] CHIP:DMG: ], + [1652958890.431384][12447:12447] CHIP:DMG: + [1652958890.431439][12447:12447] CHIP:DMG: isFabricFiltered = true, + [1652958890.431491][12447:12447] CHIP:DMG: InteractionModelRevision = 1 + [1652958890.431540][12447:12447] CHIP:DMG: }, disabled: true - label: - "DUT sends the Read Request Message to the TH. The Message should - contain one valid CommandDataIB, which has the AttributePath = [[ ]] - On receipt of this message, TH should send a report data action with - the attribute value to the DUT." + "[Optional] DUT sends the Read Request Message to the TH to read an + attribute of data type Struct." verification: | - In case of chip tool, here is an example command to use - - sudo ./chip-tool colorcontrol read current-hue 1 1 + sudo ./chip-tool generalcommissioning read basic-commissioning-info 1 0 + + [1653565636.677324][29848:29848] CHIP:IM: Received Read request + [1653565636.677421][29848:29848] CHIP:DMG: ReadRequestMessage = + [1653565636.677475][29848:29848] CHIP:DMG: { + [1653565636.677519][29848:29848] CHIP:DMG: AttributePathIBs = + [1653565636.677572][29848:29848] CHIP:DMG: [ + [1653565636.677621][29848:29848] CHIP:DMG: AttributePathIB = + [1653565636.677682][29848:29848] CHIP:DMG: { + [1653565636.677744][29848:29848] CHIP:DMG: Endpoint = 0x0, + [1653565636.677815][29848:29848] CHIP:DMG: Cluster = 0x30, + [1653565636.677886][29848:29848] CHIP:DMG: Attribute = 0x0000_0001, + [1653565636.677946][29848:29848] CHIP:DMG: } + [1653565636.678007][29848:29848] CHIP:DMG: + [1653565636.678063][29848:29848] CHIP:DMG: ], + [1653565636.678121][29848:29848] CHIP:DMG: + [1653565636.678176][29848:29848] CHIP:DMG: isFabricFiltered = true, + [1653565636.678227][29848:29848] CHIP:DMG: InteractionModelRevision = 1 + [1653565636.678275][29848:29848] CHIP:DMG: }, disabled: true - label: - "DUT sends the Read Request Message to the TH. The Message should - contain one valid CommandDataIB, which has the AttributePath = [[ - Attribute = specific attribute]] On receipt of this message, TH should - send a report data action with the attribute value to the DUT." + "[Optional] DUT sends the Read Request Message to the TH to read an + attribute of data type List." verification: | - In case of chip tool, here is an example command to use - - sudo ./chip-tool any read-by-id 0xFFFFFFFF 0x0 1 0xFFFF + ./chip-tool modeselect read supported-modes 1 1 + [1652958955.872707][12447:12447] CHIP:DMG: ReadRequestMessage = + [1652958955.872770][12447:12447] CHIP:DMG: { + [1652958955.872825][12447:12447] CHIP:DMG: AttributePathIBs = + [1652958955.872888][12447:12447] CHIP:DMG: [ + [1652958955.872947][12447:12447] CHIP:DMG: AttributePathIB = + [1652958955.873021][12447:12447] CHIP:DMG: { + [1652958955.873095][12447:12447] CHIP:DMG: Endpoint = 0x1, + [1652958955.873182][12447:12447] CHIP:DMG: Cluster = 0x50, + [1652958955.873267][12447:12447] CHIP:DMG: Attribute = 0x0000_0002, + [1652958955.873346][12447:12447] CHIP:DMG: } + [1652958955.873420][12447:12447] CHIP:DMG: + [1652958955.873488][12447:12447] CHIP:DMG: ], + [1652958955.873555][12447:12447] CHIP:DMG: + [1652958955.873619][12447:12447] CHIP:DMG: isFabricFiltered = true, + [1652958955.873681][12447:12447] CHIP:DMG: InteractionModelRevision = 1 + [1652958955.873738][12447:12447] CHIP:DMG: }, disabled: true - label: - "DUT sends the Read Request Message to the TH. The Message should - contain one valid CommandDataIB, which has the AttributePath = [[ - Cluster = Specific Cluster]] On receipt of this message, TH should - send a report data action with the attribute value to the DUT." + "[Optional] DUT sends the Read Request Message to the TH to read an + attribute of data type enum." verification: | - In case of chip tool, here is an example command to use - - sudo ./chip-tool any read-by-id 0x3 0xFFFFFFFF 1 0xFFFF + ./chip-tool occupancysensing read occupancy-sensor-type 1 1 + [1652958690.943104][12447:12447] CHIP:IM: Received Read request + [1652958690.943189][12447:12447] CHIP:DMG: ReadRequestMessage = + [1652958690.943236][12447:12447] CHIP:DMG: { + [1652958690.943278][12447:12447] CHIP:DMG: AttributePathIBs = + [1652958690.943325][12447:12447] CHIP:DMG: [ + [1652958690.943370][12447:12447] CHIP:DMG: AttributePathIB = + [1652958690.943425][12447:12447] CHIP:DMG: { + [1652958690.943481][12447:12447] CHIP:DMG: Endpoint = 0x1, + [1652958690.943541][12447:12447] CHIP:DMG: Cluster = 0x406, + [1652958690.943600][12447:12447] CHIP:DMG: Attribute = 0x0000_0001, + [1652958690.943659][12447:12447] CHIP:DMG: } + [1652958690.943715][12447:12447] CHIP:DMG: + [1652958690.943766][12447:12447] CHIP:DMG: ], + [1652958690.943817][12447:12447] CHIP:DMG: + [1652958690.943865][12447:12447] CHIP:DMG: isFabricFiltered = true, + [1652958690.943910][12447:12447] CHIP:DMG: InteractionModelRevision = 1 + [1652958690.943953][12447:12447] CHIP:DMG: }, disabled: true - label: - "DUT sends the Read Request Message to the TH. The Message should - contain one valid CommandDataIB, which has the AttributePath = [[ - Cluster = Specific Cluster, Attribute = specific attribute]] On - receipt of this message, TH should send a report data action with the - attribute value to the DUT." + "[Optional] DUT sends the Read Request Message to the TH to read an + attribute of data type bitmap." verification: | - In case of chip tool, here is an example command to use - - sudo ./chip-tool any read-by-id 0x3 0x1 1 0xFFFF + ./chip-tool levelcontrol read options 1 1 + [1652958784.685666][12447:12447] CHIP:DMG: ReadRequestMessage = + [1652958784.685715][12447:12447] CHIP:DMG: { + [1652958784.685755][12447:12447] CHIP:DMG: AttributePathIBs = + [1652958784.685802][12447:12447] CHIP:DMG: [ + [1652958784.685848][12447:12447] CHIP:DMG: AttributePathIB = + [1652958784.685904][12447:12447] CHIP:DMG: { + [1652958784.685960][12447:12447] CHIP:DMG: Endpoint = 0x1, + [1652958784.686020][12447:12447] CHIP:DMG: Cluster = 0x8, + [1652958784.686081][12447:12447] CHIP:DMG: Attribute = 0x0000_000F, + [1652958784.686140][12447:12447] CHIP:DMG: } + [1652958784.686196][12447:12447] CHIP:DMG: + [1652958784.686243][12447:12447] CHIP:DMG: ], + [1652958784.686294][12447:12447] CHIP:DMG: + [1652958784.686341][12447:12447] CHIP:DMG: isFabricFiltered = true, + [1652958784.686387][12447:12447] CHIP:DMG: InteractionModelRevision = 1 + [1652958784.686431][12447:12447] CHIP:DMG: }, disabled: true - label: - "DUT sends the Read Request Message to the TH. The Message should - contain one valid CommandDataIB, which has the AttributePath = [[ - Endpoint = Specific Endpoint]] On receipt of this message, TH should - send a report data action with the attribute value to the DUT." + "DUT sends the Read Request Message to the TH to read an attribute + Repeat the above steps 3 times." verification: | - In case of chip tool, here is an example command to use - - sudo ./chip-tool any read-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0 + ./chip-tool occupancysensing read occupancy 1 1 + [1652959073.822787][12447:12447] CHIP:IM: Received Read request + [1652959073.822884][12447:12447] CHIP:DMG: ReadRequestMessage = + [1652959073.822938][12447:12447] CHIP:DMG: { + [1652959073.822985][12447:12447] CHIP:DMG: AttributePathIBs = + [1652959073.823043][12447:12447] CHIP:DMG: [ + [1652959073.823094][12447:12447] CHIP:DMG: AttributePathIB = + [1652959073.823156][12447:12447] CHIP:DMG: { + [1652959073.823222][12447:12447] CHIP:DMG: Endpoint = 0x1, + [1652959073.823296][12447:12447] CHIP:DMG: Cluster = 0x406, + [1652959073.823370][12447:12447] CHIP:DMG: Attribute = 0x0000_0000, + [1652959073.823432][12447:12447] CHIP:DMG: } + [1652959073.823496][12447:12447] CHIP:DMG: + [1652959073.823553][12447:12447] CHIP:DMG: ], + [1652959073.823617][12447:12447] CHIP:DMG: + [1652959073.823672][12447:12447] CHIP:DMG: isFabricFiltered = true, + [1652959073.823725][12447:12447] CHIP:DMG: InteractionModelRevision = 1 + [1652959073.823773][12447:12447] CHIP:DMG: }, + + ./chip-tool occupancysensing read occupancy 1 1 + + ./chip-tool occupancysensing read occupancy 1 1 disabled: true - label: - "DUT sends the Read Request Message to the TH. The Message should - contain one valid CommandDataIB, which has the AttributePath = [[ - Endpoint = Specific Endpoint, Attribute = specific attribute]] On - receipt of this message, TH should send a report data action with the - attribute value to the DUT." + "DUT sends the Read Request Message to the TH to read + something(Attribute) which is larger than 1 MTU(1280 bytes) and per + spec can be chunked. For every chunked data message received, except + the last one, DUT sends a status response." verification: | - In case of chip tool, here is an example command to use - - sudo ./chip-tool levelcontrol read min-level 1 1 + DUT implementation required to verify read an attribute which is is larger than 1 MTU(1280 bytes) disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_2_2.yaml b/src/app/tests/suites/certification/Test_TC_IDM_2_2.yaml index a8dd1f7d82f0eb..2598dda702db0c 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_2_2.yaml @@ -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: 19.2.2. [TC-IDM-2.2] Report Data Action from DUT to TH +name: 20.2.2. [TC-IDM-2.2] Report Data Action from DUT to TH config: nodeId: 0x12344321 @@ -23,124 +23,312 @@ config: tests: - label: "TH sends the Read Request Message to the DUT to read one attribute on - a given cluster and endpoint. The Message should contain one valid - CommandDataIB, which has the specific Endpoint, Specific Cluster and - Specific Attribute. On receipt of this message, DUT should send a - report data action with the attribute value to the DUT." - verification: | - In case of chip tool, here is an example command to use - '' ./chip-tool identify read identify-time 1 1 - - - - TH side---Verify we are getting right attribute value on TH when we sent above command - - [1650358005665] [85455:1222335] CHIP: [DMG] ReportDataMessage = - [1650358005665] [85455:1222335] CHIP: [DMG] { - [1650358005665] [85455:1222335] CHIP: [DMG] AttributeReportIBs = - [1650358005665] [85455:1222335] CHIP: [DMG] [ - [1650358005665] [85455:1222335] CHIP: [DMG] AttributeReportIB = - [1650358005665] [85455:1222335] CHIP: [DMG] { - [1650358005665] [85455:1222335] CHIP: [DMG] AttributeDataIB = - [1650358005665] [85455:1222335] CHIP: [DMG] { - [1650358005665] [85455:1222335] CHIP: [DMG] DataVersion = 0x1f79ca06, - [1650358005665] [85455:1222335] CHIP: [DMG] AttributePathIB = - [1650358005665] [85455:1222335] CHIP: [DMG] { - [1650358005665] [85455:1222335] CHIP: [DMG] Endpoint = 0x1, - [1650358005665] [85455:1222335] CHIP: [DMG] Cluster = 0x3, - [1650358005665] [85455:1222335] CHIP: [DMG] Attribute = 0x0000_0000, - [1650358005665] [85455:1222335] CHIP: [DMG] } - [1650358005665] [85455:1222335] CHIP: [DMG] - [1650358005665] [85455:1222335] CHIP: [DMG] Data = 0, - [1650358005665] [85455:1222335] CHIP: [DMG] }, - [1650358005665] [85455:1222335] CHIP: [DMG] - [1650358005665] [85455:1222335] CHIP: [DMG] }, - [1650358005665] [85455:1222335] CHIP: [DMG] - [1650358005665] [85455:1222335] CHIP: [DMG] ], - [1650358005665] [85455:1222335] CHIP: [DMG] - [1650358005665] [85455:1222335] CHIP: [DMG] SuppressResponse = true, - [1650358005665] [85455:1222335] CHIP: [DMG] InteractionModelRevision = 1 - [1650358005665] [85455:1222335] CHIP: [DMG] } - [1650358005665] [85455:1222335] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 528075270 - [1650358005665] [85455:1222335] CHIP: [TOO] identify time: 0 - disabled: true - - - label: - "TH sends the Read Request Message to the TH. The Message should read - all attributes on a given cluster and Endpoint AttributePath = - [[Endpoint = Endpoint1, Cluster = ClusterID]] On receipt of this - message, DUT should send a report data action with the attribute value - to the DUT." + a given cluster and endpoint. AttributePath = [[Endpoint = Specific + Endpoint, Cluster = Specific ClusterID, Attribute = Specific + Attribute]] On receipt of this message, DUT should send a report data + action with the attribute value to the DUT." verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool any read-by-id 0x3 0xFFFFFFFF 1 0 - - TH side---Verify we are getting right attribute value on TH when we sent above command - - [1650358167494] [85475:1223021] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 3061827023 - [1650358167494] [85475:1223021] CHIP: [TOO] identify time: 0 - [1650358167494] [85475:1223021] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 3061827023 - [1650358167494] [85475:1223021] CHIP: [TOO] identify type: 2 - [1650358167494] [85475:1223021] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 3061827023 - [1650358167494] [85475:1223021] CHIP: [TOO] ClusterRevision: 4 - [1650358167494] [85475:1223021] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFF8 DataVersion: 3061827023 - [1650358167494] [85475:1223021] CHIP: [TOO] GeneratedCommandList: 1 entries - [1650358167494] [85475:1223021] CHIP: [TOO] [1]: 0 - [1650358167494] [85475:1223021] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFF9 DataVersion: 3061827023 - [1650358167494] [85475:1223021] CHIP: [TOO] AcceptedCommandList: 3 entries - [1650358167494] [85475:1223021] CHIP: [TOO] [1]: 0 - [1650358167494] [85475:1223021] CHIP: [TOO] [2]: 1 - [1650358167494] [85475:1223021] CHIP: [TOO] [3]: 64 - [1650358167494] [85475:1223021] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFB DataVersion: 3061827023 - [1650358167494] [85475:1223021] CHIP: [TOO] AttributeList: 6 entries - [1650358167494] [85475:1223021] CHIP: [TOO] [1]: 0 - [1650358167494] [85475:1223021] CHIP: [TOO] [2]: 1 - [1650358167494] [85475:1223021] CHIP: [TOO] [3]: 65528 - [1650358167494] [85475:1223021] CHIP: [TOO] [4]: 65529 - [1650358167494] [85475:1223021] CHIP: [TOO] [5]: 65531 - [1650358167494] [85475:1223021] CHIP: [TOO] [6]: 65533 + sudo ./chip-tool identify read identify-time 1 1 + + [1653629236.865368][8434:8440] CHIP:DMG: ReportDataMessage = + [1653629236.865385][8434:8440] CHIP:DMG: { + [1653629236.865396][8434:8440] CHIP:DMG: AttributeReportIBs = + [1653629236.865421][8434:8440] CHIP:DMG: [ + [1653629236.865436][8434:8440] CHIP:DMG: AttributeReportIB = + [1653629236.865456][8434:8440] CHIP:DMG: { + [1653629236.865472][8434:8440] CHIP:DMG: AttributeDataIB = + [1653629236.865492][8434:8440] CHIP:DMG: { + [1653629236.865512][8434:8440] CHIP:DMG: DataVersion = 0xd7cb76c3, + [1653629236.865529][8434:8440] CHIP:DMG: AttributePathIB = + [1653629236.865544][8434:8440] CHIP:DMG: { + [1653629236.865563][8434:8440] CHIP:DMG: Endpoint = 0x1, + [1653629236.865581][8434:8440] CHIP:DMG: Cluster = 0x3, + [1653629236.865601][8434:8440] CHIP:DMG: Attribute = 0x0000_0000, + [1653629236.865619][8434:8440] CHIP:DMG: } + [1653629236.865639][8434:8440] CHIP:DMG: + [1653629236.865659][8434:8440] CHIP:DMG: Data = 0, + [1653629236.865677][8434:8440] CHIP:DMG: }, + [1653629236.865699][8434:8440] CHIP:DMG: + [1653629236.865715][8434:8440] CHIP:DMG: }, + [1653629236.865738][8434:8440] CHIP:DMG: + [1653629236.865753][8434:8440] CHIP:DMG: ], + [1653629236.865777][8434:8440] CHIP:DMG: + [1653629236.865793][8434:8440] CHIP:DMG: SuppressResponse = true, + [1653629236.865807][8434:8440] CHIP:DMG: InteractionModelRevision = 1 + [1653629236.865822][8434:8440] CHIP:DMG: } + [1653629236.865950][8434:8440] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 3620435651 + [1653629236.866003][8434:8440] CHIP:TOO: identify time: 0 + [1653629236.866077][8434:8440] CHIP:EM: Sending Standalone Ack for MessageCounter:10900625 on exchange 38226i disabled: true - label: - "TH sends the Read Request Message to the TH. The Message should read - an attribute from a cluster at all Endpoints AttributePath = [[Cluster - = ClusterID, Attribute = AttributeID]] On receipt of this message, DUT - should send a report data action with the attribute value from all the - Endpoints to the DUT." + "TH sends the Read Request Message to the DUT to read all attributes + on a given cluster and Endpoint AttributePath = [[Endpoint = Specific + Endpoint, Cluster = Specific ClusterID]] On receipt of this message, + DUT should send a report data action with the attribute value to the + DUT." verification: | - In case of chip tool, here is an example command to use - - ./chip-tool any read-by-id 0x03 1 1 0xffff - - TH side---Verify we are getting all supported right attribute value on TH when we sent above command + sudo ./chip-tool any read-by-id 0x03 0xFFFFFFFF 1 0xFFFF + + [1653629351.741280][8503:8508] CHIP:DMG: } + [1653629351.741546][8503:8508] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 2065044836 + [1653629351.741566][8503:8508] CHIP:TOO: identify time: 0 + [1653629351.741588][8503:8508] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 2065044836 + [1653629351.741594][8503:8508] CHIP:TOO: identify type: 2 + [1653629351.741616][8503:8508] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 2065044836 + [1653629351.741621][8503:8508] CHIP:TOO: ClusterRevision: 4 + [1653629351.741685][8503:8508] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFF8 DataVersion: 2065044836 + [1653629351.741699][8503:8508] CHIP:TOO: GeneratedCommandList: 1 entries + [1653629351.741707][8503:8508] CHIP:TOO: [1]: 0 + [1653629351.741784][8503:8508] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFF9 DataVersion: 2065044836 + [1653629351.741794][8503:8508] CHIP:TOO: AcceptedCommandList: 3 entries + [1653629351.741800][8503:8508] CHIP:TOO: [1]: 0 + [1653629351.741807][8503:8508] CHIP:TOO: [2]: 1 + [1653629351.741813][8503:8508] CHIP:TOO: [3]: 64 + [1653629351.741937][8503:8508] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFB DataVersion: 2065044836 + [1653629351.741949][8503:8508] CHIP:TOO: AttributeList: 6 entries + [1653629351.741955][8503:8508] CHIP:TOO: [1]: 0 + [1653629351.741962][8503:8508] CHIP:TOO: [2]: 1 + [1653629351.741968][8503:8508] CHIP:TOO: [3]: 65528 + [1653629351.741975][8503:8508] CHIP:TOO: [4]: 65529 + [1653629351.741981][8503:8508] CHIP:TOO: [5]: 65531 + [1653629351.741987][8503:8508] CHIP:TOO: [6]: 65533 + [1653629351.741994][8503:8508] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 3620435651 + [1653629351.742000][8503:8508] CHIP:TOO: identify time: 0 + [1653629351.742022][8503:8508] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 3620435651 + [1653629351.742028][8503:8508] CHIP:TOO: identify type: 2 + [1653629351.742048][8503:8508] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 3620435651 + [1653629351.742054][8503:8508] CHIP:TOO: ClusterRevision: 4 + [1653629351.742109][8503:8508] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFF8 DataVersion: 3620435651 + [1653629351.742117][8503:8508] CHIP:TOO: GeneratedCommandList: 1 entries + [1653629351.742124][8503:8508] CHIP:TOO: [1]: 0 + [1653629351.742198][8503:8508] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFF9 DataVersion: 3620435651 + [1653629351.745044][8503:8508] CHIP:TOO: AcceptedCommandList: 3 entries + [1653629351.745059][8503:8508] CHIP:TOO: [1]: 0 + [1653629351.745066][8503:8508] CHIP:TOO: [2]: 1 + [1653629351.745074][8503:8508] CHIP:TOO: [3]: 64 + [1653629351.745195][8503:8508] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFFB DataVersion: 3620435651 + [1653629351.745206][8503:8508] CHIP:TOO: AttributeList: 6 entries + [1653629351.745211][8503:8508] CHIP:TOO: [1]: 0 + [1653629351.745215][8503:8508] CHIP:TOO: [2]: 1 + [1653629351.745219][8503:8508] CHIP:TOO: [3]: 65528 + [1653629351.745223][8503:8508] CHIP:TOO: [4]: 65529 + [1653629351.745226][8503:8508] CHIP:TOO: [5]: 65531 + [1653629351.745230][8503:8508] CHIP:TOO: [6]: 65533 + [1653629351.745311][8503:8508] CHIP:EM: Sending Standalone Ack for MessageCounter:6362667 on exchange 25146i disabled: true - label: - "TH sends the Read Request Message to the TH. The Message should read - an attribute from all clusters at that Endpoint AttributePath = - [[Endpoint = Endpoint1, Attribute = AttributeID]] On receipt of this + "TH sends the Read Request Message to the DUT to read an attribute + from a cluster at all Endpoints AttributePath = [[Cluster = Specific + ClusterID, Attribute = Specific Attribute]] On receipt of this message, DUT should send a report data action with the attribute value - from all the clusters to the DUT." + from all the Endpoints to the DUT." verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool any read-by-id 0xFFFFFFFF 0 1 1 + sudo ./chip-tool any read-by-id 0x03 0x00 1 0xFFFF + + [1653629424.424101][8542:8547] CHIP:DMG: ReportDataMessage = + [1653629424.424120][8542:8547] CHIP:DMG: { + [1653629424.424131][8542:8547] CHIP:DMG: AttributeReportIBs = + [1653629424.424153][8542:8547] CHIP:DMG: [ + [1653629424.424164][8542:8547] CHIP:DMG: AttributeReportIB = + [1653629424.424186][8542:8547] CHIP:DMG: { + [1653629424.424203][8542:8547] CHIP:DMG: AttributeDataIB = + [1653629424.424221][8542:8547] CHIP:DMG: { + [1653629424.424240][8542:8547] CHIP:DMG: DataVersion = 0x7b161564, + [1653629424.424256][8542:8547] CHIP:DMG: AttributePathIB = + [1653629424.424276][8542:8547] CHIP:DMG: { + [1653629424.424296][8542:8547] CHIP:DMG: Endpoint = 0x0, + [1653629424.424316][8542:8547] CHIP:DMG: Cluster = 0x3, + [1653629424.424336][8542:8547] CHIP:DMG: Attribute = 0x0000_0000, + [1653629424.424353][8542:8547] CHIP:DMG: } + [1653629424.424375][8542:8547] CHIP:DMG: + [1653629424.424396][8542:8547] CHIP:DMG: Data = 0, + [1653629424.424413][8542:8547] CHIP:DMG: }, + [1653629424.424437][8542:8547] CHIP:DMG: + [1653629424.424453][8542:8547] CHIP:DMG: }, + [1653629424.424483][8542:8547] CHIP:DMG: + [1653629424.424499][8542:8547] CHIP:DMG: AttributeReportIB = + [1653629424.424521][8542:8547] CHIP:DMG: { + [1653629424.424537][8542:8547] CHIP:DMG: AttributeDataIB = + [1653629424.424556][8542:8547] CHIP:DMG: { + [1653629424.424573][8542:8547] CHIP:DMG: DataVersion = 0xd7cb76c3, + [1653629424.424587][8542:8547] CHIP:DMG: AttributePathIB = + [1653629424.424605][8542:8547] CHIP:DMG: { + [1653629424.424623][8542:8547] CHIP:DMG: Endpoint = 0x1, + [1653629424.424641][8542:8547] CHIP:DMG: Cluster = 0x3, + [1653629424.424659][8542:8547] CHIP:DMG: Attribute = 0x0000_0000, + [1653629424.424676][8542:8547] CHIP:DMG: } + [1653629424.424696][8542:8547] CHIP:DMG: + [1653629424.424714][8542:8547] CHIP:DMG: Data = 0, + [1653629424.424730][8542:8547] CHIP:DMG: }, + [1653629424.424751][8542:8547] CHIP:DMG: + [1653629424.424766][8542:8547] CHIP:DMG: }, + [1653629424.424787][8542:8547] CHIP:DMG: + [1653629424.424802][8542:8547] CHIP:DMG: ], + [1653629424.424830][8542:8547] CHIP:DMG: + [1653629424.424847][8542:8547] CHIP:DMG: SuppressResponse = true, + [1653629424.424863][8542:8547] CHIP:DMG: InteractionModelRevision = 1 + [1653629424.424878][8542:8547] CHIP:DMG: } + [1653629424.425028][8542:8547] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 2065044836 + [1653629424.425079][8542:8547] CHIP:TOO: identify time: 0 + [1653629424.425146][8542:8547] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 3620435651 + [1653629424.425164][8542:8547] CHIP:TOO: identify time: 0 + [1653629424.425237][8542:8547] CHIP:EM: Sending Standalone Ack for MessageCounter:8601484 on exchange 41046i + disabled: true - TH side---Verify we are getting all supported right attribute value on TH when we sent above command + - label: + "TH sends the Read Request Message to the DUT to read a global + attribute from all clusters at that Endpoint AttributePath = + [[Endpoint = Specific Endpoint, Attribute = Specific Global + Attribute]] On receipt of this message, DUT should send a report data + action with the attribute value from all the clusters to the DUT." + verification: | + sudo ./chip-tool any read-by-id 0xFFFFFFFF 0xFFFD 1 0 + + [1653629525.510828][8567:8572] CHIP:DMG: } + [1653629525.511238][8567:8572] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 2065044836 + [1653629525.511345][8567:8572] CHIP:TOO: ClusterRevision: 4 + [1653629525.511387][8567:8572] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Attribute 0x0000_FFFD DataVersion: 1892696235 + [1653629525.511401][8567:8572] CHIP:TOO: ClusterRevision: 4 + [1653629525.511436][8567:8572] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_FFFD DataVersion: 1817528171 + [1653629525.511448][8567:8572] CHIP:TOO: ClusterRevision: 1 + [1653629525.511483][8567:8572] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001E Attribute 0x0000_FFFD DataVersion: 778874126 + [1653629525.511495][8567:8572] CHIP:TOO: ClusterRevision: 1 + [1653629525.511533][8567:8572] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_FFFD DataVersion: 4159399632 + [1653629525.511544][8567:8572] CHIP:TOO: ClusterRevision: 1 + [1653629525.511578][8567:8572] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_FFFD DataVersion: 2705188066 + [1653629525.511590][8567:8572] CHIP:TOO: ClusterRevision: 1 + [1653629525.511624][8567:8572] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002A Attribute 0x0000_FFFD DataVersion: 2073041134 + [1653629525.511637][8567:8572] CHIP:TOO: ClusterRevision: 1 + [1653629525.511671][8567:8572] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002B Attribute 0x0000_FFFD DataVersion: 2899581463 + [1653629525.511683][8567:8572] CHIP:TOO: ClusterRevision: 1 + [1653629525.511717][8567:8572] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFFD DataVersion: 139938310 + [1653629525.511729][8567:8572] CHIP:TOO: ClusterRevision: 1 + [1653629525.511763][8567:8572] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_FFFD DataVersion: 1881924600 + [1653629525.511774][8567:8572] CHIP:TOO: ClusterRevision: 1 + [1653629525.511809][8567:8572] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002E Attribute 0x0000_FFFD DataVersion: 965953906 + [1653629525.511821][8567:8572] CHIP:TOO: ClusterRevision: 1 + [1653629525.511856][8567:8572] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002F Attribute 0x0000_FFFD DataVersion: 621120931 + [1653629525.511869][8567:8572] CHIP:TOO: ClusterRevision: 1 + [1653629525.511902][8567:8572] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Attribute 0x0000_FFFD DataVersion: 2366251699 + [1653629525.511914][8567:8572] CHIP:TOO: ClusterRevision: 1 + [1653629525.511950][8567:8572] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_FFFD DataVersion: 2560747985 + [1653629525.511962][8567:8572] CHIP:TOO: ClusterRevision: 1 + [1653629525.515209][8567:8572] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_FFFD DataVersion: 68496368 + [1653629525.515241][8567:8572] CHIP:TOO: ClusterRevision: 1 + [1653629525.515281][8567:8572] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Attribute 0x0000_FFFD DataVersion: 366565986 + [1653629525.515292][8567:8572] CHIP:TOO: ClusterRevision: 1 + [1653629525.515324][8567:8572] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_FFFD DataVersion: 3069278869 + [1653629525.515333][8567:8572] CHIP:TOO: ClusterRevision: 1 + [1653629525.515367][8567:8572] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_FFFD DataVersion: 2097780219 + [1653629525.515376][8567:8572] CHIP:TOO: ClusterRevision: 1 + [1653629525.515408][8567:8572] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0037 Attribute 0x0000_FFFD DataVersion: 3808204989 + [1653629525.515417][8567:8572] CHIP:TOO: ClusterRevision: 1 + [1653629525.515450][8567:8572] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003C Attribute 0x0000_FFFD DataVersion: 659825789 + [1653629525.515461][8567:8572] CHIP:TOO: ClusterRevision: 1 + [1653629525.515497][8567:8572] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_FFFD DataVersion: 2025844388 + [1653629525.515507][8567:8572] CHIP:TOO: ClusterRevision: 1 + [1653629525.515541][8567:8572] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_FFFD DataVersion: 1292877491 + [1653629525.515551][8567:8572] CHIP:TOO: ClusterRevision: 1 + [1653629525.515585][8567:8572] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0040 Attribute 0x0000_FFFD DataVersion: 469408948 + [1653629525.515596][8567:8572] CHIP:TOO: ClusterRevision: 1 + [1653629525.515629][8567:8572] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0041 Attribute 0x0000_FFFD DataVersion: 1529979688 + [1653629525.515640][8567:8572] CHIP:TOO: ClusterRevision: 1 + [1653629525.515684][8567:8572] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0405 Attribute 0x0000_FFFD DataVersion: 3850945162 + [1653629525.515719][8567:8572] CHIP:TOO: ClusterRevision: 3 + [1653629525.515852][8567:8572] CHIP:EM: Sending Standalone Ack for MessageCounter:1536220 on exchange 8075i disabled: true - label: - "TH sends the Read Request Message to the TH. The Message should read - all attributes from all clusters AttributePath = [[]] On receipt of + "TH sends the Read Request Message to the DUT to read all attributes + from all clusters on all Endpoints AttributePath = [[]] On receipt of this message, DUT should send a report data action with the attribute value from all the clusters to the DUT." verification: | - In case of chip tool, here is an example command to use + sudo ./chip-tool any read-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0xFFFF --timeout 40 + received report data message has all the right attribute values from DUT to TH + disabled: true + + - label: + "TH sends the Read Request Message to the DUT to read a global + attribute from all clusters at all Endpoints AttributePath = + [[Attribute = Specific Global Attribute]] On receipt of this message, + DUT should send a report data action with the attribute value from all + the clusters to the DUT." + verification: | + sudo ./chip-tool any read-by-id 0xFFFFFFFF 0xFFFD 1 0xFFFF + Here Verifying cluster revision global attribute from all cluster for all endpoint. + received report data message has all the right attribute values from DUT to TH + disabled: true + + - label: + "TH sends the Read Request Message to the DUT to read all attributes + from a cluster at all Endpoints AttributePath = [[Cluster = Specific + ClusterID]] On receipt of this message, DUT should send a report data + action with the attribute value from all the Endpoints to the DUT." + verification: | + sudo ./chip-tool any read-by-id 0x03 0xFFFFFFFF 1 0xFFFF + + [1653629930.057852][8778:8783] CHIP:DMG: } + [1653629930.058739][8778:8783] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 2065044836 + [1653629930.058788][8778:8783] CHIP:TOO: identify time: 0 + [1653629930.058889][8778:8783] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 2065044836 + [1653629930.058919][8778:8783] CHIP:TOO: identify type: 2 + [1653629930.058980][8778:8783] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 2065044836 + [1653629930.058998][8778:8783] CHIP:TOO: ClusterRevision: 4 + [1653629930.059191][8778:8783] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFF8 DataVersion: 2065044836 + [1653629930.059220][8778:8783] CHIP:TOO: GeneratedCommandList: 1 entries + [1653629930.059239][8778:8783] CHIP:TOO: [1]: 0 + [1653629930.059478][8778:8783] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFF9 DataVersion: 2065044836 + [1653629930.059503][8778:8783] CHIP:TOO: AcceptedCommandList: 3 entries + [1653629930.059519][8778:8783] CHIP:TOO: [1]: 0 + [1653629930.059532][8778:8783] CHIP:TOO: [2]: 1 + [1653629930.059546][8778:8783] CHIP:TOO: [3]: 64 + [1653629930.059945][8778:8783] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFB DataVersion: 2065044836 + [1653629930.059974][8778:8783] CHIP:TOO: AttributeList: 6 entries + [1653629930.059989][8778:8783] CHIP:TOO: [1]: 0 + [1653629930.060002][8778:8783] CHIP:TOO: [2]: 1 + [1653629930.060015][8778:8783] CHIP:TOO: [3]: 65528 + [1653629930.060032][8778:8783] CHIP:TOO: [4]: 65529 + [1653629930.060048][8778:8783] CHIP:TOO: [5]: 65531 + [1653629930.060064][8778:8783] CHIP:TOO: [6]: 65533 + [1653629930.060077][8778:8783] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 3620435651 + [1653629930.060095][8778:8783] CHIP:TOO: identify time: 0 + [1653629930.060151][8778:8783] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 3620435651 + [1653629930.060167][8778:8783] CHIP:TOO: identify type: 2 + [1653629930.060224][8778:8783] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 3620435651 + [1653629930.060240][8778:8783] CHIP:TOO: ClusterRevision: 4 + [1653629930.060411][8778:8783] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFF8 DataVersion: 3620435651 + [1653629930.060433][8778:8783] CHIP:TOO: GeneratedCommandList: 1 entries + [1653629930.060448][8778:8783] CHIP:TOO: [1]: 0 + [1653629930.060671][8778:8783] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFF9 DataVersion: 3620435651 + [1653629930.060695][8778:8783] CHIP:TOO: AcceptedCommandList: 3 entries + [1653629930.060710][8778:8783] CHIP:TOO: [1]: 0 + [1653629930.060722][8778:8783] CHIP:TOO: [2]: 1 + [1653629930.060735][8778:8783] CHIP:TOO: [3]: 64 + [1653629930.061086][8778:8783] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFFB DataVersion: 3620435651 + [1653629930.061114][8778:8783] CHIP:TOO: AttributeList: 6 entries + [1653629930.061129][8778:8783] CHIP:TOO: [1]: 0 + [1653629930.061141][8778:8783] CHIP:TOO: [2]: 1 + [1653629930.061154][8778:8783] CHIP:TOO: [3]: 65528 + [1653629930.061167][8778:8783] CHIP:TOO: [4]: 65529 + [1653629930.061184][8778:8783] CHIP:TOO: [5]: 65531 + [1653629930.061201][8778:8783] CHIP:TOO: [6]: 65533 + [1653629930.061435][8778:8783] CHIP:EM: Sending Standalone Ack for MessageCounter:5968688 on exchange 11683i + disabled: true + + - label: + "TH sends the Read Request Message to the DUT to read all attributes + from all clusters at one Endpoint AttributePath = [[Endpoint = + Specific Endpoint]] On receipt of this message, DUT should send a + report data action with the attribute value from all the Endpoints to + the DUT." + verification: | + sudo ./chip-tool any read-by-id 0xFFFFFFFF 0xFFFFFFFF 1 1 - '' ./chip-tool any read-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0xFFFF - TH side---Verify we are getting all supported right attribute value on TH when we sent above command + received report data message has all the right attribute values from DUT to TH disabled: true - label: @@ -148,40 +336,11 @@ tests: attribute of data type bool. DUT responds with the report data action with the right attribute value." verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool onoff read on-off 1 1 - - TH side---Verify we are getting ReportData message path(EndpointID, AttributeID, ClusterID ) same as provided data sent in the above command. - - [1650360287270] [85704:1230840] CHIP: [DMG] ReportDataMessage = - [1650360287270] [85704:1230840] CHIP: [DMG] { - [1650360287270] [85704:1230840] CHIP: [DMG] AttributeReportIBs = - [1650360287270] [85704:1230840] CHIP: [DMG] [ - [1650360287270] [85704:1230840] CHIP: [DMG] AttributeReportIB = - [1650360287270] [85704:1230840] CHIP: [DMG] { - [1650360287270] [85704:1230840] CHIP: [DMG] AttributeDataIB = - [1650360287270] [85704:1230840] CHIP: [DMG] { - [1650360287270] [85704:1230840] CHIP: [DMG] DataVersion = 0xdc20dc44, - [1650360287270] [85704:1230840] CHIP: [DMG] AttributePathIB = - [1650360287270] [85704:1230840] CHIP: [DMG] { - [1650360287270] [85704:1230840] CHIP: [DMG] Endpoint = 0x1, - [1650360287270] [85704:1230840] CHIP: [DMG] Cluster = 0x6, - [1650360287270] [85704:1230840] CHIP: [DMG] Attribute = 0x0000_0000, - [1650360287270] [85704:1230840] CHIP: [DMG] } - [1650360287270] [85704:1230840] CHIP: [DMG] - [1650360287270] [85704:1230840] CHIP: [DMG] Data = false, - [1650360287270] [85704:1230840] CHIP: [DMG] }, - [1650360287270] [85704:1230840] CHIP: [DMG] - [1650360287270] [85704:1230840] CHIP: [DMG] }, - [1650360287270] [85704:1230840] CHIP: [DMG] - [1650360287270] [85704:1230840] CHIP: [DMG] ], - [1650360287270] [85704:1230840] CHIP: [DMG] - [1650360287270] [85704:1230840] CHIP: [DMG] SuppressResponse = true, - [1650360287270] [85704:1230840] CHIP: [DMG] InteractionModelRevision = 1 - [1650360287270] [85704:1230840] CHIP: [DMG] } - [1650360287270] [85704:1230840] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 3693141060 - [1650360287270] [85704:1230840] CHIP: [TOO] OnOff: FALSE + sudo ./chip-tool onoff read on-off 1 1 + + [1653630222.692433][8886:8891] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 312829505 + [1653630222.692468][8886:8891] CHIP:TOO: OnOff: FALSE + [1653630222.692544][8886:8891] CHIP:EM: Sending Standalone Ack for MessageCounter:14957244 on exchange 8769i disabled: true - label: @@ -189,40 +348,11 @@ tests: attribute of data type string. DUT responds with the report data action with the right attribute value." verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool modeselect read description 1 1 - - TH side---Verify we are getting ReportData message path(EndpointID, AttributeID, ClusterID ) same as provided data sent in the above command. - - [1650360466457] [85724:1231451] CHIP: [DMG] ReportDataMessage = - [1650360466457] [85724:1231451] CHIP: [DMG] { - [1650360466457] [85724:1231451] CHIP: [DMG] AttributeReportIBs = - [1650360466457] [85724:1231451] CHIP: [DMG] [ - [1650360466457] [85724:1231451] CHIP: [DMG] AttributeReportIB = - [1650360466457] [85724:1231451] CHIP: [DMG] { - [1650360466457] [85724:1231451] CHIP: [DMG] AttributeDataIB = - [1650360466457] [85724:1231451] CHIP: [DMG] { - [1650360466457] [85724:1231451] CHIP: [DMG] DataVersion = 0xfc73c079, - [1650360466457] [85724:1231451] CHIP: [DMG] AttributePathIB = - [1650360466457] [85724:1231451] CHIP: [DMG] { - [1650360466457] [85724:1231451] CHIP: [DMG] Endpoint = 0x1, - [1650360466457] [85724:1231451] CHIP: [DMG] Cluster = 0x50, - [1650360466457] [85724:1231451] CHIP: [DMG] Attribute = 0x0000_0000, - [1650360466457] [85724:1231451] CHIP: [DMG] } - [1650360466457] [85724:1231451] CHIP: [DMG] - [1650360466457] [85724:1231451] CHIP: [DMG] Data = "Coffee", - [1650360466457] [85724:1231451] CHIP: [DMG] }, - [1650360466457] [85724:1231451] CHIP: [DMG] - [1650360466457] [85724:1231451] CHIP: [DMG] }, - [1650360466457] [85724:1231451] CHIP: [DMG] - [1650360466457] [85724:1231451] CHIP: [DMG] ], - [1650360466457] [85724:1231451] CHIP: [DMG] - [1650360466457] [85724:1231451] CHIP: [DMG] SuppressResponse = true, - [1650360466457] [85724:1231451] CHIP: [DMG] InteractionModelRevision = 1 - [1650360466457] [85724:1231451] CHIP: [DMG] } - [1650360466457] [85724:1231451] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0000 DataVersion: 4235444345 - [1650360466457] [85724:1231451] CHIP: [TOO] Description: Coffee + sudo ./chip-tool modeselect read description 1 1 + + [1653630307.924844][8910:8915] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0000 DataVersion: 722071058 + [1653630307.924909][8910:8915] CHIP:TOO: Description: Coffee + [1653630307.925019][8910:8915] CHIP:EM: Sending Standalone Ack for MessageCounter:12598182 on exchange 40245i disabled: true - label: @@ -230,40 +360,11 @@ tests: attribute of data type unsigned integer. DUT responds with the report data action with the right attribute value." verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool any read-by-id 0x3 0x1 1 0 - - TH side---Verify we are getting ReportData message path(EndpointID, AttributeID, ClusterID ) same as provided data sent in the above command. - - [1650360573160] [85736:1231972] CHIP: [DMG] ReportDataMessage = - [1650360573160] [85736:1231972] CHIP: [DMG] { - [1650360573160] [85736:1231972] CHIP: [DMG] AttributeReportIBs = - [1650360573160] [85736:1231972] CHIP: [DMG] [ - [1650360573160] [85736:1231972] CHIP: [DMG] AttributeReportIB = - [1650360573160] [85736:1231972] CHIP: [DMG] { - [1650360573160] [85736:1231972] CHIP: [DMG] AttributeDataIB = - [1650360573160] [85736:1231972] CHIP: [DMG] { - [1650360573160] [85736:1231972] CHIP: [DMG] DataVersion = 0xb67fc5cf, - [1650360573160] [85736:1231972] CHIP: [DMG] AttributePathIB = - [1650360573160] [85736:1231972] CHIP: [DMG] { - [1650360573160] [85736:1231972] CHIP: [DMG] Endpoint = 0x0, - [1650360573160] [85736:1231972] CHIP: [DMG] Cluster = 0x3, - [1650360573160] [85736:1231972] CHIP: [DMG] Attribute = 0x0000_0001, - [1650360573160] [85736:1231972] CHIP: [DMG] } - [1650360573160] [85736:1231972] CHIP: [DMG] - [1650360573160] [85736:1231972] CHIP: [DMG] Data = 2, - [1650360573160] [85736:1231972] CHIP: [DMG] }, - [1650360573160] [85736:1231972] CHIP: [DMG] - [1650360573160] [85736:1231972] CHIP: [DMG] }, - [1650360573160] [85736:1231972] CHIP: [DMG] - [1650360573160] [85736:1231972] CHIP: [DMG] ], - [1650360573160] [85736:1231972] CHIP: [DMG] - [1650360573160] [85736:1231972] CHIP: [DMG] SuppressResponse = true, - [1650360573160] [85736:1231972] CHIP: [DMG] InteractionModelRevision = 1 - [1650360573160] [85736:1231972] CHIP: [DMG] } - [1650360573160] [85736:1231972] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 3061827023 - [1650360573160] [85736:1231972] CHIP: [TOO] identify type: 2 + sudo ./chip-tool any read-by-id 0x3 0x1 1 0 + + [1653630355.834677][8923:8928] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 2065044836 + [1653630355.834735][8923:8928] CHIP:TOO: identify type: 2 + [1653630355.834801][8923:8928] CHIP:EM: Sending Standalone Ack for MessageCounter:1314384 on exchange 51148i disabled: true - label: @@ -271,40 +372,11 @@ tests: attribute of data type signed integer. DUT responds with the report data action with the right attribute value." verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool pressuremeasurement read measured-value 1 1 - - Verify we are getting right attribute value on TH when we sent above command - - [1650360637967] [85753:1232470] CHIP: [DMG] ReportDataMessage = - [1650360637967] [85753:1232470] CHIP: [DMG] { - [1650360637967] [85753:1232470] CHIP: [DMG] AttributeReportIBs = - [1650360637967] [85753:1232470] CHIP: [DMG] [ - [1650360637967] [85753:1232470] CHIP: [DMG] AttributeReportIB = - [1650360637967] [85753:1232470] CHIP: [DMG] { - [1650360637967] [85753:1232470] CHIP: [DMG] AttributeDataIB = - [1650360637967] [85753:1232470] CHIP: [DMG] { - [1650360637967] [85753:1232470] CHIP: [DMG] DataVersion = 0x560e9d91, - [1650360637967] [85753:1232470] CHIP: [DMG] AttributePathIB = - [1650360637967] [85753:1232470] CHIP: [DMG] { - [1650360637967] [85753:1232470] CHIP: [DMG] Endpoint = 0x1, - [1650360637967] [85753:1232470] CHIP: [DMG] Cluster = 0x403, - [1650360637967] [85753:1232470] CHIP: [DMG] Attribute = 0x0000_0000, - [1650360637967] [85753:1232470] CHIP: [DMG] } - [1650360637967] [85753:1232470] CHIP: [DMG] - [1650360637967] [85753:1232470] CHIP: [DMG] Data = 0, - [1650360637967] [85753:1232470] CHIP: [DMG] }, - [1650360637967] [85753:1232470] CHIP: [DMG] - [1650360637967] [85753:1232470] CHIP: [DMG] }, - [1650360637967] [85753:1232470] CHIP: [DMG] - [1650360637967] [85753:1232470] CHIP: [DMG] ], - [1650360637967] [85753:1232470] CHIP: [DMG] - [1650360637967] [85753:1232470] CHIP: [DMG] SuppressResponse = true, - [1650360637967] [85753:1232470] CHIP: [DMG] InteractionModelRevision = 1 - [1650360637967] [85753:1232470] CHIP: [DMG] } - [1650360637967] [85753:1232470] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0403 Attribute 0x0000_0000 DataVersion: 1443798417 - [1650360637967] [85753:1232470] CHIP: [TOO] MeasuredValue: 0 + sudo ./chip-tool pressuremeasurement read measured-value 1 1 + + [1653630404.570993][8934:8939] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0403 Attribute 0x0000_0000 DataVersion: 3770689028 + [1653630404.571019][8934:8939] CHIP:TOO: MeasuredValue: 0 + [1653630404.571064][8934:8939] CHIP:EM: Sending Standalone Ack for MessageCounter:9089678 on exchange 55610i disabled: true - label: @@ -312,7 +384,7 @@ tests: attribute of data type floating point. DUT responds with the report data action with the right attribute value." verification: | - DUT implementation required to verify read an attribute of data type floating point + DUT implementation required to verify read an attribute of data type Float disabled: true - label: @@ -320,62 +392,12 @@ tests: attribute of data type Octet String. DUT responds with the report data action with the right attribute value." verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool operationalcredentials read trusted-root-certificates 1 0 - - TH side--Verify we are getting right attribute value on TH when we sent above command - - [1650360694433] [85761:1232769] CHIP: [DMG] ReportDataMessage = - [1650360694433] [85761:1232769] CHIP: [DMG] { - [1650360694433] [85761:1232769] CHIP: [DMG] AttributeReportIBs = - [1650360694433] [85761:1232769] CHIP: [DMG] [ - [1650360694433] [85761:1232769] CHIP: [DMG] AttributeReportIB = - [1650360694433] [85761:1232769] CHIP: [DMG] { - [1650360694433] [85761:1232769] CHIP: [DMG] AttributeDataIB = - [1650360694433] [85761:1232769] CHIP: [DMG] { - [1650360694433] [85761:1232769] CHIP: [DMG] DataVersion = 0xb318d380, - [1650360694433] [85761:1232769] CHIP: [DMG] AttributePathIB = - [1650360694433] [85761:1232769] CHIP: [DMG] { - [1650360694433] [85761:1232769] CHIP: [DMG] Endpoint = 0x0, - [1650360694433] [85761:1232769] CHIP: [DMG] Cluster = 0x3e, - [1650360694433] [85761:1232769] CHIP: [DMG] Attribute = 0x0000_0004, - [1650360694433] [85761:1232769] CHIP: [DMG] } - [1650360694433] [85761:1232769] CHIP: [DMG] - [1650360694433] [85761:1232769] CHIP: [DMG] Data = [ - [1650360694433] [85761:1232769] CHIP: [DMG] - [1650360694433] [85761:1232769] CHIP: [DMG] ], - [1650360694433] [85761:1232769] CHIP: [DMG] }, - [1650360694434] [85761:1232769] CHIP: [DMG] - [1650360694434] [85761:1232769] CHIP: [DMG] }, - [1650360694434] [85761:1232769] CHIP: [DMG] - [1650360694434] [85761:1232769] CHIP: [DMG] AttributeReportIB = - [1650360694434] [85761:1232769] CHIP: [DMG] { - [1650360694434] [85761:1232769] CHIP: [DMG] AttributeDataIB = - [1650360694434] [85761:1232769] CHIP: [DMG] { - [1650360694434] [85761:1232769] CHIP: [DMG] DataVersion = 0xb318d380, - [1650360694434] [85761:1232769] CHIP: [DMG] AttributePathIB = - [1650360694434] [85761:1232769] CHIP: [DMG] { - [1650360694434] [85761:1232769] CHIP: [DMG] Endpoint = 0x0, - [1650360694434] [85761:1232769] CHIP: [DMG] Cluster = 0x3e, - [1650360694434] [85761:1232769] CHIP: [DMG] Attribute = 0x0000_0004, - [1650360694434] [85761:1232769] CHIP: [DMG] ListIndex = Null, - [1650360694434] [85761:1232769] CHIP: [DMG] } - [1650360694434] [85761:1232769] CHIP: [DMG] - [1650360694434] [85761:1232769] CHIP: [DMG] Data = [ - [1650360694434] [85761:1232769] CHIP: [DMG] 0x15, 0x30, 0x1, 0x1, 0x0, 0x24, 0x2, 0x1, 0x37, 0x3, 0x24, 0x14, 0x0, 0x18, 0x26, 0x4, 0x80, 0x22, 0x81, 0x27, 0x26, 0x5, 0x80, 0x25, 0x4d, 0x3a, 0x37, 0x6, 0x24, 0x14, 0x0, 0x18, 0x24, 0x7, 0x1, 0x24, 0x - [1650360694434] [85761:1232769] CHIP: [DMG] ] - [1650360694434] [85761:1232769] CHIP: [DMG] }, - [1650360694434] [85761:1232769] CHIP: [DMG] - [1650360694434] [85761:1232769] CHIP: [DMG] }, - [1650360694434] [85761:1232769] CHIP: [DMG] - [1650360694434] [85761:1232769] CHIP: [DMG] ], - [1650360694434] [85761:1232769] CHIP: [DMG] - [1650360694434] [85761:1232769] CHIP: [DMG] SuppressResponse = true, - [1650360694434] [85761:1232769] CHIP: [DMG] InteractionModelRevision = 1 - [1650360694434] [85761:1232769] CHIP: [DMG] } - [1650360694435] [85761:1232769] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0004 DataVersion: 3004748672 - [1650360694435] [85761:1232769] CHIP: [TOO] TrustedRootCertificates: 1 entries + sudo ./chip-tool operationalcredentials read trusted-root-certificates 1 0 + + [1653630497.890683][8988:8993] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0004 DataVersion: 2025844388 + [1653630497.890738][8988:8993] CHIP:TOO: TrustedRootCertificates: 1 entries + [1653630497.890769][8988:8993] CHIP:TOO: [1]: Elided value too large of size 231 + [1653630497.890856][8988:8993] CHIP:EM: Sending Standalone Ack for MessageCounter:8673864 on exchange 42218i disabled: true - label: @@ -383,7 +405,11 @@ tests: attribute of data type Struct. DUT responds with the report data action with the right attribute value." verification: | - DUT implementation required to verify read an attribute of data type struct. + sudo ./chip-tool occupancysensing read occupancy-sensor-type 1 1 + + [1653630542.619226][9034:9039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0406 Attribute 0x0000_0001 DataVersion: 3604656322 + [1653630542.619277][9034:9039] CHIP:TOO: occupancy sensor type: 0 + [1653630542.619361][9034:9039] CHIP:EM: Sending Standalone Ack for MessageCounter:4568856 on exchange 18045i disabled: true - label: @@ -391,29 +417,23 @@ tests: attribute of data type List. DUT responds with the report data action with the right attribute value." verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool modeselect read supported-modes 1 1 - - TH side---Verify we are getting right attribute value on TH when we sent above command - - [1650362184885] [85960:1238675] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0002 DataVersion: 4235444345 - [1650362184885] [85960:1238675] CHIP: [TOO] SupportedModes: 3 entries - [1650362184885] [85960:1238675] CHIP: [TOO] [1]: { - [1650362184885] [85960:1238675] CHIP: [TOO] Label: Black - [1650362184885] [85960:1238675] CHIP: [TOO] Mode: 0 - [1650362184885] [85960:1238675] CHIP: [TOO] SemanticTag: 0 - [1650362184885] [85960:1238675] CHIP: [TOO] } - [1650362184885] [85960:1238675] CHIP: [TOO] [2]: { - [1650362184885] [85960:1238675] CHIP: [TOO] Label: Cappuccino - [1650362184885] [85960:1238675] CHIP: [TOO] Mode: 4 - [1650362184885] [85960:1238675] CHIP: [TOO] SemanticTag: 0 - [1650362184885] [85960:1238675] CHIP: [TOO] } - [1650362184885] [85960:1238675] CHIP: [TOO] [3]: { - [1650362184885] [85960:1238675] CHIP: [TOO] Label: Espresso - [1650362184885] [85960:1238675] CHIP: [TOO] Mode: 7 - [1650362184885] [85960:1238675] CHIP: [TOO] SemanticTag: 0 - [1650362184885] [85960:1238675] CHIP: [TOO] } + sudo ./chip-tool timeformatlocalization read supported-calendar-types 1 0 + + [1653630857.535521][9171:9176] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0002 DataVersion: 139938310 + [1653630857.535636][9171:9176] CHIP:TOO: SupportedCalendarTypes: 12 entries + [1653630857.535670][9171:9176] CHIP:TOO: [1]: 0 + [1653630857.535696][9171:9176] CHIP:TOO: [2]: 1 + [1653630857.535722][9171:9176] CHIP:TOO: [3]: 2 + [1653630857.535748][9171:9176] CHIP:TOO: [4]: 3 + [1653630857.535773][9171:9176] CHIP:TOO: [5]: 4 + [1653630857.535798][9171:9176] CHIP:TOO: [6]: 5 + [1653630857.535820][9171:9176] CHIP:TOO: [7]: 6 + [1653630857.535844][9171:9176] CHIP:TOO: [8]: 8 + [1653630857.535868][9171:9176] CHIP:TOO: [9]: 9 + [1653630857.535888][9171:9176] CHIP:TOO: [10]: 10 + [1653630857.535911][9171:9176] CHIP:TOO: [11]: 11 + [1653630857.535933][9171:9176] CHIP:TOO: [12]: 7 + [1653630857.536075][9171:9176] CHIP:EM: Sending Standalone Ack for MessageCounter:7543776 on exchange 42439i disabled: true - label: @@ -421,41 +441,11 @@ tests: attribute of data type enum. DUT responds with the report data action with the right attribute value." verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool occupancysensing read occupancy-sensor-type 1 1 - - TH side---Verify we are getting right attribute value on TH when we sent above command - - - [1650362650962] [86020:1240713] CHIP: [DMG] ReportDataMessage = - [1650362650963] [86020:1240713] CHIP: [DMG] { - [1650362650963] [86020:1240713] CHIP: [DMG] AttributeReportIBs = - [1650362650963] [86020:1240713] CHIP: [DMG] [ - [1650362650963] [86020:1240713] CHIP: [DMG] AttributeReportIB = - [1650362650963] [86020:1240713] CHIP: [DMG] { - [1650362650963] [86020:1240713] CHIP: [DMG] AttributeDataIB = - [1650362650963] [86020:1240713] CHIP: [DMG] { - [1650362650963] [86020:1240713] CHIP: [DMG] DataVersion = 0xa301ff86, - [1650362650963] [86020:1240713] CHIP: [DMG] AttributePathIB = - [1650362650963] [86020:1240713] CHIP: [DMG] { - [1650362650963] [86020:1240713] CHIP: [DMG] Endpoint = 0x1, - [1650362650963] [86020:1240713] CHIP: [DMG] Cluster = 0x406, - [1650362650963] [86020:1240713] CHIP: [DMG] Attribute = 0x0000_0001, - [1650362650963] [86020:1240713] CHIP: [DMG] } - [1650362650963] [86020:1240713] CHIP: [DMG] - [1650362650963] [86020:1240713] CHIP: [DMG] Data = 0, - [1650362650963] [86020:1240713] CHIP: [DMG] }, - [1650362650963] [86020:1240713] CHIP: [DMG] - [1650362650963] [86020:1240713] CHIP: [DMG] }, - [1650362650963] [86020:1240713] CHIP: [DMG] - [1650362650963] [86020:1240713] CHIP: [DMG] ], - [1650362650963] [86020:1240713] CHIP: [DMG] - [1650362650963] [86020:1240713] CHIP: [DMG] SuppressResponse = true, - [1650362650963] [86020:1240713] CHIP: [DMG] InteractionModelRevision = 1 - [1650362650963] [86020:1240713] CHIP: [DMG] } - [1650362650963] [86020:1240713] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0406 Attribute 0x0000_0001 DataVersion: 2734817158 - [1650362650963] [86020:1240713] CHIP: [TOO] occupancy sensor type: 0 + sudo ./chip-tool occupancysensing read occupancy-sensor-type 1 1 + + [1653630949.025002][9198:9203] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0406 Attribute 0x0000_0001 DataVersion: 3604656322 + [1653630949.025066][9198:9203] CHIP:TOO: occupancy sensor type: 0 + [1653630949.025181][9198:9203] CHIP:EM: Sending Standalone Ack for MessageCounter:1638675 on exchange 63250i disabled: true - label: @@ -463,184 +453,64 @@ tests: attribute of data type bitmap. DUT responds with the report data action with the right attribute value." verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool levelcontrol read options 1 1 - - TH side---Verify we are getting right attribute value on TH when we sent above command - - [1650362616022] [86014:1240558] CHIP: [DMG] ReportDataMessage = - [1650362616022] [86014:1240558] CHIP: [DMG] { - [1650362616022] [86014:1240558] CHIP: [DMG] AttributeReportIBs = - [1650362616022] [86014:1240558] CHIP: [DMG] [ - [1650362616022] [86014:1240558] CHIP: [DMG] AttributeReportIB = - [1650362616022] [86014:1240558] CHIP: [DMG] { - [1650362616022] [86014:1240558] CHIP: [DMG] AttributeDataIB = - [1650362616022] [86014:1240558] CHIP: [DMG] { - [1650362616022] [86014:1240558] CHIP: [DMG] DataVersion = 0x3355c36c, - [1650362616022] [86014:1240558] CHIP: [DMG] AttributePathIB = - [1650362616022] [86014:1240558] CHIP: [DMG] { - [1650362616022] [86014:1240558] CHIP: [DMG] Endpoint = 0x1, - [1650362616022] [86014:1240558] CHIP: [DMG] Cluster = 0x8, - [1650362616022] [86014:1240558] CHIP: [DMG] Attribute = 0x0000_000F, - [1650362616022] [86014:1240558] CHIP: [DMG] } - [1650362616022] [86014:1240558] CHIP: [DMG] - [1650362616022] [86014:1240558] CHIP: [DMG] Data = 0, - [1650362616022] [86014:1240558] CHIP: [DMG] }, - [1650362616022] [86014:1240558] CHIP: [DMG] - [1650362616022] [86014:1240558] CHIP: [DMG] }, - [1650362616022] [86014:1240558] CHIP: [DMG] - [1650362616022] [86014:1240558] CHIP: [DMG] ], - [1650362616022] [86014:1240558] CHIP: [DMG] - [1650362616022] [86014:1240558] CHIP: [DMG] SuppressResponse = true, - [1650362616022] [86014:1240558] CHIP: [DMG] InteractionModelRevision = 1 - [1650362616022] [86014:1240558] CHIP: [DMG] } - [1650362616022] [86014:1240558] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_000F DataVersion: 861258604 - [1650362616022] [86014:1240558] CHIP: [TOO] options: 0 + sudo ./chip-tool levelcontrol read options 1 1 + + [1653631017.039079][9211:9216] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_000F DataVersion: 199562416 + [1653631017.039130][9211:9216] CHIP:TOO: options: 0 + [1653631017.039230][9211:9216] CHIP:EM: Sending Standalone Ack for MessageCounter:2930946 on exchange 51524i disabled: true - label: "TH sends the Read Request Message to the DUT to read any attribute to an unsupported node. DUT responds with the report data action." verification: | - https://github.com/project-chip/connectedhomeip/issues/17500 + Out of Scope for V1.0 disabled: true - label: "TH sends the Read Request Message to the DUT to read any attribute to an unsupported Endpoint. DUT responds with the report data action." verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool levelcontrol read-by-id 0 1 4 - - TH side---Verify we are getting "status = 0x7f (UNSUPPORTED_ENDPOINT)" for above command. - - - [1650361252618] [85838:1235112] CHIP: [DMG] ReportDataMessage = - [1650361252618] [85838:1235112] CHIP: [DMG] { - [1650361252618] [85838:1235112] CHIP: [DMG] AttributeReportIBs = - [1650361252618] [85838:1235112] CHIP: [DMG] [ - [1650361252618] [85838:1235112] CHIP: [DMG] AttributeReportIB = - [1650361252618] [85838:1235112] CHIP: [DMG] { - [1650361252618] [85838:1235112] CHIP: [DMG] AttributeStatusIB = - [1650361252618] [85838:1235112] CHIP: [DMG] { - [1650361252618] [85838:1235112] CHIP: [DMG] AttributePathIB = - [1650361252618] [85838:1235112] CHIP: [DMG] { - [1650361252618] [85838:1235112] CHIP: [DMG] Endpoint = 0x4, - [1650361252618] [85838:1235112] CHIP: [DMG] Cluster = 0x8, - [1650361252618] [85838:1235112] CHIP: [DMG] Attribute = 0x0000_0000, - [1650361252618] [85838:1235112] CHIP: [DMG] } - [1650361252618] [85838:1235112] CHIP: [DMG] - [1650361252618] [85838:1235112] CHIP: [DMG] StatusIB = - [1650361252618] [85838:1235112] CHIP: [DMG] { - [1650361252618] [85838:1235112] CHIP: [DMG] status = 0x7f (UNSUPPORTED_ENDPOINT), - [1650361252618] [85838:1235112] CHIP: [DMG] }, - [1650361252618] [85838:1235112] CHIP: [DMG] - [1650361252618] [85838:1235112] CHIP: [DMG] }, - [1650361252618] [85838:1235112] CHIP: [DMG] - [1650361252618] [85838:1235112] CHIP: [DMG] }, - [1650361252618] [85838:1235112] CHIP: [DMG] - [1650361252618] [85838:1235112] CHIP: [DMG] ], - [1650361252618] [85838:1235112] CHIP: [DMG] - [1650361252618] [85838:1235112] CHIP: [DMG] SuppressResponse = true, - [1650361252618] [85838:1235112] CHIP: [DMG] InteractionModelRevision = 1 - [1650361252618] [85838:1235112] CHIP: [DMG] } - [1650361252618] [85838:1235112] CHIP: [TOO] Response Failure: IM Error 0x0000057F: General error: 0x7f (UNSUPPORTED_ENDPOINT) + sudo ./chip-tool any read-by-id 0x3 0x1 1 8 + + [1653631094.367299][9229:9234] CHIP:DMG: SuppressResponse = true, + [1653631094.367315][9229:9234] CHIP:DMG: InteractionModelRevision = 1 + [1653631094.367329][9229:9234] CHIP:DMG: } + [1653631094.367438][9229:9234] CHIP:TOO: Response Failure: IM Error 0x0000057F: General error: 0x7f (UNSUPPORTED_ENDPOINT) + [1653631094.367500][9229:9234] CHIP:EM: Sending Standalone Ack for MessageCounter:1271422 on exchange 9573i disabled: true - label: "TH sends the Read Request Message to the DUT to read any attribute to an unsupported cluster. DUT responds with the report data action." verification: | - In case of chip tool, here is an example command to use - - ./chip-tool any command-by-id 0x0003 0 1 1 2 - - TH side---Verify we are getting " status = 0xc3 (UNSUPPORTED_CLUSTER)" for above command. - - [1650361310127] [85846:1235360] CHIP: [DMG] InvokeResponseMessage = - [1650361310127] [85846:1235360] CHIP: [DMG] { - [1650361310127] [85846:1235360] CHIP: [DMG] suppressResponse = false, - [1650361310127] [85846:1235360] CHIP: [DMG] InvokeResponseIBs = - [1650361310127] [85846:1235360] CHIP: [DMG] [ - [1650361310127] [85846:1235360] CHIP: [DMG] InvokeResponseIB = - [1650361310127] [85846:1235360] CHIP: [DMG] { - [1650361310127] [85846:1235360] CHIP: [DMG] CommandStatusIB = - [1650361310127] [85846:1235360] CHIP: [DMG] { - [1650361310127] [85846:1235360] CHIP: [DMG] CommandPathIB = - [1650361310127] [85846:1235360] CHIP: [DMG] { - [1650361310127] [85846:1235360] CHIP: [DMG] EndpointId = 0x2, - [1650361310127] [85846:1235360] CHIP: [DMG] ClusterId = 0x3, - [1650361310128] [85846:1235360] CHIP: [DMG] CommandId = 0x0, - [1650361310128] [85846:1235360] CHIP: [DMG] }, - [1650361310128] [85846:1235360] CHIP: [DMG] - [1650361310128] [85846:1235360] CHIP: [DMG] StatusIB = - [1650361310128] [85846:1235360] CHIP: [DMG] { - [1650361310128] [85846:1235360] CHIP: [DMG] status = 0xc3 (UNSUPPORTED_CLUSTER), - [1650361310128] [85846:1235360] CHIP: [DMG] }, - [1650361310128] [85846:1235360] CHIP: [DMG] - [1650361310128] [85846:1235360] CHIP: [DMG] }, - [1650361310128] [85846:1235360] CHIP: [DMG] - [1650361310128] [85846:1235360] CHIP: [DMG] }, - [1650361310128] [85846:1235360] CHIP: [DMG] - [1650361310128] [85846:1235360] CHIP: [DMG] ], - [1650361310128] [85846:1235360] CHIP: [DMG] - [1650361310128] [85846:1235360] CHIP: [DMG] InteractionModelRevision = 1 - [1650361310128] [85846:1235360] CHIP: [DMG] }, - [1650361310128] [85846:1235360] CHIP: [DMG] Received Command Response Status for Endpoint=2 Cluster=0x0000_0003 Command=0x0000_0000 Status=0xc3 - [1650361310128] [85846:1235360] CHIP: [TOO] Error: IM Error 0x000005C3: General error: 0xc3 (UNSUPPORTED_CLUSTER) + sudo ./chip-tool any read-by-id 0x3 0x1 1 2 + + [1653631187.121757][9257:9262] CHIP:DMG: SuppressResponse = true, + [1653631187.121774][9257:9262] CHIP:DMG: InteractionModelRevision = 1 + [1653631187.121788][9257:9262] CHIP:DMG: } + [1653631187.121901][9257:9262] CHIP:TOO: Response Failure: IM Error 0x000005C3: General error: 0xc3 (UNSUPPORTED_CLUSTER) + [1653631187.121969][9257:9262] CHIP:EM: Sending Standalone Ack for MessageCounter:983242 on exchange 7219i disabled: true - label: "TH sends the Read Request Message to the DUT to read an unsupported attribute DUT responds with the report data action." verification: | - '' ./chip-tool thermostat read outdoor-temperature 1 1 - - TH side---Verify we are getting "status = 0x86 (UNSUPPORTED_ATTRIBUTE)" for above command. - - [1650361351617] [85853:1235541] CHIP: [DMG] ReportDataMessage = - [1650361351617] [85853:1235541] CHIP: [DMG] { - [1650361351617] [85853:1235541] CHIP: [DMG] AttributeReportIBs = - [1650361351617] [85853:1235541] CHIP: [DMG] [ - [1650361351617] [85853:1235541] CHIP: [DMG] AttributeReportIB = - [1650361351617] [85853:1235541] CHIP: [DMG] { - [1650361351617] [85853:1235541] CHIP: [DMG] AttributeStatusIB = - [1650361351617] [85853:1235541] CHIP: [DMG] { - [1650361351617] [85853:1235541] CHIP: [DMG] AttributePathIB = - [1650361351617] [85853:1235541] CHIP: [DMG] { - [1650361351617] [85853:1235541] CHIP: [DMG] Endpoint = 0x1, - [1650361351617] [85853:1235541] CHIP: [DMG] Cluster = 0x201, - [1650361351617] [85853:1235541] CHIP: [DMG] Attribute = 0x0000_0001, - [1650361351617] [85853:1235541] CHIP: [DMG] } - [1650361351617] [85853:1235541] CHIP: [DMG] - [1650361351617] [85853:1235541] CHIP: [DMG] StatusIB = - [1650361351617] [85853:1235541] CHIP: [DMG] { - [1650361351617] [85853:1235541] CHIP: [DMG] status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1650361351617] [85853:1235541] CHIP: [DMG] }, - [1650361351617] [85853:1235541] CHIP: [DMG] - [1650361351617] [85853:1235541] CHIP: [DMG] }, - [1650361351617] [85853:1235541] CHIP: [DMG] - [1650361351617] [85853:1235541] CHIP: [DMG] }, - [1650361351617] [85853:1235541] CHIP: [DMG] - [1650361351617] [85853:1235541] CHIP: [DMG] ], - [1650361351617] [85853:1235541] CHIP: [DMG] - [1650361351617] [85853:1235541] CHIP: [DMG] SuppressResponse = true, - [1650361351617] [85853:1235541] CHIP: [DMG] InteractionModelRevision = 1 - [1650361351617] [85853:1235541] CHIP: [DMG] } - [1650361351617] [85853:1235541] CHIP: [TOO] Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) - - or - - '' ./chip-tool applicationlauncher read feature-map 1 1 + sudo ./chip-tool thermostat read outdoor-temperature 1 1 + + [1653631289.755681][9274:9279] CHIP:DMG: SuppressResponse = true, + [1653631289.755689][9274:9279] CHIP:DMG: InteractionModelRevision = 1 + [1653631289.755699][9274:9279] CHIP:DMG: } + [1653631289.755790][9274:9279] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + [1653631289.755854][9274:9279] CHIP:EM: Sending Standalone Ack for MessageCounter:10705405 on exchange 52167i disabled: true - label: "TH sends the Read Request Message to the DUT to read an attribute which is not readable. DUT responds with the report data action." verification: | - DUT implementation required to verify read an attribute which is nor readable + DUT implementation required to verify read an attribute which is not having a read access disabled: true - label: @@ -648,131 +518,35 @@ tests: the path that requires a privilege that is not granted for the cluster in the path. DUT responds with the report data action." verification: | - '' ./chip-tool basic read vendor-name 2 0 --commissioner-nodeid 332211 - - TH side---Verify we are getting "status = 0x7e (UNSUPPORTED_ACCESS)" for above command. - - [1650361510244] [85874:1236133] CHIP: [DMG] ReportDataMessage = - [1650361510244] [85874:1236133] CHIP: [DMG] { - [1650361510244] [85874:1236133] CHIP: [DMG] AttributeReportIBs = - [1650361510244] [85874:1236133] CHIP: [DMG] [ - [1650361510244] [85874:1236133] CHIP: [DMG] AttributeReportIB = - [1650361510244] [85874:1236133] CHIP: [DMG] { - [1650361510244] [85874:1236133] CHIP: [DMG] AttributeStatusIB = - [1650361510244] [85874:1236133] CHIP: [DMG] { - [1650361510244] [85874:1236133] CHIP: [DMG] AttributePathIB = - [1650361510244] [85874:1236133] CHIP: [DMG] { - [1650361510244] [85874:1236133] CHIP: [DMG] Endpoint = 0x0, - [1650361510244] [85874:1236133] CHIP: [DMG] Cluster = 0x28, - [1650361510244] [85874:1236133] CHIP: [DMG] Attribute = 0x0000_0001, - [1650361510244] [85874:1236133] CHIP: [DMG] } - [1650361510244] [85874:1236133] CHIP: [DMG] - [1650361510244] [85874:1236133] CHIP: [DMG] StatusIB = - [1650361510244] [85874:1236133] CHIP: [DMG] { - [1650361510244] [85874:1236133] CHIP: [DMG] status = 0x7e (UNSUPPORTED_ACCESS), - [1650361510244] [85874:1236133] CHIP: [DMG] }, - [1650361510244] [85874:1236133] CHIP: [DMG] - [1650361510244] [85874:1236133] CHIP: [DMG] }, - [1650361510244] [85874:1236133] CHIP: [DMG] - [1650361510244] [85874:1236133] CHIP: [DMG] }, - [1650361510244] [85874:1236133] CHIP: [DMG] - [1650361510244] [85874:1236133] CHIP: [DMG] ], - [1650361510244] [85874:1236133] CHIP: [DMG] - [1650361510244] [85874:1236133] CHIP: [DMG] SuppressResponse = true, - [1650361510244] [85874:1236133] CHIP: [DMG] InteractionModelRevision = 1 - [1650361510244] [85874:1236133] CHIP: [DMG] } - [1650361510244] [85874:1236133] CHIP: [TOO] Response Failure: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) - disabled: true - - - label: - "TH sends the Read Request Message to the DUT to read an attribute in - the path that is fabric scoped, and the associated fabric does not - match the accessing fabric. DUT responds with the Report Data action" - verification: | - https://github.com/project-chip/connectedhomeip/issues/16569 + ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1234], "targets": null}]' 1 0 + 1st send above mentioned ACL command and then verify the below mentioned command + ./chip-tool operationalcredentials read trusted-root-certificates 1 0 + + [1652964769.384639][39268:39273] CHIP:DMG: + [1652964769.384652][39268:39273] CHIP:DMG: SuppressResponse = true, + [1652964769.384668][39268:39273] CHIP:DMG: InteractionModelRevision = 1 + [1652964769.384682][39268:39273] CHIP:DMG: } + [1652964769.384788][39268:39273] CHIP:TOO: Response Failure: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) disabled: true - label: "TH sends the Read Request Message to the DUT to read an attribute Repeat the above steps 3 times." verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool occupancysensing read occupancy 1 1 (send same command 3 times) - - TH side---Verify we are getting ReportData message path and value (EndpointID, AttributeID, ClusterID ) same as provided data sent in the above command - (verify the values we are getting same when we send same command 3 times) - - [1650362704154] [86027:1240909] CHIP: [DMG] ReportDataMessage = - [1650362704154] [86027:1240909] CHIP: [DMG] { - [1650362704154] [86027:1240909] CHIP: [DMG] AttributeReportIBs = - [1650362704154] [86027:1240909] CHIP: [DMG] [ - [1650362704154] [86027:1240909] CHIP: [DMG] AttributeReportIB = - [1650362704154] [86027:1240909] CHIP: [DMG] { - [1650362704154] [86027:1240909] CHIP: [DMG] AttributeDataIB = - [1650362704154] [86027:1240909] CHIP: [DMG] { - [1650362704154] [86027:1240909] CHIP: [DMG] DataVersion = 0xa301ff86, - [1650362704154] [86027:1240909] CHIP: [DMG] AttributePathIB = - [1650362704154] [86027:1240909] CHIP: [DMG] { - [1650362704154] [86027:1240909] CHIP: [DMG] Endpoint = 0x1, - [1650362704154] [86027:1240909] CHIP: [DMG] Cluster = 0x406, - [1650362704154] [86027:1240909] CHIP: [DMG] Attribute = 0x0000_0000, - [1650362704154] [86027:1240909] CHIP: [DMG] } - [1650362704154] [86027:1240909] CHIP: [DMG] - [1650362704154] [86027:1240909] CHIP: [DMG] Data = 0, - [1650362704154] [86027:1240909] CHIP: [DMG] }, - [1650362704154] [86027:1240909] CHIP: [DMG] - [1650362704154] [86027:1240909] CHIP: [DMG] }, - [1650362704154] [86027:1240909] CHIP: [DMG] - [1650362704154] [86027:1240909] CHIP: [DMG] ], - [1650362704154] [86027:1240909] CHIP: [DMG] - [1650362704154] [86027:1240909] CHIP: [DMG] SuppressResponse = true, - [1650362704154] [86027:1240909] CHIP: [DMG] InteractionModelRevision = 1 - [1650362704154] [86027:1240909] CHIP: [DMG] } - [1650362704154] [86027:1240909] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0406 Attribute 0x0000_0000 DataVersion: 2734817158 - [1650362704154] [86027:1240909] CHIP: [TOO] occupancy: 0 - disabled: true - - - label: - "TH sends the Read Request Message to the DUT. The Message should read - an attribute from all clusters and all endpoints for a particular - attribute AttributePath = [[ Attribute = AttributeID]] On receipt of - this message, DUT should send a report data action with the attribute - value from all the clusters and endpoints to the DUT." - verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool any read-by-id 0xFFFFFFFF 0 1 0xFFFF - - TH side---Verify we are getting all supported right attribute value on TH when we sent above command - disabled: true - - - label: - "TH sends the Read Request Message to the DUT. The Message should read - all attributes from all clusters from a specific endpoint - AttributePath = [[ Endpoint = EndpointID]] On receipt of this message, - DUT should send a report data action with all the attribute values - from all the clusters from that particular endpointID to the DUT." - verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool any read-by-id 0xFFFFFFFF 0xFFFFFFFF 1 1 - - TH side---Verify we are getting all supported right attribute value on TH when we sent above command - disabled: true - - - label: - "TH sends the Read Request Message to the DUT. The Message should read - all attributes from all endpoints from a specific cluster+ - AttributePath = [[ Cluster = ClusterID]] On receipt of this message, - DUT should send a report data action with all the attribute values - from all the endpoints from that particular ClusterID to the DUT." - verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool any read-by-id 0x3 0xFFFFFFFF 1 0xFFFF - - TH side---Verify we are getting all supported right attribute value on TH when we sent above command + sudo ./chip-tool identify read identify-time 1 1 + [1653631418.770328][9322:9327] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 3620435651 + [1653631418.770402][9322:9327] CHIP:TOO: identify time: 0 + [1653631418.770491][9322:9327] CHIP:EM: Sending Standalone Ack for MessageCounter:12532212 on exchange 36485i + + sudo ./chip-tool identify read identify-time 1 1 + [1653631479.556292][9357:9362] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 3620435651 + [1653631479.556345][9357:9362] CHIP:TOO: identify time: 0 + [1653631479.556418][9357:9362] CHIP:EM: Sending Standalone Ack for MessageCounter:7220061 on exchange 60774i + + sudo ./chip-tool identify read identify-time 1 1 + [1653632941.731096][9571:9576] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 3620435651 + [1653632941.731146][9571:9576] CHIP:TOO: identify time: 0 + [1653632941.731258][9571:9576] CHIP:EM: Sending Standalone Ack for MessageCounter:578130 on exchange 46565i disabled: true - label: @@ -782,44 +556,45 @@ tests: read request to the same cluster with the DataVersionFilter Field set with the dataversion value received before." verification: | - ./chip-tool identify read identify-time 1 1 - - [1650615356.464413][2439:2444] CHIP:DMG: ReportDataMessage = - [1650615356.464525][2439:2444] CHIP:DMG: { - [1650615356.464597][2439:2444] CHIP:DMG: AttributeReportIBs = - [1650615356.464651][2439:2444] CHIP:DMG: [ - [1650615356.464690][2439:2444] CHIP:DMG: AttributeReportIB = - [1650615356.464743][2439:2444] CHIP:DMG: { - [1650615356.464785][2439:2444] CHIP:DMG: AttributeDataIB = - [1650615356.464926][2439:2444] CHIP:DMG: { - [1650615356.464975][2439:2444] CHIP:DMG: DataVersion = 0x9125b20e, - [1650615356.465027][2439:2444] CHIP:DMG: AttributePathIB = - [1650615356.465076][2439:2444] CHIP:DMG: { - [1650615356.465129][2439:2444] CHIP:DMG: Endpoint = 0x1, - [1650615356.465308][2439:2444] CHIP:DMG: Cluster = 0x3, - [1650615356.465364][2439:2444] CHIP:DMG: Attribute = 0x0000_0000, - [1650615356.465415][2439:2444] CHIP:DMG: } - [1650615356.465471][2439:2444] CHIP:DMG: - [1650615356.465523][2439:2444] CHIP:DMG: Data = 0, - [1650615356.465576][2439:2444] CHIP:DMG: }, - [1650615356.465661][2439:2444] CHIP:DMG: - [1650615356.465703][2439:2444] CHIP:DMG: }, - [1650615356.465750][2439:2444] CHIP:DMG: - [1650615356.465787][2439:2444] CHIP:DMG: ], - [1650615356.465887][2439:2444] CHIP:DMG: - [1650615356.465928][2439:2444] CHIP:DMG: SuppressResponse = true, - [1650615356.465968][2439:2444] CHIP:DMG: InteractionModelRevision = 1 - [1650615356.466007][2439:2444] CHIP:DMG: } - [1650615356.470192][2439:2444] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 2435166734 - [1650615356.472574][2439:2444] CHIP:TOO: identify time: 0 - - - '' ./chip-tool identify read identify-time 1 1 --data-version 0x9125b20e - [1650615415.501037][2459:2464] CHIP:DMG: ReportDataMessage = - [1650615415.501075][2459:2464] CHIP:DMG: { - [1650615415.501109][2459:2464] CHIP:DMG: SuppressResponse = true, - [1650615415.501172][2459:2464] CHIP:DMG: InteractionModelRevision = 1 - [1650615415.501208][2459:2464] CHIP:DMG: } + sudo ./chip-tool identify read identify-time 1 1 + [1653633746.447923][9791:9796] CHIP:DMG: ReportDataMessage = + [1653633746.447944][9791:9796] CHIP:DMG: { + [1653633746.447955][9791:9796] CHIP:DMG: AttributeReportIBs = + [1653633746.447980][9791:9796] CHIP:DMG: [ + [1653633746.447995][9791:9796] CHIP:DMG: AttributeReportIB = + [1653633746.448017][9791:9796] CHIP:DMG: { + [1653633746.448033][9791:9796] CHIP:DMG: AttributeDataIB = + [1653633746.448054][9791:9796] CHIP:DMG: { + [1653633746.448073][9791:9796] CHIP:DMG: DataVersion = 0xd7cb76c6, + [1653633746.448090][9791:9796] CHIP:DMG: AttributePathIB = + [1653633746.448107][9791:9796] CHIP:DMG: { + [1653633746.448125][9791:9796] CHIP:DMG: Endpoint = 0x1, + [1653633746.448145][9791:9796] CHIP:DMG: Cluster = 0x3, + [1653633746.448165][9791:9796] CHIP:DMG: Attribute = 0x0000_0000, + [1653633746.448187][9791:9796] CHIP:DMG: } + [1653633746.448209][9791:9796] CHIP:DMG: + [1653633746.448229][9791:9796] CHIP:DMG: Data = 0, + [1653633746.448246][9791:9796] CHIP:DMG: }, + [1653633746.448267][9791:9796] CHIP:DMG: + [1653633746.448283][9791:9796] CHIP:DMG: }, + [1653633746.448305][9791:9796] CHIP:DMG: + [1653633746.448319][9791:9796] CHIP:DMG: ], + [1653633746.448343][9791:9796] CHIP:DMG: + [1653633746.448359][9791:9796] CHIP:DMG: SuppressResponse = true, + [1653633746.448375][9791:9796] CHIP:DMG: InteractionModelRevision = 1 + [1653633746.448389][9791:9796] CHIP:DMG: } + [1653633746.448532][9791:9796] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 3620435654 + [1653633746.448576][9791:9796] CHIP:TOO: identify time: 0 + [1653633746.448656][9791:9796] CHIP:EM: Sending Standalone Ack for MessageCounter:16255130 on exchange 13134i + + + sudo ./chip-tool identify read identify-time 1 1 --data-version 0xd7cb76c6 + [1653633771.729259][9806:9811] CHIP:DMG: ReportDataMessage = + [1653633771.729282][9806:9811] CHIP:DMG: { + [1653633771.729305][9806:9811] CHIP:DMG: SuppressResponse = true, + [1653633771.729328][9806:9811] CHIP:DMG: InteractionModelRevision = 1 + [1653633771.729347][9806:9811] CHIP:DMG: } + [1653633771.729426][9806:9811] CHIP:EM: Sending Standalone Ack for MessageCounter:11316450 on exchange 65271i disabled: true - label: @@ -831,93 +606,54 @@ tests: the DataVersionFilter Field set with the dataversion value received before." verification: | - ./chip-tool levelcontrol read on-level 1 1 - [1650615572.769784][2475:2480] CHIP:DMG: ReportDataMessage = - [1650615572.769821][2475:2480] CHIP:DMG: { - [1650615572.769849][2475:2480] CHIP:DMG: AttributeReportIBs = - [1650615572.769887][2475:2480] CHIP:DMG: [ - [1650615572.769918][2475:2480] CHIP:DMG: AttributeReportIB = - [1650615572.769959][2475:2480] CHIP:DMG: { - [1650615572.769991][2475:2480] CHIP:DMG: AttributeDataIB = - [1650615572.770031][2475:2480] CHIP:DMG: { - [1650615572.770069][2475:2480] CHIP:DMG: DataVersion = 0x5709863, - [1650615572.770113][2475:2480] CHIP:DMG: AttributePathIB = - [1650615572.770163][2475:2480] CHIP:DMG: { - [1650615572.770210][2475:2480] CHIP:DMG: Endpoint = 0x1, - [1650615572.770247][2475:2480] CHIP:DMG: Cluster = 0x8, - [1650615572.770296][2475:2480] CHIP:DMG: Attribute = 0x0000_0011, - [1650615572.770337][2475:2480] CHIP:DMG: } - [1650615572.770376][2475:2480] CHIP:DMG: - [1650615572.770417][2475:2480] CHIP:DMG: Data = NULL - [1650615572.770458][2475:2480] CHIP:DMG: }, - [1650615572.770496][2475:2480] CHIP:DMG: - [1650615572.770528][2475:2480] CHIP:DMG: }, - [1650615572.770566][2475:2480] CHIP:DMG: - [1650615572.770595][2475:2480] CHIP:DMG: ], - [1650615572.770633][2475:2480] CHIP:DMG: - [1650615572.770664][2475:2480] CHIP:DMG: SuppressResponse = true, - [1650615572.770695][2475:2480] CHIP:DMG: InteractionModelRevision = 1 - [1650615572.770724][2475:2480] CHIP:DMG: } - [1650615572.770895][2475:2480] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 91265123 - [1650615572.770989][2475:2480] CHIP:TOO: on level: null - - ./chip-tool levelcontrol write on-level 1 1 1 - [1650615622.935047][2483:2488] CHIP:DMG: WriteResponseMessage = - [1650615622.935078][2483:2488] CHIP:DMG: { - [1650615622.935119][2483:2488] CHIP:DMG: AttributeStatusIBs = - [1650615622.935160][2483:2488] CHIP:DMG: [ - [1650615622.935212][2483:2488] CHIP:DMG: AttributeStatusIB = - [1650615622.935252][2483:2488] CHIP:DMG: { - [1650615622.935298][2483:2488] CHIP:DMG: AttributePathIB = - [1650615622.935367][2483:2488] CHIP:DMG: { - [1650615622.935410][2483:2488] CHIP:DMG: Endpoint = 0x1, - [1650615622.935469][2483:2488] CHIP:DMG: Cluster = 0x8, - [1650615622.935516][2483:2488] CHIP:DMG: Attribute = 0x0000_0011, - [1650615622.935562][2483:2488] CHIP:DMG: } - [1650615622.935616][2483:2488] CHIP:DMG: - [1650615622.935674][2483:2488] CHIP:DMG: StatusIB = - [1650615622.935728][2483:2488] CHIP:DMG: { - [1650615622.935804][2483:2488] CHIP:DMG: status = 0x00 (SUCCESS), - [1650615622.935853][2483:2488] CHIP:DMG: }, - [1650615622.935915][2483:2488] CHIP:DMG: - [1650615622.935973][2483:2488] CHIP:DMG: }, - [1650615622.936028][2483:2488] CHIP:DMG: - [1650615622.936081][2483:2488] CHIP:DMG: ], - [1650615622.936132][2483:2488] CHIP:DMG: - [1650615622.936185][2483:2488] CHIP:DMG: InteractionModelRevision = 1 - [1650615622.936224][2483:2488] CHIP:DMG: } - - - ./chip-tool levelcontrol read on-level 1 1 --data-version 0xa8215230 - - [1650615673.320008][2497:2502] CHIP:DMG: ReportDataMessage = - [1650615673.320039][2497:2502] CHIP:DMG: { - [1650615673.320098][2497:2502] CHIP:DMG: AttributeReportIBs = - [1650615673.320140][2497:2502] CHIP:DMG: [ - [1650615673.320168][2497:2502] CHIP:DMG: AttributeReportIB = - [1650615673.320205][2497:2502] CHIP:DMG: { - [1650615673.320238][2497:2502] CHIP:DMG: AttributeDataIB = - [1650615673.320280][2497:2502] CHIP:DMG: { - [1650615673.320522][2497:2502] CHIP:DMG: DataVersion = 0x5709864, - [1650615673.320625][2497:2502] CHIP:DMG: AttributePathIB = - [1650615673.320674][2497:2502] CHIP:DMG: { - [1650615673.320807][2497:2502] CHIP:DMG: Endpoint = 0x1, - [1650615673.320877][2497:2502] CHIP:DMG: Cluster = 0x8, - [1650615673.320946][2497:2502] CHIP:DMG: Attribute = 0x0000_0011, - [1650615673.321005][2497:2502] CHIP:DMG: } - [1650615673.321062][2497:2502] CHIP:DMG: - [1650615673.321187][2497:2502] CHIP:DMG: Data = 1, - [1650615673.321249][2497:2502] CHIP:DMG: }, - [1650615673.321306][2497:2502] CHIP:DMG: - [1650615673.321351][2497:2502] CHIP:DMG: }, - [1650615673.321405][2497:2502] CHIP:DMG: - [1650615673.321444][2497:2502] CHIP:DMG: ], - [1650615673.321559][2497:2502] CHIP:DMG: - [1650615673.321605][2497:2502] CHIP:DMG: SuppressResponse = true, - [1650615673.321647][2497:2502] CHIP:DMG: InteractionModelRevision = 1 - [1650615673.321685][2497:2502] CHIP:DMG: } - [1650615673.321895][2497:2502] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 91265124 - [1650615673.322012][2497:2502] CHIP:TOO: on level: 1 + sudo ./chip-tool identify read identify-time 1 1 + + [1653632941.730187][9571:9576] CHIP:DMG: ReportDataMessage = + [1653632941.730217][9571:9576] CHIP:DMG: { + [1653632941.730243][9571:9576] CHIP:DMG: AttributeReportIBs = + [1653632941.730276][9571:9576] CHIP:DMG: [ + [1653632941.730293][9571:9576] CHIP:DMG: AttributeReportIB = + [1653632941.730321][9571:9576] CHIP:DMG: { + [1653632941.730346][9571:9576] CHIP:DMG: AttributeDataIB = + [1653632941.730372][9571:9576] CHIP:DMG: { + [1653632941.730395][9571:9576] CHIP:DMG: DataVersion = 0xd7cb76c3, + [1653632941.730415][9571:9576] CHIP:DMG: AttributePathIB = + [1653632941.730444][9571:9576] CHIP:DMG: { + [1653632941.730487][9571:9576] CHIP:DMG: Endpoint = 0x1, + [1653632941.730509][9571:9576] CHIP:DMG: Cluster = 0x3, + [1653632941.730549][9571:9576] CHIP:DMG: Attribute = 0x0000_0000, + [1653632941.730574][9571:9576] CHIP:DMG: } + [1653632941.730606][9571:9576] CHIP:DMG: + [1653632941.730637][9571:9576] CHIP:DMG: Data = 0, + [1653632941.730665][9571:9576] CHIP:DMG: }, + [1653632941.730699][9571:9576] CHIP:DMG: + [1653632941.730722][9571:9576] CHIP:DMG: }, + [1653632941.730754][9571:9576] CHIP:DMG: + [1653632941.730776][9571:9576] CHIP:DMG: ], + [1653632941.730810][9571:9576] CHIP:DMG: + [1653632941.730835][9571:9576] CHIP:DMG: SuppressResponse = true, + [1653632941.730858][9571:9576] CHIP:DMG: InteractionModelRevision = 1 + [1653632941.730912][9571:9576] CHIP:DMG: } + [1653632941.731096][9571:9576] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 3620435651 + [1653632941.731146][9571:9576] CHIP:TOO: identify time: 0 + [1653632941.731258][9571:9576] CHIP:EM: Sending Standalone Ack for MessageCounter:578130 on exchange 46565i + + + + sudo ./chip-tool identify write identify-time 2 1 1 + + [1653633154.992424][9645:9650] CHIP:DMG: StatusIB = + [1653633154.992448][9645:9650] CHIP:DMG: { + [1653633154.992467][9645:9650] CHIP:DMG: status = 0x00 (SUCCESS), + [1653633154.992480][9645:9650] CHIP:DMG: }, + [1653633154.992499][9645:9650] CHIP:DMG: + + + sudo ./chip-tool identify read identify-time 1 1 --data-version 0xd7cb76c3 + + [1653633215.246620][9664:9669] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 3620435654 + [1653633215.246671][9664:9669] CHIP:TOO: identify time: 0 + [1653633215.246786][9664:9669] CHIP:EM: Sending Standalone Ack for MessageCounter:3995786 on exchange 44935i disabled: true - label: @@ -929,35 +665,255 @@ tests: cluster with the DataVersionFilter Field set with the dataversion value received before." verification: | - /chip-tool levelcontrol read-by-id 0xFFFFFFFF 1 1 - - - ./chip-tool levelcontrol write on-level 2 1 1 - [1650615802.966713][2527:2532] CHIP:DMG: WriteResponseMessage = - [1650615802.966754][2527:2532] CHIP:DMG: { - [1650615802.966791][2527:2532] CHIP:DMG: AttributeStatusIBs = - [1650615802.966828][2527:2532] CHIP:DMG: [ - [1650615802.966863][2527:2532] CHIP:DMG: AttributeStatusIB = - [1650615802.966909][2527:2532] CHIP:DMG: { - [1650615802.966936][2527:2532] CHIP:DMG: AttributePathIB = - [1650615802.966995][2527:2532] CHIP:DMG: { - [1650615802.967038][2527:2532] CHIP:DMG: Endpoint = 0x1, - [1650615802.967081][2527:2532] CHIP:DMG: Cluster = 0x8, - [1650615802.967133][2527:2532] CHIP:DMG: Attribute = 0x0000_0011, - [1650615802.967169][2527:2532] CHIP:DMG: } - [1650615802.967221][2527:2532] CHIP:DMG: - [1650615802.967259][2527:2532] CHIP:DMG: StatusIB = - [1650615802.967304][2527:2532] CHIP:DMG: { - [1650615802.967340][2527:2532] CHIP:DMG: status = 0x00 (SUCCESS), - [1650615802.967378][2527:2532] CHIP:DMG: }, - [1650615802.967424][2527:2532] CHIP:DMG: - [1650615802.967456][2527:2532] CHIP:DMG: }, - [1650615802.967502][2527:2532] CHIP:DMG: - [1650615802.967530][2527:2532] CHIP:DMG: ], - [1650615802.967576][2527:2532] CHIP:DMG: - [1650615802.967613][2527:2532] CHIP:DMG: InteractionModelRevision = 1 - [1650615802.967640][2527:2532] CHIP:DMG: } - - - ./chip-tool levelcontrol read-by-id 0xFFFFFFFF 1 1 --data-version 0xa8215232 + sudo ./chip-tool any read-by-id 0x03 0xFFFFFFFF 1 1 + + [1653633965.092996][9835:9840] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 3620435654 + [1653633965.093041][9835:9840] CHIP:TOO: identify time: 0 + [1653633965.093120][9835:9840] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 3620435654 + [1653633965.093140][9835:9840] CHIP:TOO: identify type: 2 + [1653633965.093202][9835:9840] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 3620435654 + [1653633965.093221][9835:9840] CHIP:TOO: ClusterRevision: 4 + [1653633965.093411][9835:9840] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFF8 DataVersion: 3620435654 + [1653633965.093451][9835:9840] CHIP:TOO: GeneratedCommandList: 1 entries + [1653633965.093474][9835:9840] CHIP:TOO: [1]: 0 + [1653633965.093721][9835:9840] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFF9 DataVersion: 3620435654 + [1653633965.093748][9835:9840] CHIP:TOO: AcceptedCommandList: 3 entries + [1653633965.093767][9835:9840] CHIP:TOO: [1]: 0 + [1653633965.093784][9835:9840] CHIP:TOO: [2]: 1 + [1653633965.093800][9835:9840] CHIP:TOO: [3]: 64 + [1653633965.094169][9835:9840] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFFB DataVersion: 3620435654 + [1653633965.094200][9835:9840] CHIP:TOO: AttributeList: 6 entries + [1653633965.094218][9835:9840] CHIP:TOO: [1]: 0 + [1653633965.094235][9835:9840] CHIP:TOO: [2]: 1 + [1653633965.094252][9835:9840] CHIP:TOO: [3]: 65528 + [1653633965.094269][9835:9840] CHIP:TOO: [4]: 65529 + [1653633965.094286][9835:9840] CHIP:TOO: [5]: 65531 + [1653633965.094302][9835:9840] CHIP:TOO: [6]: 65533 + [1653633965.094449][9835:9840] CHIP:EM: Sending Standalone Ack for MessageCounter:14221655 on exchange 17356i + + + sudo ./chip-tool any write-by-id 0x03 0x00 2 1 1 + [1653634024.367171][9851:9856] CHIP:DMG: WriteResponseMessage = + [1653634024.367181][9851:9856] CHIP:DMG: { + [1653634024.367189][9851:9856] CHIP:DMG: AttributeStatusIBs = + [1653634024.367203][9851:9856] CHIP:DMG: [ + [1653634024.367212][9851:9856] CHIP:DMG: AttributeStatusIB = + [1653634024.367223][9851:9856] CHIP:DMG: { + [1653634024.367231][9851:9856] CHIP:DMG: AttributePathIB = + [1653634024.367242][9851:9856] CHIP:DMG: { + [1653634024.367252][9851:9856] CHIP:DMG: Endpoint = 0x1, + [1653634024.367262][9851:9856] CHIP:DMG: Cluster = 0x3, + [1653634024.367273][9851:9856] CHIP:DMG: Attribute = 0x0000_0000, + [1653634024.367283][9851:9856] CHIP:DMG: } + [1653634024.367296][9851:9856] CHIP:DMG: + [1653634024.367305][9851:9856] CHIP:DMG: StatusIB = + [1653634024.367315][9851:9856] CHIP:DMG: { + [1653634024.367325][9851:9856] CHIP:DMG: status = 0x00 (SUCCESS), + [1653634024.367334][9851:9856] CHIP:DMG: }, + [1653634024.367345][9851:9856] CHIP:DMG: + [1653634024.367354][9851:9856] CHIP:DMG: }, + [1653634024.367366][9851:9856] CHIP:DMG: + [1653634024.367375][9851:9856] CHIP:DMG: ], + [1653634024.367387][9851:9856] CHIP:DMG: + [1653634024.367396][9851:9856] CHIP:DMG: InteractionModelRevision = 1 + [1653634024.367404][9851:9856] CHIP:DMG: } + [1653634024.367443][9851:9856] CHIP:DMG: WriteClient moving to [AwaitingDe] + + + sudo ./chip-tool any read-by-id 0x03 0xFFFFFFFF 1 1 --data-version 0xd7cb76c6 + + + [1653634117.935268][9878:9883] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 3620435657 + [1653634117.935294][9878:9883] CHIP:TOO: identify time: 0 + [1653634117.935322][9878:9883] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 3620435657 + [1653634117.935331][9878:9883] CHIP:TOO: identify type: 2 + [1653634117.935357][9878:9883] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 3620435657 + [1653634117.935366][9878:9883] CHIP:TOO: ClusterRevision: 4 + [1653634117.935452][9878:9883] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFF8 DataVersion: 3620435657 + [1653634117.935470][9878:9883] CHIP:TOO: GeneratedCommandList: 1 entries + [1653634117.935480][9878:9883] CHIP:TOO: [1]: 0 + [1653634117.935589][9878:9883] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFF9 DataVersion: 3620435657 + [1653634117.935601][9878:9883] CHIP:TOO: AcceptedCommandList: 3 entries + [1653634117.935609][9878:9883] CHIP:TOO: [1]: 0 + [1653634117.935616][9878:9883] CHIP:TOO: [2]: 1 + [1653634117.935623][9878:9883] CHIP:TOO: [3]: 64 + [1653634117.935788][9878:9883] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFFB DataVersion: 3620435657 + [1653634117.935802][9878:9883] CHIP:TOO: AttributeList: 6 entries + [1653634117.935809][9878:9883] CHIP:TOO: [1]: 0 + [1653634117.935817][9878:9883] CHIP:TOO: [2]: 1 + [1653634117.935824][9878:9883] CHIP:TOO: [3]: 65528 + [1653634117.935831][9878:9883] CHIP:TOO: [4]: 65529 + [1653634117.935838][9878:9883] CHIP:TOO: [5]: 65531 + [1653634117.935845][9878:9883] CHIP:TOO: [6]: 65533 + [1653634117.935910][9878:9883] CHIP:EM: Sending Standalone Ack for MessageCounter:531776 on exchange 45674i + disabled: true + + - label: + "TH sends a Read Request Message to the DUT to read a particular + attribute on a particular cluster with the DataVersionFilter Field not + set. DUT sends back the attribute value with the DataVersion of the + cluster. TH sends a read request to the same cluster to read any + attribute with the right DataVersion(received in the previous step) + and also an older DataVersion. The Read Request Message should have 2 + DataVersionIB filters." + verification: | + sudo ./chip-tool identify read identify-time 1 1 + + [1653634213.984023][9909:9914] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 3620435660 + [1653634213.984086][9909:9914] CHIP:TOO: identify time: 0 + [1653634213.984156][9909:9914] CHIP:EM: Sending Standalone Ack for MessageCounter:1385351 on exchange 48030i + + sudo ./chip-tool identify read identify-type 1 1 --data-version 0xd7cb76cc,0xd7cb76c9 + + [1653634371.474553][9936:9941] CHIP:DMG: ReportDataMessage = + [1653634371.474575][9936:9941] CHIP:DMG: { + [1653634371.474593][9936:9941] CHIP:DMG: AttributeReportIBs = + [1653634371.474625][9936:9941] CHIP:DMG: [ + [1653634371.474642][9936:9941] CHIP:DMG: AttributeReportIB = + [1653634371.474673][9936:9941] CHIP:DMG: { + [1653634371.474691][9936:9941] CHIP:DMG: AttributeDataIB = + [1653634371.474716][9936:9941] CHIP:DMG: { + [1653634371.474739][9936:9941] CHIP:DMG: DataVersion = 0xd7cb76cc, + [1653634371.474759][9936:9941] CHIP:DMG: AttributePathIB = + [1653634371.474783][9936:9941] CHIP:DMG: { + [1653634371.474806][9936:9941] CHIP:DMG: Endpoint = 0x1, + [1653634371.474832][9936:9941] CHIP:DMG: Cluster = 0x3, + [1653634371.474859][9936:9941] CHIP:DMG: Attribute = 0x0000_0001, + [1653634371.474917][9936:9941] CHIP:DMG: } + [1653634371.474945][9936:9941] CHIP:DMG: + [1653634371.474990][9936:9941] CHIP:DMG: Data = 2, + [1653634371.475012][9936:9941] CHIP:DMG: }, + [1653634371.475040][9936:9941] CHIP:DMG: + [1653634371.475058][9936:9941] CHIP:DMG: }, + [1653634371.475091][9936:9941] CHIP:DMG: + [1653634371.475106][9936:9941] CHIP:DMG: AttributeReportIB = + [1653634371.475127][9936:9941] CHIP:DMG: { + [1653634371.475139][9936:9941] CHIP:DMG: AttributeDataIB = + [1653634371.475153][9936:9941] CHIP:DMG: { + [1653634371.475168][9936:9941] CHIP:DMG: DataVersion = 0xd7cb76cc, + [1653634371.475192][9936:9941] CHIP:DMG: AttributePathIB = + [1653634371.475215][9936:9941] CHIP:DMG: { + [1653634371.475234][9936:9941] CHIP:DMG: Endpoint = 0x1, + [1653634371.475258][9936:9941] CHIP:DMG: Cluster = 0x3, + [1653634371.475279][9936:9941] CHIP:DMG: Attribute = 0x0000_0001, + [1653634371.475303][9936:9941] CHIP:DMG: } + [1653634371.475329][9936:9941] CHIP:DMG: + [1653634371.475353][9936:9941] CHIP:DMG: Data = 2, + [1653634371.475373][9936:9941] CHIP:DMG: }, + [1653634371.475399][9936:9941] CHIP:DMG: + [1653634371.475416][9936:9941] CHIP:DMG: }, + [1653634371.475441][9936:9941] CHIP:DMG: + [1653634371.475456][9936:9941] CHIP:DMG: ], + [1653634371.475485][9936:9941] CHIP:DMG: + [1653634371.475501][9936:9941] CHIP:DMG: SuppressResponse = true, + [1653634371.475517][9936:9941] CHIP:DMG: InteractionModelRevision = 1 + [1653634371.475531][9936:9941] CHIP:DMG: } + [1653634371.475692][9936:9941] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 3620435660 + [1653634371.475731][9936:9941] CHIP:TOO: identify type: 2 + [1653634371.475818][9936:9941] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 3620435660 + [1653634371.475837][9936:9941] CHIP:TOO: identify type: 2 + [1653634371.475907][9936:9941] CHIP:EM: Sending Standalone Ack for MessageCounter:16704146 on exchange 6313i + disabled: true + + - label: + "TH sends a Read Request Message to the DUT to read any supported + attribute/wildcard on a particular cluster say A with the + DataVersionFilter Field not set. DUT sends back the attribute value + with the DataVersion of the cluster A. TH sends a Read Request Message + to read any supported attribute/wildcard on cluster A and any + supported attribute/wildcard on another cluster B. DataVersionList + field should only contain the DataVersion of cluster A." + verification: | + sudo ./chip-tool any read-by-id 0x03 0xFFFFFFFF 1 1 + + [1653634446.678378][9962:9967] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 3620435660 + [1653634446.678404][9962:9967] CHIP:TOO: identify time: 0 + [1653634446.678437][9962:9967] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 3620435660 + [1653634446.678447][9962:9967] CHIP:TOO: identify type: 2 + [1653634446.678474][9962:9967] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 3620435660 + [1653634446.678483][9962:9967] CHIP:TOO: ClusterRevision: 4 + [1653634446.678570][9962:9967] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFF8 DataVersion: 3620435660 + [1653634446.678584][9962:9967] CHIP:TOO: GeneratedCommandList: 1 entries + [1653634446.678594][9962:9967] CHIP:TOO: [1]: 0 + [1653634446.678767][9962:9967] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFF9 DataVersion: 3620435660 + [1653634446.678780][9962:9967] CHIP:TOO: AcceptedCommandList: 3 entries + [1653634446.678789][9962:9967] CHIP:TOO: [1]: 0 + [1653634446.678796][9962:9967] CHIP:TOO: [2]: 1 + [1653634446.678805][9962:9967] CHIP:TOO: [3]: 64 + [1653634446.678998][9962:9967] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFFB DataVersion: 3620435660 + [1653634446.679017][9962:9967] CHIP:TOO: AttributeList: 6 entries + [1653634446.679024][9962:9967] CHIP:TOO: [1]: 0 + [1653634446.679030][9962:9967] CHIP:TOO: [2]: 1 + [1653634446.679036][9962:9967] CHIP:TOO: [3]: 65528 + [1653634446.679042][9962:9967] CHIP:TOO: [4]: 65529 + [1653634446.679048][9962:9967] CHIP:TOO: [5]: 65531 + [1653634446.679055][9962:9967] CHIP:TOO: [6]: 65533 + [1653634446.679129][9962:9967] CHIP:EM: Sending Standalone Ack for MessageCounter:15830359 on exchange 10739i + + + sudo ./chip-tool levelcontrol read-by-id 0xFFFFFFFF 1 1 --data-version 0xd7cb76cc (Here given data version received for identify cluster) + + [1653634568.902390][9990:9995] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_FFFB DataVersion: 199562416 + [1653634568.902417][9990:9995] CHIP:TOO: AttributeList: 19 entries + [1653634568.902428][9990:9995] CHIP:TOO: [1]: 0 + [1653634568.902436][9990:9995] CHIP:TOO: [2]: 1 + [1653634568.902444][9990:9995] CHIP:TOO: [3]: 2 + [1653634568.902451][9990:9995] CHIP:TOO: [4]: 3 + [1653634568.902458][9990:9995] CHIP:TOO: [5]: 4 + [1653634568.902466][9990:9995] CHIP:TOO: [6]: 5 + [1653634568.902475][9990:9995] CHIP:TOO: [7]: 6 + [1653634568.902483][9990:9995] CHIP:TOO: [8]: 15 + [1653634568.902490][9990:9995] CHIP:TOO: [9]: 16 + [1653634568.902498][9990:9995] CHIP:TOO: [10]: 17 + [1653634568.902506][9990:9995] CHIP:TOO: [11]: 18 + [1653634568.902513][9990:9995] CHIP:TOO: [12]: 19 + [1653634568.902520][9990:9995] CHIP:TOO: [13]: 20 + [1653634568.902528][9990:9995] CHIP:TOO: [14]: 16384 + [1653634568.902535][9990:9995] CHIP:TOO: [15]: 65528 + [1653634568.902542][9990:9995] CHIP:TOO: [16]: 65529 + [1653634568.902550][9990:9995] CHIP:TOO: [17]: 65531 + [1653634568.902557][9990:9995] CHIP:TOO: [18]: 65532 + [1653634568.902565][9990:9995] CHIP:TOO: [19]: 65533 + [1653634568.902621][9990:9995] CHIP:EM: Sending Standalone Ack for MessageCounter:3712616 on exchange 9501 + disabled: true + + - label: + "TH sends a Read Request Message to the DUT to read + something(Attribute) which is larger than 1 MTU(1280 bytes) and per + spec can be chunked" + verification: | + DUT implementation required to verify read an attribute which is is larger than 1 MTU(1280 bytes) + disabled: true + + - label: + "TH sends a Read Request Message to the DUT to read a non global + attribute from all clusters at that Endpoint AttributePath = + [[Endpoint = Specific Endpoint, Attribute = Specific Non Global + Attribute]]" + verification: | + https://github.com/CHIP-Specifications/chip-test-plans/issues/1373 + disabled: true + + - label: + "TH sends a Read Request Message to the DUT to read a non global + attribute from all clusters at all Endpoints AttributePath = + [[Attribute = Specific Non Global Attribute]]" + verification: | + https://github.com/CHIP-Specifications/chip-test-plans/issues/1373 + disabled: true + + - label: + "TH should have access to only a single cluster at one Endpoint1. TH + sends a Read Request Message to the DUT to read all attributes from + all clusters at Endpoint1 AttributePath = [[Endpoint = Specific + Endpoint]]" + verification: | + Waiting For Test-Plan author for more input. Verification step upadte is in progress + disabled: true + + - label: + "TH sends a Read Request Message to read all events and attributes + from the DUT." + verification: | + https://github.com/CHIP-Specifications/chip-test-plans/issues/1373 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_3_1.yaml b/src/app/tests/suites/certification/Test_TC_IDM_3_1.yaml index 9392dbe938e48c..e0254fcc152383 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_3_1.yaml @@ -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: - 19.3.1. [TC-IDM-3.1] Write Request Action from DUT to TH [DUT - Controller] + 20.3.1. [TC-IDM-3.1] Write Request Action from DUT to TH [DUT - Controller] config: nodeId: 0x12344321 @@ -23,328 +23,330 @@ config: tests: - label: - "DUT sends the Write Request Message to the TH to modify one attribute - data as indicated by the path. The Message should contain one valid - CommandDataIB, which has the specific Endpoint, Specific Cluster and - Specific Attribute." + "DUT sends the WriteRequestMessage to the TH to modify one attribute + data" verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool levelcontrol write on-level 2 1 1 - 1648722241.711212][2528:2528] CHIP:DMG: WriteRequestMessage = - [1648722241.711258][2528:2528] CHIP:DMG: { - [1648722241.711300][2528:2528] CHIP:DMG: suppressResponse = false, - [1648722241.711348][2528:2528] CHIP:DMG: timedRequest = false, - [1648722241.711393][2528:2528] CHIP:DMG: AttributeDataIBs = - [1648722241.711446][2528:2528] CHIP:DMG: [ - [1648722241.711490][2528:2528] CHIP:DMG: AttributeDataIB = - [1648722241.711540][2528:2528] CHIP:DMG: { - [1648722241.711587][2528:2528] CHIP:DMG: AttributePathIB = - [1648722241.711644][2528:2528] CHIP:DMG: { - [1648722241.711703][2528:2528] CHIP:DMG: Endpoint = 0x1, - [1648722241.711763][2528:2528] CHIP:DMG: Cluster = 0x8, - [1648722241.711824][2528:2528] CHIP:DMG: Attribute = 0x0000_0011, - [1648722241.711884][2528:2528] CHIP:DMG: } - [1648722241.711945][2528:2528] CHIP:DMG: - [1648722241.712009][2528:2528] CHIP:DMG: Data = 2, - [1648722241.712071][2528:2528] CHIP:DMG: }, - [1648722241.712124][2528:2528] CHIP:DMG: - [1648722241.712166][2528:2528] CHIP:DMG: ], - [1648722241.712218][2528:2528] CHIP:DMG: - [1648722241.712263][2528:2528] CHIP:DMG: moreChunkedMessages = false, - [1648722241.712308][2528:2528] CHIP:DMG: InteractionModelRevision = 1 - [1648722241.712350][2528:2528] CHIP:DMG: }, - [1648722241.712484][2528:2528] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0008 e=1 p=o - [1648722241.712545][2528:2528] CHIP:DMG: AccessControl: allowed - - '' ./chip-tool levelcontrol read on-level 1 1 + sudo ./chip-tool levelcontrol write on-level 2 1 1 + + [1653636768.762894][11142:11147] CHIP:DMG: WriteResponseMessage = + [1653636768.762912][11142:11147] CHIP:DMG: { + [1653636768.762924][11142:11147] CHIP:DMG: AttributeStatusIBs = + [1653636768.762946][11142:11147] CHIP:DMG: [ + [1653636768.762958][11142:11147] CHIP:DMG: AttributeStatusIB = + [1653636768.762972][11142:11147] CHIP:DMG: { + [1653636768.762988][11142:11147] CHIP:DMG: AttributePathIB = + [1653636768.763007][11142:11147] CHIP:DMG: { + [1653636768.763026][11142:11147] CHIP:DMG: Endpoint = 0x1, + [1653636768.763044][11142:11147] CHIP:DMG: Cluster = 0x8, + [1653636768.763064][11142:11147] CHIP:DMG: Attribute = 0x0000_0011, + [1653636768.763082][11142:11147] CHIP:DMG: } + [1653636768.763110][11142:11147] CHIP:DMG: + [1653636768.763125][11142:11147] CHIP:DMG: StatusIB = + [1653636768.763141][11142:11147] CHIP:DMG: { + [1653636768.763155][11142:11147] CHIP:DMG: status = 0x00 (SUCCESS), + [1653636768.763169][11142:11147] CHIP:DMG: }, + [1653636768.763184][11142:11147] CHIP:DMG: + [1653636768.763196][11142:11147] CHIP:DMG: }, + [1653636768.763218][11142:11147] CHIP:DMG: + [1653636768.763233][11142:11147] CHIP:DMG: ], + [1653636768.763252][11142:11147] CHIP:DMG: + [1653636768.763268][11142:11147] CHIP:DMG: InteractionModelRevision = 1 + [1653636768.763280][11142:11147] CHIP:DMG: } + [1653636768.763347][11142:11147] CHIP:DMG: WriteClient moving to [AwaitingDe] + + + sudo ./chip-tool levelcontrol read on-level 1 1 + [1653636854.551347][11158:11163] CHIP:DMG: } + [1653636854.551442][11158:11163] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 199562417 + [1653636854.551486][11158:11163] CHIP:TOO: on level: 2 + [1653636854.551543][11158:11163] CHIP:EM: Sending Standalone Ack for MessageCounter:9262666 on exchange 52004i disabled: true - label: - "DUT sends the Write Request Message to the TH. The Message should - read one attribute on all Endpoints On receipt of this message, TH - should send a report data action with the attribute value to the DUT." + "DUT sends the WriteRequestMessage to the TH to modify one attribute + on all Endpoints. On receipt of this message, TH should modify the + attribute and send a WriteResponseMessage to the DUT." verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool any write-by-id 0x0008 0x0010 1 1 0xffff - (V1 out of scope) + V1 out of scope disabled: true - label: - "[Optional] DUT sends the Write Request Message to the TH to write an + "[Optional] DUT sends the WriteRequestMessage to the TH to write an attribute of data type bool." verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool basic write local-config-disabled 1 1 0 - [1649151041.770412][3376:3376] CHIP:DMG: WriteRequestMessage = - [1649151041.770459][3376:3376] CHIP:DMG: { - [1649151041.770502][3376:3376] CHIP:DMG: suppressResponse = false, - [1649151041.770550][3376:3376] CHIP:DMG: timedRequest = false, - [1649151041.770594][3376:3376] CHIP:DMG: AttributeDataIBs = - [1649151041.770647][3376:3376] CHIP:DMG: [ - [1649151041.770692][3376:3376] CHIP:DMG: AttributeDataIB = - [1649151041.770745][3376:3376] CHIP:DMG: { - [1649151041.770793][3376:3376] CHIP:DMG: AttributePathIB = - [1649151041.770857][3376:3376] CHIP:DMG: { - [1649151041.770917][3376:3376] CHIP:DMG: Endpoint = 0x0, - [1649151041.770984][3376:3376] CHIP:DMG: Cluster = 0x28, - [1649151041.771040][3376:3376] CHIP:DMG: Attribute = 0x0000_0010, - [1649151041.771095][3376:3376] CHIP:DMG: } - [1649151041.771146][3376:3376] CHIP:DMG: - [1649151041.771203][3376:3376] CHIP:DMG: Data = true, - [1649151041.771261][3376:3376] CHIP:DMG: }, - [1649151041.771316][3376:3376] CHIP:DMG: - [1649151041.771359][3376:3376] CHIP:DMG: ], - [1649151041.771412][3376:3376] CHIP:DMG: - [1649151041.771457][3376:3376] CHIP:DMG: moreChunkedMessages = false, - [1649151041.771503][3376:3376] CHIP:DMG: InteractionModelRevision = 1 - [1649151041.771546][3376:3376] CHIP:DMG: }, - [1649151041.771675][3376:3376] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0028 e=0 p=m - - - '' ./chip-tool basic read local-config-disabled 1 0 - 1649151101.825618][3376:3376] CHIP:DMG: ReadRequestMessage = - [1649151101.825662][3376:3376] CHIP:DMG: { - [1649151101.825698][3376:3376] CHIP:DMG: AttributePathIBs = - [1649151101.825758][3376:3376] CHIP:DMG: [ - [1649151101.825798][3376:3376] CHIP:DMG: AttributePathIB = - [1649151101.825860][3376:3376] CHIP:DMG: { - [1649151101.825917][3376:3376] CHIP:DMG: Endpoint = 0x0, - [1649151101.825991][3376:3376] CHIP:DMG: Cluster = 0x28, - [1649151101.826059][3376:3376] CHIP:DMG: Attribute = 0x0000_0010, - [1649151101.826113][3376:3376] CHIP:DMG: } - [1649151101.826176][3376:3376] CHIP:DMG: - [1649151101.826222][3376:3376] CHIP:DMG: ], - [1649151101.826334][3376:3376] CHIP:DMG: - [1649151101.826393][3376:3376] CHIP:DMG: isFabricFiltered = true, - [1649151101.826474][3376:3376] CHIP:DMG: InteractionModelRevision = 1 - [1649151101.826527][3376:3376] CHIP:DMG: }, + sudo ./chip-tool basic write local-config-disabled 1 1 0 + [1653636925.022916][11169:11174] CHIP:DMG: WriteResponseMessage = + [1653636925.022948][11169:11174] CHIP:DMG: { + [1653636925.022967][11169:11174] CHIP:DMG: AttributeStatusIBs = + [1653636925.022996][11169:11174] CHIP:DMG: [ + [1653636925.023018][11169:11174] CHIP:DMG: AttributeStatusIB = + [1653636925.023045][11169:11174] CHIP:DMG: { + [1653636925.023067][11169:11174] CHIP:DMG: AttributePathIB = + [1653636925.023091][11169:11174] CHIP:DMG: { + [1653636925.023110][11169:11174] CHIP:DMG: Endpoint = 0x0, + [1653636925.023125][11169:11174] CHIP:DMG: Cluster = 0x28, + [1653636925.023140][11169:11174] CHIP:DMG: Attribute = 0x0000_0010, + [1653636925.023171][11169:11174] CHIP:DMG: } + [1653636925.023192][11169:11174] CHIP:DMG: + [1653636925.023205][11169:11174] CHIP:DMG: StatusIB = + [1653636925.023220][11169:11174] CHIP:DMG: { + [1653636925.023243][11169:11174] CHIP:DMG: status = 0x00 (SUCCESS), + [1653636925.023266][11169:11174] CHIP:DMG: }, + [1653636925.023288][11169:11174] CHIP:DMG: + [1653636925.023305][11169:11174] CHIP:DMG: }, + [1653636925.023328][11169:11174] CHIP:DMG: + [1653636925.023348][11169:11174] CHIP:DMG: ], + [1653636925.023382][11169:11174] CHIP:DMG: + [1653636925.023401][11169:11174] CHIP:DMG: InteractionModelRevision = 1 + [1653636925.023418][11169:11174] CHIP:DMG: } + + sudo ./chip-tool basic read local-config-disabled 1 0 + [1653636965.583608][11178:11183] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0010 DataVersion: 2705188067 + [1653636965.583617][11178:11183] CHIP:TOO: LocalConfigDisabled: TRUE + [1653636965.583647][11178:11183] CHIP:EM: Sending Standalone Ack for MessageCounter:2068189 on exchange 17706i disabled: true - label: - "[Optional] DUT sends the Write Request Message to the TH to write an + "[Optional] DUT sends the WriteRequestMessage to the TH to write an attribute of data type string." verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool basic write node-label node 1 0 - 1649151261.296520][3376:3376] CHIP:DMG: WriteRequestMessage = - [1649151261.296554][3376:3376] CHIP:DMG: { - [1649151261.296613][3376:3376] CHIP:DMG: suppressResponse = false, - [1649151261.296649][3376:3376] CHIP:DMG: timedRequest = false, - [1649151261.296682][3376:3376] CHIP:DMG: AttributeDataIBs = - [1649151261.296723][3376:3376] CHIP:DMG: [ - [1649151261.296756][3376:3376] CHIP:DMG: AttributeDataIB = - [1649151261.296801][3376:3376] CHIP:DMG: { - [1649151261.296836][3376:3376] CHIP:DMG: AttributePathIB = - [1649151261.296881][3376:3376] CHIP:DMG: { - [1649151261.296923][3376:3376] CHIP:DMG: Endpoint = 0x0, - [1649151261.296960][3376:3376] CHIP:DMG: Cluster = 0x28, - [1649151261.297005][3376:3376] CHIP:DMG: Attribute = 0x0000_0005, - [1649151261.297051][3376:3376] CHIP:DMG: } - [1649151261.297094][3376:3376] CHIP:DMG: - [1649151261.297138][3376:3376] CHIP:DMG: Data = "node", - [1649151261.297184][3376:3376] CHIP:DMG: }, - [1649151261.297226][3376:3376] CHIP:DMG: - [1649151261.297257][3376:3376] CHIP:DMG: ], - [1649151261.297296][3376:3376] CHIP:DMG: - [1649151261.297329][3376:3376] CHIP:DMG: moreChunkedMessages = false, - [1649151261.297362][3376:3376] CHIP:DMG: InteractionModelRevision = 1 - [1649151261.297393][3376:3376] CHIP:DMG: }, - [1649151261.297498][3376:3376] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0028 e=0 p=m - - '' ./chip-tool basic read node-label 1 -0 + sudo ./chip-tool basic write node-label node 1 0 + + [1653637012.758732][11186:11191] CHIP:DMG: WriteResponseMessage = + [1653637012.758758][11186:11191] CHIP:DMG: { + [1653637012.758781][11186:11191] CHIP:DMG: AttributeStatusIBs = + [1653637012.758816][11186:11191] CHIP:DMG: [ + [1653637012.758838][11186:11191] CHIP:DMG: AttributeStatusIB = + [1653637012.758893][11186:11191] CHIP:DMG: { + [1653637012.758921][11186:11191] CHIP:DMG: AttributePathIB = + [1653637012.758949][11186:11191] CHIP:DMG: { + [1653637012.758976][11186:11191] CHIP:DMG: Endpoint = 0x0, + [1653637012.759019][11186:11191] CHIP:DMG: Cluster = 0x28, + [1653637012.759046][11186:11191] CHIP:DMG: Attribute = 0x0000_0005, + [1653637012.759069][11186:11191] CHIP:DMG: } + [1653637012.759103][11186:11191] CHIP:DMG: + [1653637012.759128][11186:11191] CHIP:DMG: StatusIB = + [1653637012.759154][11186:11191] CHIP:DMG: { + [1653637012.759179][11186:11191] CHIP:DMG: status = 0x00 (SUCCESS), + [1653637012.759210][11186:11191] CHIP:DMG: }, + [1653637012.759237][11186:11191] CHIP:DMG: + [1653637012.759259][11186:11191] CHIP:DMG: }, + [1653637012.759288][11186:11191] CHIP:DMG: + [1653637012.759309][11186:11191] CHIP:DMG: ], + [1653637012.759342][11186:11191] CHIP:DMG: + [1653637012.759365][11186:11191] CHIP:DMG: InteractionModelRevision = 1 + [1653637012.759386][11186:11191] CHIP:DMG: } + [1653637012.759483][11186:11191] CHIP:DMG: WriteClient moving to [AwaitingDe] + + + sudo ./chip-tool basic read node-label 1 0 + [1653637022.172793][11195:11200] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 2705188068 + [1653637022.172827][11195:11200] CHIP:TOO: NodeLabel: node + [1653637022.172936][11195:11200] CHIP:EM: Sending Standalone Ack for MessageCounter:1112826 on exchange 9435i disabled: true - label: - "[Optional] DUT sends the Write Request Message to the TH to write an + "[Optional] DUT sends the WriteRequestMessage to the TH to write an attribute of data type unsigned integer." verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool any write-by-id 0x0008 0x0010 1 1 1 - [1649151355.273946][3376:3376] CHIP:DMG: WriteRequestMessage = - [1649151355.273980][3376:3376] CHIP:DMG: { - [1649151355.274011][3376:3376] CHIP:DMG: suppressResponse = false, - [1649151355.274046][3376:3376] CHIP:DMG: timedRequest = false, - [1649151355.274079][3376:3376] CHIP:DMG: AttributeDataIBs = - [1649151355.274119][3376:3376] CHIP:DMG: [ - [1649151355.274151][3376:3376] CHIP:DMG: AttributeDataIB = - [1649151355.274190][3376:3376] CHIP:DMG: { - [1649151355.274225][3376:3376] CHIP:DMG: AttributePathIB = - [1649151355.274267][3376:3376] CHIP:DMG: { - [1649151355.274313][3376:3376] CHIP:DMG: Endpoint = 0x1, - [1649151355.274359][3376:3376] CHIP:DMG: Cluster = 0x8, - [1649151355.274403][3376:3376] CHIP:DMG: Attribute = 0x0000_0010, - [1649151355.274445][3376:3376] CHIP:DMG: } - [1649151355.274489][3376:3376] CHIP:DMG: - [1649151355.274537][3376:3376] CHIP:DMG: Data = 1, - [1649151355.274577][3376:3376] CHIP:DMG: }, - [1649151355.274616][3376:3376] CHIP:DMG: - [1649151355.274647][3376:3376] CHIP:DMG: ], - [1649151355.274686][3376:3376] CHIP:DMG: - [1649151355.274718][3376:3376] CHIP:DMG: moreChunkedMessages = false, - [1649151355.274752][3376:3376] CHIP:DMG: InteractionModelRevision = 1 - [1649151355.274785][3376:3376] CHIP:DMG: }, - [1649151355.274885][3376:3376] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0008 e=1 p=o - - - - '' ./chip-tool any read-by-id 0x0008 0x0010 1 1 + sudo ./chip-tool any write-by-id 0x0008 0x0010 1 1 1 + + [1653637100.119726][11211:11216] CHIP:DMG: WriteResponseMessage = + [1653637100.119740][11211:11216] CHIP:DMG: { + [1653637100.119751][11211:11216] CHIP:DMG: AttributeStatusIBs = + [1653637100.119772][11211:11216] CHIP:DMG: [ + [1653637100.119787][11211:11216] CHIP:DMG: AttributeStatusIB = + [1653637100.119804][11211:11216] CHIP:DMG: { + [1653637100.119820][11211:11216] CHIP:DMG: AttributePathIB = + [1653637100.119838][11211:11216] CHIP:DMG: { + [1653637100.119857][11211:11216] CHIP:DMG: Endpoint = 0x1, + [1653637100.119872][11211:11216] CHIP:DMG: Cluster = 0x8, + [1653637100.119891][11211:11216] CHIP:DMG: Attribute = 0x0000_0010, + [1653637100.119911][11211:11216] CHIP:DMG: } + [1653637100.119934][11211:11216] CHIP:DMG: + [1653637100.119951][11211:11216] CHIP:DMG: StatusIB = + [1653637100.119972][11211:11216] CHIP:DMG: { + [1653637100.119989][11211:11216] CHIP:DMG: status = 0x00 (SUCCESS), + [1653637100.120006][11211:11216] CHIP:DMG: }, + [1653637100.120025][11211:11216] CHIP:DMG: + [1653637100.120041][11211:11216] CHIP:DMG: }, + [1653637100.120063][11211:11216] CHIP:DMG: + [1653637100.120078][11211:11216] CHIP:DMG: ], + [1653637100.120100][11211:11216] CHIP:DMG: + [1653637100.120116][11211:11216] CHIP:DMG: InteractionModelRevision = 1 + [1653637100.120131][11211:11216] CHIP:DMG: } + [1653637100.120200][11211:11216] CHIP:DMG: WriteClient moving to [AwaitingDe] + + sudo ./chip-tool any read-by-id 0x0008 0x0010 1 1 + [1653637110.019283][11218:11223] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0010 DataVersion: 199562418 + [1653637110.019354][11218:11223] CHIP:TOO: on off transition time: 1 + [1653637110.019428][11218:11223] CHIP:EM: Sending Standalone Ack for MessageCounter:13973760 on exchange 8819i disabled: true - label: - "[Optional] DUT sends the Write Request Message to the TH to write an + "[Optional] DUT sends the WriteRequestMessage to the TH to write an attribute of data type signed integer." verification: | - DUT implementation required to verify read an attribute of data type signed integer. + DUT implementation required to verify write an attribute of data type signed integer. disabled: true - label: - "[Optional] DUT sends the Write Request Message to the TH to write an + "[Optional] DUT sends the WriteRequestMessage to the TH to write an attribute of data type floating point." verification: | - DUT implementation required to verify read an attribute of data type floating point + DUT implementation required to verify write an attribute of data type float disabled: true - label: - "[Optional] DUT sends the Write Request Message to the TH to write an + "[Optional] DUT sends the WriteRequestMessage to the TH to write an attribute of data type Octet String." verification: | - DUT implementation required to verify read an attribute of data type Octet String + DUT implementation required to verify write an attribute of data type Octet String disabled: true - label: - "[Optional] DUT sends the Write Request Message to the TH to write an + "[Optional] DUT sends the WriteRequestMessage to the TH to write an attribute of data type Struct." verification: | - DUT implementation required to verify read an attribute ofdata type Struct + DUT implementation required to verify write an attribute ofdata type Struct disabled: true - label: - "[Optional] DUT sends the Write Request Message to the TH to write an + "[Optional] DUT sends the WriteRequestMessage to the TH to write an attribute of data type List." verification: | - DUT implementation required to verify read an attribute of data type List + DUT implementation required to verify write an attribute of data type List disabled: true - label: - "[Optional] DUT sends the Write Request Message to the TH to write an + "[Optional] DUT sends the WriteRequestMessage to the TH to write an attribute of data type enum." verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool any write-by-id 0x0204 0 1 1 1 - '' ./chip-tool any read-by-id 0x0204 0 1 1 + sudo ./chip-tool any write-by-id 0x0204 0 1 1 1 + [1653637194.357339][11226:11231] CHIP:DMG: WriteResponseMessage = + [1653637194.357360][11226:11231] CHIP:DMG: { + [1653637194.357380][11226:11231] CHIP:DMG: AttributeStatusIBs = + [1653637194.357413][11226:11231] CHIP:DMG: [ + [1653637194.357431][11226:11231] CHIP:DMG: AttributeStatusIB = + [1653637194.357454][11226:11231] CHIP:DMG: { + [1653637194.357473][11226:11231] CHIP:DMG: AttributePathIB = + [1653637194.357496][11226:11231] CHIP:DMG: { + [1653637194.357520][11226:11231] CHIP:DMG: Endpoint = 0x1, + [1653637194.357544][11226:11231] CHIP:DMG: Cluster = 0x204, + [1653637194.357570][11226:11231] CHIP:DMG: Attribute = 0x0000_0000, + [1653637194.357590][11226:11231] CHIP:DMG: } + [1653637194.357620][11226:11231] CHIP:DMG: + [1653637194.357639][11226:11231] CHIP:DMG: StatusIB = + [1653637194.357663][11226:11231] CHIP:DMG: { + [1653637194.357686][11226:11231] CHIP:DMG: status = 0x00 (SUCCESS), + [1653637194.357707][11226:11231] CHIP:DMG: }, + [1653637194.357731][11226:11231] CHIP:DMG: + [1653637194.357748][11226:11231] CHIP:DMG: }, + [1653637194.357776][11226:11231] CHIP:DMG: + [1653637194.357792][11226:11231] CHIP:DMG: ], + [1653637194.357821][11226:11231] CHIP:DMG: + [1653637194.357839][11226:11231] CHIP:DMG: InteractionModelRevision = 1 + [1653637194.357858][11226:11231] CHIP:DMG: } + [1653637194.357936][11226:11231] CHIP:DMG: WriteClient moving to [AwaitingDe] + + sudo ./chip-tool any read-by-id 0x0204 0 1 1 + [1653637206.201431][11236:11241] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_0000 DataVersion: 262853191 + [1653637206.201456][11236:11241] CHIP:TOO: temperature display mode: 1 + [1653637206.201496][11236:11241] CHIP:EM: Sending Standalone Ack for MessageCounter:9550262 on exchange 37195i disabled: true - label: - "[Optional] DUT sends the Write Request Message to the TH to write an + "[Optional] DUT sends the WriteRequestMessage to the TH to write an attribute of data type bitmap." verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool colorcontrol write-by-id 0x000f 1 1 1 - '' ./chip-tool colorcontrol read-by-id 0x000f 1 1 + sudo ./chip-tool colorcontrol write-by-id 0x000f 1 1 1 + + [1653637300.588667][11253:11258] CHIP:DMG: WriteResponseMessage = + [1653637300.588684][11253:11258] CHIP:DMG: { + [1653637300.588695][11253:11258] CHIP:DMG: AttributeStatusIBs = + [1653637300.588716][11253:11258] CHIP:DMG: [ + [1653637300.588728][11253:11258] CHIP:DMG: AttributeStatusIB = + [1653637300.588743][11253:11258] CHIP:DMG: { + [1653637300.588758][11253:11258] CHIP:DMG: AttributePathIB = + [1653637300.588776][11253:11258] CHIP:DMG: { + [1653637300.588795][11253:11258] CHIP:DMG: Endpoint = 0x1, + [1653637300.588819][11253:11258] CHIP:DMG: Cluster = 0x300, + [1653637300.588839][11253:11258] CHIP:DMG: Attribute = 0x0000_000F, + [1653637300.588858][11253:11258] CHIP:DMG: } + [1653637300.588882][11253:11258] CHIP:DMG: + [1653637300.588898][11253:11258] CHIP:DMG: StatusIB = + [1653637300.588916][11253:11258] CHIP:DMG: { + [1653637300.588934][11253:11258] CHIP:DMG: status = 0x00 (SUCCESS), + [1653637300.588951][11253:11258] CHIP:DMG: }, + [1653637300.588969][11253:11258] CHIP:DMG: + [1653637300.588984][11253:11258] CHIP:DMG: }, + [1653637300.589005][11253:11258] CHIP:DMG: + [1653637300.589020][11253:11258] CHIP:DMG: ], + [1653637300.589042][11253:11258] CHIP:DMG: + [1653637300.589058][11253:11258] CHIP:DMG: InteractionModelRevision = 1 + [1653637300.589072][11253:11258] CHIP:DMG: } + [1653637300.589138][11253:11258] CHIP:DMG: WriteClient moving to [AwaitingDe] + + sudo ./chip-tool colorcontrol read-by-id 0x000f 1 1 + [1653637344.964750][11271:11276] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_000F DataVersion: 3506850134 + [1653637344.964781][11271:11276] CHIP:TOO: color control options: 1 + [1653637344.964865][11271:11276] CHIP:EM: Sending Standalone Ack for MessageCounter:5851001 on exchange 32073i disabled: true - label: - "DUT sends a group cast Write Request Message to the TH to modify any - attribute SuppressResponse field is set to True" + "DUT sends a WriteRequestMessage to the TH with a large list of + attribute data which has to be sent in multiple messages." verification: | - ./chip-tool colorcontrol write-by-id 0x000f 1 1 1 --suppressResponse 1 - [1649151441.506191][3376:3376] CHIP:DMG: WriteRequestMessage = - [1649151441.506218][3376:3376] CHIP:DMG: { - [1649151441.506241][3376:3376] CHIP:DMG: suppressResponse = true, - [1649151441.506268][3376:3376] CHIP:DMG: timedRequest = false, - [1649151441.506293][3376:3376] CHIP:DMG: AttributeDataIBs = - [1649151441.506323][3376:3376] CHIP:DMG: [ - [1649151441.506348][3376:3376] CHIP:DMG: AttributeDataIB = - [1649151441.506382][3376:3376] CHIP:DMG: { - [1649151441.506408][3376:3376] CHIP:DMG: AttributePathIB = - [1649151441.506438][3376:3376] CHIP:DMG: { - [1649151441.506468][3376:3376] CHIP:DMG: Endpoint = 0x1, - [1649151441.506501][3376:3376] CHIP:DMG: Cluster = 0x300, - [1649151441.506531][3376:3376] CHIP:DMG: Attribute = 0x0000_000F, - [1649151441.506560][3376:3376] CHIP:DMG: } - [1649151441.506591][3376:3376] CHIP:DMG: - [1649151441.506621][3376:3376] CHIP:DMG: Data = 1, - [1649151441.506650][3376:3376] CHIP:DMG: }, - [1649151441.506678][3376:3376] CHIP:DMG: - [1649151441.506702][3376:3376] CHIP:DMG: ], - [1649151441.506730][3376:3376] CHIP:DMG: - [1649151441.506755][3376:3376] CHIP:DMG: moreChunkedMessages = false, - [1649151441.506780][3376:3376] CHIP:DMG: InteractionModelRevision = 1 - [1649151441.506803][3376:3376] CHIP:DMG: }, - - TH side log - - [1649151441.502228][16050:16055] CHIP:DMG: WriteResponseMessage = - [1649151441.502257][16050:16055] CHIP:DMG: { - [1649151441.502282][16050:16055] CHIP:DMG: AttributeStatusIBs = - [1649151441.502321][16050:16055] CHIP:DMG: [ - [1649151441.502349][16050:16055] CHIP:DMG: AttributeStatusIB = - [1649151441.502382][16050:16055] CHIP:DMG: { - [1649151441.502411][16050:16055] CHIP:DMG: AttributePathIB = - [1649151441.502444][16050:16055] CHIP:DMG: { - [1649151441.502476][16050:16055] CHIP:DMG: Endpoint = 0x1, - [1649151441.502512][16050:16055] CHIP:DMG: Cluster = 0x300, - [1649151441.502553][16050:16055] CHIP:DMG: Attribute = 0x0000_000F, - [1649151441.502585][16050:16055] CHIP:DMG: } - [1649151441.502625][16050:16055] CHIP:DMG: - [1649151441.502664][16050:16055] CHIP:DMG: StatusIB = - [1649151441.502703][16050:16055] CHIP:DMG: { - [1649151441.502739][16050:16055] CHIP:DMG: status = 0x00 (SUCCESS), - [1649151441.502778][16050:16055] CHIP:DMG: }, - [1649151441.502819][16050:16055] CHIP:DMG: - [1649151441.502861][16050:16055] CHIP:DMG: }, - [1649151441.502916][16050:16055] CHIP:DMG: - [1649151441.502953][16050:16055] CHIP:DMG: ], - [1649151441.502993][16050:16055] CHIP:DMG: - [1649151441.503026][16050:16055] CHIP:DMG: InteractionModelRevision = 1 - [1649151441.503058][16050:16055] CHIP:DMG: } + DUT implementation required to verify write an attribute which is is larger than 1 MTU(1280 bytes) disabled: true - label: - "DUT sends a Write Request Message to the TH with a large list of - attribute data which has to be sent in multiple messages." + "DUT sends the WriteRequestMessage to the TH to write one attribute on + a given cluster and endpoint. Repeat the above steps 3 times." verification: | - '' ./chip-tool levelcontrol write on-off-transition-time 5 1 1 - '' ./chip-tool levelcontrol write on-level 5 1 1 - '' ./chip-tool levelcontrol write default-move-rate 5 1 1 - '' ./chip-tool levelcontrol write off-transition-time 5 1 1 + sudo ./chip-tool any write-by-id 0x0204 0 1 1 1 + [1653637194.357339][11226:11231] CHIP:DMG: WriteResponseMessage = + [1653637194.357360][11226:11231] CHIP:DMG: { + [1653637194.357380][11226:11231] CHIP:DMG: AttributeStatusIBs = + [1653637194.357413][11226:11231] CHIP:DMG: [ + [1653637194.357431][11226:11231] CHIP:DMG: AttributeStatusIB = + [1653637194.357454][11226:11231] CHIP:DMG: { + [1653637194.357473][11226:11231] CHIP:DMG: AttributePathIB = + [1653637194.357496][11226:11231] CHIP:DMG: { + [1653637194.357520][11226:11231] CHIP:DMG: Endpoint = 0x1, + [1653637194.357544][11226:11231] CHIP:DMG: Cluster = 0x204, + [1653637194.357570][11226:11231] CHIP:DMG: Attribute = 0x0000_0000, + [1653637194.357590][11226:11231] CHIP:DMG: } + [1653637194.357620][11226:11231] CHIP:DMG: + [1653637194.357639][11226:11231] CHIP:DMG: StatusIB = + [1653637194.357663][11226:11231] CHIP:DMG: { + [1653637194.357686][11226:11231] CHIP:DMG: status = 0x00 (SUCCESS), + [1653637194.357707][11226:11231] CHIP:DMG: }, + [1653637194.357731][11226:11231] CHIP:DMG: + [1653637194.357748][11226:11231] CHIP:DMG: }, + [1653637194.357776][11226:11231] CHIP:DMG: + [1653637194.357792][11226:11231] CHIP:DMG: ], + [1653637194.357821][11226:11231] CHIP:DMG: + [1653637194.357839][11226:11231] CHIP:DMG: InteractionModelRevision = 1 + [1653637194.357858][11226:11231] CHIP:DMG: } + [1653637194.357936][11226:11231] CHIP:DMG: WriteClient moving to [AwaitingDe] + + sudo ./chip-tool any read-by-id 0x0204 0 1 1 + [1653637206.201431][11236:11241] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_0000 DataVersion: 262853191 + [1653637206.201456][11236:11241] CHIP:TOO: temperature display mode: 1 + [1653637206.201496][11236:11241] CHIP:EM: Sending Standalone Ack for MessageCounter:9550262 on exchange 37195i + + + Repeat the above steps 3 times. disabled: true - label: - "DUT sends the Write Request Message to the TH to write one attribute - on a given cluster and endpoint. Repeat the above steps 3 times." + "DUT sends a ReadRequest message to the TH to read any attribute on + two clusters. TH returns with a report data action with the attribute + values and the dataversions of the clusters. DUT sends a + WriteRequestMessage to the DUT to both the clusters with the + appropriate dataversions(received in the previous step) to modify the + value of an attribute" verification: | - '' ./chip-tool basic write node-label 1 1 0 - [1649152106.541047][3376:3376] CHIP:DMG: WriteRequestMessage = - [1649152106.541088][3376:3376] CHIP:DMG: { - [1649152106.541125][3376:3376] CHIP:DMG: suppressResponse = false, - [1649152106.541168][3376:3376] CHIP:DMG: timedRequest = false, - [1649152106.541208][3376:3376] CHIP:DMG: AttributeDataIBs = - [1649152106.541258][3376:3376] CHIP:DMG: [ - [1649152106.541298][3376:3376] CHIP:DMG: AttributeDataIB = - [1649152106.541354][3376:3376] CHIP:DMG: { - [1649152106.541397][3376:3376] CHIP:DMG: AttributePathIB = - [1649152106.541448][3376:3376] CHIP:DMG: { - [1649152106.541506][3376:3376] CHIP:DMG: Endpoint = 0x0, - [1649152106.541563][3376:3376] CHIP:DMG: Cluster = 0x28, - [1649152106.541622][3376:3376] CHIP:DMG: Attribute = 0x0000_0005, - [1649152106.541678][3376:3376] CHIP:DMG: } - [1649152106.541733][3376:3376] CHIP:DMG: - [1649152106.541789][3376:3376] CHIP:DMG: Data = "1", - [1649152106.541840][3376:3376] CHIP:DMG: }, - [1649152106.541890][3376:3376] CHIP:DMG: - [1649152106.541929][3376:3376] CHIP:DMG: ], - [1649152106.541976][3376:3376] CHIP:DMG: - [1649152106.542016][3376:3376] CHIP:DMG: moreChunkedMessages = false, - [1649152106.542058][3376:3376] CHIP:DMG: InteractionModelRevision = 1 - [1649152106.542095][3376:3376] CHIP:DMG: }, - - Repeat the above steps 3 times. + https://github.com/project-chip/connectedhomeip/issues/19139 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_3_2.yaml b/src/app/tests/suites/certification/Test_TC_IDM_3_2.yaml index 45a5d5792621ae..b10cd7e9a39295 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_3_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_3_2.yaml @@ -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: 19.3.2. [TC-IDM-3.2] Write Response Action from DUT to TH. +name: 20.3.2. [TC-IDM-3.2] Write Response Action from DUT to TH. config: nodeId: 0x12344321 @@ -22,95 +22,100 @@ config: tests: - label: - "TH sends the Write Request Message to the DUT to write one attribute - on a given cluster and endpoint. The Message should contain one valid - CommandDataIB, which has the specific Endpoint, Specific Cluster and - Specific Attribute. On receipt of this message, DUT should send a - write response action with the modified attribute value to the TH." + "TH sends the WriteRequestMessage to the DUT to write one attribute on + a given cluster and endpoint. On receipt of this message, DUT should + send a write response action." verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool levelcontrol write on-level 2 1 1 - [1649152253.662672][16169:16174] CHIP:DMG: WriteResponseMessage = - [1649152253.662703][16169:16174] CHIP:DMG: { - [1649152253.662730][16169:16174] CHIP:DMG: AttributeStatusIBs = - [1649152253.662769][16169:16174] CHIP:DMG: [ - [1649152253.662800][16169:16174] CHIP:DMG: AttributeStatusIB = - [1649152253.662844][16169:16174] CHIP:DMG: { - [1649152253.662877][16169:16174] CHIP:DMG: AttributePathIB = - [1649152253.662915][16169:16174] CHIP:DMG: { - [1649152253.662956][16169:16174] CHIP:DMG: Endpoint = 0x1, - [1649152253.662998][16169:16174] CHIP:DMG: Cluster = 0x8, - [1649152253.663040][16169:16174] CHIP:DMG: Attribute = 0x0000_0011, - [1649152253.663079][16169:16174] CHIP:DMG: } - [1649152253.663123][16169:16174] CHIP:DMG: - [1649152253.663160][16169:16174] CHIP:DMG: StatusIB = - [1649152253.663202][16169:16174] CHIP:DMG: { - [1649152253.663240][16169:16174] CHIP:DMG: status = 0x00 (SUCCESS), - [1649152253.663279][16169:16174] CHIP:DMG: }, - [1649152253.663319][16169:16174] CHIP:DMG: - [1649152253.663354][16169:16174] CHIP:DMG: }, - [1649152253.663393][16169:16174] CHIP:DMG: - [1649152253.663423][16169:16174] CHIP:DMG: ], - [1649152253.663461][16169:16174] CHIP:DMG: - [1649152253.663491][16169:16174] CHIP:DMG: InteractionModelRevision = 1 - [1649152253.663520][16169:16174] CHIP:DMG: } + ./chip-tool levelcontrol write on-level 2 1 1 + + [1653026683.396666][6229:6234] CHIP:DMG: WriteResponseMessage = + [1653026683.396685][6229:6234] CHIP:DMG: { + [1653026683.396703][6229:6234] CHIP:DMG: AttributeStatusIBs = + [1653026683.396732][6229:6234] CHIP:DMG: [ + [1653026683.396749][6229:6234] CHIP:DMG: AttributeStatusIB = + [1653026683.396773][6229:6234] CHIP:DMG: { + [1653026683.396790][6229:6234] CHIP:DMG: AttributePathIB = + [1653026683.396813][6229:6234] CHIP:DMG: { + [1653026683.396835][6229:6234] CHIP:DMG: Endpoint = 0x1, + [1653026683.396858][6229:6234] CHIP:DMG: Cluster = 0x8, + [1653026683.396881][6229:6234] CHIP:DMG: Attribute = 0x0000_0011, + [1653026683.396900][6229:6234] CHIP:DMG: } + [1653026683.396929][6229:6234] CHIP:DMG: + [1653026683.396947][6229:6234] CHIP:DMG: StatusIB = + [1653026683.396970][6229:6234] CHIP:DMG: { + [1653026683.396991][6229:6234] CHIP:DMG: status = 0x00 (SUCCESS), + [1653026683.397011][6229:6234] CHIP:DMG: }, + [1653026683.397034][6229:6234] CHIP:DMG: + [1653026683.397052][6229:6234] CHIP:DMG: }, + [1653026683.397078][6229:6234] CHIP:DMG: + [1653026683.397093][6229:6234] CHIP:DMG: ], + [1653026683.397121][6229:6234] CHIP:DMG: + [1653026683.397138][6229:6234] CHIP:DMG: InteractionModelRevision = 1 + [1653026683.397155][6229:6234] CHIP:DMG: } + + + ./chip-tool levelcontrol read on-level 1 1 + [1655200943.824948][3523:3528] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 3958539601 + [1655200943.825056][3523:3528] CHIP:TOO: on level: 2 + [1655200943.825157][3523:3528] CHIP:EM: Sending Standalone Ack for MessageCounter:244110098 on exchange 12829i disabled: true - label: - "TH sends a Write Request Message to the DUT to all endpoints. On - receipt of this message, DUT should send a Write Response action with - the attribute value to the DUT." + "TH sends a WriteRequestMessage to the DUT to write to an attribute on + all endpoints. On receipt of this message, DUT should send a Write + Response action" verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool any write-by-id 0x0008 0x0010 1 1 0xffff - (V1 out of scope) + V1 out of scope disabled: true - label: - "[Optional] TH sends the Write Request Message to the DUT to write an - attribute of data type bool. DUT responds with the Write Response - action with the right attribute value." + "[Optional] TH sends the WriteRequestMessage to the DUT to write an + attribute of data type bool." verification: | In case of chip tool, here is an example command to use - '' ./chip-tool basic write local-config-disabled 1 1 0 - - 1649152398.774420][16190:16195] CHIP:DMG: WriteResponseMessage = - [1649152398.774454][16190:16195] CHIP:DMG: { - [1649152398.774483][16190:16195] CHIP:DMG: AttributeStatusIBs = - [1649152398.774524][16190:16195] CHIP:DMG: [ - [1649152398.774556][16190:16195] CHIP:DMG: AttributeStatusIB = - [1649152398.774597][16190:16195] CHIP:DMG: { - [1649152398.774631][16190:16195] CHIP:DMG: AttributePathIB = - [1649152398.774677][16190:16195] CHIP:DMG: { - [1649152398.774723][16190:16195] CHIP:DMG: Endpoint = 0x0, - [1649152398.774768][16190:16195] CHIP:DMG: Cluster = 0x28, - [1649152398.774813][16190:16195] CHIP:DMG: Attribute = 0x0000_0010, - [1649152398.774854][16190:16195] CHIP:DMG: } - [1649152398.774901][16190:16195] CHIP:DMG: - [1649152398.774942][16190:16195] CHIP:DMG: StatusIB = - [1649152398.775028][16190:16195] CHIP:DMG: { - [1649152398.775135][16190:16195] CHIP:DMG: status = 0x00 (SUCCESS), - [1649152398.775181][16190:16195] CHIP:DMG: }, - [1649152398.775225][16190:16195] CHIP:DMG: - [1649152398.775261][16190:16195] CHIP:DMG: }, - [1649152398.775303][16190:16195] CHIP:DMG: - [1649152398.775335][16190:16195] CHIP:DMG: ], - [1649152398.775375][16190:16195] CHIP:DMG: - [1649152398.775407][16190:16195] CHIP:DMG: InteractionModelRevision = 1 - [1649152398.775438][16190:16195] CHIP:DMG: } + sudo ./chip-tool basic write local-config-disabled 1 1 0 + [1655201045.952849][3550:3555] CHIP:DMG: WriteResponseMessage = + [1655201045.952886][3550:3555] CHIP:DMG: { + [1655201045.952916][3550:3555] CHIP:DMG: AttributeStatusIBs = + [1655201045.952960][3550:3555] CHIP:DMG: [ + [1655201045.952996][3550:3555] CHIP:DMG: AttributeStatusIB = + [1655201045.953036][3550:3555] CHIP:DMG: { + [1655201045.953076][3550:3555] CHIP:DMG: AttributePathIB = + [1655201045.953122][3550:3555] CHIP:DMG: { + [1655201045.953170][3550:3555] CHIP:DMG: Endpoint = 0x0, + [1655201045.953217][3550:3555] CHIP:DMG: Cluster = 0x28, + [1655201045.953270][3550:3555] CHIP:DMG: Attribute = 0x0000_0010, + [1655201045.953315][3550:3555] CHIP:DMG: } + [1655201045.953365][3550:3555] CHIP:DMG: + [1655201045.953408][3550:3555] CHIP:DMG: StatusIB = + [1655201045.953458][3550:3555] CHIP:DMG: { + [1655201045.953503][3550:3555] CHIP:DMG: status = 0x00 (SUCCESS), + [1655201045.953553][3550:3555] CHIP:DMG: }, + [1655201045.953601][3550:3555] CHIP:DMG: + [1655201045.953663][3550:3555] CHIP:DMG: }, + [1655201045.953711][3550:3555] CHIP:DMG: + [1655201045.953745][3550:3555] CHIP:DMG: ], + [1655201045.953786][3550:3555] CHIP:DMG: + [1655201045.953821][3550:3555] CHIP:DMG: InteractionModelRevision = 1 + [1655201045.953857][3550:3555] CHIP:DMG: } + [1655201045.953951][3550:3555] CHIP:DMG: WriteClient moving to [AwaitingDe] + + + ./chip-tool basic read local-config-disabled 1 0 + + [1655201064.564646][3556:3561] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0010 DataVersion: 1458477847 + [1655201064.564696][3556:3561] CHIP:TOO: LocalConfigDisabled: TRUE + [1655201064.564812][3556:3561] CHIP:EM: Sending Standalone Ack for MessageCounter:57487809 on exchange 1016i disabled: true - label: - "[Optional] TH sends the Write Request Message to the DUT to write an - attribute of data type string. DUT responds with the Write Response - action with the right attribute value." + "[Optional] TH sends the WriteRequestMessage to the DUT to write an + attribute of data type string." verification: | In case of chip tool, here is an example command to use - '' ./chip-tool basic write node-label 1 1 0 + sudo ./chip-tool basic write node-label 1 1 0 [1649152505.885287][16202:16208] CHIP:DMG: WriteResponseMessage = [1649152505.885339][16202:16208] CHIP:DMG: { [1649152505.885378][16202:16208] CHIP:DMG: AttributeStatusIBs = @@ -135,193 +140,209 @@ tests: [1649152505.886174][16202:16208] CHIP:DMG: [1649152505.886213][16202:16208] CHIP:DMG: InteractionModelRevision = 1 [1649152505.886240][16202:16208] CHIP:DMG: } + + ./chip-tool basic read node-label 1 0 + + [1655201181.791246][3568:3574] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 1458477848 + [1655201181.791297][3568:3574] CHIP:TOO: NodeLabel: 1 + [1655201181.791421][3568:3574] CHIP:EM: Sending Standalone Ack for MessageCounter:200651197 on exchange 45925i disabled: true - label: - "[Optional] TH sends the Write Request Message to the DUT to write an - attribute of data type unsigned integer. DUT responds with the Write - Response action with the right attribute value." + "[Optional] TH sends the WriteRequestMessage to the DUT to write an + attribute of data type unsigned integer." verification: | In case of chip tool, here is an example command to use - '' ./chip-tool any write-by-id 0x0008 0x0010 1 1 1 + sudo ./chip-tool any write-by-id 0x0008 0x0010 1 1 1 [1649152567.635323][16212:16217] CHIP:DMG: WriteResponseMessage = [1649152567.635361][16212:16217] CHIP:DMG: { - [1649152567.635394][16212:16217] CHIP:DMG: AttributeStatusIBs = - [1649152567.635441][16212:16217] CHIP:DMG: [ - [1649152567.635479][16212:16217] CHIP:DMG: AttributeStatusIB = - [1649152567.635524][16212:16217] CHIP:DMG: { - [1649152567.635565][16212:16217] CHIP:DMG: AttributePathIB = - [1649152567.635612][16212:16217] CHIP:DMG: { - [1649152567.635659][16212:16217] CHIP:DMG: Endpoint = 0x1, - [1649152567.635710][16212:16217] CHIP:DMG: Cluster = 0x8, - [1649152567.635761][16212:16217] CHIP:DMG: Attribute = 0x0000_0010, - [1649152567.635812][16212:16217] CHIP:DMG: } + [1649152567.635394][16212:16217] CHIP:DMG: AttributeStatusIBs = + [1649152567.635441][16212:16217] CHIP:DMG: [ + [1649152567.635479][16212:16217] CHIP:DMG: AttributeStatusIB = + [1649152567.635524][16212:16217] CHIP:DMG: { + [1649152567.635565][16212:16217] CHIP:DMG: AttributePathIB = + [1649152567.635612][16212:16217] CHIP:DMG: { + [1649152567.635659][16212:16217] CHIP:DMG: Endpoint = 0x1, + [1649152567.635710][16212:16217] CHIP:DMG: Cluster = 0x8, + [1649152567.635761][16212:16217] CHIP:DMG: Attribute = 0x0000_0010, + [1649152567.635812][16212:16217] CHIP:DMG: } [1649152567.635868][16212:16217] CHIP:DMG: - [1649152567.635911][16212:16217] CHIP:DMG: StatusIB = - [1649152567.635963][16212:16217] CHIP:DMG: { - [1649152567.636009][16212:16217] CHIP:DMG: status = 0x00 (SUCCESS), - [1649152567.636056][16212:16217] CHIP:DMG: }, + [1649152567.635911][16212:16217] CHIP:DMG: StatusIB = + [1649152567.635963][16212:16217] CHIP:DMG: { + [1649152567.636009][16212:16217] CHIP:DMG: status = 0x00 (SUCCESS), + [1649152567.636056][16212:16217] CHIP:DMG: }, [1649152567.636103][16212:16217] CHIP:DMG: - [1649152567.636145][16212:16217] CHIP:DMG: }, + [1649152567.636145][16212:16217] CHIP:DMG: }, [1649152567.636193][16212:16217] CHIP:DMG: - [1649152567.636229][16212:16217] CHIP:DMG: ], + [1649152567.636229][16212:16217] CHIP:DMG: ], [1649152567.636274][16212:16217] CHIP:DMG: - [1649152567.636309][16212:16217] CHIP:DMG: InteractionModelRevision = 1 + [1649152567.636309][16212:16217] CHIP:DMG: InteractionModelRevision = 1 [1649152567.636344][16212:16217] CHIP:DMG: } + + + ./chip-tool any read-by-id 0x0008 0x0010 1 1 + + [1655201286.054743][3608:3613] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0010 DataVersion: 3958539602 + [1655201286.054836][3608:3613] CHIP:TOO: on off transition time: 1 + [1655201286.054941][3608:3613] CHIP:EM: Sending Standalone Ack for MessageCounter:21225916 on exchange 58998i disabled: true - label: - "[Optional] TH sends the Write Request Message to the DUT to write an - attribute of data type signed integer. DUT responds with the Write - Response action with the right attribute value." + "[Optional] TH sends the WriteRequestMessage to the DUT to write an + attribute of data type signed integer." verification: | - DUT implementation required to verify read an attribute of data type signed integer. + DUT implementation required to verify write an attribute of data type signed integer. disabled: true - label: - "[Optional] TH sends the Write Request Message to the DUT to write an - attribute of data type floating point. DUT responds with the Write - Response action with the right attribute value." + "[Optional] TH sends the WriteRequestMessage to the DUT to write an + attribute of data type floating point." verification: | - DUT implementation required to verify read an attribute of data type signed integer. + DUT implementation required to verify write an attribute of data type float disabled: true - label: - "[Optional] TH sends the Write Request Message to the DUT to write an - attribute of data type Octet String. DUT responds with the Write - Response action with the right attribute value." + "[Optional] TH sends the WriteRequestMessage to the DUT to write an + attribute of data type Octet String." verification: | - DUT implementation required to verify read an attribute of data type string + DUT implementation required to verify write an attribute of data type Octet String disabled: true - label: - "[Optional] TH sends the Write Request Message to the DUT to write an - attribute of data type Struct. DUT responds with the Write Response - action with the right attribute value." + "[Optional] TH sends the WriteRequestMessage to the DUT to write an + attribute of data type Struct." verification: | - DUT implementation required to verify read an attribute of data type struct. + DUT implementation required to verify write an attribute ofdata type Struct disabled: true - label: - "[Optional] TH sends the Write Request Message to the DUT to write an - attribute of data type List. DUT responds with the Write Response - action with the right attribute value." + "[Optional] TH sends the WriteRequestMessage to the DUT to write an + attribute of data type List." verification: | - DUT implementation required to verify read an attribute of data type list. + DUT implementation required to verify write an attribute of data type List disabled: true - label: - "[Optional] TH sends the Write Request Message to the DUT to write an - attribute of data type enum. DUT responds with the Write Response - action with the right attribute value." + "[Optional] TH sends the WriteRequestMessage to the DUT to write an + attribute of data type enum." verification: | In case of chip tool, here is an example command to use - '' ./chip-tool any write-by-id 0x0204 0 1 1 1 + sudo ./chip-tool any write-by-id 0x0204 0 1 1 1 [1649152707.514290][16226:16231] CHIP:DMG: WriteResponseMessage = [1649152707.514324][16226:16231] CHIP:DMG: { - [1649152707.514354][16226:16231] CHIP:DMG: AttributeStatusIBs = - [1649152707.514396][16226:16231] CHIP:DMG: [ - [1649152707.514429][16226:16231] CHIP:DMG: AttributeStatusIB = - [1649152707.514476][16226:16231] CHIP:DMG: { - [1649152707.514511][16226:16231] CHIP:DMG: AttributePathIB = - [1649152707.514553][16226:16231] CHIP:DMG: { - [1649152707.514600][16226:16231] CHIP:DMG: Endpoint = 0x1, - [1649152707.514646][16226:16231] CHIP:DMG: Cluster = 0x204, - [1649152707.514691][16226:16231] CHIP:DMG: Attribute = 0x0000_0000, - [1649152707.514734][16226:16231] CHIP:DMG: } + [1649152707.514354][16226:16231] CHIP:DMG: AttributeStatusIBs = + [1649152707.514396][16226:16231] CHIP:DMG: [ + [1649152707.514429][16226:16231] CHIP:DMG: AttributeStatusIB = + [1649152707.514476][16226:16231] CHIP:DMG: { + [1649152707.514511][16226:16231] CHIP:DMG: AttributePathIB = + [1649152707.514553][16226:16231] CHIP:DMG: { + [1649152707.514600][16226:16231] CHIP:DMG: Endpoint = 0x1, + [1649152707.514646][16226:16231] CHIP:DMG: Cluster = 0x204, + [1649152707.514691][16226:16231] CHIP:DMG: Attribute = 0x0000_0000, + [1649152707.514734][16226:16231] CHIP:DMG: } [1649152707.514781][16226:16231] CHIP:DMG: - [1649152707.514820][16226:16231] CHIP:DMG: StatusIB = - [1649152707.514867][16226:16231] CHIP:DMG: { - [1649152707.514908][16226:16231] CHIP:DMG: status = 0x00 (SUCCESS), - [1649152707.514995][16226:16231] CHIP:DMG: }, + [1649152707.514820][16226:16231] CHIP:DMG: StatusIB = + [1649152707.514867][16226:16231] CHIP:DMG: { + [1649152707.514908][16226:16231] CHIP:DMG: status = 0x00 (SUCCESS), + [1649152707.514995][16226:16231] CHIP:DMG: }, [1649152707.515038][16226:16231] CHIP:DMG: - [1649152707.515072][16226:16231] CHIP:DMG: }, + [1649152707.515072][16226:16231] CHIP:DMG: }, [1649152707.515113][16226:16231] CHIP:DMG: - [1649152707.515145][16226:16231] CHIP:DMG: ], + [1649152707.515145][16226:16231] CHIP:DMG: ], [1649152707.515186][16226:16231] CHIP:DMG: - [1649152707.515218][16226:16231] CHIP:DMG: InteractionModelRevision = 1 + [1649152707.515218][16226:16231] CHIP:DMG: InteractionModelRevision = 1 [1649152707.515250][16226:16231] CHIP:DMG: } [1649152707.515374][16226:16231] CHIP:DMG: WriteClient moving to [AwaitingDe] + + + ./chip-tool any read-by-id 0x0008 0x0010 1 1 + [1655201353.941835][3634:3639] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_0000 DataVersion: 263686993 + [1655201353.941926][3634:3639] CHIP:TOO: temperature display mode: 1 + [1655201353.942030][3634:3639] CHIP:EM: Sending Standalone Ack for MessageCounter:58103180 on exchange 16578i disabled: true - label: - "[Optional] TH sends the Write Request Message to the DUT to write an - attribute of data type bitmap. DUT responds with the Write Response - action with the right attribute value." + "[Optional] TH sends the WriteRequestMessage to the DUT to write an + attribute of data type bitmap." verification: | In case of chip tool, here is an example command to use - '' ./chip-tool colorcontrol write-by-id 0x000f 1 1 1 + sudo ./chip-tool colorcontrol write-by-id 0x000f 1 1 1 [1649152768.817940][16237:16242] CHIP:DMG: WriteResponseMessage = [1649152768.817971][16237:16242] CHIP:DMG: { - [1649152768.817999][16237:16242] CHIP:DMG: AttributeStatusIBs = - [1649152768.818038][16237:16242] CHIP:DMG: [ - [1649152768.818068][16237:16242] CHIP:DMG: AttributeStatusIB = - [1649152768.818111][16237:16242] CHIP:DMG: { - [1649152768.818146][16237:16242] CHIP:DMG: AttributePathIB = - [1649152768.818188][16237:16242] CHIP:DMG: { - [1649152768.818230][16237:16242] CHIP:DMG: Endpoint = 0x1, - [1649152768.818275][16237:16242] CHIP:DMG: Cluster = 0x300, - [1649152768.818317][16237:16242] CHIP:DMG: Attribute = 0x0000_000F, - [1649152768.818358][16237:16242] CHIP:DMG: } + [1649152768.817999][16237:16242] CHIP:DMG: AttributeStatusIBs = + [1649152768.818038][16237:16242] CHIP:DMG: [ + [1649152768.818068][16237:16242] CHIP:DMG: AttributeStatusIB = + [1649152768.818111][16237:16242] CHIP:DMG: { + [1649152768.818146][16237:16242] CHIP:DMG: AttributePathIB = + [1649152768.818188][16237:16242] CHIP:DMG: { + [1649152768.818230][16237:16242] CHIP:DMG: Endpoint = 0x1, + [1649152768.818275][16237:16242] CHIP:DMG: Cluster = 0x300, + [1649152768.818317][16237:16242] CHIP:DMG: Attribute = 0x0000_000F, + [1649152768.818358][16237:16242] CHIP:DMG: } [1649152768.818405][16237:16242] CHIP:DMG: - [1649152768.818443][16237:16242] CHIP:DMG: StatusIB = - [1649152768.818485][16237:16242] CHIP:DMG: { - [1649152768.818521][16237:16242] CHIP:DMG: status = 0x00 (SUCCESS), - [1649152768.818559][16237:16242] CHIP:DMG: }, + [1649152768.818443][16237:16242] CHIP:DMG: StatusIB = + [1649152768.818485][16237:16242] CHIP:DMG: { + [1649152768.818521][16237:16242] CHIP:DMG: status = 0x00 (SUCCESS), + [1649152768.818559][16237:16242] CHIP:DMG: }, [1649152768.818602][16237:16242] CHIP:DMG: - [1649152768.818640][16237:16242] CHIP:DMG: }, + [1649152768.818640][16237:16242] CHIP:DMG: }, [1649152768.818681][16237:16242] CHIP:DMG: - [1649152768.818710][16237:16242] CHIP:DMG: ], + [1649152768.818710][16237:16242] CHIP:DMG: ], [1649152768.818747][16237:16242] CHIP:DMG: - [1649152768.818777][16237:16242] CHIP:DMG: InteractionModelRevision = 1 + [1649152768.818777][16237:16242] CHIP:DMG: InteractionModelRevision = 1 [1649152768.818806][16237:16242] CHIP:DMG: } [1649152768.818890][16237:16242] CHIP:DMG: WriteClient moving to [AwaitingDe] + + + ./chip-tool colorcontrol read-by-id 0x000f 1 1 + [1655201495.606584][3665:3670] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_000F DataVersion: 1452005257 + [1655201495.606671][3665:3670] CHIP:TOO: Options: 1 + [1655201495.606772][3665:3670] CHIP:EM: Sending Standalone Ack for MessageCounter:247256099 on exchange 33946i disabled: true - label: - "TH sends the Write Request Message to the DUT to read any attribute - to an unsupported node. DUT responds with the Write Response action" + "TH sends the WriteRequestMessage to the DUT to write any attribute on + an unsupported node. DUT responds with the Write Response action" verification: | - Out of Scope for V1.0 + V1 out of scope disabled: true - label: - "TH sends the Write Request Message to the DUT to read any attribute - to an unsupported Endpoint. DUT responds with the Write Response - action" + "TH sends the WriteRequestMessage to the DUT to write any attribute on + an unsupported Endpoint. DUT responds with the Write Response action" verification: | In case of chip tool, here is an example command to use - '' ./chip-tool levelcontrol write on-level 2 1 20 + sudo ./chip-tool levelcontrol write on-level 2 1 20 1649153009.582466][16268:16273] CHIP:DMG: WriteResponseMessage = [1649153009.582507][16268:16273] CHIP:DMG: { - [1649153009.582557][16268:16273] CHIP:DMG: AttributeStatusIBs = - [1649153009.582610][16268:16273] CHIP:DMG: [ - [1649153009.582667][16268:16273] CHIP:DMG: AttributeStatusIB = - [1649153009.582723][16268:16273] CHIP:DMG: { - [1649153009.582779][16268:16273] CHIP:DMG: AttributePathIB = - [1649153009.582831][16268:16273] CHIP:DMG: { - [1649153009.582899][16268:16273] CHIP:DMG: Endpoint = 0x14, - [1649153009.582970][16268:16273] CHIP:DMG: Cluster = 0x8, - [1649153009.583031][16268:16273] CHIP:DMG: Attribute = 0x0000_0011, - [1649153009.583087][16268:16273] CHIP:DMG: } + [1649153009.582557][16268:16273] CHIP:DMG: AttributeStatusIBs = + [1649153009.582610][16268:16273] CHIP:DMG: [ + [1649153009.582667][16268:16273] CHIP:DMG: AttributeStatusIB = + [1649153009.582723][16268:16273] CHIP:DMG: { + [1649153009.582779][16268:16273] CHIP:DMG: AttributePathIB = + [1649153009.582831][16268:16273] CHIP:DMG: { + [1649153009.582899][16268:16273] CHIP:DMG: Endpoint = 0x14, + [1649153009.582970][16268:16273] CHIP:DMG: Cluster = 0x8, + [1649153009.583031][16268:16273] CHIP:DMG: Attribute = 0x0000_0011, + [1649153009.583087][16268:16273] CHIP:DMG: } [1649153009.583166][16268:16273] CHIP:DMG: - [1649153009.583221][16268:16273] CHIP:DMG: StatusIB = - [1649153009.583291][16268:16273] CHIP:DMG: { - [1649153009.583362][16268:16273] CHIP:DMG: status = 0x7f (UNSUPPORTED_ENDPOINT), - [1649153009.583415][16268:16273] CHIP:DMG: }, + [1649153009.583221][16268:16273] CHIP:DMG: StatusIB = + [1649153009.583291][16268:16273] CHIP:DMG: { + [1649153009.583362][16268:16273] CHIP:DMG: status = 0x7f (UNSUPPORTED_ENDPOINT), + [1649153009.583415][16268:16273] CHIP:DMG: }, [1649153009.583481][16268:16273] CHIP:DMG: - [1649153009.583527][16268:16273] CHIP:DMG: }, + [1649153009.583527][16268:16273] CHIP:DMG: }, [1649153009.583594][16268:16273] CHIP:DMG: - [1649153009.583634][16268:16273] CHIP:DMG: ], + [1649153009.583634][16268:16273] CHIP:DMG: ], [1649153009.583697][16268:16273] CHIP:DMG: - [1649153009.583751][16268:16273] CHIP:DMG: InteractionModelRevision = 1 + [1649153009.583751][16268:16273] CHIP:DMG: InteractionModelRevision = 1 [1649153009.583790][16268:16273] CHIP:DMG: } [1649153009.583903][16268:16273] CHIP:TOO: Response Failure: IM Error 0x0000057F: General error: 0x7f (UNSUPPORTED_ENDPOINT) @@ -329,119 +350,119 @@ tests: disabled: true - label: - "TH sends the Write Request Message to the DUT to read any attribute - to an unsupported cluster. DUT responds with the Write Response action" + "TH sends the WriteRequestMessage to the DUT to write any attribute on + an unsupported cluster. DUT responds with the Write Response action" verification: | In case of chip tool, here is an example command to use - '' ./chip-tool thermostat write unoccupied-heating-setpoint 1200 1 0 + sudo ./chip-tool thermostat write unoccupied-heating-setpoint 1200 1 0 [1650618880.286103][2741:2746] CHIP:DMG: WriteResponseMessage = [1650618880.286161][2741:2746] CHIP:DMG: { - [1650618880.286210][2741:2746] CHIP:DMG: AttributeStatusIBs = - [1650618880.286280][2741:2746] CHIP:DMG: [ - [1650618880.286334][2741:2746] CHIP:DMG: AttributeStatusIB = - [1650618880.286399][2741:2746] CHIP:DMG: { - [1650618880.286456][2741:2746] CHIP:DMG: AttributePathIB = - [1650618880.286540][2741:2746] CHIP:DMG: { - [1650618880.286598][2741:2746] CHIP:DMG: Endpoint = 0x0, - [1650618880.286670][2741:2746] CHIP:DMG: Cluster = 0x201, - [1650618880.286736][2741:2746] CHIP:DMG: Attribute = 0x0000_0014, - [1650618880.286809][2741:2746] CHIP:DMG: } + [1650618880.286210][2741:2746] CHIP:DMG: AttributeStatusIBs = + [1650618880.286280][2741:2746] CHIP:DMG: [ + [1650618880.286334][2741:2746] CHIP:DMG: AttributeStatusIB = + [1650618880.286399][2741:2746] CHIP:DMG: { + [1650618880.286456][2741:2746] CHIP:DMG: AttributePathIB = + [1650618880.286540][2741:2746] CHIP:DMG: { + [1650618880.286598][2741:2746] CHIP:DMG: Endpoint = 0x0, + [1650618880.286670][2741:2746] CHIP:DMG: Cluster = 0x201, + [1650618880.286736][2741:2746] CHIP:DMG: Attribute = 0x0000_0014, + [1650618880.286809][2741:2746] CHIP:DMG: } [1650618880.286892][2741:2746] CHIP:DMG: - [1650618880.286955][2741:2746] CHIP:DMG: StatusIB = - [1650618880.287015][2741:2746] CHIP:DMG: { - [1650618880.287080][2741:2746] CHIP:DMG: status = 0xc3 (UNSUPPORTED_CLUSTER), - [1650618880.287144][2741:2746] CHIP:DMG: }, + [1650618880.286955][2741:2746] CHIP:DMG: StatusIB = + [1650618880.287015][2741:2746] CHIP:DMG: { + [1650618880.287080][2741:2746] CHIP:DMG: status = 0xc3 (UNSUPPORTED_CLUSTER), + [1650618880.287144][2741:2746] CHIP:DMG: }, [1650618880.287208][2741:2746] CHIP:DMG: - [1650618880.287267][2741:2746] CHIP:DMG: }, + [1650618880.287267][2741:2746] CHIP:DMG: }, [1650618880.287328][2741:2746] CHIP:DMG: - [1650618880.287377][2741:2746] CHIP:DMG: ], + [1650618880.287377][2741:2746] CHIP:DMG: ], [1650618880.287440][2741:2746] CHIP:DMG: - [1650618880.287489][2741:2746] CHIP:DMG: InteractionModelRevision = 1 + [1650618880.287489][2741:2746] CHIP:DMG: InteractionModelRevision = 1 [1650618880.287538][2741:2746] CHIP:DMG: } [1650618880.287657][2741:2746] CHIP:TOO: Response Failure: IM Error 0x000005C3: General error: 0xc3 (UNSUPPORTED_CLUSTER) [1650618880.287735][2741:2746] CHIP:DMG: WriteClient moving to [AwaitingDe] disabled: true - label: - "TH sends the Write Request Message to the DUT to read an unsupported + "TH sends the WriteRequestMessage to the DUT to write an unsupported attribute DUT responds with the Write Response action" verification: | - '' ./chip-tool thermostat write unoccupied-heating-setpoint 1200 1 1 + sudo ./chip-tool thermostat write unoccupied-heating-setpoint 1200 1 1 [1650618819.921180][2730:2735] CHIP:DMG: WriteResponseMessage = [1650618819.921212][2730:2735] CHIP:DMG: { - [1650618819.921237][2730:2735] CHIP:DMG: AttributeStatusIBs = - [1650618819.921273][2730:2735] CHIP:DMG: [ - [1650618819.921303][2730:2735] CHIP:DMG: AttributeStatusIB = - [1650618819.921334][2730:2735] CHIP:DMG: { - [1650618819.921364][2730:2735] CHIP:DMG: AttributePathIB = - [1650618819.921400][2730:2735] CHIP:DMG: { - [1650618819.921436][2730:2735] CHIP:DMG: Endpoint = 0x1, - [1650618819.921473][2730:2735] CHIP:DMG: Cluster = 0x201, - [1650618819.921508][2730:2735] CHIP:DMG: Attribute = 0x0000_0014, - [1650618819.921543][2730:2735] CHIP:DMG: } + [1650618819.921237][2730:2735] CHIP:DMG: AttributeStatusIBs = + [1650618819.921273][2730:2735] CHIP:DMG: [ + [1650618819.921303][2730:2735] CHIP:DMG: AttributeStatusIB = + [1650618819.921334][2730:2735] CHIP:DMG: { + [1650618819.921364][2730:2735] CHIP:DMG: AttributePathIB = + [1650618819.921400][2730:2735] CHIP:DMG: { + [1650618819.921436][2730:2735] CHIP:DMG: Endpoint = 0x1, + [1650618819.921473][2730:2735] CHIP:DMG: Cluster = 0x201, + [1650618819.921508][2730:2735] CHIP:DMG: Attribute = 0x0000_0014, + [1650618819.921543][2730:2735] CHIP:DMG: } [1650618819.921586][2730:2735] CHIP:DMG: - [1650618819.921619][2730:2735] CHIP:DMG: StatusIB = - [1650618819.921654][2730:2735] CHIP:DMG: { - [1650618819.921692][2730:2735] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1650618819.921733][2730:2735] CHIP:DMG: }, + [1650618819.921619][2730:2735] CHIP:DMG: StatusIB = + [1650618819.921654][2730:2735] CHIP:DMG: { + [1650618819.921692][2730:2735] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), + [1650618819.921733][2730:2735] CHIP:DMG: }, [1650618819.921773][2730:2735] CHIP:DMG: - [1650618819.921806][2730:2735] CHIP:DMG: }, + [1650618819.921806][2730:2735] CHIP:DMG: }, [1650618819.921843][2730:2735] CHIP:DMG: - [1650618819.921870][2730:2735] CHIP:DMG: ], + [1650618819.921870][2730:2735] CHIP:DMG: ], [1650618819.921905][2730:2735] CHIP:DMG: - [1650618819.921932][2730:2735] CHIP:DMG: InteractionModelRevision = 1 + [1650618819.921932][2730:2735] CHIP:DMG: InteractionModelRevision = 1 [1650618819.921961][2730:2735] CHIP:DMG: } [1650618819.922034][2730:2735] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) [1650618819.922076][2730:2735] CHIP:DMG: WriteClient moving to [AwaitingDe] disabled: true - label: - "TH sends the Write Request Message to the DUT to read an attribute + "TH sends the WriteRequestMessage to the DUT to write an attribute which is not writable. DUT responds with the Write Response action" verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool any write-by-id 0x0028 1 test 1 0 - - [1650618963.559922][2767:2772] CHIP:DMG: WriteResponseMessage = - [1650618963.559950][2767:2772] CHIP:DMG: { - [1650618963.559971][2767:2772] CHIP:DMG: AttributeStatusIBs = - [1650618963.560001][2767:2772] CHIP:DMG: [ - [1650618963.560022][2767:2772] CHIP:DMG: AttributeStatusIB = - [1650618963.560046][2767:2772] CHIP:DMG: { - [1650618963.560067][2767:2772] CHIP:DMG: AttributePathIB = - [1650618963.560092][2767:2772] CHIP:DMG: { - [1650618963.560122][2767:2772] CHIP:DMG: Endpoint = 0x0, - [1650618963.560160][2767:2772] CHIP:DMG: Cluster = 0x28, - [1650618963.560237][2767:2772] CHIP:DMG: Attribute = 0x0000_0001, - [1650618963.560305][2767:2772] CHIP:DMG: } - [1650618963.560350][2767:2772] CHIP:DMG: - [1650618963.560389][2767:2772] CHIP:DMG: StatusIB = - [1650618963.560423][2767:2772] CHIP:DMG: { - [1650618963.560454][2767:2772] CHIP:DMG: status = 0x88 (UNSUPPORTED_WRITE), - [1650618963.560487][2767:2772] CHIP:DMG: }, - [1650618963.560519][2767:2772] CHIP:DMG: - [1650618963.560570][2767:2772] CHIP:DMG: }, - [1650618963.560604][2767:2772] CHIP:DMG: - [1650618963.560627][2767:2772] CHIP:DMG: ], - [1650618963.560658][2767:2772] CHIP:DMG: - [1650618963.560682][2767:2772] CHIP:DMG: InteractionModelRevision = 1 - [1650618963.560706][2767:2772] CHIP:DMG: } - [1650618963.560773][2767:2772] CHIP:TOO: Response Failure: IM Error 0x00000588: General error: 0x88 (UNSUPPORTED_WRITE) + ./chip-tool basic write-by-id 0x7 2 1 0 + + [1655201693.989436][3767:3772] CHIP:DMG: WriteResponseMessage = + [1655201693.989472][3767:3772] CHIP:DMG: { + [1655201693.989504][3767:3772] CHIP:DMG: AttributeStatusIBs = + [1655201693.989548][3767:3772] CHIP:DMG: [ + [1655201693.989584][3767:3772] CHIP:DMG: AttributeStatusIB = + [1655201693.989673][3767:3772] CHIP:DMG: { + [1655201693.989715][3767:3772] CHIP:DMG: AttributePathIB = + [1655201693.989762][3767:3772] CHIP:DMG: { + [1655201693.989810][3767:3772] CHIP:DMG: Endpoint = 0x0, + [1655201693.989859][3767:3772] CHIP:DMG: Cluster = 0x28, + [1655201693.989912][3767:3772] CHIP:DMG: Attribute = 0x0000_0007, + [1655201693.989962][3767:3772] CHIP:DMG: } + [1655201693.990012][3767:3772] CHIP:DMG: + [1655201693.990058][3767:3772] CHIP:DMG: StatusIB = + [1655201693.990105][3767:3772] CHIP:DMG: { + [1655201693.990149][3767:3772] CHIP:DMG: status = 0x88 (UNSUPPORTED_WRITE), + [1655201693.990196][3767:3772] CHIP:DMG: }, + [1655201693.990240][3767:3772] CHIP:DMG: + [1655201693.990277][3767:3772] CHIP:DMG: }, + [1655201693.990320][3767:3772] CHIP:DMG: + [1655201693.990355][3767:3772] CHIP:DMG: ], + [1655201693.990398][3767:3772] CHIP:DMG: + [1655201693.990433][3767:3772] CHIP:DMG: InteractionModelRevision = 1 + [1655201693.990467][3767:3772] CHIP:DMG: } + [1655201693.990561][3767:3772] CHIP:DMG: WriteClient moving to [AwaitingDe] + [1655201693.990608][3767:3772] CHIP:TOO: Response Failure: IM Error 0x00000588: General error: 0x88 (UNSUPPORTED_WRITE) + [1655201693.990677][3767:3772] CHIP:EM: Sending Standalone Ack for MessageCounter:106116162 on exchange 12372i disabled: true - label: - "TH sends the Write Request Message to the DUT to write to an - attribute in the path that requires a privilege that is not granted - for the cluster in the path. DUT responds with the Write Response - action" + "TH sends the WriteRequestMessage to the DUT to write to an attribute + in the path that requires a privilege that is not granted for the + cluster in the path. DUT responds with the Write Response action" verification: | - '' ./chip-tool thermostatuserinterfaceconfiguration write temperature-display-mode 2 1 1 --commissioner-nodeid 1234 + ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1234], "targets": null}]' 1 0 + "sudo ./chip-tool thermostatuserinterfaceconfiguration write temperature-display-mode 2 1 1 [1650552778.852950][17227:17232] CHIP:DMG: WriteResponseMessage = [1650552778.852981][17227:17232] CHIP:DMG: { [1650552778.853009][17227:17232] CHIP:DMG: AttributeStatusIBs = @@ -467,164 +488,234 @@ tests: [1650552778.853780][17227:17232] CHIP:DMG: InteractionModelRevision = 1 [1650552778.853813][17227:17232] CHIP:DMG: } [1650552778.853890][17227:17232] CHIP:TOO: Response Failure: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) - [1650552778.853935][17227:17232] CHIP:DMG: WriteClient moving to [AwaitingDe] + [1650552778.853935][17227:17232] CHIP:DMG: WriteClient moving to [AwaitingDe]" disabled: true - label: - "TH sends the Write Request Message to the DUT to write to an - attribute in the path that is fabric scoped, and the associated fabric - does not match the accessing fabric DUT responds with the Write - Response action" + "TH sends the WriteRequestMessage to the DUT to write one attribute on + a given cluster and endpoint. Repeat the above steps 3 times." verification: | - '' ./chip-tool thermostatuserinterfaceconfiguration write temperature-display-mode 2 1 1 --commissioner-fabricid 2341 + sudo ./chip-tool levelcontrol write on-level 2 1 1 + + [1653028376.099679][6518:6523] CHIP:DMG: WriteResponseMessage = + [1653028376.099696][6518:6523] CHIP:DMG: { + [1653028376.099710][6518:6523] CHIP:DMG: AttributeStatusIBs = + [1653028376.099814][6518:6523] CHIP:DMG: [ + [1653028376.099831][6518:6523] CHIP:DMG: AttributeStatusIB = + [1653028376.099849][6518:6523] CHIP:DMG: { + [1653028376.099864][6518:6523] CHIP:DMG: AttributePathIB = + [1653028376.099882][6518:6523] CHIP:DMG: { + [1653028376.099900][6518:6523] CHIP:DMG: Endpoint = 0x1, + [1653028376.099917][6518:6523] CHIP:DMG: Cluster = 0x8, + [1653028376.099935][6518:6523] CHIP:DMG: Attribute = 0x0000_0011, + [1653028376.099952][6518:6523] CHIP:DMG: } + [1653028376.099983][6518:6523] CHIP:DMG: + [1653028376.099999][6518:6523] CHIP:DMG: StatusIB = + [1653028376.100014][6518:6523] CHIP:DMG: { + [1653028376.100031][6518:6523] CHIP:DMG: status = 0x00 (SUCCESS), + [1653028376.100047][6518:6523] CHIP:DMG: }, + [1653028376.100065][6518:6523] CHIP:DMG: + [1653028376.100080][6518:6523] CHIP:DMG: }, + [1653028376.100101][6518:6523] CHIP:DMG: + [1653028376.100115][6518:6523] CHIP:DMG: ], + [1653028376.100137][6518:6523] CHIP:DMG: + [1653028376.100152][6518:6523] CHIP:DMG: InteractionModelRevision = 1 + [1653028376.100167][6518:6523] CHIP:DMG: } + + ./chip-tool levelcontrol read on-level 1 1 + + [1653028474.240088][6540:6545] CHIP:DMG: ReportDataMessage = + [1653028474.240100][6540:6545] CHIP:DMG: { + [1653028474.240110][6540:6545] CHIP:DMG: AttributeReportIBs = + [1653028474.240126][6540:6545] CHIP:DMG: [ + [1653028474.240136][6540:6545] CHIP:DMG: AttributeReportIB = + [1653028474.240152][6540:6545] CHIP:DMG: { + [1653028474.240162][6540:6545] CHIP:DMG: AttributeDataIB = + [1653028474.240175][6540:6545] CHIP:DMG: { + [1653028474.240187][6540:6545] CHIP:DMG: DataVersion = 0xc4c9d7ad, + [1653028474.240198][6540:6545] CHIP:DMG: AttributePathIB = + [1653028474.240211][6540:6545] CHIP:DMG: { + [1653028474.240223][6540:6545] CHIP:DMG: Endpoint = 0x1, + [1653028474.240235][6540:6545] CHIP:DMG: Cluster = 0x8, + [1653028474.240249][6540:6545] CHIP:DMG: Attribute = 0x0000_0011, + [1653028474.240260][6540:6545] CHIP:DMG: } + [1653028474.240274][6540:6545] CHIP:DMG: + [1653028474.240287][6540:6545] CHIP:DMG: Data = 2, + [1653028474.240298][6540:6545] CHIP:DMG: }, + [1653028474.240312][6540:6545] CHIP:DMG: + [1653028474.240322][6540:6545] CHIP:DMG: }, + [1653028474.240337][6540:6545] CHIP:DMG: + [1653028474.240346][6540:6545] CHIP:DMG: ], + [1653028474.240361][6540:6545] CHIP:DMG: + [1653028474.240372][6540:6545] CHIP:DMG: SuppressResponse = true, + [1653028474.240383][6540:6545] CHIP:DMG: InteractionModelRevision = 1 + [1653028474.240393][6540:6545] CHIP:DMG: } + [1653028474.240473][6540:6545] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 3301562285 + [1653028474.240815][6540:6545] CHIP:TOO: on level: 2 + ./chip-tool levelcontrol write on-level 3 1 1 + ./chip-tool levelcontrol write on-level 1 1 1 disabled: true - label: - "TH sends the Write Request Message to the DUT to write one attribute - on a given cluster and endpoint. The Message should contain one valid - CommandDataIB, which has the specific Endpoint, Specific Cluster and - Specific Attribute. On receipt of this message, DUT should send a - write response action with the modified attribute value to the TH. - Repeat the above steps 3 times." + "TH sends the WriteRequestMessage to the DUT to modify the value of + one attribute on a given cluster and endpoint to null." verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool basic write node-label TE8 1 0 - [1650619886.253187][2837:2842] CHIP:DMG: WriteResponseMessage = - [1650619886.253239][2837:2842] CHIP:DMG: { - [1650619886.253270][2837:2842] CHIP:DMG: AttributeStatusIBs = - [1650619886.253330][2837:2842] CHIP:DMG: [ - [1650619886.253382][2837:2842] CHIP:DMG: AttributeStatusIB = - [1650619886.253435][2837:2842] CHIP:DMG: { - [1650619886.253479][2837:2842] CHIP:DMG: AttributePathIB = - [1650619886.253558][2837:2842] CHIP:DMG: { - [1650619886.253600][2837:2842] CHIP:DMG: Endpoint = 0x0, - [1650619886.253655][2837:2842] CHIP:DMG: Cluster = 0x28, - [1650619886.253715][2837:2842] CHIP:DMG: Attribute = 0x0000_0005, - [1650619886.253762][2837:2842] CHIP:DMG: } - [1650619886.253829][2837:2842] CHIP:DMG: - [1650619886.253887][2837:2842] CHIP:DMG: StatusIB = - [1650619886.253940][2837:2842] CHIP:DMG: { - [1650619886.254001][2837:2842] CHIP:DMG: status = 0x00 (SUCCESS), - [1650619886.254062][2837:2842] CHIP:DMG: }, - [1650619886.254108][2837:2842] CHIP:DMG: - [1650619886.254158][2837:2842] CHIP:DMG: }, - [1650619886.254207][2837:2842] CHIP:DMG: - [1650619886.254255][2837:2842] CHIP:DMG: ], - [1650619886.254301][2837:2842] CHIP:DMG: - [1650619886.254349][2837:2842] CHIP:DMG: InteractionModelRevision = 1 - [1650619886.254383][2837:2842] CHIP:DMG: } - - - - '' ./chip-tool basic write node-label TE7 1 0 - '' ./chip-tool basic write node-label TE6 1 0 + V1 out of scope(15999) disabled: true - label: - "TH sends the Write Request Message to the DUT to modify the value of - one attribute on a given cluster and endpoint to null. The Message - should contain one valid CommandDataIB, which has the specific - Endpoint, Specific Cluster and Specific Attribute. On receipt of this - message, DUT should send a write response action with the modified - attribute value to the TH." + "TH sends the WriteRequestMessage to the DUT to append an attribute + value" verification: | - '' ./chip-tool onoff read start-up-on-off 1 0xFFFF + V1 out of scope disabled: true - label: - "TH sends the Write Request Message to the DUT to append an attribute - value On receipt of this message, DUT should send a write response - action with the modified attribute value to the TH." + "TH sends the WriteRequestMessage to the DUT to delete an attribute + value" verification: | - Out of Scope for V1.0 + V1 out of scope disabled: true - label: - "TH sends the Write Request Message to the DUT to delete an attribute - value On receipt of this message, DUT should send a write response - action with the modified attribute value to the TH." + "TH sends the WriteRequestMessage to the DUT to modify the value of + one attribute and Set SuppressResponse to True." verification: | - Out of Scope for V1.0 + https://github.com/project-chip/connectedhomeip/issues/8043 + Out of Scope for V1.0 disabled: true - label: - "TH sends the Write Request Message to the DUT to modify the value of - one attribute on a given cluster and endpoint to null. The Message - should contain one valid CommandDataIB, which has the specific - Endpoint, Specific Cluster and Specific Attribute. Set - SuppressResponse to True." + "TH sends a ReadRequest message to the DUT to read any attribute on + any cluster. DUT returns with a report data action with the attribute + values and the dataversion of the cluster. TH sends a + WriteRequestMessage to the DUT to modify the value of one attribute + with the DataVersion field set to the one received in the prior step." verification: | - '' ./chip-tool onoff write start-up-on-off null 1 1 --suppressResponse 1 - - [1650619929.786037][2847:2852] CHIP:DMG: WriteResponseMessage = - [1650619929.786074][2847:2852] CHIP:DMG: { - [1650619929.786105][2847:2852] CHIP:DMG: AttributeStatusIBs = - [1650619929.786148][2847:2852] CHIP:DMG: [ - [1650619929.786243][2847:2852] CHIP:DMG: AttributeStatusIB = - [1650619929.786308][2847:2852] CHIP:DMG: { - [1650619929.786346][2847:2852] CHIP:DMG: AttributePathIB = - [1650619929.786391][2847:2852] CHIP:DMG: { - [1650619929.786433][2847:2852] CHIP:DMG: Endpoint = 0x1, - [1650619929.786546][2847:2852] CHIP:DMG: Cluster = 0x6, - [1650619929.786598][2847:2852] CHIP:DMG: Attribute = 0x0000_4003, - [1650619929.786649][2847:2852] CHIP:DMG: } - [1650619929.786703][2847:2852] CHIP:DMG: - [1650619929.786747][2847:2852] CHIP:DMG: StatusIB = - [1650619929.786816][2847:2852] CHIP:DMG: { - [1650619929.786862][2847:2852] CHIP:DMG: status = 0x00 (SUCCESS), - [1650619929.786902][2847:2852] CHIP:DMG: }, - [1650619929.786944][2847:2852] CHIP:DMG: - [1650619929.786980][2847:2852] CHIP:DMG: }, - [1650619929.787080][2847:2852] CHIP:DMG: - [1650619929.787112][2847:2852] CHIP:DMG: ], - [1650619929.787153][2847:2852] CHIP:DMG: - [1650619929.787219][2847:2852] CHIP:DMG: InteractionModelRevision = 1 - [1650619929.787252][2847:2852] CHIP:DMG: } - - '' ./chip-tool onoff read start-up-on-off 1 1 - [1650619951.210265][2854:2859] CHIP:DMG: ReportDataMessage = - [1650619951.210320][2854:2859] CHIP:DMG: { - [1650619951.210362][2854:2859] CHIP:DMG: AttributeReportIBs = - [1650619951.210428][2854:2859] CHIP:DMG: [ - [1650619951.210476][2854:2859] CHIP:DMG: AttributeReportIB = - [1650619951.210541][2854:2859] CHIP:DMG: { - [1650619951.210701][2854:2859] CHIP:DMG: AttributeDataIB = - [1650619951.210763][2854:2859] CHIP:DMG: { - [1650619951.210823][2854:2859] CHIP:DMG: DataVersion = 0x3f15b287, - [1650619951.210923][2854:2859] CHIP:DMG: AttributePathIB = - [1650619951.210986][2854:2859] CHIP:DMG: { - [1650619951.211043][2854:2859] CHIP:DMG: Endpoint = 0x1, - [1650619951.211107][2854:2859] CHIP:DMG: Cluster = 0x6, - [1650619951.211165][2854:2859] CHIP:DMG: Attribute = 0x0000_4003, - [1650619951.211226][2854:2859] CHIP:DMG: } - [1650619951.211284][2854:2859] CHIP:DMG: - [1650619951.211344][2854:2859] CHIP:DMG: Data = NULL - [1650619951.211404][2854:2859] CHIP:DMG: }, - [1650619951.211528][2854:2859] CHIP:DMG: - [1650619951.211580][2854:2859] CHIP:DMG: }, - [1650619951.211636][2854:2859] CHIP:DMG: - [1650619951.211680][2854:2859] CHIP:DMG: ], - [1650619951.211735][2854:2859] CHIP:DMG: - [1650619951.211780][2854:2859] CHIP:DMG: SuppressResponse = true, - [1650619951.211873][2854:2859] CHIP:DMG: InteractionModelRevision = 1 - [1650619951.211916][2854:2859] CHIP:DMG: } - [1650619951.212190][2854:2859] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4003 DataVersion: 1058386567 - [1650619951.212306][2854:2859] CHIP:TOO: StartUpOnOff: null + ./chip-tool levelcontrol read on-level 1 1 + + [1653028897.525838][6605:6611] CHIP:DMG: ReportDataMessage = + [1653028897.525863][6605:6611] CHIP:DMG: { + [1653028897.525885][6605:6611] CHIP:DMG: AttributeReportIBs = + [1653028897.525919][6605:6611] CHIP:DMG: [ + [1653028897.525940][6605:6611] CHIP:DMG: AttributeReportIB = + [1653028897.525975][6605:6611] CHIP:DMG: { + [1653028897.525997][6605:6611] CHIP:DMG: AttributeDataIB = + [1653028897.526025][6605:6611] CHIP:DMG: { + [1653028897.526051][6605:6611] CHIP:DMG: DataVersion = 0xc4c9d7ae, + [1653028897.526075][6605:6611] CHIP:DMG: AttributePathIB = + [1653028897.526102][6605:6611] CHIP:DMG: { + [1653028897.526128][6605:6611] CHIP:DMG: Endpoint = 0x1, + [1653028897.526153][6605:6611] CHIP:DMG: Cluster = 0x8, + [1653028897.526181][6605:6611] CHIP:DMG: Attribute = 0x0000_0011, + [1653028897.526211][6605:6611] CHIP:DMG: } + [1653028897.526239][6605:6611] CHIP:DMG: + [1653028897.526268][6605:6611] CHIP:DMG: Data = 2, + [1653028897.526295][6605:6611] CHIP:DMG: }, + [1653028897.526326][6605:6611] CHIP:DMG: + [1653028897.526347][6605:6611] CHIP:DMG: }, + [1653028897.526378][6605:6611] CHIP:DMG: + [1653028897.526397][6605:6611] CHIP:DMG: ], + [1653028897.526432][6605:6611] CHIP:DMG: + [1653028897.526459][6605:6611] CHIP:DMG: SuppressResponse = true, + [1653028897.526483][6605:6611] CHIP:DMG: InteractionModelRevision = 1 + [1653028897.526503][6605:6611] CHIP:DMG: } + [1653028897.526687][6605:6611] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 3301562286 + [1653028897.526763][6605:6611] CHIP:TOO: on level: 2 + + + ./chip-tool levelcontrol write on-level 3 1 1 --data-version 0xc4c9d7ae + [1653028938.426783][6617:6622] CHIP:DMG: WriteResponseMessage = + [1653028938.426797][6617:6622] CHIP:DMG: { + [1653028938.426806][6617:6622] CHIP:DMG: AttributeStatusIBs = + [1653028938.426821][6617:6622] CHIP:DMG: [ + [1653028938.426829][6617:6622] CHIP:DMG: AttributeStatusIB = + [1653028938.426840][6617:6622] CHIP:DMG: { + [1653028938.426849][6617:6622] CHIP:DMG: AttributePathIB = + [1653028938.426860][6617:6622] CHIP:DMG: { + [1653028938.426871][6617:6622] CHIP:DMG: Endpoint = 0x1, + [1653028938.426881][6617:6622] CHIP:DMG: Cluster = 0x8, + [1653028938.426893][6617:6622] CHIP:DMG: Attribute = 0x0000_0011, + [1653028938.426903][6617:6622] CHIP:DMG: } + [1653028938.426917][6617:6622] CHIP:DMG: + [1653028938.426925][6617:6622] CHIP:DMG: StatusIB = + [1653028938.426936][6617:6622] CHIP:DMG: { + [1653028938.426944][6617:6622] CHIP:DMG: status = 0x00 (SUCCESS), + [1653028938.426952][6617:6622] CHIP:DMG: }, + [1653028938.426961][6617:6622] CHIP:DMG: + [1653028938.426968][6617:6622] CHIP:DMG: }, + [1653028938.426978][6617:6622] CHIP:DMG: + [1653028938.426996][6617:6622] CHIP:DMG: ], + [1653028938.427009][6617:6622] CHIP:DMG: + [1653028938.427017][6617:6622] CHIP:DMG: InteractionModelRevision = 1 + [1653028938.427024][6617:6622] CHIP:DMG: } + + ./chip-tool levelcontrol read on-level 1 1 + + [1655201977.366318][3837:3842] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 3958539604 + [1655201977.366411][3837:3842] CHIP:TOO: on level: 3 + [1655201977.366511][3837:3842] CHIP:EM: Sending Standalone Ack for MessageCounter:237652616 on exchange 15939i disabled: true - label: "TH sends a ReadRequest message to the DUT to read any attribute on any cluster. DUT returns with a report data action with the attribute - values and the dataversion of the cluster. TH sends a Write Request - Message to the DUT to modify the value of one attribute no DataVersion - indicated. TH sends a second Write Request Message to the DUT to - modify the value of an attribute with the dataversion field set to the - value received earlier." + values and the dataversion of the cluster. TH sends a + WriteRequestMessage to the DUT to modify the value of one attribute no + DataVersion indicated. TH sends a second WriteRequestMessage to the + DUT to modify the value of an attribute with the dataversion field set + to the value received earlier." verification: | - ''./chip-tool onoff read start-up-on-off 1 1 - - '' ./chip-tool onoff write start-up-on-off 1 1 1 + ./chip-tool levelcontrol read on-level 1 1 + + [1653029048.535610][6634:6639] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 3301562287 + [1653029048.535653][6634:6639] CHIP:TOO: on level: 3 + + + ./chip-tool levelcontrol write on-level 4 1 1 + + [1653029055.885156][6643:6648] CHIP:DMG: } + [1653029055.885169][6643:6648] CHIP:DMG: + [1653029055.885178][6643:6648] CHIP:DMG: StatusIB = + [1653029055.885189][6643:6648] CHIP:DMG: { + [1653029055.885199][6643:6648] CHIP:DMG: status = 0x00 (SUCCESS), + [1653029055.885209][6643:6648] CHIP:DMG: }, + [1653029055.885219][6643:6648] CHIP:DMG: + + + ./chip-tool levelcontrol write on-level 4 1 1 --data-version 0xc4c9d7af + [1653029088.401601][6655:6660] CHIP:DMG: WriteResponseMessage = + [1653029088.401614][6655:6660] CHIP:DMG: { + [1653029088.401623][6655:6660] CHIP:DMG: AttributeStatusIBs = + [1653029088.401638][6655:6660] CHIP:DMG: [ + [1653029088.401647][6655:6660] CHIP:DMG: AttributeStatusIB = + [1653029088.401657][6655:6660] CHIP:DMG: { + [1653029088.401668][6655:6660] CHIP:DMG: AttributePathIB = + [1653029088.401682][6655:6660] CHIP:DMG: { + [1653029088.401694][6655:6660] CHIP:DMG: Endpoint = 0x1, + [1653029088.401712][6655:6660] CHIP:DMG: Cluster = 0x8, + [1653029088.401823][6655:6660] CHIP:DMG: Attribute = 0x0000_0011, + [1653029088.401836][6655:6660] CHIP:DMG: } + [1653029088.401855][6655:6660] CHIP:DMG: + [1653029088.401869][6655:6660] CHIP:DMG: StatusIB = + [1653029088.401884][6655:6660] CHIP:DMG: { + [1653029088.401899][6655:6660] CHIP:DMG: status = 0x92 (DATA_VERSION_MISMATCH), + [1653029088.401912][6655:6660] CHIP:DMG: }, + [1653029088.401928][6655:6660] CHIP:DMG: + [1653029088.401940][6655:6660] CHIP:DMG: }, + [1653029088.401956][6655:6660] CHIP:DMG: + [1653029088.401967][6655:6660] CHIP:DMG: ], + [1653029088.401984][6655:6660] CHIP:DMG: + [1653029088.401997][6655:6660] CHIP:DMG: InteractionModelRevision = 1 + [1653029088.402009][6655:6660] CHIP:DMG: } + [1653029088.402059][6655:6660] CHIP:DMG: WriteClient moving to [AwaitingDe] + [1653029088.402079][6655:6660] CHIP:TOO: Response Failure: IM Error 0x00000592: General error: 0x92 (DATA_VERSION_MISMATCH) + disabled: true - '' ./chip-tool onoff write start-up-on-off 2 1 1 --data-version 0x365b6fd5 + - label: + "TH sends the WriteRequestMessage to the DUT to modify the value of a + specific attribute data that needs Timed Write transaction to write + and this action is not part of a Timed Write transaction." + verification: | + DUT implementation required to verify write an attribute which need NEEDS_TIMED_INTERACTION. disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_4_1.yaml b/src/app/tests/suites/certification/Test_TC_IDM_4_1.yaml index 64d2284430fbab..b38122cfa9bfff 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_4_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_4_1.yaml @@ -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: 19.5.1. [TC-IDM-4.1] SubscriptionRequestMessage from DUT test cases +name: 20.4.1. [TC-IDM-4.1] SubscriptionRequestMessage from DUT test cases config: nodeId: 0x12344321 @@ -25,89 +25,191 @@ tests: "DUT sends a subscription request message to the target node/reference device for a single attribute of any data type supported." verification: | - sudo ./chip-tool onoff subscribe on-time 0 100 0 1 1 - - TH Side - [1650620003.657208][2221:2221] CHIP:DMG: StatusResponseMessage = - [1650620003.657272][2221:2221] CHIP:DMG: { - [1650620003.657310][2221:2221] CHIP:DMG: Status = 0x0, - [1650620003.657346][2221:2221] CHIP:DMG: InteractionModelRevision = 1 - [1650620003.657380][2221:2221] CHIP:DMG: } + sudo ./chip-tool onoff subscribe on-off 100 1000 1 1 + + ON-DUT(reference-app) + [1653645704.951305][1424:1424] CHIP:IM: Received Subscribe request + [1653645704.951393][1424:1424] CHIP:DMG: SubscribeRequestMessage = + [1653645704.951419][1424:1424] CHIP:DMG: { + [1653645704.951443][1424:1424] CHIP:DMG: KeepSubscriptions = false, + [1653645704.951469][1424:1424] CHIP:DMG: MinIntervalFloorSeconds = 0x64, + [1653645704.951496][1424:1424] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, + [1653645704.951521][1424:1424] CHIP:DMG: AttributePathIBs = + [1653645704.951548][1424:1424] CHIP:DMG: [ + [1653645704.951571][1424:1424] CHIP:DMG: AttributePathIB = + [1653645704.951601][1424:1424] CHIP:DMG: { + [1653645704.951629][1424:1424] CHIP:DMG: Endpoint = 0x1, + [1653645704.951660][1424:1424] CHIP:DMG: Cluster = 0x6, + [1653645704.951690][1424:1424] CHIP:DMG: Attribute = 0x0000_0000, + [1653645704.951718][1424:1424] CHIP:DMG: } + [1653645704.951746][1424:1424] CHIP:DMG: + [1653645704.951771][1424:1424] CHIP:DMG: ], + [1653645704.951799][1424:1424] CHIP:DMG: + [1653645704.951825][1424:1424] CHIP:DMG: isFabricFiltered = true, + [1653645704.951850][1424:1424] CHIP:DMG: InteractionModelRevision = 1 + [1653645704.951873][1424:1424] CHIP:DMG: }, + [1653645704.951943][1424:1424] CHIP:DMG: Final negotiated min/max parameters: Min = 100s, Max = 1000s + + [1653645704.873151][12663:12668] CHIP:DMG: ReportDataMessage = + [1653645704.873169][12663:12668] CHIP:DMG: { + [1653645704.873183][12663:12668] CHIP:DMG: SubscriptionId = 0xd848d918, + [1653645704.873196][12663:12668] CHIP:DMG: AttributeReportIBs = + [1653645704.873217][12663:12668] CHIP:DMG: [ + [1653645704.873229][12663:12668] CHIP:DMG: AttributeReportIB = + [1653645704.873254][12663:12668] CHIP:DMG: { + [1653645704.873270][12663:12668] CHIP:DMG: AttributeDataIB = + [1653645704.873284][12663:12668] CHIP:DMG: { + [1653645704.873303][12663:12668] CHIP:DMG: DataVersion = 0x12a56641, + [1653645704.873319][12663:12668] CHIP:DMG: AttributePathIB = + [1653645704.873338][12663:12668] CHIP:DMG: { + [1653645704.873363][12663:12668] CHIP:DMG: Endpoint = 0x1, + [1653645704.873386][12663:12668] CHIP:DMG: Cluster = 0x6, + [1653645704.873407][12663:12668] CHIP:DMG: Attribute = 0x0000_0000, + [1653645704.873426][12663:12668] CHIP:DMG: } + [1653645704.873455][12663:12668] CHIP:DMG: + [1653645704.873482][12663:12668] CHIP:DMG: Data = false, + [1653645704.873512][12663:12668] CHIP:DMG: }, + [1653645704.873542][12663:12668] CHIP:DMG: + [1653645704.873565][12663:12668] CHIP:DMG: }, + [1653645704.873596][12663:12668] CHIP:DMG: + [1653645704.873617][12663:12668] CHIP:DMG: ], + [1653645704.873650][12663:12668] CHIP:DMG: + [1653645704.873671][12663:12668] CHIP:DMG: InteractionModelRevision = 1 + [1653645704.873691][12663:12668] CHIP:DMG: } + [1653645704.873864][12663:12668] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 312829505 + [1653645704.873907][12663:12668] CHIP:TOO: OnOff: FALSE + [1653645704.873957][12663:12668] CHIP:DMG: MoveToState ReadClient[0x7fa688003b50]: Moving to [AwaitingSu] disabled: true - label: "DUT sends the subscription request message to TH TH sends a report data DUT sends the status response back to TH" verification: | - '' ./chip-tool levelcontrol subscribe on-level 0 100 0 1 1 - TH side - [1650620108.691178][2221:2221] CHIP:DMG: StatusResponseMessage = - [1650620108.691207][2221:2221] CHIP:DMG: { - [1650620108.691231][2221:2221] CHIP:DMG: Status = 0x0, - [1650620108.691256][2221:2221] CHIP:DMG: InteractionModelRevision = 1 - [1650620108.691279][2221:2221] CHIP:DMG: } - [1650620108.691304][2221:2221] CHIP:IM: Received status response, status is 0x00 (SUCCESS) + sudo ./chip-tool onoff subscribe on-off 100 1000 1 1 + + [1653645958.282297][1424:1424] CHIP:DMG: StatusResponseMessage = + [1653645958.282326][1424:1424] CHIP:DMG: { + [1653645958.282351][1424:1424] CHIP:DMG: Status = 0x00 (SUCCESS), + [1653645958.282377][1424:1424] CHIP:DMG: InteractionModelRevision = 1 + [1653645958.282401][1424:1424] CHIP:DMG: } + [1653645958.282428][1424:1424] CHIP:IM: Received status response, status is 0x00 (SUCCESS) disabled: true - label: "[OPTIONAL] Activate the subscription between the DUT and the TH for an attribute of data type boolean. Modify that attribute on the TH. TH - should send the modified data to the DUT. Repeat the above steps + should send the modified data to the DUT. Modify the attribute multiple times (3 times)." verification: | - In case of chip tool, here is an example command to use - '' ./chip-tool basic write local-config-disabled 1 1 0 - '' ./chip-tool basic subscribe local-config-disabled 0 100 1 0 + sudo ./chip-tool basic subscribe local-config-disabled 0 100 1 0 + [1653646349.707597][1424:1424] CHIP:DMG: StatusResponseMessage = + [1653646349.707662][1424:1424] CHIP:DMG: { + [1653646349.707720][1424:1424] CHIP:DMG: Status = 0x00 (SUCCESS), + [1653646349.707783][1424:1424] CHIP:DMG: InteractionModelRevision = 1 + [1653646349.707840][1424:1424] CHIP:DMG: } + [1653646349.707899][1424:1424] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1650620484.058559][2221:2221] CHIP:DMG: StatusResponseMessage = - [1650620484.058598][2221:2221] CHIP:DMG: { - [1650620484.058632][2221:2221] CHIP:DMG: Status = 0x0, - [1650620484.058669][2221:2221] CHIP:DMG: InteractionModelRevision = 1 - [1650620484.058703][2221:2221] CHIP:DMG: } - [1650620484.058738][2221:2221] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - Verify the above command multiple times by changing attribute value(3 times) + sudo ./chip-tool basic write local-config-disabled 1 1 0 + [1653030847.813047][7157:7162] CHIP:DMG: + [1653030847.813064][7157:7162] CHIP:DMG: StatusIB = + [1653030847.813082][7157:7162] CHIP:DMG: { + [1653030847.813100][7157:7162] CHIP:DMG: status = 0x00 (SUCCESS), + [1653030847.813117][7157:7162] CHIP:DMG: }, + + + sudo ./chip-tool basic subscribe local-config-disabled 100 1000 1 0 + [1653646400.634692][12766:12771] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0010 DataVersion: 2705188069 + [1653646400.634724][12766:12771] CHIP:TOO: LocalConfigDisabled: TRUE + [1653646400.634764][12766:12771] CHIP:DMG: MoveToState ReadClient[0x7f1660000e70]: Moving to [AwaitingSu] disabled: true - label: "[OPTIONAL] Activate the subscription between the DUT and the TH for an attribute of data type string. Modify that attribute on the TH. TH - should send the modified data to the DUT. Repeat the above steps - multiple times (3 times). 3" + should send the modified data to the DUT. Modify the attribute + multiple times (3 times)." verification: | - In case of chip tool, here is an example command to use + sudo ./chip-tool interactive start + basic subscribe node-label 100 1000 1 0 - '' ./chip-tool basic write node-label 1 1 0 - '' ./chip-tool basic subscribe node-label 0 100 0 1 0 - [1650620543.500119][2221:2221] CHIP:DMG: StatusResponseMessage = - [1650620543.500147][2221:2221] CHIP:DMG: { - [1650620543.500172][2221:2221] CHIP:DMG: Status = 0x0, - [1650620543.500198][2221:2221] CHIP:DMG: InteractionModelRevision = 1 - [1650620543.500222][2221:2221] CHIP:DMG: } - [1650620543.500248][2221:2221] CHIP:IM: Received status response, status is 0x00 (SUCCESS) + [1653646569.656671][1424:1424] CHIP:EM: Removed CHIP MessageCounter:10111502 from RetransTable on exchange 7279r + [1653646569.656771][1424:1424] CHIP:DMG: StatusResponseMessage = + [1653646569.656834][1424:1424] CHIP:DMG: { + [1653646569.656891][1424:1424] CHIP:DMG: Status = 0x00 (SUCCESS), + [1653646569.656953][1424:1424] CHIP:DMG: InteractionModelRevision = 1 + [1653646569.657011][1424:1424] CHIP:DMG: } + [1653646569.657068][1424:1424] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - Verify the above command multiple times by changing attribute value(3 times) + basic write node-label 1 1 0 + + [1653646705.474336][12766:12771] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 2705188070 + [1653646705.474374][12766:12771] CHIP:TOO: NodeLabel: 1 + [1653646705.474425][12766:12771] CHIP:DMG: Refresh LivenessCheckTime for 1025000 milliseconds with SubscriptionId = 0xd3ec111e Peer = 01:0000000000000001 + + + [1653646705.500136][1424:1424] CHIP:DMG: StatusResponseMessage = + [1653646705.500183][1424:1424] CHIP:DMG: { + [1653646705.500214][1424:1424] CHIP:DMG: Status = 0x00 (SUCCESS), + [1653646705.500258][1424:1424] CHIP:DMG: InteractionModelRevision = 1 + [1653646705.500288][1424:1424] CHIP:DMG: } + [1653646705.500329][1424:1424] CHIP:IM: Received status response, status is 0x00 (SUCCESS) disabled: true - label: "[OPTIONAL] Activate the subscription between the DUT and the TH for an attribute of data type unsigned integer. Modify that attribute on - the TH. TH should send the modified data to the DUT. Repeat the above - steps multiple times (3 times)." + the TH. TH should send the modified data to the DUT. Modify the + attribute multiple times (3 times)." verification: | - In case of chip tool, here is an example command to use + sudo ./chip-tool interactive start + + any subscribe-by-id 0x0008 0x0010 100 1000 1 1 + [1653646798.749610][1424:1424] CHIP:DMG: StatusResponseMessage = + [1653646798.749702][1424:1424] CHIP:DMG: { + [1653646798.749762][1424:1424] CHIP:DMG: Status = 0x00 (SUCCESS), + [1653646798.749825][1424:1424] CHIP:DMG: InteractionModelRevision = 1 + [1653646798.749904][1424:1424] CHIP:DMG: } + [1653646798.749964][1424:1424] CHIP:IM: Received status response, status is 0x00 (SUCCESS) + + + any write-by-id 0x0008 0x0010 1 1 1 + [1653646868.623977][12766:12771] CHIP:DMG: StatusIB = + [1653646868.623992][12766:12771] CHIP:DMG: { + [1653646868.624010][12766:12771] CHIP:DMG: status = 0x00 (SUCCESS), + [1653646868.624024][12766:12771] CHIP:DMG: }, - '' ./chip-tool any write-by-id 0x0008 0x0010 1 1 1 - '' ./chip-tool any subscribe-by-id 0x0008 0x0010 0 100 0 1 1 - [1650620581.445609][2221:2221] CHIP:DMG: StatusResponseMessage = - [1650620581.445659][2221:2221] CHIP:DMG: { - [1650620581.445701][2221:2221] CHIP:DMG: Status = 0x0, - [1650620581.445746][2221:2221] CHIP:DMG: InteractionModelRevision = 1 - [1650620581.445789][2221:2221] CHIP:DMG: } - [1650620581.445833][2221:2221] CHIP:IM: Received status response, status is 0x00 (SUCCESS) + + any subscribe-by-id 0x0008 0x0010 100 1000 1 1 + [1653646893.531695][1424:1424] CHIP:DMG: StatusResponseMessage = + [1653646893.531785][1424:1424] CHIP:DMG: { + [1653646893.531845][1424:1424] CHIP:DMG: Status = 0x00 (SUCCESS), + [1653646893.531932][1424:1424] CHIP:DMG: InteractionModelRevision = 1 + [1653646893.531991][1424:1424] CHIP:DMG: } + [1653646893.532103][1424:1424] CHIP:IM: Received status response, status is 0x00 (SUCCESS) + + On DUT + [1653646893.477316][12766:12771] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0010 DataVersion: 199562419 + [1653646893.477343][12766:12771] CHIP:TOO: on off transition time: 1 + [1653646893.477374][12766:12771] CHIP:DMG: MoveToState ReadClient[0x7f1660002fd0]: Moving to [AwaitingSu] + [1653646893.477414][12766:12771] CHIP:EM: Piggybacking Ack for MessageCounter:10111510 on exchange: 7283i + [1653646893.477459][12766:12771] CHIP:IN: Prepared secure message 0x55b46f498848 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 7283i with MessageCounter:10832569. + [1653646893.477489][12766:12771] CHIP:IN: Sending encrypted msg 0x55b46f498848 with MessageCounter:10832569 to 0x0000000000000001 (1) at monotonic time: 0000000001328E74 msec + [1653646893.528928][12766:12771] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:10111511 on exchange 7283i + [1653646893.528954][12766:12771] CHIP:EM: Found matching exchange: 7283i, Delegate: 0x7f1660002fd0 + [1653646893.528973][12766:12771] CHIP:EM: Rxd Ack; Removing MessageCounter:10832569 from Retrans Table on exchange 7283i + [1653646893.528982][12766:12771] CHIP:EM: Removed CHIP MessageCounter:10832569 from RetransTable on exchange 7283i + [1653646893.529010][12766:12771] CHIP:DMG: SubscribeResponseMessage = + [1653646893.529024][12766:12771] CHIP:DMG: { + [1653646893.529032][12766:12771] CHIP:DMG: SubscriptionId = 0xfc6ec672, + [1653646893.529041][12766:12771] CHIP:DMG: MinIntervalFloorSeconds = 0x64, + [1653646893.529049][12766:12771] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, + [1653646893.529057][12766:12771] CHIP:DMG: InteractionModelRevision = 1 + [1653646893.529064][12766:12771] CHIP:DMG: } + [1653646893.529077][12766:12771] CHIP:DMG: Subscription established with SubscriptionID = 0xfc6ec672 MinInterval = 100s MaxInterval = 1000s Peer = 01:0000000000000001 Verify the above command multiple times by changing attribute value(3 times) @@ -116,21 +218,46 @@ tests: - label: "[OPTIONAL] Activate the subscription between the DUT and the TH for an attribute of data type signed integer. Modify that attribute on the - TH. TH should send the modified data to the DUT. Repeat the above - steps multiple times (3 times)." + TH. TH should send the modified data to the DUT. Modify the attribute + multiple times (3 times)" verification: | - sudo ./chip-tool any write-by-id 0x0008 0x0010 1 1 1 - sudo ./chip-tool any write-by-id 0x0008 0x0010 4 1 1 - sudo ./chip-tool any write-by-id 0x0008 0x0010 5 1 1 + any subscribe-by-id 0x0008 0x0010 100 1000 1 1 + [1653647296.293763][1424:1424] CHIP:DMG: StatusResponseMessage = + [1653647296.293828][1424:1424] CHIP:DMG: { + [1653647296.293886][1424:1424] CHIP:DMG: Status = 0x00 (SUCCESS), + [1653647296.293949][1424:1424] CHIP:DMG: InteractionModelRevision = 1 + [1653647296.294008][1424:1424] CHIP:DMG: } + [1653647296.294067][1424:1424] CHIP:IM: Received status response, status is 0x00 (SUCCESS) + + + any write-by-id 0x0008 0x0010 1 1 1 + [1653647348.051712][12766:12771] CHIP:DMG: StatusIB = + [1653647348.051721][12766:12771] CHIP:DMG: { + [1653647348.051729][12766:12771] CHIP:DMG: status = 0x00 (SUCCESS), + [1653647348.051737][12766:12771] CHIP:DMG: }, + + any subscribe-by-id 0x0008 0x0010 100 1000 1 1 + [1653647374.362256][12766:12771] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0010 DataVersion: 199562420 + [1653647374.362285][12766:12771] CHIP:TOO: on off transition time: 1 + [1653647374.362317][12766:12771] CHIP:DMG: MoveToState ReadClient[0x7f1660002bd0]: Moving to [AwaitingSu] + + + On DUT + [1653647374.357998][1424:1424] CHIP:DMG: StatusResponseMessage = + [1653647374.358063][1424:1424] CHIP:DMG: { + [1653647374.358122][1424:1424] CHIP:DMG: Status = 0x00 (SUCCESS), + [1653647374.358184][1424:1424] CHIP:DMG: InteractionModelRevision = 1 + [1653647374.358242][1424:1424] CHIP:DMG: } + [1653647374.358301][1424:1424] CHIP:IM: Received status response, status is 0x00 (SUCCESS) disabled: true - label: "[OPTIONAL] Activate the subscription between the DUT and the TH for an attribute of data type Floating Point. Modify that attribute on the - TH. TH should send the modified data to the DUT. Repeat the above - steps multiple times (3 times)." + TH. TH should send the modified data to the DUT. Modify the attribute + multiple times (3 times)" verification: | - DUT implementation required to verify read an attribute of data type floating point + DUT implementation required to verify subscribe an attribute of data type floating point disabled: true - label: @@ -140,42 +267,189 @@ tests: data with the subscription id created during the subscription activation." verification: | - This is not testable in normal scenario, and needs to be tested as part of Unit test. his test step to be removed from the manual execution. + This is not testable in normal scenario, and needs to be tested as part of Unit test. disabled: true - label: "DUT sends a subscription request message to the target node/reference device for multiple attributes(3 attributes)." verification: | - '' ./chip-tool pumpconfigurationandcontrol subscribe max-pressure 0 100 0 1 1 - '' ./chip-tool pumpconfigurationandcontrol subscribe max-speed 0 100 0 1 1 - '' ./chip-tool pumpconfigurationandcontrol subscribe max-flow 0 100 0 1 1 - '' ./chip-tool pumpconfigurationandcontrol subscribe min-const-pressure 0 100 0 1 1 - disabled: true + sudo ./chip-tool any subscribe-by-id "6,8,3" "0,17,1" ${NODE_ID} 100 1000 3 "1,1,1" - - label: - "Activate the subscription between the DUT and the TH for an attribute - Force the TH to send a report data with no data and Suppress Response - set to True" - verification: | - This is not testable in normal scenario, and needs to be tested as part of Unit test. his test step to be removed from the manual execution. + On reference app + [1653659809.784344][1390:1390] CHIP:DMG: SubscribeRequestMessage = + [1653659809.784399][1390:1390] CHIP:DMG: { + [1653659809.784470][1390:1390] CHIP:DMG: KeepSubscriptions = false, + [1653659809.784526][1390:1390] CHIP:DMG: MinIntervalFloorSeconds = 0x64, + [1653659809.784584][1390:1390] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, + [1653659809.784655][1390:1390] CHIP:DMG: AttributePathIBs = + [1653659809.784750][1390:1390] CHIP:DMG: [ + [1653659809.784822][1390:1390] CHIP:DMG: AttributePathIB = + [1653659809.784892][1390:1390] CHIP:DMG: { + [1653659809.784969][1390:1390] CHIP:DMG: Endpoint = 0x1, + [1653659809.785036][1390:1390] CHIP:DMG: Cluster = 0x6, + [1653659809.785121][1390:1390] CHIP:DMG: Attribute = 0x0000_0000, + [1653659809.785202][1390:1390] CHIP:DMG: } + [1653659809.785266][1390:1390] CHIP:DMG: + [1653659809.785341][1390:1390] CHIP:DMG: AttributePathIB = + [1653659809.785398][1390:1390] CHIP:DMG: { + [1653659809.785455][1390:1390] CHIP:DMG: Endpoint = 0x1, + [1653659809.785519][1390:1390] CHIP:DMG: Cluster = 0x8, + [1653659809.785584][1390:1390] CHIP:DMG: Attribute = 0x0000_0011, + [1653659809.785647][1390:1390] CHIP:DMG: } + [1653659809.785707][1390:1390] CHIP:DMG: + [1653659809.785760][1390:1390] CHIP:DMG: AttributePathIB = + [1653659809.785815][1390:1390] CHIP:DMG: { + [1653659809.785872][1390:1390] CHIP:DMG: Endpoint = 0x1, + [1653659809.785936][1390:1390] CHIP:DMG: Cluster = 0x3, + [1653659809.786002][1390:1390] CHIP:DMG: Attribute = 0x0000_0001, + [1653659809.786062][1390:1390] CHIP:DMG: } + [1653659809.786124][1390:1390] CHIP:DMG: + [1653659809.786178][1390:1390] CHIP:DMG: ], + [1653659809.786245][1390:1390] CHIP:DMG: + [1653659809.786300][1390:1390] CHIP:DMG: isFabricFiltered = true, + [1653659809.786353][1390:1390] CHIP:DMG: InteractionModelRevision = 1 + [1653659809.786403][1390:1390] CHIP:DMG: }, + [1653659809.786610][1390:1390] CHIP:DMG: Final negotiated min/max parameters: Min = 100s, Max = 1000s + + + + On TH + [1653659809.783308][15084:15089] CHIP:DMG: } + [1653659809.783387][15084:15089] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 3025903808 + [1653659809.783415][15084:15089] CHIP:TOO: identify type: 2 + [1653659809.783449][15084:15089] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 2343590012 + [1653659809.783467][15084:15089] CHIP:TOO: on level: null + [1653659809.783500][15084:15089] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 3715656673 + [1653659809.783510][15084:15089] CHIP:TOO: OnOff: FALSE + [1653659809.783533][15084:15089] CHIP:DMG: MoveToState ReadClient[0x7f46d8004110]: Moving to [AwaitingSu] + [1653659809.783554][15084:15089] CHIP:EM: Piggybacking Ack for MessageCounter:7512023 on exchange: 56481i + [1653659809.783579][15084:15089] CHIP:IN: Prepared secure message 0x5592621e7b08 to 0x0000000000000003 (1) of type 0x1 and protocolId (0, 1) on exchange 56481i with MessageCounter:6679698. + [1653659809.783595][15084:15089] CHIP:IN: Sending encrypted msg 0x5592621e7b08 with MessageCounter:6679698 to 0x0000000000000003 (1) at monotonic time: 0000000001F7A4C6 msec + [1653659809.786461][15084:15089] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:7512024 on exchange 56481i + [1653659809.786493][15084:15089] CHIP:EM: Found matching exchange: 56481i, Delegate: 0x7f46d8004110 + [1653659809.786522][15084:15089] CHIP:EM: Rxd Ack; Removing MessageCounter:6679698 from Retrans Table on exchange 56481i + [1653659809.786535][15084:15089] CHIP:EM: Removed CHIP MessageCounter:6679698 from RetransTable on exchange 56481i + [1653659809.786572][15084:15089] CHIP:DMG: SubscribeResponseMessage = + [1653659809.786585][15084:15089] CHIP:DMG: { + [1653659809.786601][15084:15089] CHIP:DMG: SubscriptionId = 0x22235b40, + [1653659809.786612][15084:15089] CHIP:DMG: MinIntervalFloorSeconds = 0x64, + [1653659809.786627][15084:15089] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, + [1653659809.786640][15084:15089] CHIP:DMG: InteractionModelRevision = 1 + [1653659809.786651][15084:15089] CHIP:DMG: } disabled: true - label: "[OPTIONAL] Activate the subscription between the DUT and the TH for an attribute of data type list. Modify that attribute on the TH. TH - should send the modified data to the DUT. Repeat the above steps - multiple times (3 times)." + should send the modified data to the DUT. Modify the attribute + multiple times (3 times)" verification: | - '' ./chip-tool modeselect subscribe supported-modes 0 100 0 1 1 - '' ./chip-tool modeselect subscribe supported-modes 1 100 0 1 1 - '' ./chip-tool modeselect subscribe supported-modes 2 100 0 1 1 + DUT implementation required to verify subscribe and list an attribute of data type floating point disabled: true - label: - "DUT sends a subscription request message to the TH for a single - attribute of any data type supported. Reboot the DUT." + "[OPTIONAL] DUT sends a subscription request message to the TH for a + single attribute of any data type supported. Reboot the DUT." verification: | - '' ./chip-tool pumpconfigurationandcontrol subscribe max-speed 0 100 0 1 1 + sudo ./chip-tool pumpconfigurationandcontrol subscribe max-speed 0 100 1 1 + [1651580465.334423][2479:2484] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0200 Attribute 0x0000_0001 DataVersion: 2627724264 + [1651580465.334499][2479:2484] CHIP:TOO: MaxSpeed: 0 + [1651580465.334545][2479:2484] CHIP:DMG: MoveToState ReadClient[0xffff94004340]: Moving to [AwaitingSu] + [1651580465.334611][2479:2484] CHIP:EM: Piggybacking Ack for MessageCounter:13648828 on exchange: 34337i + [1651580465.334688][2479:2484] CHIP:IN: Prepared secure message 0xaaaaef8fde08 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 34337i with MessageCounter:6328273. + [1651580465.334729][2479:2484] CHIP:IN: Sending encrypted msg 0xaaaaef8fde08 with MessageCounter:6328273 to 0x0000000000000001 (1) at monotonic time: 00000000000F8D83 msec + [1651580465.336879][2479:2484] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:13648829 on exchange 34337i + [1651580465.336986][2479:2484] CHIP:EM: Found matching exchange: 34337i, Delegate: 0xffff94004340 + [1651580465.337025][2479:2484] CHIP:EM: Rxd Ack; Removing MessageCounter:6328273 from Retrans Table on exchange 34337i + [1651580465.337064][2479:2484] CHIP:EM: Removed CHIP MessageCounter:6328273 from RetransTable on exchange 34337i + [1651580465.337115][2479:2484] CHIP:DMG: SubscribeResponseMessage = + [1651580465.337157][2479:2484] CHIP:DMG: { + [1651580465.337184][2479:2484] CHIP:DMG: SubscriptionId = 0xeb3eaa8ae68e6013, + [1651580465.337215][2479:2484] CHIP:DMG: MinIntervalFloorSeconds = 0x0, + [1651580465.337255][2479:2484] CHIP:DMG: MaxIntervalCeilingSeconds = 0x64, + [1651580465.337284][2479:2484] CHIP:DMG: InteractionModelRevision = 1 + [1651580465.337321][2479:2484] CHIP:DMG: } + after reboot the DUT verify once that the TH does not send a report data message to the DUT disabled: true + + - label: + "DUT sends a subscription request action for an attribute with an + empty DataVersionFilters field.+ TH sends a report data action with + the data of the attribute along with the data version. Tear down the + subscription for that attribute. Start another subscription with the + DataVersionFilter field set to the data version received above." + verification: | + sudo ./chip-tool onoff subscribe on-off 100 1000 1 1 + + [1654175423.951361][3190:3195] CHIP:DMG: ReportDataMessage = + [1654175423.951388][3190:3195] CHIP:DMG: { + [1654175423.951413][3190:3195] CHIP:DMG: SubscriptionId = 0xc42ac3d, + [1654175423.951444][3190:3195] CHIP:DMG: AttributeReportIBs = + [1654175423.951476][3190:3195] CHIP:DMG: [ + [1654175423.951502][3190:3195] CHIP:DMG: AttributeReportIB = + [1654175423.951536][3190:3195] CHIP:DMG: { + [1654175423.951565][3190:3195] CHIP:DMG: AttributeDataIB = + [1654175423.951600][3190:3195] CHIP:DMG: { + [1654175423.951637][3190:3195] CHIP:DMG: DataVersion = 0xade83c25, + [1654175423.951672][3190:3195] CHIP:DMG: AttributePathIB = + [1654175423.951709][3190:3195] CHIP:DMG: { + [1654175423.951746][3190:3195] CHIP:DMG: Endpoint = 0x1, + [1654175423.951785][3190:3195] CHIP:DMG: Cluster = 0x6, + [1654175423.951863][3190:3195] CHIP:DMG: Attribute = 0x0000_0000, + [1654175423.951901][3190:3195] CHIP:DMG: } + [1654175423.951941][3190:3195] CHIP:DMG: + [1654175423.951979][3190:3195] CHIP:DMG: Data = false, + [1654175423.952016][3190:3195] CHIP:DMG: }, + [1654175423.952053][3190:3195] CHIP:DMG: + [1654175423.952081][3190:3195] CHIP:DMG: }, + [1654175423.952114][3190:3195] CHIP:DMG: + [1654175423.952138][3190:3195] CHIP:DMG: ], + [1654175423.952169][3190:3195] CHIP:DMG: + [1654175423.952194][3190:3195] CHIP:DMG: InteractionModelRevision = 1 + [1654175423.952219][3190:3195] CHIP:DMG: } + [1654175423.952354][3190:3195] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 2917678117 + [1654175423.952406][3190:3195] CHIP:TOO: OnOff: FALSE + [1654175423.952456][3190:3195] CHIP:DMG: MoveToState ReadClient[0xffffa80032c0]: Moving to [AwaitingSu] + [1654175423.952517][3190:3195] CHIP:EM: Piggybacking Ack for MessageCounter:12775881 on exchange: 62757i + [1654175423.952590][3190:3195] CHIP:IN: Prepared secure message 0xaaaac5541268 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 62757i with MessageCounter:3107578. + [1654175423.952630][3190:3195] CHIP:IN: Sending encrypted msg 0xaaaac5541268 with MessageCounter:3107578 to 0x0000000000000001 (1) at monotonic time: 00000000007656B6 msec + [1654175423.953592][3190:3195] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:12775882 on exchange 62757i + [1654175423.953636][3190:3195] CHIP:EM: Found matching exchange: 62757i, Delegate: 0xffffa80032c0 + [1654175423.953691][3190:3195] CHIP:EM: Rxd Ack; Removing MessageCounter:3107578 from Retrans Table on exchange 62757i + [1654175423.953717][3190:3195] CHIP:EM: Removed CHIP MessageCounter:3107578 from RetransTable on exchange 62757i + [1654175423.953766][3190:3195] CHIP:DMG: SubscribeResponseMessage = + [1654175423.953793][3190:3195] CHIP:DMG: { + [1654175423.953817][3190:3195] CHIP:DMG: SubscriptionId = 0xc42ac3d, + [1654175423.953848][3190:3195] CHIP:DMG: MinIntervalFloorSeconds = 0x64, + [1654175423.953878][3190:3195] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, + [1654175423.953905][3190:3195] CHIP:DMG: InteractionModelRevision = 1 + [1654175423.953927][3190:3195] CHIP:DMG: } + [1654175423.953958][3190:3195] CHIP:DMG: Subscription established with SubscriptionID = 0x0c42ac3d MinInterval = 100s MaxInterval = 1000s Peer = 01:0000000000000001 + + sudo ./chip-tool onoff subscribe on-off 100 1000 1 1 --data-version 0xade83c25 + + [1654175447.437581][3201:3206] CHIP:EM: Removed CHIP MessageCounter:5400183 from RetransTable on exchange 53258i + [1654175447.437637][3201:3206] CHIP:DMG: ReportDataMessage = + [1654175447.437690][3201:3206] CHIP:DMG: { + [1654175447.437721][3201:3206] CHIP:DMG: SubscriptionId = 0xd9de4b60, + [1654175447.437752][3201:3206] CHIP:DMG: InteractionModelRevision = 1 + [1654175447.437781][3201:3206] CHIP:DMG: } + [1654175447.437827][3201:3206] CHIP:DMG: MoveToState ReadClient[0xffff6c003550]: Moving to [AwaitingSu] + [1654175447.437880][3201:3206] CHIP:EM: Piggybacking Ack for MessageCounter:15074312 on exchange: 53258i + [1654175447.437942][3201:3206] CHIP:IN: Prepared secure message 0xaaaad1b74ef8 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 53258i with MessageCounter:5400184. + [1654175447.437985][3201:3206] CHIP:IN: Sending encrypted msg 0xaaaad1b74ef8 with MessageCounter:5400184 to 0x0000000000000001 (1) at monotonic time: 000000000076B274 msec + [1654175447.438887][3201:3206] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:15074313 on exchange 53258i + [1654175447.438924][3201:3206] CHIP:EM: Found matching exchange: 53258i, Delegate: 0xffff6c003550 + [1654175447.438960][3201:3206] CHIP:EM: Rxd Ack; Removing MessageCounter:5400184 from Retrans Table on exchange 53258i + [1654175447.438989][3201:3206] CHIP:EM: Removed CHIP MessageCounter:5400184 from RetransTable on exchange 53258i + [1654175447.439035][3201:3206] CHIP:DMG: SubscribeResponseMessage = + [1654175447.439068][3201:3206] CHIP:DMG: { + [1654175447.439097][3201:3206] CHIP:DMG: SubscriptionId = 0xd9de4b60, + [1654175447.439128][3201:3206] CHIP:DMG: MinIntervalFloorSeconds = 0x64, + [1654175447.439160][3201:3206] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, + [1654175447.439191][3201:3206] CHIP:DMG: InteractionModelRevision = 1 + [1654175447.439220][3201:3206] CHIP:DMG: } + [1654175447.439255][3201:3206] CHIP:DMG: Subscription established with SubscriptionID = 0xd9de4b60 MinInterval = 100s MaxInterval = 1000s Peer = 01:0000000000000001 + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_4_2.yaml b/src/app/tests/suites/certification/Test_TC_IDM_4_2.yaml index dcff683d30201a..14b8e7e4e9ac76 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_4_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_4_2.yaml @@ -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: 19.6.1. [TC-IDM-4.2] ReportDataMessage from DUT test cases +name: 20.4.2. [TC-IDM-4.2] Subscription Response Messages from DUT Test Cases config: nodeId: 0x12344321 @@ -22,246 +22,498 @@ config: tests: - label: - "TH sends a subscription message to the DUT. DUT sends a report data - action to the TH" + "TH sends a subscription message to the DUT with MaxIntervalCeiling + set to a value greater than 60 mins. DUT sends a report data action to + the TH. TH sends a success status response to the DUT. DUT sends a + Subscribe Response Message to the TH to activate the subscription." verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool onoff subscribe on-time 0 100 0 1 1 - [1649154120.826290][16352:16357] CHIP:DMG: ReportDataMessage = - [1649154120.826323][16352:16357] CHIP:DMG: { - [1649154120.826353][16352:16357] CHIP:DMG: SubscriptionId = 0xb7c7315880309e65, - [1649154120.826391][16352:16357] CHIP:DMG: AttributeReportIBs = - [1649154120.826431][16352:16357] CHIP:DMG: [ - [1649154120.826461][16352:16357] CHIP:DMG: AttributeReportIB = - [1649154120.826504][16352:16357] CHIP:DMG: { - [1649154120.826538][16352:16357] CHIP:DMG: AttributeDataIB = - [1649154120.826581][16352:16357] CHIP:DMG: { - [1649154120.826621][16352:16357] CHIP:DMG: DataVersion = 0x53788f7b, - [1649154120.826664][16352:16357] CHIP:DMG: AttributePathIB = - [1649154120.826705][16352:16357] CHIP:DMG: { - [1649154120.826747][16352:16357] CHIP:DMG: Endpoint = 0x1, - [1649154120.826793][16352:16357] CHIP:DMG: Cluster = 0x6, - [1649154120.826853][16352:16357] CHIP:DMG: Attribute = 0x0000_4001, - [1649154120.826914][16352:16357] CHIP:DMG: } - [1649154120.827058][16352:16357] CHIP:DMG: - [1649154120.827124][16352:16357] CHIP:DMG: Data = 0, - [1649154120.827190][16352:16357] CHIP:DMG: }, - [1649154120.827258][16352:16357] CHIP:DMG: - [1649154120.827309][16352:16357] CHIP:DMG: }, - [1649154120.827369][16352:16357] CHIP:DMG: - [1649154120.827413][16352:16357] CHIP:DMG: ], - [1649154120.827470][16352:16357] CHIP:DMG: - [1649154120.827514][16352:16357] CHIP:DMG: InteractionModelRevision = 1 - [1649154120.827560][16352:16357] CHIP:DMG: } - disabled: true + ./chip-tool onoff subscribe on-off 100 3900(65 mins) 1 1 + On TH + [1654857384.973364][31748:31753] CHIP:DMG: ReportDataMessage = + [1654857384.973404][31748:31753] CHIP:DMG: { + [1654857384.973439][31748:31753] CHIP:DMG: SubscriptionId = 0xc1b52c2, + [1654857384.973476][31748:31753] CHIP:DMG: AttributeReportIBs = + [1654857384.973522][31748:31753] CHIP:DMG: [ + [1654857384.973557][31748:31753] CHIP:DMG: AttributeReportIB = + [1654857384.973607][31748:31753] CHIP:DMG: { + [1654857384.973645][31748:31753] CHIP:DMG: AttributeDataIB = + [1654857384.973688][31748:31753] CHIP:DMG: { + [1654857384.973735][31748:31753] CHIP:DMG: DataVersion = 0xa5d5880d, + [1654857384.973785][31748:31753] CHIP:DMG: AttributePathIB = + [1654857384.973833][31748:31753] CHIP:DMG: { + [1654857384.973883][31748:31753] CHIP:DMG: Endpoint = 0x1, + [1654857384.973935][31748:31753] CHIP:DMG: Cluster = 0x6, + [1654857384.973990][31748:31753] CHIP:DMG: Attribute = 0x0000_0000, + [1654857384.974039][31748:31753] CHIP:DMG: } + [1654857384.974089][31748:31753] CHIP:DMG: + [1654857384.974139][31748:31753] CHIP:DMG: Data = false, + [1654857384.974188][31748:31753] CHIP:DMG: }, + [1654857384.974235][31748:31753] CHIP:DMG: + [1654857384.974272][31748:31753] CHIP:DMG: }, + [1654857384.974315][31748:31753] CHIP:DMG: + [1654857384.974349][31748:31753] CHIP:DMG: ], + [1654857384.974393][31748:31753] CHIP:DMG: + [1654857384.974428][31748:31753] CHIP:DMG: InteractionModelRevision = 1 + [1654857384.974461][31748:31753] CHIP:DMG: } + [1654857384.974620][31748:31753] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 2782234637 + [1654857384.974681][31748:31753] CHIP:TOO: OnOff: FALSE + [1654857384.974750][31748:31753] CHIP:DMG: MoveToState ReadClient[0xffff9c004590]: Moving to [AwaitingSu] - - label: - "TH sends a subscription message to the DUT. DUT sends a report data - action to the TH TH sends a status response" - verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool onoff subscribe on-time 0 100 0 1 1 - [1649154179.610990][16364:16369] CHIP:DMG: SubscribeResponseMessage = - [1649154179.611028][16364:16369] CHIP:DMG: { - [1649154179.611062][16364:16369] CHIP:DMG: SubscriptionId = 0xbf7f880103de5b3b, - [1649154179.611100][16364:16369] CHIP:DMG: MinIntervalFloorSeconds = 0x0, - [1649154179.611136][16364:16369] CHIP:DMG: MaxIntervalCeilingSeconds = 0x64, - [1649154179.611173][16364:16369] CHIP:DMG: InteractionModelRevision = 1 - [1649154179.611206][16364:16369] CHIP:DMG: } - disabled: true + On TH + [1654857384.976140][31748:31753] CHIP:DMG: SubscribeResponseMessage = + [1654857384.976179][31748:31753] CHIP:DMG: { + [1654857384.976212][31748:31753] CHIP:DMG: SubscriptionId = 0xc1b52c2, + [1654857384.976251][31748:31753] CHIP:DMG: MinIntervalFloorSeconds = 0x64, + [1654857384.976289][31748:31753] CHIP:DMG: MaxIntervalCeilingSeconds = 0xf3c, + [1654857384.976326][31748:31753] CHIP:DMG: InteractionModelRevision = 1 + [1654857384.976360][31748:31753] CHIP:DMG: } + [1654857384.976400][31748:31753] CHIP:DMG: Subscription established with SubscriptionID = 0x0c1b52c2 MinInterval = 100s MaxInterval = 3900s Peer = 01:0000000000000001 - - label: - "DUT and TH activate the subscription. Change the value of the - attribute which is being subscribed on the DUT by manually changing - some settings on the device. Example: Temperature sensor may update - the value of the room temperature. Turning on/off on a light bulb." - verification: | - This testr needs to be tested by changing the controls available in the DUT and then read the value. And can't be tested with Soft DUT & has dependency of Vendor specific DUT support. + On DUT + [1654857384.985396][30333:30333] CHIP:DMG: StatusResponseMessage = + [1654857384.985424][30333:30333] CHIP:DMG: { + [1654857384.985449][30333:30333] CHIP:DMG: Status = 0x00 (SUCCESS), + [1654857384.985484][30333:30333] CHIP:DMG: InteractionModelRevision = 1 + [1654857384.985507][30333:30333] CHIP:DMG: } + [1654857384.985533][30333:30333] CHIP:IM: Received status response, status is 0x00 (SUCCESS) + [1654857384.985578][30333:30333] CHIP:DMG: Refresh Subscribe Sync Timer with max 3900 seconds disabled: true - label: - "DUT and TH activate the subscription. Change the value of the - attribute which is being subscribed on the DUT by sending an IMWrite - or Invoke message to the DUT from the TH." + "TH sends a subscription message to the DUT with MaxIntervalCeiling + set to a value less than 60 mins. DUT sends a report data action to + the TH. TH sends a success status response to the DUT. DUT sends a + Subscribe Response Message to the TH to activate the subscription." verification: | - In case of chip tool, here is an example command to use + ./chip-tool onoff subscribe on-off 100 2400(40 mins) 1 1 - '' ./chip-tool levelcontrol write on-level 2 1 1 - '' ./chip-tool levelcontrol subscribe on-level 0 100 0 1 1 - disabled: true + On TH - - label: - 'DUT and TH activate the subscription. Change the value of the - attribute which is being subscribed on the DUT. TH force sends a - status response with an "inactive subscription". Change the value of - the attribute which is being subscribed on the DUT.' - verification: | - This is not testable in normal scenario, and needs to be tested as part of Unit test. his test step to be removed from the manual execution. + [1654857529.975194][31755:31760] CHIP:DMG: ReportDataMessage = + [1654857529.975235][31755:31760] CHIP:DMG: { + [1654857529.975270][31755:31760] CHIP:DMG: SubscriptionId = 0xa864508e, + [1654857529.975307][31755:31760] CHIP:DMG: AttributeReportIBs = + [1654857529.975351][31755:31760] CHIP:DMG: [ + [1654857529.975387][31755:31760] CHIP:DMG: AttributeReportIB = + [1654857529.975438][31755:31760] CHIP:DMG: { + [1654857529.975479][31755:31760] CHIP:DMG: AttributeDataIB = + [1654857529.975523][31755:31760] CHIP:DMG: { + [1654857529.975571][31755:31760] CHIP:DMG: DataVersion = 0xa5d5880d, + [1654857529.975622][31755:31760] CHIP:DMG: AttributePathIB = + [1654857529.975675][31755:31760] CHIP:DMG: { + [1654857529.975725][31755:31760] CHIP:DMG: Endpoint = 0x1, + [1654857529.975777][31755:31760] CHIP:DMG: Cluster = 0x6, + [1654857529.975829][31755:31760] CHIP:DMG: Attribute = 0x0000_0000, + [1654857529.975875][31755:31760] CHIP:DMG: } + [1654857529.975926][31755:31760] CHIP:DMG: + [1654857529.975972][31755:31760] CHIP:DMG: Data = false, + [1654857529.976019][31755:31760] CHIP:DMG: }, + [1654857529.976064][31755:31760] CHIP:DMG: + [1654857529.976104][31755:31760] CHIP:DMG: }, + [1654857529.976148][31755:31760] CHIP:DMG: + [1654857529.976183][31755:31760] CHIP:DMG: ], + [1654857529.976226][31755:31760] CHIP:DMG: + [1654857529.976262][31755:31760] CHIP:DMG: InteractionModelRevision = 1 + [1654857529.976296][31755:31760] CHIP:DMG: } + [1654857529.976455][31755:31760] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 2782234637 + [1654857529.976519][31755:31760] CHIP:TOO: OnOff: FALSE + [1654857529.976588][31755:31760] CHIP:DMG: MoveToState ReadClient[0xffff740043e0]: Moving to [AwaitingSu] + + On TH + [1654857529.978138][31755:31760] CHIP:DMG: SubscribeResponseMessage = + [1654857529.978177][31755:31760] CHIP:DMG: { + [1654857529.978212][31755:31760] CHIP:DMG: SubscriptionId = 0xa864508e, + [1654857529.978250][31755:31760] CHIP:DMG: MinIntervalFloorSeconds = 0x64, + [1654857529.978289][31755:31760] CHIP:DMG: MaxIntervalCeilingSeconds = 0x960, + [1654857529.978326][31755:31760] CHIP:DMG: InteractionModelRevision = 1 + [1654857529.978360][31755:31760] CHIP:DMG: } + [1654857529.978402][31755:31760] CHIP:DMG: Subscription established with SubscriptionID = 0xa864508e MinInterval = 100s MaxInterval = 2400s Peer = 01:0000000000000001 + + On DUT + [1654857529.980538][30333:30333] CHIP:DMG: StatusResponseMessage = + [1654857529.980583][30333:30333] CHIP:DMG: { + [1654857529.980611][30333:30333] CHIP:DMG: Status = 0x00 (SUCCESS), + [1654857529.980636][30333:30333] CHIP:DMG: InteractionModelRevision = 1 + [1654857529.980675][30333:30333] CHIP:DMG: } + [1654857529.980704][30333:30333] CHIP:IM: Received status response, status is 0x00 (SUCCESS) + [1654857529.980755][30333:30333] CHIP:DMG: Refresh Subscribe Sync Timer with max 2400 seconds disabled: true - label: - "[OPTIONAL] Activate the subscription between the DUT and the TH for - an attribute of data type bool. Modify that attribute on the DUT. DUT - should send the report data with the modified attribute value. Repeat - the above steps multiple times (3 times) before the max interval time - specified during the subscription activation." + "Setup TH2 such that it does not have access to an attribute on a + specific cluster and endpoint. TH2 sends a subscription message to + subscribe to an attribute for which it does not have access. + AttributePath = [[Attribute = Attribute, Cluster = ClusterID, Endpoint + = EndpointID ]]." verification: | - In case of chip tool, here is an example command to use - - '' ./chip-tool basic write local-config-disabled 1 1 0 - '' ./chip-tool basic subscribe local-config-disabled 0 100 0 1 0 - Verify the above command multiple times(3 times) + Waiting For Test-Plan author for more input. Verification step upadte is in progress disabled: true - label: - "[OPTIONAL] Activate the subscription between the DUT and the TH for - an attribute of data type string. Modify that attribute on the DUT. - DUT should send the report data with the modified attribute value - Repeat the above steps multiple times (3 times) before the max - interval time specified during the subscription activation." + "Setup TH2 such that it does not have access to all attributes on a + specific cluster and endpoint. TH2 sends a subscription request to + subscribe to all attributes for which it does not have access. + AttributePath = [[Cluster = ClusterID, Endpoint = EndpointID ]]." verification: | - In case of chip tool, here is an example command to use + ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": [{"cluster": null, "endpoint": 0, "deviceType": null}]}, {"fabricIndex": 1, "privilege": 1, "authMode": 3, "subjects": null, "targets": [{"cluster": 0006 , "endpoint": 1 , "deviceType": null}]}]' 1 0 + - '' ./chip-tool basic write node-label 1 1 0 - '' ./chip-tool basic subscribe node-label 0 100 0 1 0 + ./chip-tool onoff subscribe global-scene-control 100 3000 1 1 - Verify the above command multiple times(3 times) + [1654861525.172925][32132:32137] CHIP:DMG: ReportDataMessage = + [1654861525.172966][32132:32137] CHIP:DMG: { + [1654861525.173002][32132:32137] CHIP:DMG: SubscriptionId = 0xa6e75c5a, + [1654861525.173047][32132:32137] CHIP:DMG: AttributeReportIBs = + [1654861525.173093][32132:32137] CHIP:DMG: [ + [1654861525.173130][32132:32137] CHIP:DMG: AttributeReportIB = + [1654861525.173178][32132:32137] CHIP:DMG: { + [1654861525.173216][32132:32137] CHIP:DMG: AttributeStatusIB = + [1654861525.173261][32132:32137] CHIP:DMG: { + [1654861525.173306][32132:32137] CHIP:DMG: AttributePathIB = + [1654861525.173359][32132:32137] CHIP:DMG: { + [1654861525.173413][32132:32137] CHIP:DMG: Endpoint = 0x1, + [1654861525.173467][32132:32137] CHIP:DMG: Cluster = 0x6, + [1654861525.173523][32132:32137] CHIP:DMG: Attribute = 0x0000_4000, + [1654861525.173572][32132:32137] CHIP:DMG: } + [1654861525.173627][32132:32137] CHIP:DMG: + [1654861525.173673][32132:32137] CHIP:DMG: StatusIB = + [1654861525.173726][32132:32137] CHIP:DMG: { + [1654861525.173776][32132:32137] CHIP:DMG: status = 0x7e (UNSUPPORTED_ACCESS), + [1654861525.173824][32132:32137] CHIP:DMG: }, + [1654861525.173878][32132:32137] CHIP:DMG: + [1654861525.173922][32132:32137] CHIP:DMG: }, + [1654861525.173971][32132:32137] CHIP:DMG: + [1654861525.174011][32132:32137] CHIP:DMG: }, + [1654861525.174104][32132:32137] CHIP:DMG: + [1654861525.174139][32132:32137] CHIP:DMG: ], + [1654861525.174183][32132:32137] CHIP:DMG: + [1654861525.174218][32132:32137] CHIP:DMG: InteractionModelRevision = 1 + [1654861525.174252][32132:32137] CHIP:DMG: } + [1654861525.174390][32132:32137] CHIP:TOO: Response Failure: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) + [1654861525.174448][32132:32137] CHIP:DMG: MoveToState ReadClient[0xaaaac3e723c0]: Moving to [AwaitingSu] + [1654861525.174539][32132:32137] CHIP:EM: Piggybacking Ack for MessageCounter:84810773 on exchange: 49933i + [1654861525.174618][32132:32137] CHIP:IN: Prepared secure message 0xaaaac3e8e388 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 49933i with MessageCounter:22480748. + [1654861525.174669][32132:32137] CHIP:IN: Sending encrypted msg 0xaaaac3e8e388 with MessageCounter:22480748 to 0x0000000000000001 (1) at monotonic time: 00000000019A8CF5 msec + [1654861525.175785][32132:32137] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:84810774 on exchange 49933i + [1654861525.175832][32132:32137] CHIP:EM: Found matching exchange: 49933i, Delegate: 0xaaaac3e723c0 + [1654861525.175877][32132:32137] CHIP:EM: Rxd Ack; Removing MessageCounter:22480748 from Retrans Table on exchange 49933i + [1654861525.175912][32132:32137] CHIP:EM: Removed CHIP MessageCounter:22480748 from RetransTable on exchange 49933i + [1654861525.175999][32132:32137] CHIP:DMG: SubscribeResponseMessage = + [1654861525.176039][32132:32137] CHIP:DMG: { + [1654861525.176073][32132:32137] CHIP:DMG: SubscriptionId = 0xa6e75c5a, + [1654861525.176116][32132:32137] CHIP:DMG: MinIntervalFloorSeconds = 0x64, + [1654861525.176154][32132:32137] CHIP:DMG: MaxIntervalCeilingSeconds = 0xbb8, + [1654861525.176191][32132:32137] CHIP:DMG: InteractionModelRevision = 1 + [1654861525.176226][32132:32137] CHIP:DMG: } + [1654861525.176268][32132:32137] CHIP:DMG: Subscription established with SubscriptionID = 0xa6e75c5a MinInterval = 100s MaxInterval = 3000s Peer = 01:0000000000000001 disabled: true - label: - '[OPTIONAL] Activate the subscription between the DUT and the TH for - an attribute of data type "unsigned integer". Modify that attribute on - the DUT. DUT should send the report data with the modified attribute - value. Repeat the above steps multiple times (3 times) before the max - interval time specified during the subscription activation.' + "Setup TH2 such that it does not have access to an Endpoint. TH2 sends + a subscription request to subscribe to all attributes on all clusters + on a specific Endpoint for which it does not have access. + AttributePath = [[ Endpoint = EndpointID ]]." verification: | - In case of chip tool, here is an example command to use + sudo ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": [{"cluster": null, "endpoint": 0, "deviceType": null}]}, {"fabricIndex": 1, "privilege": 1, "authMode": 3, "subjects": null, "targets": [{"cluster": null , "endpoint": 1 , "deviceType": null}]}]' 1 0 - '' ./chip-tool any write-by-id 0x0008 0x0010 1 1 1 - '' ./chip-tool any subscribe-by-id 0x0008 0x0010 0 100 0 1 1 - Verify the above command multiple times(3 times) - disabled: true + sudo ./chip-tool thermostatuserinterfaceconfiguration subscribe temperature-display-mode 100 1000 1 1 - - label: - '[OPTIONAL] Activate the subscription between the DUT and the TH for - an attribute of data type "signed integer". Modify that attribute on - the DUT. DUT should send the report data with the modified attribute - value. Repeat the above steps multiple times (3 times)before the max - interval time specified during the subscription activation.' - verification: | - wirte to an attribute of type signed integer to the Harness - disabled: true - - label: - '[OPTIONAL] Activate the subscription between the DUT and the TH for - an attribute of data type "floating point". Modify that attribute on - the DUT. DUT should send the report data with the modified attribute - value. Repeat the above steps multiple times (3 times) before the max - interval time specified during the subscription activation.' - verification: | - wirte to an attribute of type floating to the Harness + [1654862486.785468][32309:32314] CHIP:DMG: ReportDataMessage = + [1654862486.785508][32309:32314] CHIP:DMG: { + [1654862486.785544][32309:32314] CHIP:DMG: SubscriptionId = 0x111a3e69, + [1654862486.785581][32309:32314] CHIP:DMG: AttributeReportIBs = + [1654862486.785627][32309:32314] CHIP:DMG: [ + [1654862486.785662][32309:32314] CHIP:DMG: AttributeReportIB = + [1654862486.785713][32309:32314] CHIP:DMG: { + [1654862486.785752][32309:32314] CHIP:DMG: AttributeStatusIB = + [1654862486.785797][32309:32314] CHIP:DMG: { + [1654862486.785842][32309:32314] CHIP:DMG: AttributePathIB = + [1654862486.785895][32309:32314] CHIP:DMG: { + [1654862486.785945][32309:32314] CHIP:DMG: Endpoint = 0x1, + [1654862486.785998][32309:32314] CHIP:DMG: Cluster = 0x204, + [1654862486.786050][32309:32314] CHIP:DMG: Attribute = 0x0000_0000, + [1654862486.786099][32309:32314] CHIP:DMG: } + [1654862486.786153][32309:32314] CHIP:DMG: + [1654862486.786204][32309:32314] CHIP:DMG: StatusIB = + [1654862486.786253][32309:32314] CHIP:DMG: { + [1654862486.786302][32309:32314] CHIP:DMG: status = 0x7e (UNSUPPORTED_ACCESS), + [1654862486.786350][32309:32314] CHIP:DMG: }, + [1654862486.786399][32309:32314] CHIP:DMG: + [1654862486.786441][32309:32314] CHIP:DMG: }, + [1654862486.786489][32309:32314] CHIP:DMG: + [1654862486.786528][32309:32314] CHIP:DMG: }, + [1654862486.786572][32309:32314] CHIP:DMG: + [1654862486.786606][32309:32314] CHIP:DMG: ], + [1654862486.786650][32309:32314] CHIP:DMG: + [1654862486.786685][32309:32314] CHIP:DMG: InteractionModelRevision = 1 + [1654862486.786720][32309:32314] CHIP:DMG: } + [1654862486.786862][32309:32314] CHIP:TOO: Response Failure: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) + [1654862486.786918][32309:32314] CHIP:DMG: MoveToState ReadClient[0xffff840040e0]: Moving to [AwaitingSu] + [1654862486.786977][32309:32314] CHIP:EM: Piggybacking Ack for MessageCounter:50225771 on exchange: 12667i + [1654862486.787050][32309:32314] CHIP:IN: Prepared secure message 0xaaab0afd31d8 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 12667i with MessageCounter:57280470. + [1654862486.787101][32309:32314] CHIP:IN: Sending encrypted msg 0xaaab0afd31d8 with MessageCounter:57280470 to 0x0000000000000001 (1) at monotonic time: 0000000001A93942 msec + [1654862486.788415][32309:32314] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:50225772 on exchange 12667i + [1654862486.788461][32309:32314] CHIP:EM: Found matching exchange: 12667i, Delegate: 0xffff840040e0 + [1654862486.788504][32309:32314] CHIP:EM: Rxd Ack; Removing MessageCounter:57280470 from Retrans Table on exchange 12667i + [1654862486.788539][32309:32314] CHIP:EM: Removed CHIP MessageCounter:57280470 from RetransTable on exchange 12667i + [1654862486.788597][32309:32314] CHIP:DMG: SubscribeResponseMessage = + [1654862486.788636][32309:32314] CHIP:DMG: { + [1654862486.788671][32309:32314] CHIP:DMG: SubscriptionId = 0x111a3e69, + [1654862486.788709][32309:32314] CHIP:DMG: MinIntervalFloorSeconds = 0x64, + [1654862486.788747][32309:32314] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, + [1654862486.788783][32309:32314] CHIP:DMG: InteractionModelRevision = 1 + [1654862486.788817][32309:32314] CHIP:DMG: } + [1654862486.788904][32309:32314] CHIP:DMG: Subscription established with SubscriptionID = 0x111a3e69 MinInterval = 100s MaxInterval = 1000s Peer = 01:0000000000000001 + [1654862486.788947][32309:32314] CHIP:DMG: MoveToState ReadClient[0xffff840040e0]: Moving to [Subscripti] disabled: true - label: - "Activate the subscription between the DUT and the TH for any - attribute After the Maximum interval time is elapsed, TH should send - another subscription request message with different parameters than - before. Change the value of the attribute requested on the DUT." + "Setup TH2 such that it does not have access to the Node. TH2 sends a + subscription request to subscribe to all attributes on all clusters on + all endpoints on a Node for which it does not have access. + AttributePath = [[ ]]." verification: | - '' ./chip-tool basic write local-config-disabled 1 1 0 - '' ./chip-tool basic subscribe local-config-disabled 0 100 0 1 0 - '' ./chip-tool basic write local-config-disabled 2 1 0 - '' ./chip-tool basic subscribe local-config-disabled 0 100 0 1 0 + Waiting For Test-Plan author for more input. Verification step upadte is in progress disabled: true - label: - "Activate the subscription between the DUT and the TH for any - attribute After the Maximum interval time is elapsed, change the value - of the attribute requested on the DUT." + "DUT sends a subscription request action for an attribute with an + empty DataVersionFilters field. DUT sends a report data action with + the data of the attribute along with the data version. Tear down the + subscription for that attribute. Start another subscription with the + DataVersionFilter field set to the data version received above." verification: | - This is not testable in normal scenario, and needs to be tested as part of Unit test. his test step to be removed from the manual execution. + https://github.com/CHIP-Specifications/chip-test-plans/issues/1451 disabled: true - label: - "Activate the subscription between the DUT and the TH for an attribute - Reboot the DUT. Change the value of the attribute on the DUT." + "TH sends a subscription request action for an attribute and sets the + MinIntervalFloor value to be same as MaxIntervalCeiling. Activate the + Subscription between TH and DUT. Modify the attribute which has been + subscribed to on the DUT." verification: | - '' ./chip-tool basic write node-label 5 1 0 - '' ./chip-tool basic subscribe node-label 0 100 0 1 0 - Reboot the DUT - '' ./chip-tool basic write node-label 1 1 0 - '' ./chip-tool basic subscribe node-label 0 100 0 1 0 + sudo ./chip-tool onoff subscribe on-time 1000 1000 1 1 + + [1654863095.346014][32361:32366] CHIP:DMG: ReportDataMessage = + [1654863095.346058][32361:32366] CHIP:DMG: { + [1654863095.346097][32361:32366] CHIP:DMG: SubscriptionId = 0xf997645f, + [1654863095.346139][32361:32366] CHIP:DMG: AttributeReportIBs = + [1654863095.346188][32361:32366] CHIP:DMG: [ + [1654863095.346228][32361:32366] CHIP:DMG: AttributeReportIB = + [1654863095.346283][32361:32366] CHIP:DMG: { + [1654863095.346325][32361:32366] CHIP:DMG: AttributeDataIB = + [1654863095.346374][32361:32366] CHIP:DMG: { + [1654863095.346427][32361:32366] CHIP:DMG: DataVersion = 0xd04998fc, + [1654863095.346479][32361:32366] CHIP:DMG: AttributePathIB = + [1654863095.346532][32361:32366] CHIP:DMG: { + [1654863095.346585][32361:32366] CHIP:DMG: Endpoint = 0x1, + [1654863095.346643][32361:32366] CHIP:DMG: Cluster = 0x6, + [1654863095.346704][32361:32366] CHIP:DMG: Attribute = 0x0000_4001, + [1654863095.346762][32361:32366] CHIP:DMG: } + [1654863095.346823][32361:32366] CHIP:DMG: + [1654863095.346879][32361:32366] CHIP:DMG: Data = 0, + [1654863095.346934][32361:32366] CHIP:DMG: }, + [1654863095.346987][32361:32366] CHIP:DMG: + [1654863095.347031][32361:32366] CHIP:DMG: }, + [1654863095.347079][32361:32366] CHIP:DMG: + [1654863095.347118][32361:32366] CHIP:DMG: ], + [1654863095.347166][32361:32366] CHIP:DMG: + [1654863095.347205][32361:32366] CHIP:DMG: InteractionModelRevision = 1 + [1654863095.347253][32361:32366] CHIP:DMG: } + [1654863095.347435][32361:32366] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 3494484220 + [1654863095.347516][32361:32366] CHIP:TOO: OnTime: 0 + [1654863095.347596][32361:32366] CHIP:DMG: MoveToState ReadClient[0xffff8c003930]: Moving to [AwaitingSu] + [1654863095.347667][32361:32366] CHIP:EM: Piggybacking Ack for MessageCounter:217687078 on exchange: 442i + [1654863095.347751][32361:32366] CHIP:IN: Prepared secure message 0xaaaae7496898 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 442i with MessageCounter:55557971. + [1654863095.347808][32361:32366] CHIP:IN: Sending encrypted msg 0xaaaae7496898 with MessageCounter:55557971 to 0x0000000000000001 (1) at monotonic time: 0000000001B28272 msec + [1654863095.348810][32361:32366] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:217687079 on exchange 442i + [1654863095.348910][32361:32366] CHIP:EM: Found matching exchange: 442i, Delegate: 0xffff8c003930 + [1654863095.348965][32361:32366] CHIP:EM: Rxd Ack; Removing MessageCounter:55557971 from Retrans Table on exchange 442i + [1654863095.349005][32361:32366] CHIP:EM: Removed CHIP MessageCounter:55557971 from RetransTable on exchange 442i + [1654863095.349069][32361:32366] CHIP:DMG: SubscribeResponseMessage = + [1654863095.349112][32361:32366] CHIP:DMG: { + [1654863095.349150][32361:32366] CHIP:DMG: SubscriptionId = 0xf997645f, + [1654863095.349193][32361:32366] CHIP:DMG: MinIntervalFloorSeconds = 0x3e8, + [1654863095.349235][32361:32366] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, + [1654863095.349275][32361:32366] CHIP:DMG: InteractionModelRevision = 1 + [1654863095.349313][32361:32366] CHIP:DMG: } + [1654863095.349358][32361:32366] CHIP:DMG: Subscription established with SubscriptionID = 0xf997645f MinInterval = 1000s MaxInterval = 1000s Peer = 01:0000000000000001 disabled: true - label: - "Activate the subscription between the DUT and the TH for an attribute - There are no attribute value changes before MaxInterval elapses." + "TH sends a subscription request action for an attribute and set the + MinIntervalFloor value to be greater than MaxIntervalCeiling." verification: | - In case of chip tool, here is an example command to use + sudo ./chip-tool thermostatuserinterfaceconfiguration subscribe temperature-display-mode 10000 1000 1 1 - '' ./chip-tool any write-by-id 0x0204 0 1 1 1 - '' ./chip-tool any subscribe-by-id 0x0204 0 1 1 1 + [1654863279.009335][32383:32388] CHIP:DMG: StatusResponseMessage = + [1654863279.009366][32383:32388] CHIP:DMG: { + [1654863279.009402][32383:32388] CHIP:DMG: Status = 0x01 (FAILURE), + [1654863279.009430][32383:32388] CHIP:DMG: InteractionModelRevision = 1 + [1654863279.009455][32383:32388] CHIP:DMG: } + [1654863279.009491][32383:32388] CHIP:IM: Received status response, status is 0x01 (FAILURE) + [1654863279.009531][32383:32388] CHIP:DMG: mResubscribePolicy is null + [1654863279.009562][32383:32388] CHIP:TOO: Error: IM Error 0x00000501: General error: 0x01 (FAILURE) disabled: true - label: - "[OPTIONAL] Activate the subscription between the DUT and the TH for - an attribute of data type list. Modify that attribute on the DUT. DUT - should send the report data with the modified attribute value. Repeat - the above steps multiple times (3 times) before the max interval time - specified during the subscription activation." + "TH sends a subscription request to subscribe to a specific global + attribute from all clusters on all endpoints. AttributePath = + [[Attribute = Global Attribute]]." verification: | - '' ./chip-tool modeselect subscribe supported-modes 0 100 0 1 1 - '' ./chip-tool modeselect subscribe supported-modes 1 100 0 1 1 - '' ./chip-tool modeselect subscribe supported-modes 2 100 0 1 1 - disabled: true + ./chip-tool any subscribe-by-id 0xFFFFFFFF 0xFFFD 100 3000 1 0xFFFF - - label: - "TH sends a subscription request action for an attribute to the DUT - with the KeepSubscriptions flag set to True. Activate the subscription - between DUT and the TH. Initiate another subscription request action - to the DUT for another attribute with the KeepSubscriptions flag set - to True. Change both the attribute values on the DUT." - verification: | - '' ./chip-tool onoff subscribestart-up-on-off null 1 1 --suppressResponse 1 - disabled: true + On TH + [1654861121.030130][32056:32061] CHIP:DMG: } + [1654861121.030506][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 3406594092 + [1654861121.030569][32056:32061] CHIP:TOO: ClusterRevision: 4 + [1654861121.030645][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Attribute 0x0000_FFFD DataVersion: 3358395504 + [1654861121.030674][32056:32061] CHIP:TOO: ClusterRevision: 4 + [1654861121.030731][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_FFFD DataVersion: 2524692657 + [1654861121.030759][32056:32061] CHIP:TOO: ClusterRevision: 1 + [1654861121.030818][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001E Attribute 0x0000_FFFD DataVersion: 2114277929 + [1654861121.030844][32056:32061] CHIP:TOO: ClusterRevision: 1 + [1654861121.030900][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_FFFD DataVersion: 1201578663 + [1654861121.030926][32056:32061] CHIP:TOO: ClusterRevision: 1 + [1654861121.030984][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_FFFD DataVersion: 603244031 + [1654861121.031010][32056:32061] CHIP:TOO: ClusterRevision: 1 + [1654861121.031068][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002A Attribute 0x0000_FFFD DataVersion: 3260175415 + [1654861121.031094][32056:32061] CHIP:TOO: ClusterRevision: 1 + [1654861121.031151][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002B Attribute 0x0000_FFFD DataVersion: 1378010832 + [1654861121.031177][32056:32061] CHIP:TOO: ClusterRevision: 1 + [1654861121.031234][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFFD DataVersion: 735753169 + [1654861121.031260][32056:32061] CHIP:TOO: ClusterRevision: 1 + [1654861121.031318][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_FFFD DataVersion: 133073363 + [1654861121.031345][32056:32061] CHIP:TOO: ClusterRevision: 1 + [1654861121.031404][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002E Attribute 0x0000_FFFD DataVersion: 2546622543 + [1654861121.031430][32056:32061] CHIP:TOO: ClusterRevision: 1 + [1654861121.031488][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002F Attribute 0x0000_FFFD DataVersion: 1196456117 + [1654861121.031514][32056:32061] CHIP:TOO: ClusterRevision: 1 + [1654861121.031571][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Attribute 0x0000_FFFD DataVersion: 3349909256 + [1654861121.031598][32056:32061] CHIP:TOO: ClusterRevision: 1 + [1654861121.031655][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_FFFD DataVersion: 2677005569 + [1654861121.031682][32056:32061] CHIP:TOO: ClusterRevision: 1 + [1654861121.031740][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0032 Attribute 0x0000_FFFD DataVersion: 2067618566 + [1654861121.031766][32056:32061] CHIP:TOO: ClusterRevision: 1 + [1654861121.031822][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_FFFD DataVersion: 1750034609 + [1654861121.031848][32056:32061] CHIP:TOO: ClusterRevision: 1 + [1654861121.031904][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Attribute 0x0000_FFFD DataVersion: 3978148055 + [1654861121.031930][32056:32061] CHIP:TOO: ClusterRevision: 1 + [1654861121.031987][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_FFFD DataVersion: 2069559166 + [1654861121.032014][32056:32061] CHIP:TOO: ClusterRevision: 1 + [1654861121.032069][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_FFFD DataVersion: 3544740596 + [1654861121.032095][32056:32061] CHIP:TOO: ClusterRevision: 1 + [1654861121.032153][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0037 Attribute 0x0000_FFFD DataVersion: 2752916415 + [1654861121.032179][32056:32061] CHIP:TOO: ClusterRevision: 1 + [1654861121.032237][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003C Attribute 0x0000_FFFD DataVersion: 3382864871 + [1654861121.032263][32056:32061] CHIP:TOO: ClusterRevision: 1 + [1654861121.032319][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_FFFD DataVersion: 3443556887 + [1654861121.032345][32056:32061] CHIP:TOO: ClusterRevision: 1 + [1654861121.032402][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_FFFD DataVersion: 711998061 + [1654861121.032428][32056:32061] CHIP:TOO: ClusterRevision: 1 + [1654861121.032486][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0040 Attribute 0x0000_FFFD DataVersion: 2915612646 + [1654861121.032512][32056:32061] CHIP:TOO: ClusterRevision: 1 + [1654861121.032569][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0041 Attribute 0x0000_FFFD DataVersion: 3438672091 + [1654861121.032595][32056:32061] CHIP:TOO: ClusterRevision: 1 + [1654861121.032652][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0405 Attribute 0x0000_FFFD DataVersion: 4050877341 + [1654861121.032679][32056:32061] CHIP:TOO: ClusterRevision: 3 + [1654861121.032799][32056:32061] CHIP:DMG: MoveToState ReadClient[0xffff700043f0]: Moving to [AwaitingSu] + [1654861121.032871][32056:32061] CHIP:EM: Piggybacking Ack for MessageCounter:214965053 on exchange: 37414i + [1654861121.032943][32056:32061] CHIP:IN: Prepared secure message 0xaaaaebed8a18 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 37414i with MessageCounter:46830028. + [1654861121.032981][32056:32061] CHIP:IN: Sending encrypted msg 0xaaaaebed8a18 with MessageCounter:46830028 to 0x0000000000000001 (1) at monotonic time: 0000000001946248 msec + [1654861121.034927][32056:32061] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:214965054 on exchange 37414i + [1654861121.034961][32056:32061] CHIP:EM: Found matching exchange: 37414i, Delegate: 0xffff700043f0 + [1654861121.034994][32056:32061] CHIP:EM: Rxd Ack; Removing MessageCounter:46830028 from Retrans Table on exchange 37414i + [1654861121.035017][32056:32061] CHIP:EM: Removed CHIP MessageCounter:46830028 from RetransTable on exchange 37414i + [1654861121.035064][32056:32061] CHIP:DMG: SubscribeResponseMessage = + [1654861121.035090][32056:32061] CHIP:DMG: { + [1654861121.035114][32056:32061] CHIP:DMG: SubscriptionId = 0xfe55fb2c, + [1654861121.035140][32056:32061] CHIP:DMG: MinIntervalFloorSeconds = 0x64, + [1654861121.035166][32056:32061] CHIP:DMG: MaxIntervalCeilingSeconds = 0xbb8, + [1654861121.035191][32056:32061] CHIP:DMG: InteractionModelRevision = 1 + [1654861121.035213][32056:32061] CHIP:DMG: } + [1654861121.035243][32056:32061] CHIP:DMG: Subscription established with SubscriptionID = 0xfe55fb2c MinInterval = 100s MaxInterval = 3000s Peer = 01:0000000000000001 - - label: - "TH sends a subscription request action for an attribute to the DUT - with the KeepSubscriptions flag set to True. Activate the subscription - between DUT and the TH. Initiate another subscription request action - to the DUT for the same attribute with the KeepSubscriptions flag set - to True. Change both the attribute values on the DUT." - verification: | - '' ./chip-tool onoff subscribe start-up-on-off 1 1 --suppressResponse 1 - disabled: true - - label: - "TH sends a subscription request action for multiple - attributes/events. (1 attribute, 1 event). Change the value of the - attribute and trigger an action on the DUT to trigger the event." - verification: | - '' ./chip-tool basic subscribe node-label 0 100 0 1 0 - '' ./chip-tool any subscribe-event-by-id 0x0033 0x01 0 100 0 1 1(trigger an action on the DUT to trigger the event) + On DUT + [1654861120.996639][30456:30456] CHIP:DMG: StatusResponseMessage = + [1654861120.996731][30456:30456] CHIP:DMG: { + [1654861120.996793][30456:30456] CHIP:DMG: Status = 0x00 (SUCCESS), + [1654861120.996877][30456:30456] CHIP:DMG: InteractionModelRevision = 1 + [1654861120.996937][30456:30456] CHIP:DMG: } + [1654861120.996996][30456:30456] CHIP:IM: Received status response, status is 0x00 (SUCCESS) disabled: true - label: - "TH sends a subscription request action for attribute wildcard - - AttributePath = [[Endpoint = EndpointID, Cluster = ClusterID]]. Change - all or few of the attributes on the DUT" + "TH sends a subscription request to subscribe to a global attribute on + an endpoint on all clusters. AttributePath = [[Attribute = Global + Attribute, Endpoint = EndpointID ]]." verification: | - ./chip-tool any subscribe-by-id 0xFFFFFFFF 0xFFFFFFFF 0 100 0 1 0xFFFF - disabled: true + ./chip-tool any subscribe-by-id 0xFFFFFFFF 0xFFFD 100 3000 1 0 + [1654861262.973822][32064:32069] CHIP:DMG: } + [1654861262.974200][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 3406594092 + [1654861262.974261][32064:32069] CHIP:TOO: ClusterRevision: 4 + [1654861262.974337][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Attribute 0x0000_FFFD DataVersion: 3358395504 + [1654861262.974365][32064:32069] CHIP:TOO: ClusterRevision: 4 + [1654861262.974424][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_FFFD DataVersion: 2524692657 + [1654861262.974451][32064:32069] CHIP:TOO: ClusterRevision: 1 + [1654861262.974510][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001E Attribute 0x0000_FFFD DataVersion: 2114277929 + [1654861262.974537][32064:32069] CHIP:TOO: ClusterRevision: 1 + [1654861262.974596][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_FFFD DataVersion: 1201578663 + [1654861262.974623][32064:32069] CHIP:TOO: ClusterRevision: 1 + [1654861262.974681][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_FFFD DataVersion: 603244031 + [1654861262.974707][32064:32069] CHIP:TOO: ClusterRevision: 1 + [1654861262.974765][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002A Attribute 0x0000_FFFD DataVersion: 3260175415 + [1654861262.974792][32064:32069] CHIP:TOO: ClusterRevision: 1 + [1654861262.974850][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002B Attribute 0x0000_FFFD DataVersion: 1378010832 + [1654861262.974876][32064:32069] CHIP:TOO: ClusterRevision: 1 + [1654861262.974934][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFFD DataVersion: 735753169 + [1654861262.974960][32064:32069] CHIP:TOO: ClusterRevision: 1 + [1654861262.975018][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_FFFD DataVersion: 133073363 + [1654861262.975044][32064:32069] CHIP:TOO: ClusterRevision: 1 + [1654861262.975102][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002E Attribute 0x0000_FFFD DataVersion: 2546622543 + [1654861262.975128][32064:32069] CHIP:TOO: ClusterRevision: 1 + [1654861262.975185][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002F Attribute 0x0000_FFFD DataVersion: 1196456117 + [1654861262.975211][32064:32069] CHIP:TOO: ClusterRevision: 1 + [1654861262.975267][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Attribute 0x0000_FFFD DataVersion: 3349909256 + [1654861262.975294][32064:32069] CHIP:TOO: ClusterRevision: 1 + [1654861262.975352][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_FFFD DataVersion: 2677005569 + [1654861262.975378][32064:32069] CHIP:TOO: ClusterRevision: 1 + [1654861262.975436][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0032 Attribute 0x0000_FFFD DataVersion: 2067618566 + [1654861262.975462][32064:32069] CHIP:TOO: ClusterRevision: 1 + [1654861262.975520][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_FFFD DataVersion: 1750034609 + [1654861262.975546][32064:32069] CHIP:TOO: ClusterRevision: 1 + [1654861262.975603][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Attribute 0x0000_FFFD DataVersion: 3978148055 + [1654861262.975629][32064:32069] CHIP:TOO: ClusterRevision: 1 + [1654861262.975687][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_FFFD DataVersion: 2069559166 + [1654861262.975713][32064:32069] CHIP:TOO: ClusterRevision: 1 + [1654861262.975772][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_FFFD DataVersion: 3544740596 + [1654861262.975798][32064:32069] CHIP:TOO: ClusterRevision: 1 + [1654861262.975857][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0037 Attribute 0x0000_FFFD DataVersion: 2752916415 + [1654861262.975883][32064:32069] CHIP:TOO: ClusterRevision: 1 + [1654861262.975941][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003C Attribute 0x0000_FFFD DataVersion: 3382864871 + [1654861262.975967][32064:32069] CHIP:TOO: ClusterRevision: 1 + [1654861262.976024][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_FFFD DataVersion: 3443556887 + [1654861262.976050][32064:32069] CHIP:TOO: ClusterRevision: 1 + [1654861262.976107][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_FFFD DataVersion: 711998061 + [1654861262.976133][32064:32069] CHIP:TOO: ClusterRevision: 1 + [1654861262.976190][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0040 Attribute 0x0000_FFFD DataVersion: 2915612646 + [1654861262.976216][32064:32069] CHIP:TOO: ClusterRevision: 1 + [1654861262.976275][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0041 Attribute 0x0000_FFFD DataVersion: 3438672091 + [1654861262.976327][32064:32069] CHIP:TOO: ClusterRevision: 1 + [1654861262.976388][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0405 Attribute 0x0000_FFFD DataVersion: 4050877341 + [1654861262.976415][32064:32069] CHIP:TOO: ClusterRevision: 3 + [1654861262.976539][32064:32069] CHIP:DMG: MoveToState ReadClient[0xffff70004450]: Moving to [AwaitingSu] - - label: - "TH sends a subscription request action for an attribute without the - DataVersionFilters field set to the version of the cluster instance. - DUT sends a report data action with the data of the attribute along - with the data version. Tear down the subscription for that attribute. - Start another subscription with the DataVersionFilter field set to the - data version received above." - verification: | - '' ./chip-tool basic subscribe node-label 0 100 0 1 0 - '' ./chip-tool basic subscribe local-config-disabled 0 200 0 1 0 --data-version 0x42d4af15 + + On DUT + [1654861262.940227][30456:30456] CHIP:EM: Removed CHIP MessageCounter:38525227 from RetransTable on exchange 4217r + [1654861262.940335][30456:30456] CHIP:DMG: StatusResponseMessage = + [1654861262.940426][30456:30456] CHIP:DMG: { + [1654861262.940487][30456:30456] CHIP:DMG: Status = 0x00 (SUCCESS), + [1654861262.940570][30456:30456] CHIP:DMG: InteractionModelRevision = 1 + [1654861262.940629][30456:30456] CHIP:DMG: } + [1654861262.940688][30456:30456] CHIP:IM: Received status response, status is 0x00 (SUCCESS) + [1654861262.940795][30456:30456] CHIP:DMG: Refresh Subscribe Sync Timer with max 3000 seconds disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_4_3.yaml b/src/app/tests/suites/certification/Test_TC_IDM_4_3.yaml index ecf0ce24a00dc0..033f9b1290e3de 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_4_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_4_3.yaml @@ -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: - 19.4.3. [TC-IDM-4.3] Report Data Messages post Subscription Activation from + 20.4.3. [TC-IDM-4.3] Report Data Messages post Subscription Activation from DUT Test Cases config: @@ -985,29 +985,30 @@ tests: disabled: true - label: - "TH sends a subscription request action for multiple - attributes/events. (1 attribute, 1 event). Change the value of the - attribute and trigger an action on the DUT to trigger the event." + 'TH sends a subscription request action for an attribute and all + events. Set the MinIntervalFloor to some value say "N"(seconds). + Change the value of the attribute and trigger an action on the DUT to + trigger any event.' verification: | disabled: true - label: - "TH sends a subscription request action for attribute wildcard - - AttributePath = [[Endpoint = EndpointID, Cluster = ClusterID]]. Change - all or few of the attributes on the DUT" + 'TH sends a subscription request action for attribute wildcard - + AttributePath = [[Endpoint = EndpointID, Cluster = ClusterID]]. Set + the MinIntervalFloor to some value say "N"(seconds). Change all or few + of the attributes on the DUT' verification: | - out of scope for V1.0 + disabled: true - label: - "TH sends a subscription request action for an attribute without the - DataVersionFilters field set to the version of the cluster instance. - DUT sends a report data action with the data of the attribute along - with the data version. Tear down the subscription for that attribute. - Start another subscription with the DataVersionFilter field set to the - data version received above." + 'TH sends a subscription request to subscribe to an attribute on a + specific cluster from all endpoints AttributePath = [[Attribute = + Attribute, Cluster = ClusterID ]]. Set the MinIntervalFloor to some + value say "N"(seconds). Change the attribute on the DUT' verification: | + This test case has been modified, please update the verification step Use interactive mode to verify this ./chip-tool start interactive mood @@ -1052,10 +1053,10 @@ tests: disabled: true - label: - "TH sends a subscription request action for attribute and sets the - MinIntervalFloor value to be same as MaxIntervalCeiling. Activate the - Subscription between TH and DUT. Modify the attribute which has been - subscribed to on the DUT." + 'TH sends a subscription request to subscribe to all attributes from + all clusters from all endpoints. AttributePath = [[]]. Set the + MinIntervalFloor to some value say "N"(seconds). Change all or few of + the attributes on the DUT' verification: | Use interactive mode to verify this ./chip-tool start interactive mood @@ -1129,8 +1130,28 @@ tests: disabled: true - label: - "TH sends a subscription request action for attribute and set the - MinIntervalFloor value to be greater than MaxIntervalCeiling." + 'TH sends a subscription request to subscribe to all attributes from + all clusters on an endpoint. AttributePath = [[Endpoint = + EndpointID]]. Set the MinIntervalFloor to some value say "N"(seconds). + Change all or few of the attributes on the DUT' + verification: | + sudo ./chip-tool thermostatuserinterfaceconfiguration subscribe temperature-display-mode 10000 1000 1 1 + + [1654863279.009335][32383:32388] CHIP:DMG: StatusResponseMessage = + [1654863279.009366][32383:32388] CHIP:DMG: { + [1654863279.009402][32383:32388] CHIP:DMG: Status = 0x01 (FAILURE), + [1654863279.009430][32383:32388] CHIP:DMG: InteractionModelRevision = 1 + [1654863279.009455][32383:32388] CHIP:DMG: } + [1654863279.009491][32383:32388] CHIP:IM: Received status response, status is 0x01 (FAILURE) + [1654863279.009531][32383:32388] CHIP:DMG: mResubscribePolicy is null + [1654863279.009562][32383:32388] CHIP:TOO: Error: IM Error 0x00000501: General error: 0x01 (FAILURE) + disabled: true + + - label: + 'TH sends a subscription request to subscribe to all attributes from a + specific cluster on all endpoints. AttributePath = [[Cluster = + ClusterID]]. Set the MinIntervalFloor to some value say "N"(seconds). + Change all or few of the attributes on the DUT' verification: | disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_5_1.yaml b/src/app/tests/suites/certification/Test_TC_IDM_5_1.yaml index cdc9ff1801c13f..defc8d5a3de041 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_5_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_5_1.yaml @@ -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.7.1. [TC-IDM-5.1] Timed Request Action from DUT to TH [DUT - Controller] +name: 3.7.1. [TC-IDM-5.1] Timed Request Action from DUT to TH [DUT - Client] config: nodeId: 0x12344321 @@ -24,7 +24,7 @@ tests: - label: "DUT sends the Timed Request to the TH and then sends an Invoke Request Message to the TH after receiving the status response message - from the TH. The Time Request Message should contain a timeout value + from the TH. The Timed Request Message should contain a timeout value in milliseconds. (Example - 200 milliseconds)" verification: | Chip-tool as controller , here is the example command you can use @@ -94,64 +94,67 @@ tests: disabled: true - label: - "DUT sends the Timed Request to the TH and then sends a Write Request - Message to the TH after receiving the status response message from the - TH. The Time Request Message should contain a timeout value in - milliseconds. (Example - 200 milliseconds)" + "DUT sends the Timed Request to the TH and then sends a + WriteRequestMessage to the TH after receiving the status response + message from the TH. The Timed Request Message should contain a + timeout value in milliseconds. (Example - 200 milliseconds)" verification: | Chip-tool as controller , here is the example command to write an attribute you can use - - ./chip-tool levelcontrol read on-level 1 1 - ./chip-tool levelcontrol write on-level 1 1 1 --timedInteractionTimeoutMs 200 on the TH (reference all cluster app) you should see - 1649684576.547631][2241:2241] CHIP:DMG: TimedRequestMessage = - [1649684576.547669][2241:2241] CHIP:DMG: { - [1649684576.547700][2241:2241] CHIP:DMG: TimeoutMs = 0xc8, - [1649684576.547734][2241:2241] CHIP:DMG: InteractionModelRevision = 1 - [1649684576.547766][2241:2241] CHIP:DMG: } - [1649684576.547801][2241:2241] CHIP:DMG: Got Timed Request with timeout 200: handler 0xaaaaee795bd0 exchange 60329r - - [1649684576.549548][2241:2241] CHIP:IM: Received Write request - [1649684576.549577][2241:2241] CHIP:DMG: IM WH moving to [Initialized] - [1649684576.549635][2241:2241] CHIP:DMG: WriteRequestMessage = - [1649684576.549670][2241:2241] CHIP:DMG: { - [1649684576.549700][2241:2241] CHIP:DMG: suppressResponse = false, - [1649684576.549736][2241:2241] CHIP:DMG: timedRequest = true, - [1649684576.549769][2241:2241] CHIP:DMG: AttributeDataIBs = - [1649684576.549809][2241:2241] CHIP:DMG: [ - [1649684576.549842][2241:2241] CHIP:DMG: AttributeDataIB = - [1649684576.549976][2241:2241] CHIP:DMG: { - [1649684576.550016][2241:2241] CHIP:DMG: AttributePathIB = - [1649684576.550060][2241:2241] CHIP:DMG: { - [1649684576.550103][2241:2241] CHIP:DMG: Endpoint = 0x1, - [1649684576.550149][2241:2241] CHIP:DMG: Cluster = 0x8, - [1649684576.550194][2241:2241] CHIP:DMG: Attribute = 0x0000_0011, - [1649684576.550237][2241:2241] CHIP:DMG: } - [1649684576.550282][2241:2241] CHIP:DMG: - [1649684576.550330][2241:2241] CHIP:DMG: Data = 1, - [1649684576.550376][2241:2241] CHIP:DMG: }, - [1649684576.550419][2241:2241] CHIP:DMG: - [1649684576.550451][2241:2241] CHIP:DMG: ], - [1649684576.550491][2241:2241] CHIP:DMG: - [1649684576.550524][2241:2241] CHIP:DMG: moreChunkedMessages = false, - [1649684576.550558][2241:2241] CHIP:DMG: InteractionModelRevision = 1 - [1649684576.550590][2241:2241] CHIP:DMG: }, - [1649684576.550690][2241:2241] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0008 e=1 p=o - AttributePathIB = - [1641535415.494811][3878:3878] CHIP:DMG: { - [1641535415.494854][3878:3878] CHIP:DMG: Endpoint = 0x1, - [1641535415.494887][3878:3878] CHIP:DMG: Cluster = 0x6, - [1641535415.494927][3878:3878] CHIP:DMG: Attribute = 0x0000_4001, - [1641535415.494993][3878:3878] CHIP:DMG: } - [1641535415.495060][3878:3878] CHIP:DMG: - [1641535415.495092][3878:3878] CHIP:DMG: Data = 1, - [1641535415.495129][3878:3878] CHIP:DMG: }, - [1641535415.495187][3878:3878] CHIP:DMG: - [1641535415.495219][3878:3878] CHIP:DMG: ], - [1641535415.495248][3878:3878] CHIP:DMG: - [1641535415.495323][3878:3878] CHIP:DMG: isFabricFiltered = false, - [1641535415.495345][3878:3878] CHIP:DMG: }, + [1652943666.776460][8499:8499] CHIP:DMG: TimedRequestMessage = + [1652943666.776504][8499:8499] CHIP:DMG: { + [1652943666.776542][8499:8499] CHIP:DMG: TimeoutMs = 0x384, + [1652943666.776584][8499:8499] CHIP:DMG: InteractionModelRevision = 1 + [1652943666.776623][8499:8499] CHIP:DMG: } + [1652943666.776666][8499:8499] CHIP:DMG: Got Timed Request with timeout 900: handler 0xaaaab360c2d0 exchange 2224r + + + [1652943666.780309][8499:8499] CHIP:DMG: WriteRequestMessage = + [1652943666.780349][8499:8499] CHIP:DMG: { + [1652943666.780387][8499:8499] CHIP:DMG: suppressResponse = false, + [1652943666.780430][8499:8499] CHIP:DMG: timedRequest = true, + [1652943666.780470][8499:8499] CHIP:DMG: AttributeDataIBs = + [1652943666.780518][8499:8499] CHIP:DMG: [ + [1652943666.780558][8499:8499] CHIP:DMG: AttributeDataIB = + [1652943666.780609][8499:8499] CHIP:DMG: { + [1652943666.780653][8499:8499] CHIP:DMG: AttributePathIB = + [1652943666.780710][8499:8499] CHIP:DMG: { + [1652943666.780763][8499:8499] CHIP:DMG: Endpoint = 0x1, + [1652943666.780824][8499:8499] CHIP:DMG: Cluster = 0x8, + [1652943666.780883][8499:8499] CHIP:DMG: Attribute = 0x0000_0011, + [1652943666.780934][8499:8499] CHIP:DMG: } + [1652943666.780993][8499:8499] CHIP:DMG: + [1652943666.781046][8499:8499] CHIP:DMG: Data = 1, + [1652943666.781101][8499:8499] CHIP:DMG: }, + [1652943666.781152][8499:8499] CHIP:DMG: + [1652943666.781191][8499:8499] CHIP:DMG: ], + [1652943666.781238][8499:8499] CHIP:DMG: + [1652943666.781278][8499:8499] CHIP:DMG: moreChunkedMessages = false, + [1652943666.781318][8499:8499] CHIP:DMG: InteractionModelRevision = 1 + [1652943666.781356][8499:8499] CHIP:DMG: }, + + On DUT--- + [1652943666.816563][34595:34600] CHIP:DMG: AttributePathIB = + [1652943666.816581][34595:34600] CHIP:DMG: { + [1652943666.816600][34595:34600] CHIP:DMG: Endpoint = 0x1, + [1652943666.816617][34595:34600] CHIP:DMG: Cluster = 0x8, + [1652943666.816637][34595:34600] CHIP:DMG: Attribute = 0x0000_0011, + [1652943666.816653][34595:34600] CHIP:DMG: } + [1652943666.816676][34595:34600] CHIP:DMG: + [1652943666.816692][34595:34600] CHIP:DMG: StatusIB = + [1652943666.816710][34595:34600] CHIP:DMG: { + [1652943666.816727][34595:34600] CHIP:DMG: status = 0x00 (SUCCESS), + [1652943666.816744][34595:34600] CHIP:DMG: }, + disabled: true + + - label: + "DUT sends the Timed Request to the TH The Timed Request Message + should contain a timeout value in milliseconds. (Example - 200 + milliseconds) Force the TH to not send a response back to the DUT for + the received timed request." + verification: | + This is not testable in normal scenario, and needs to be tested as part of Unit test. disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_5_2.yaml b/src/app/tests/suites/certification/Test_TC_IDM_5_2.yaml index 9ad08c5d7c16b4..a12932cba10bfd 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_5_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_5_2.yaml @@ -25,19 +25,140 @@ tests: "TH sends a Timed Request Message with the timeout value set. (Example - 200 milliseconds)." verification: | - for below example command is verified by using write interaction ./chip-tool onoff on 1 1 --timedInteractionTimeoutMs 200 + + On TH + [1652944460.867007][34730:34735] CHIP:DMG: StatusResponseMessage = + [1652944460.867025][34730:34735] CHIP:DMG: { + [1652944460.867041][34730:34735] CHIP:DMG: Status = 0x00 (SUCCESS), + [1652944460.867058][34730:34735] CHIP:DMG: InteractionModelRevision = 1 + [1652944460.867073][34730:34735] CHIP:DMG: } + + On DUT + [1652944460.839395][8499:8499] CHIP:DMG: TimedRequestMessage = + [1652944460.839450][8499:8499] CHIP:DMG: { + [1652944460.839518][8499:8499] CHIP:DMG: TimeoutMs = 0x190, + [1652944460.839573][8499:8499] CHIP:DMG: InteractionModelRevision = 1 + [1652944460.839623][8499:8499] CHIP:DMG: } + + [1652944460.863502][8499:8499] CHIP:DMG: InvokeRequestMessage = + [1652944460.863587][8499:8499] CHIP:DMG: { + [1652944460.863644][8499:8499] CHIP:DMG: suppressResponse = false, + [1652944460.863729][8499:8499] CHIP:DMG: timedRequest = true, + [1652944460.863791][8499:8499] CHIP:DMG: InvokeRequests = + [1652944460.863883][8499:8499] CHIP:DMG: [ + [1652944460.863945][8499:8499] CHIP:DMG: CommandDataIB = + [1652944460.864038][8499:8499] CHIP:DMG: { + [1652944460.864108][8499:8499] CHIP:DMG: CommandPathIB = + [1652944460.864202][8499:8499] CHIP:DMG: { + [1652944460.864282][8499:8499] CHIP:DMG: EndpointId = 0x1, + [1652944460.864386][8499:8499] CHIP:DMG: ClusterId = 0x6, + [1652944460.864486][8499:8499] CHIP:DMG: CommandId = 0x1, + [1652944460.864564][8499:8499] CHIP:DMG: }, + [1652944460.864660][8499:8499] CHIP:DMG: + [1652944460.864729][8499:8499] CHIP:DMG: CommandData = + [1652944460.864948][8499:8499] CHIP:DMG: { + [1652944460.865032][8499:8499] CHIP:DMG: }, + [1652944460.865131][8499:8499] CHIP:DMG: }, + [1652944460.865346][8499:8499] CHIP:DMG: + [1652944460.865434][8499:8499] CHIP:DMG: ], + [1652944460.865509][8499:8499] CHIP:DMG: + [1652944460.865568][8499:8499] CHIP:DMG: InteractionModelRevision = 1 + [1652944460.865648][8499:8499] CHIP:DMG: }, disabled: true - label: - "TH sends a Timed Request Message with the timeout value set. (Example - - 200 milliseconds). Wait for the status response message to be - received. Wait for 5 seconds(Timer has expired) and then send a Write - Request Message to the DUT." + "TH sends a Timed Request Message(Timed Write Transaction) with the + timeout value set. (Example - 200 milliseconds). Wait for the status + response message to be received. Send the Write Request Message to the + DUT." + verification: | + ./chip-tool levelcontrol write on-level 1 1 1 --timedInteractionTimeoutMs 500 + On TH + [1652944714.550110][34757:34762] CHIP:DMG: StatusResponseMessage = + [1652944714.550129][34757:34762] CHIP:DMG: { + [1652944714.550144][34757:34762] CHIP:DMG: Status = 0x00 (SUCCESS), + [1652944714.550160][34757:34762] CHIP:DMG: InteractionModelRevision = 1 + [1652944714.550173][34757:34762] CHIP:DMG: } + + + [1652944714.558166][34757:34762] CHIP:DMG: WriteResponseMessage = + [1652944714.558183][34757:34762] CHIP:DMG: { + [1652944714.558198][34757:34762] CHIP:DMG: AttributeStatusIBs = + [1652944714.558225][34757:34762] CHIP:DMG: [ + [1652944714.558240][34757:34762] CHIP:DMG: AttributeStatusIB = + [1652944714.558259][34757:34762] CHIP:DMG: { + [1652944714.558274][34757:34762] CHIP:DMG: AttributePathIB = + [1652944714.558292][34757:34762] CHIP:DMG: { + [1652944714.558311][34757:34762] CHIP:DMG: Endpoint = 0x1, + [1652944714.558328][34757:34762] CHIP:DMG: Cluster = 0x8, + [1652944714.558347][34757:34762] CHIP:DMG: Attribute = 0x0000_0011, + [1652944714.558364][34757:34762] CHIP:DMG: } + [1652944714.558386][34757:34762] CHIP:DMG: + [1652944714.558404][34757:34762] CHIP:DMG: StatusIB = + [1652944714.558421][34757:34762] CHIP:DMG: { + [1652944714.558439][34757:34762] CHIP:DMG: status = 0x00 (SUCCESS), + [1652944714.558452][34757:34762] CHIP:DMG: }, + + + On DUT + [1652944714.526970][8499:8499] CHIP:DMG: WriteRequestMessage = + [1652944714.527020][8499:8499] CHIP:DMG: { + [1652944714.527053][8499:8499] CHIP:DMG: suppressResponse = false, + [1652944714.527092][8499:8499] CHIP:DMG: timedRequest = true, + [1652944714.527140][8499:8499] CHIP:DMG: AttributeDataIBs = + [1652944714.527185][8499:8499] CHIP:DMG: [ + [1652944714.527234][8499:8499] CHIP:DMG: AttributeDataIB = + [1652944714.527286][8499:8499] CHIP:DMG: { + [1652944714.527341][8499:8499] CHIP:DMG: AttributePathIB = + [1652944714.527411][8499:8499] CHIP:DMG: { + [1652944714.527463][8499:8499] CHIP:DMG: Endpoint = 0x1, + [1652944714.527525][8499:8499] CHIP:DMG: Cluster = 0x8, + [1652944714.527576][8499:8499] CHIP:DMG: Attribute = 0x0000_0011, + [1652944714.527636][8499:8499] CHIP:DMG: } + [1652944714.527701][8499:8499] CHIP:DMG: + [1652944714.527751][8499:8499] CHIP:DMG: Data = 1, + [1652944714.527801][8499:8499] CHIP:DMG: }, + [1652944714.527839][8499:8499] CHIP:DMG: + [1652944714.527950][8499:8499] CHIP:DMG: ], + [1652944714.527992][8499:8499] CHIP:DMG: + [1652944714.528033][8499:8499] CHIP:DMG: moreChunkedMessages = false, + [1652944714.528065][8499:8499] CHIP:DMG: InteractionModelRevision = 1 + [1652944714.528104][8499:8499] CHIP:DMG: }, + + + + ./chip-tool levelcontrol write on-level 1 1 1 + [1652945083.826161][34821:34826] CHIP:DMG: AttributePathIB = + [1652945083.826181][34821:34826] CHIP:DMG: { + [1652945083.826196][34821:34826] CHIP:DMG: Endpoint = 0x1, + [1652945083.826216][34821:34826] CHIP:DMG: Cluster = 0x8, + [1652945083.826233][34821:34826] CHIP:DMG: Attribute = 0x0000_0011, + [1652945083.826256][34821:34826] CHIP:DMG: } + [1652945083.826281][34821:34826] CHIP:DMG: + [1652945083.826297][34821:34826] CHIP:DMG: StatusIB = + [1652945083.826315][34821:34826] CHIP:DMG: { + [1652945083.826330][34821:34826] CHIP:DMG: status = 0x00 (SUCCESS), + [1652945083.826347][34821:34826] CHIP:DMG: }, + + + ./chip-tool levelcontrol read on-level 1 1 + [1652944956.222032][34790:34795] CHIP:DMG: SuppressResponse = true, + [1652944956.222047][34790:34795] CHIP:DMG: InteractionModelRevision = 1 + [1652944956.222061][34790:34795] CHIP:DMG: } + [1652944956.222195][34790:34795] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 2105467261 + [1652944956.222235][34790:34795] CHIP:TOO: on level: 1 + disabled: true + + - label: + "TH sends a Timed Request Message(Timed Invoke Transaction) with the + timeout value set. (Example - 200 milliseconds). Wait for the status + response message to be received. Wait for 5 seconds(Timer has expired) + and then send the Invoke Request Message to the DUT." verification: | here is the example command you can use - '' ./chip-tool onoff on 1 1 --repeat-delay-ms 5000 --timedInteractionTimeoutMs 200 + sudo ./chip-tool onoff on 1 1 --repeat-delay-ms 5000 --timedInteractionTimeoutMs 200 Verify we are getting status response and UNSUPPORTED_ACCESS from TH to DUT for above command @@ -63,4 +184,35 @@ tests: [1649686333.699528][3252:3257] CHIP:DMG: } [1649686333.699585][3252:3257] CHIP:IM: Received status response, status is 0x7e (UNSUPPORTED_ACCESS) [1649686333.699661][3252:3257] CHIP:TOO: Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) + + + On DUT-- + + [1653567025.194641][29848:29848] CHIP:EM: Handling via exchange: 9429r, Delegate: 0xaaaac09d1548 + [1653567025.194740][29848:29848] CHIP:DMG: TimedRequestMessage = + [1653567025.194789][29848:29848] CHIP:DMG: { + [1653567025.194832][29848:29848] CHIP:DMG: TimeoutMs = 0xc8, + [1653567025.194876][29848:29848] CHIP:DMG: InteractionModelRevision = 1 + [1653567025.194918][29848:29848] CHIP:DMG: } + [1653567025.194965][29848:29848] CHIP:DMG: Got Timed Request with timeout 200: handler 0xaaaaf627ce40 exchange 9429r + [1653567025.195037][29848:29848] CHIP:EM: Piggybacking Ack for MessageCounter:15941998 on exchange: 9429r + disabled: true + + - label: + "TH sends a Timed Request Message(Timed Write Transaction) with the + timeout value set. (Example - 200 milliseconds). Wait for the status + response message to be received. Wait for 5 seconds(Timer has expired) + and then send the Write Request Message to the DUT." + verification: | + ./chip-tool modeselect write on-mode 0 1 1 --repeat-delay-ms 1000 --timedInteractionTimeoutMs 500 + + [1654771611.106067][28715:28720] CHIP:DMG: WriteClient moving to [ResponseRe] + [1654771611.106112][28715:28720] CHIP:DMG: StatusResponseMessage = + [1654771611.106140][28715:28720] CHIP:DMG: { + [1654771611.106165][28715:28720] CHIP:DMG: Status = 0x7e (UNSUPPORTED_ACCESS), + [1654771611.106192][28715:28720] CHIP:DMG: InteractionModelRevision = 1 + [1654771611.106216][28715:28720] CHIP:DMG: } + [1654771611.106244][28715:28720] CHIP:IM: Received status response, status is 0x7e (UNSUPPORTED_ACCESS) + [1654771611.106280][28715:28720] CHIP:TOO: Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) + [1654771611.106303][28715:28720] CHIP:DMG: WriteClient moving to [AwaitingDe] disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_6_1.yaml b/src/app/tests/suites/certification/Test_TC_IDM_6_1.yaml index f096ea1ed8d8e8..b6be17faf589e5 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_6_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_6_1.yaml @@ -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: 19.8.1. [TC-IDM-6.1] Events Read Interaction from TH to DUT +name: 20.6.1. [TC-IDM-6.1] Events Read Interaction from TH to DUT config: nodeId: 0x12344321 @@ -27,9 +27,46 @@ tests: specific node i.e. [Node = Specific, Endpoint = Specific, Cluster = Specific, Event = Specific]." verification: | - First launch DUT and do commissioning with TH and kill DUT by passing pid - Then read the event by id - ./chip-tool softwarediagnostics read-by-id 0x0 1 0 + sudo ./chip-tool basic read-event start-up 1 0 + + [1653051591.078855][11664:11669] CHIP:DMG: ReportDataMessage = + [1653051591.078885][11664:11669] CHIP:DMG: { + [1653051591.078902][11664:11669] CHIP:DMG: EventReportIBs = + [1653051591.078940][11664:11669] CHIP:DMG: [ + [1653051591.078963][11664:11669] CHIP:DMG: EventReportIB = + [1653051591.079032][11664:11669] CHIP:DMG: { + [1653051591.079061][11664:11669] CHIP:DMG: EventDataIB = + [1653051591.079090][11664:11669] CHIP:DMG: { + [1653051591.079114][11664:11669] CHIP:DMG: EventPath = + [1653051591.079140][11664:11669] CHIP:DMG: { + [1653051591.079167][11664:11669] CHIP:DMG: Endpoint = 0x0, + [1653051591.079196][11664:11669] CHIP:DMG: Cluster = 0x28, + [1653051591.079222][11664:11669] CHIP:DMG: Event = 0x0, + [1653051591.079244][11664:11669] CHIP:DMG: }, + [1653051591.079273][11664:11669] CHIP:DMG: + [1653051591.079298][11664:11669] CHIP:DMG: EventNumber = 0x0, + [1653051591.079326][11664:11669] CHIP:DMG: PriorityLevel = 0x2, + [1653051591.079353][11664:11669] CHIP:DMG: SystemTimestamp = 0x1f991, + [1653051591.079378][11664:11669] CHIP:DMG: EventData = + [1653051591.079404][11664:11669] CHIP:DMG: { + [1653051591.079434][11664:11669] CHIP:DMG: 0x0 = 1, + [1653051591.079461][11664:11669] CHIP:DMG: }, + [1653051591.079485][11664:11669] CHIP:DMG: }, + [1653051591.079522][11664:11669] CHIP:DMG: + [1653051591.079546][11664:11669] CHIP:DMG: }, + [1653051591.079584][11664:11669] CHIP:DMG: + [1653051591.079607][11664:11669] CHIP:DMG: ], + [1653051591.079644][11664:11669] CHIP:DMG: + [1653051591.079670][11664:11669] CHIP:DMG: SuppressResponse = true, + [1653051591.079694][11664:11669] CHIP:DMG: InteractionModelRevision = 1 + [1653051591.079715][11664:11669] CHIP:DMG: } + [1653051591.079933][11664:11669] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1653051591.079952][11664:11669] CHIP:TOO: Event number: 0 + [1653051591.079966][11664:11669] CHIP:TOO: Priority: Critical + [1653051591.079979][11664:11669] CHIP:TOO: Timestamp: 129425 + [1653051591.080025][11664:11669] CHIP:TOO: StartUp: { + [1653051591.080046][11664:11669] CHIP:TOO: SoftwareVersion: 1 + [1653051591.080062][11664:11669] CHIP:TOO: } disabled: true - label: @@ -40,7 +77,46 @@ tests: verification: | In case of chip tool, here is an example command to use - ./chip-tool any read-event-by-id 0x0036 0x0FFFFFFFF 1 0 + ./chip-tool any read-event-by-id 0x0028 0x0FFFFFFFF 1 0 + + [1652420332.235228][6031:6036] CHIP:DMG: ReportDataMessage = + [1652420332.235259][6031:6036] CHIP:DMG: { + [1652420332.235283][6031:6036] CHIP:DMG: EventReportIBs = + [1652420332.235319][6031:6036] CHIP:DMG: [ + [1652420332.235347][6031:6036] CHIP:DMG: EventReportIB = + [1652420332.235389][6031:6036] CHIP:DMG: { + [1652420332.235418][6031:6036] CHIP:DMG: EventDataIB = + [1652420332.235455][6031:6036] CHIP:DMG: { + [1652420332.235488][6031:6036] CHIP:DMG: EventPath = + [1652420332.235525][6031:6036] CHIP:DMG: { + [1652420332.235563][6031:6036] CHIP:DMG: Endpoint = 0x0, + [1652420332.235603][6031:6036] CHIP:DMG: Cluster = 0x28, + [1652420332.235642][6031:6036] CHIP:DMG: Event = 0x0, + [1652420332.235680][6031:6036] CHIP:DMG: }, + [1652420332.235719][6031:6036] CHIP:DMG: + [1652420332.235755][6031:6036] CHIP:DMG: EventNumber = 0x0, + [1652420332.235794][6031:6036] CHIP:DMG: PriorityLevel = 0x2, + [1652420332.235835][6031:6036] CHIP:DMG: SystemTimestamp = 0x3292114, + [1652420332.235871][6031:6036] CHIP:DMG: EventData = + [1652420332.235911][6031:6036] CHIP:DMG: { + [1652420332.235953][6031:6036] CHIP:DMG: 0x0 = 1, + [1652420332.235992][6031:6036] CHIP:DMG: }, + [1652420332.236031][6031:6036] CHIP:DMG: }, + [1652420332.236071][6031:6036] CHIP:DMG: + [1652420332.236101][6031:6036] CHIP:DMG: }, + [1652420332.236139][6031:6036] CHIP:DMG: + [1652420332.236166][6031:6036] CHIP:DMG: ], + [1652420332.236201][6031:6036] CHIP:DMG: + [1652420332.236230][6031:6036] CHIP:DMG: SuppressResponse = true, + [1652420332.236258][6031:6036] CHIP:DMG: InteractionModelRevision = 1 + [1652420332.236285][6031:6036] CHIP:DMG: } + [1652420332.236459][6031:6036] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1652420332.236489][6031:6036] CHIP:TOO: Event number: 0 + [1652420332.236514][6031:6036] CHIP:TOO: Priority: Critical + [1652420332.236539][6031:6036] CHIP:TOO: Timestamp: 53027092 + [1652420332.236600][6031:6036] CHIP:TOO: StartUp: { + [1652420332.236639][6031:6036] CHIP:TOO: SoftwareVersion: 1 + [1652420332.236667][6031:6036] CHIP:TOO: } disabled: true - label: @@ -52,6 +128,38 @@ tests: In case of chip tool, here is an example command to use ./chip-tool any read-event-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0 + [1651584987.671229][2932:2937] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1651584987.671263][2932:2937] CHIP:TOO: Event number: 0 + [1651584987.671294][2932:2937] CHIP:TOO: Priority: Critical + [1651584987.671325][2932:2937] CHIP:TOO: Timestamp: 2620760 + [1651584987.671367][2932:2937] CHIP:TOO: StartUp: { + [1651584987.671403][2932:2937] CHIP:TOO: SoftwareVersion: 1 + [1651584987.671431][2932:2937] CHIP:TOO: } + [1651584987.671549][2932:2937] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Event 0x0000_0003 + [1651584987.671580][2932:2937] CHIP:TOO: Event number: 1 + [1651584987.671611][2932:2937] CHIP:TOO: Priority: Critical + [1651584987.671641][2932:2937] CHIP:TOO: Timestamp: 2620761 + [1651584987.671680][2932:2937] CHIP:TOO: BootReason: { + [1651584987.671713][2932:2937] CHIP:TOO: BootReason: 0 + [1651584987.671743][2932:2937] CHIP:TOO: } + [1651584987.671890][2932:2937] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0000 + [1651584987.671922][2932:2937] CHIP:TOO: Event number: 2 + [1651584987.671952][2932:2937] CHIP:TOO: Priority: Info + [1651584987.671982][2932:2937] CHIP:TOO: Timestamp: 2685894 + [1651584987.672049][2932:2937] CHIP:TOO: AccessControlEntryChanged: { + [1651584987.672083][2932:2937] CHIP:TOO: AdminNodeID: null + [1651584987.672114][2932:2937] CHIP:TOO: AdminPasscodeID: 0 + [1651584987.672145][2932:2937] CHIP:TOO: ChangeType: 1 + [1651584987.672176][2932:2937] CHIP:TOO: LatestValue: { + [1651584987.672205][2932:2937] CHIP:TOO: Privilege: 5 + [1651584987.672235][2932:2937] CHIP:TOO: AuthMode: 2 + [1651584987.672272][2932:2937] CHIP:TOO: Subjects: 1 entries + [1651584987.672310][2932:2937] CHIP:TOO: [1]: 112233 + [1651584987.672344][2932:2937] CHIP:TOO: Targets: null + [1651584987.672375][2932:2937] CHIP:TOO: FabricIndex: 1 + [1651584987.672405][2932:2937] CHIP:TOO: } + [1651584987.672436][2932:2937] CHIP:TOO: AdminFabricIndex: 1 + [1651584987.672467][2932:2937] CHIP:TOO: } disabled: true - label: @@ -60,9 +168,46 @@ tests: node i.e. [Node = Specific, Endpoint = Wildcard, Cluster = Specific, Event = Specific]." verification: | - First launch DUT and do commissioning with TH and kill DUT by passing pid - Then read the event by id - ./chip-tool softwarediagnostics read-by-id 0x0 1 0xFFFF + sudo ./chip-tool basic read-event start-up 1 0xFFFF + + [1653051642.744722][11676:11681] CHIP:DMG: ReportDataMessage = + [1653051642.744736][11676:11681] CHIP:DMG: { + [1653051642.744745][11676:11681] CHIP:DMG: EventReportIBs = + [1653051642.744765][11676:11681] CHIP:DMG: [ + [1653051642.744778][11676:11681] CHIP:DMG: EventReportIB = + [1653051642.744800][11676:11681] CHIP:DMG: { + [1653051642.744810][11676:11681] CHIP:DMG: EventDataIB = + [1653051642.744820][11676:11681] CHIP:DMG: { + [1653051642.744830][11676:11681] CHIP:DMG: EventPath = + [1653051642.744838][11676:11681] CHIP:DMG: { + [1653051642.744850][11676:11681] CHIP:DMG: Endpoint = 0x0, + [1653051642.744861][11676:11681] CHIP:DMG: Cluster = 0x28, + [1653051642.744871][11676:11681] CHIP:DMG: Event = 0x0, + [1653051642.744880][11676:11681] CHIP:DMG: }, + [1653051642.744892][11676:11681] CHIP:DMG: + [1653051642.744902][11676:11681] CHIP:DMG: EventNumber = 0x0, + [1653051642.744913][11676:11681] CHIP:DMG: PriorityLevel = 0x2, + [1653051642.744923][11676:11681] CHIP:DMG: SystemTimestamp = 0x1f991, + [1653051642.744933][11676:11681] CHIP:DMG: EventData = + [1653051642.744943][11676:11681] CHIP:DMG: { + [1653051642.744954][11676:11681] CHIP:DMG: 0x0 = 1, + [1653051642.744965][11676:11681] CHIP:DMG: }, + [1653051642.744974][11676:11681] CHIP:DMG: }, + [1653051642.744987][11676:11681] CHIP:DMG: + [1653051642.744996][11676:11681] CHIP:DMG: }, + [1653051642.745010][11676:11681] CHIP:DMG: + [1653051642.745018][11676:11681] CHIP:DMG: ], + [1653051642.745033][11676:11681] CHIP:DMG: + [1653051642.745042][11676:11681] CHIP:DMG: SuppressResponse = true, + [1653051642.745051][11676:11681] CHIP:DMG: InteractionModelRevision = 1 + [1653051642.745059][11676:11681] CHIP:DMG: } + [1653051642.745158][11676:11681] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1653051642.745170][11676:11681] CHIP:TOO: Event number: 0 + [1653051642.745178][11676:11681] CHIP:TOO: Priority: Critical + [1653051642.745186][11676:11681] CHIP:TOO: Timestamp: 129425 + [1653051642.745216][11676:11681] CHIP:TOO: StartUp: { + [1653051642.745228][11676:11681] CHIP:TOO: SoftwareVersion: 1 + [1653051642.745238][11676:11681] CHIP:TOO: } disabled: true - label: @@ -71,9 +216,45 @@ tests: i.e. [Node = Specific, Endpoint = Wildcard, Cluster = Specific, Event = Wildcard]." verification: | - In case of chip tool, here is an example command to use - - ./chip-tool any read-event-by-id 0x0033 0x0FFFFFFFF 1 0xFFFF + sudo ./chip-tool basic read-event-by-id 0xFFFFFFFF 1 0xFFFF + [1653051699.893049][11691:11696] CHIP:DMG: ReportDataMessage = + [1653051699.893068][11691:11696] CHIP:DMG: { + [1653051699.893079][11691:11696] CHIP:DMG: EventReportIBs = + [1653051699.893102][11691:11696] CHIP:DMG: [ + [1653051699.893114][11691:11696] CHIP:DMG: EventReportIB = + [1653051699.893146][11691:11696] CHIP:DMG: { + [1653051699.893161][11691:11696] CHIP:DMG: EventDataIB = + [1653051699.893180][11691:11696] CHIP:DMG: { + [1653051699.893196][11691:11696] CHIP:DMG: EventPath = + [1653051699.893217][11691:11696] CHIP:DMG: { + [1653051699.893236][11691:11696] CHIP:DMG: Endpoint = 0x0, + [1653051699.893255][11691:11696] CHIP:DMG: Cluster = 0x28, + [1653051699.893274][11691:11696] CHIP:DMG: Event = 0x0, + [1653051699.893291][11691:11696] CHIP:DMG: }, + [1653051699.893309][11691:11696] CHIP:DMG: + [1653051699.893327][11691:11696] CHIP:DMG: EventNumber = 0x0, + [1653051699.893355][11691:11696] CHIP:DMG: PriorityLevel = 0x2, + [1653051699.893375][11691:11696] CHIP:DMG: SystemTimestamp = 0x1f991, + [1653051699.893393][11691:11696] CHIP:DMG: EventData = + [1653051699.893412][11691:11696] CHIP:DMG: { + [1653051699.893433][11691:11696] CHIP:DMG: 0x0 = 1, + [1653051699.893452][11691:11696] CHIP:DMG: }, + [1653051699.893469][11691:11696] CHIP:DMG: }, + [1653051699.893493][11691:11696] CHIP:DMG: + [1653051699.893509][11691:11696] CHIP:DMG: }, + [1653051699.893534][11691:11696] CHIP:DMG: + [1653051699.893549][11691:11696] CHIP:DMG: ], + [1653051699.893574][11691:11696] CHIP:DMG: + [1653051699.893591][11691:11696] CHIP:DMG: SuppressResponse = true, + [1653051699.893608][11691:11696] CHIP:DMG: InteractionModelRevision = 1 + [1653051699.893623][11691:11696] CHIP:DMG: } + [1653051699.893783][11691:11696] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1653051699.893803][11691:11696] CHIP:TOO: Event number: 0 + [1653051699.893818][11691:11696] CHIP:TOO: Priority: Critical + [1653051699.893833][11691:11696] CHIP:TOO: Timestamp: 129425 + [1653051699.893884][11691:11696] CHIP:TOO: StartUp: { + [1653051699.893906][11691:11696] CHIP:TOO: SoftwareVersion: 1 + [1653051699.893923][11691:11696] CHIP:TOO: } disabled: true - label: @@ -82,16 +263,135 @@ tests: [Node = Specific, Endpoint = Wildcard, Cluster = Wildcard, Event = Wildcard]." verification: | - In case of chip tool, here is an example command to use + sudo ./chip-tool any read-event-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0xFFFF - sudo ./chip-tool any read-event-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0xFFFF + [1653051769.144914][11706:11711] CHIP:DMG: ReportDataMessage = + [1653051769.144939][11706:11711] CHIP:DMG: { + [1653051769.144954][11706:11711] CHIP:DMG: EventReportIBs = + [1653051769.144982][11706:11711] CHIP:DMG: [ + [1653051769.144998][11706:11711] CHIP:DMG: EventReportIB = + [1653051769.145026][11706:11711] CHIP:DMG: { + [1653051769.145042][11706:11711] CHIP:DMG: EventDataIB = + [1653051769.145063][11706:11711] CHIP:DMG: { + [1653051769.145081][11706:11711] CHIP:DMG: EventPath = + [1653051769.145137][11706:11711] CHIP:DMG: { + [1653051769.145168][11706:11711] CHIP:DMG: Endpoint = 0x0, + [1653051769.145197][11706:11711] CHIP:DMG: Cluster = 0x28, + [1653051769.145227][11706:11711] CHIP:DMG: Event = 0x0, + [1653051769.145251][11706:11711] CHIP:DMG: }, + [1653051769.145273][11706:11711] CHIP:DMG: + [1653051769.145292][11706:11711] CHIP:DMG: EventNumber = 0x0, + [1653051769.145311][11706:11711] CHIP:DMG: PriorityLevel = 0x2, + [1653051769.145331][11706:11711] CHIP:DMG: SystemTimestamp = 0x1f991, + [1653051769.145349][11706:11711] CHIP:DMG: EventData = + [1653051769.145369][11706:11711] CHIP:DMG: { + [1653051769.145392][11706:11711] CHIP:DMG: 0x0 = 1, + [1653051769.145412][11706:11711] CHIP:DMG: }, + [1653051769.145429][11706:11711] CHIP:DMG: }, + [1653051769.145453][11706:11711] CHIP:DMG: + [1653051769.145469][11706:11711] CHIP:DMG: }, + [1653051769.145512][11706:11711] CHIP:DMG: + [1653051769.145536][11706:11711] CHIP:DMG: EventReportIB = + [1653051769.145574][11706:11711] CHIP:DMG: { + [1653051769.145592][11706:11711] CHIP:DMG: EventDataIB = + [1653051769.145610][11706:11711] CHIP:DMG: { + [1653051769.145628][11706:11711] CHIP:DMG: EventPath = + [1653051769.145646][11706:11711] CHIP:DMG: { + [1653051769.145667][11706:11711] CHIP:DMG: Endpoint = 0x0, + [1653051769.145686][11706:11711] CHIP:DMG: Cluster = 0x33, + [1653051769.145706][11706:11711] CHIP:DMG: Event = 0x3, + [1653051769.145724][11706:11711] CHIP:DMG: }, + [1653051769.145746][11706:11711] CHIP:DMG: + [1653051769.145764][11706:11711] CHIP:DMG: EventNumber = 0x1, + [1653051769.145783][11706:11711] CHIP:DMG: PriorityLevel = 0x2, + [1653051769.145808][11706:11711] CHIP:DMG: DeltaSystemTimestamp = 0x0, + [1653051769.145833][11706:11711] CHIP:DMG: EventData = + [1653051769.145858][11706:11711] CHIP:DMG: { + [1653051769.145878][11706:11711] CHIP:DMG: 0x0 = 0, + [1653051769.145896][11706:11711] CHIP:DMG: }, + [1653051769.145914][11706:11711] CHIP:DMG: }, + [1653051769.145951][11706:11711] CHIP:DMG: + [1653051769.145972][11706:11711] CHIP:DMG: }, + [1653051769.146063][11706:11711] CHIP:DMG: + [1653051769.146084][11706:11711] CHIP:DMG: EventReportIB = + [1653051769.146132][11706:11711] CHIP:DMG: { + [1653051769.146150][11706:11711] CHIP:DMG: EventDataIB = + [1653051769.146174][11706:11711] CHIP:DMG: { + [1653051769.146192][11706:11711] CHIP:DMG: EventPath = + [1653051769.146213][11706:11711] CHIP:DMG: { + [1653051769.146232][11706:11711] CHIP:DMG: Endpoint = 0x0, + [1653051769.146251][11706:11711] CHIP:DMG: Cluster = 0x1f, + [1653051769.146271][11706:11711] CHIP:DMG: Event = 0x0, + [1653051769.146289][11706:11711] CHIP:DMG: }, + [1653051769.146318][11706:11711] CHIP:DMG: + [1653051769.146349][11706:11711] CHIP:DMG: EventNumber = 0x2, + [1653051769.146374][11706:11711] CHIP:DMG: PriorityLevel = 0x1, + [1653051769.146406][11706:11711] CHIP:DMG: DeltaSystemTimestamp = 0x11dd9, + [1653051769.146427][11706:11711] CHIP:DMG: EventData = + [1653051769.146452][11706:11711] CHIP:DMG: { + [1653051769.146483][11706:11711] CHIP:DMG: 0x1 = NULL + [1653051769.146511][11706:11711] CHIP:DMG: 0x2 = 0, + [1653051769.146539][11706:11711] CHIP:DMG: 0x3 = 1, + [1653051769.146563][11706:11711] CHIP:DMG: 0x4 = + [1653051769.146589][11706:11711] CHIP:DMG: { + [1653051769.146614][11706:11711] CHIP:DMG: 0x1 = 5, + [1653051769.146642][11706:11711] CHIP:DMG: 0x2 = 2, + [1653051769.146671][11706:11711] CHIP:DMG: 0x3 = [ + [1653051769.146700][11706:11711] CHIP:DMG: 112233, + [1653051769.146739][11706:11711] CHIP:DMG: ], + [1653051769.146768][11706:11711] CHIP:DMG: 0x4 = NULL + [1653051769.146791][11706:11711] CHIP:DMG: 0xfe = 1, + [1653051769.146811][11706:11711] CHIP:DMG: }, + [1653051769.146830][11706:11711] CHIP:DMG: 0xfe = 1, + [1653051769.146859][11706:11711] CHIP:DMG: }, + [1653051769.146883][11706:11711] CHIP:DMG: }, + [1653051769.146977][11706:11711] CHIP:DMG: + [1653051769.147031][11706:11711] CHIP:DMG: }, + [1653051769.147072][11706:11711] CHIP:DMG: + [1653051769.147092][11706:11711] CHIP:DMG: ], + [1653051769.147155][11706:11711] CHIP:DMG: + [1653051769.147181][11706:11711] CHIP:DMG: SuppressResponse = true, + [1653051769.147202][11706:11711] CHIP:DMG: InteractionModelRevision = 1 + [1653051769.147222][11706:11711] CHIP:DMG: } + [1653051769.147542][11706:11711] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1653051769.147576][11706:11711] CHIP:TOO: Event number: 0 + [1653051769.147593][11706:11711] CHIP:TOO: Priority: Critical + [1653051769.147607][11706:11711] CHIP:TOO: Timestamp: 129425 + [1653051769.147672][11706:11711] CHIP:TOO: StartUp: { + [1653051769.147705][11706:11711] CHIP:TOO: SoftwareVersion: 1 + [1653051769.147724][11706:11711] CHIP:TOO: } + [1653051769.147857][11706:11711] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Event 0x0000_0003 + [1653051769.147886][11706:11711] CHIP:TOO: Event number: 1 + [1653051769.147902][11706:11711] CHIP:TOO: Priority: Critical + [1653051769.147916][11706:11711] CHIP:TOO: Timestamp: 129425 + [1653051769.147962][11706:11711] CHIP:TOO: BootReason: { + [1653051769.147991][11706:11711] CHIP:TOO: BootReason: 0 + [1653051769.148014][11706:11711] CHIP:TOO: } + [1653051769.148207][11706:11711] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0000 + [1653051769.148236][11706:11711] CHIP:TOO: Event number: 2 + [1653051769.148255][11706:11711] CHIP:TOO: Priority: Info + [1653051769.148274][11706:11711] CHIP:TOO: Timestamp: 202602 + [1653051769.148453][11706:11711] CHIP:TOO: AccessControlEntryChanged: { + [1653051769.148488][11706:11711] CHIP:TOO: AdminNodeID: null + [1653051769.148514][11706:11711] CHIP:TOO: AdminPasscodeID: 0 + [1653051769.148539][11706:11711] CHIP:TOO: ChangeType: 1 + [1653051769.148559][11706:11711] CHIP:TOO: LatestValue: { + [1653051769.148581][11706:11711] CHIP:TOO: Privilege: 5 + [1653051769.148603][11706:11711] CHIP:TOO: AuthMode: 2 + [1653051769.148631][11706:11711] CHIP:TOO: Subjects: 1 entries + [1653051769.148664][11706:11711] CHIP:TOO: [1]: 112233 + [1653051769.148691][11706:11711] CHIP:TOO: Targets: null + [1653051769.148714][11706:11711] CHIP:TOO: FabricIndex: 1 + [1653051769.148736][11706:11711] CHIP:TOO: } + [1653051769.148759][11706:11711] CHIP:TOO: AdminFabricIndex: 1 + [1653051769.148781][11706:11711] CHIP:TOO: } disabled: true - label: "TH sends Read Request Message to DUT with EventRequests set to path which indicates a cluster event that is not supported." verification: | - + cannot be executed with V1.0 SDK. disabled: true - label: @@ -99,7 +399,37 @@ tests: which requires a privilege that is not granted for the cluster in the path." verification: | - Unsupported in TE8 - Out of scope + ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1234], "targets": null}]' 1 0 + ./chip-tool any read-event-by-id 0x28 0 1 0 + [1653054249.514825][12265:12270] CHIP:DMG: ReportDataMessage = + [1653054249.514833][12265:12270] CHIP:DMG: { + [1653054249.514840][12265:12270] CHIP:DMG: EventReportIBs = + [1653054249.514851][12265:12270] CHIP:DMG: [ + [1653054249.514858][12265:12270] CHIP:DMG: EventReportIB = + [1653054249.514868][12265:12270] CHIP:DMG: { + [1653054249.514876][12265:12270] CHIP:DMG: EventStatusIB = + [1653054249.514885][12265:12270] CHIP:DMG: { + [1653054249.514892][12265:12270] CHIP:DMG: EventPath = + [1653054249.514901][12265:12270] CHIP:DMG: { + [1653054249.514910][12265:12270] CHIP:DMG: Endpoint = 0x0, + [1653054249.514920][12265:12270] CHIP:DMG: Cluster = 0x28, + [1653054249.514928][12265:12270] CHIP:DMG: Event = 0x0, + [1653054249.514939][12265:12270] CHIP:DMG: }, + [1653054249.514950][12265:12270] CHIP:DMG: + [1653054249.514957][12265:12270] CHIP:DMG: StatusIB = + [1653054249.514966][12265:12270] CHIP:DMG: { + [1653054249.514974][12265:12270] CHIP:DMG: status = 0x7e (UNSUPPORTED_ACCESS), + [1653054249.514982][12265:12270] CHIP:DMG: }, + [1653054249.515021][12265:12270] CHIP:DMG: + [1653054249.515031][12265:12270] CHIP:DMG: }, + [1653054249.515041][12265:12270] CHIP:DMG: + [1653054249.515048][12265:12270] CHIP:DMG: }, + [1653054249.515058][12265:12270] CHIP:DMG: + [1653054249.515065][12265:12270] CHIP:DMG: ], + [1653054249.515076][12265:12270] CHIP:DMG: + [1653054249.515083][12265:12270] CHIP:DMG: SuppressResponse = true, + [1653054249.515090][12265:12270] CHIP:DMG: InteractionModelRevision = 1 + [1653054249.515102][12265:12270] CHIP:DMG: } disabled: true - label: @@ -107,29 +437,92 @@ tests: Wildcard path where reading an event in the path requires a privilege that is not granted for the cluster in the path." verification: | - + ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1234], "targets": null}]' 1 0 + ./chip-tool any read-event-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0xFFFF + [1653054297.608259][12300:12305] CHIP:DMG: ReportDataMessage = + [1653054297.608278][12300:12305] CHIP:DMG: { + [1653054297.608292][12300:12305] CHIP:DMG: SuppressResponse = true, + [1653054297.608306][12300:12305] CHIP:DMG: InteractionModelRevision = 1 + [1653054297.608317][12300:12305] CHIP:DMG: } disabled: true - label: - "TH 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." + "TH sends a Read Request Message to the DUT to read back events. Note + down the largest event number received in the report data message sent + back from the DUT. TH sends Read Request Message to DUT with the + EventMin field set to a number less than what was received in the + previous step." verification: | + ./chip-tool softwarediagnostics read-by-id 0x0 1 0 + [1651583857.832820][2932:2937] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Attribute 0x0000_0000 DataVersion: 440941735 + [1651583857.832964][2932:2937] CHIP:TOO: ThreadMetrics: 6 entries + [1651583857.833044][2932:2937] CHIP:TOO: [1]: { + [1651583857.833093][2932:2937] CHIP:TOO: Id: 2357 + [1651583857.833125][2932:2937] CHIP:TOO: Name: 2357 + [1651583857.833157][2932:2937] CHIP:TOO: StackFreeCurrent: 0 + [1651583857.833188][2932:2937] CHIP:TOO: StackFreeMinimum: 0 + [1651583857.833219][2932:2937] CHIP:TOO: StackSize: 0 + [1651583857.833250][2932:2937] CHIP:TOO: } + [1651583857.833292][2932:2937] CHIP:TOO: [2]: { + [1651583857.833324][2932:2937] CHIP:TOO: Id: 2356 + [1651583857.833353][2932:2937] CHIP:TOO: Name: 2356 + [1651583857.833382][2932:2937] CHIP:TOO: StackFreeCurrent: 0 + [1651583857.833412][2932:2937] CHIP:TOO: StackFreeMinimum: 0 + [1651583857.833442][2932:2937] CHIP:TOO: StackSize: 0 + [1651583857.833471][2932:2937] CHIP:TOO: } + [1651583857.833511][2932:2937] CHIP:TOO: [3]: { + [1651583857.833624][2932:2937] CHIP:TOO: Id: 2355 + [1651583857.833657][2932:2937] CHIP:TOO: Name: 2355 + [1651583857.833687][2932:2937] CHIP:TOO: StackFreeCurrent: 0 + [1651583857.833718][2932:2937] CHIP:TOO: StackFreeMinimum: 0 + [1651583857.833748][2932:2937] CHIP:TOO: StackSize: 0 + [1651583857.833777][2932:2937] CHIP:TOO: } + [1651583857.833819][2932:2937] CHIP:TOO: [4]: { + [1651583857.833851][2932:2937] CHIP:TOO: Id: 2354 + [1651583857.833880][2932:2937] CHIP:TOO: Name: 2354 + [1651583857.833909][2932:2937] CHIP:TOO: StackFreeCurrent: 0 + [1651583857.833939][2932:2937] CHIP:TOO: StackFreeMinimum: 0 + [1651583857.833969][2932:2937] CHIP:TOO: StackSize: 0 + [1651583857.833998][2932:2937] CHIP:TOO: } + [1651583857.834037][2932:2937] CHIP:TOO: [5]: { + [1651583857.834068][2932:2937] CHIP:TOO: Id: 2353 + [1651583857.834097][2932:2937] CHIP:TOO: Name: 2353 + [1651583857.834126][2932:2937] CHIP:TOO: StackFreeCurrent: 0 + [1651583857.834156][2932:2937] CHIP:TOO: StackFreeMinimum: 0 + [1651583857.834186][2932:2937] CHIP:TOO: StackSize: 0 + [1651583857.834215][2932:2937] CHIP:TOO: } + [1651583857.834254][2932:2937] CHIP:TOO: [6]: { + [1651583857.834284][2932:2937] CHIP:TOO: Id: 2352 + [1651583857.834313][2932:2937] CHIP:TOO: Name: 2352 + [1651583857.834343][2932:2937] CHIP:TOO: StackFreeCurrent: 0 + [1651583857.834372][2932:2937] CHIP:TOO: StackFreeMinimum: 0 + [1651583857.834402][2932:2937] CHIP:TOO: StackSize: 0 + [1651583857.834431][2932:2937] CHIP:TOO: } disabled: true - label: - "TH sends Read Request Message to DUT with EventFilterIB Node - information field matching the node indicated in the path and EventMin - field." + "TH sends a Read Request Message to the DUT to read back events. Note + down the largest event number received in the report data message sent + back from the DUT. TH sends Read Request Message to DUT with the + EventMin field set to a number much greater than what was received in + the previous step." verification: | + sudo ./chip-tool basic read-event start-up 1 0 --event-min 131073 + + [1650622225.700153][3069:3074] CHIP:DMG: ReportDataMessage = + [1650622225.700193][3069:3074] CHIP:DMG: { + [1650622225.700227][3069:3074] CHIP:DMG: SuppressResponse = true, + [1650622225.700257][3069:3074] CHIP:DMG: InteractionModelRevision = 1 + [1650622225.700285][3069:3074] CHIP:DMG: } disabled: true - label: - "TH sends Read Request Message to DUT with EventFilterIB Node - information field matching the node indicated in the path and the - event number is less than the EventMin field." + "[Testing Chunked Event Data] TH sends Read Request Message to DUT + with EventRequests set to all events so as to create a very large + event data. For every chunked data message received, DUT sends a + status response." verification: | - + https://github.com/CHIP-Specifications/chip-test-plans/issues/1365 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_6_2.yaml b/src/app/tests/suites/certification/Test_TC_IDM_6_2.yaml index ad34485727464a..9ecfc1b4c540d8 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_6_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_6_2.yaml @@ -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: 19.8.2. [TC-IDM-6.2] Events Subscribe Interaction from TH to DUT +name: 20.6.2. [TC-IDM-6.2] Events Subscribe Interaction from TH to DUT config: nodeId: 0x12344321 @@ -29,7 +29,70 @@ tests: verification: | In case of chip tool, here is an example command to use - sudo ./chip-tool any subscribe-event-by-id 0x0033 0x01 0 100 0 1 1 + sudo ./chip-tool any subscribe-event-by-id 0x0033 0x01 0 100 1 1 + on TH + [1651585153.535829][2998:3003] CHIP:DMG: ReportDataMessage = + [1651585153.535860][2998:3003] CHIP:DMG: { + [1651585153.535888][2998:3003] CHIP:DMG: SubscriptionId = 0x2e08688819c6e7af, + [1651585153.535918][2998:3003] CHIP:DMG: InteractionModelRevision = 1 + [1651585153.535945][2998:3003] CHIP:DMG: } + [1651585153.535990][2998:3003] CHIP:DMG: MoveToState ReadClient[0xffff98002e10]: Moving to [AwaitingSu] + [1651585153.536039][2998:3003] CHIP:EM: Piggybacking Ack for MessageCounter:12695913 on exchange: 56366i + [1651585153.536099][2998:3003] CHIP:IN: Prepared secure message 0xaaaad8552488 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 56366i with MessageCounter:12866229. + [1651585153.536139][2998:3003] CHIP:IN: Sending encrypted msg 0xaaaad8552488 with MessageCounter:12866229 to 0x0000000000000001 (1) at monotonic time: 00000000005716CD msec + [1651585153.537541][2998:3003] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:12695914 on exchange 56366i + [1651585153.537579][2998:3003] CHIP:EM: Found matching exchange: 56366i, Delegate: 0xffff98002e10 + [1651585153.537614][2998:3003] CHIP:EM: Rxd Ack; Removing MessageCounter:12866229 from Retrans Table on exchange 56366i + [1651585153.537641][2998:3003] CHIP:EM: Removed CHIP MessageCounter:12866229 from RetransTable on exchange 56366i + [1651585153.537688][2998:3003] CHIP:DMG: SubscribeResponseMessage = + [1651585153.537718][2998:3003] CHIP:DMG: { + [1651585153.537749][2998:3003] CHIP:DMG: SubscriptionId = 0x2e08688819c6e7af, + [1651585153.537805][2998:3003] CHIP:DMG: MinIntervalFloorSeconds = 0x0, + [1651585153.537861][2998:3003] CHIP:DMG: MaxIntervalCeilingSeconds = 0x64, + [1651585153.537916][2998:3003] CHIP:DMG: InteractionModelRevision = 1 + [1651585153.537967][2998:3003] CHIP:DMG: } + + + DUT side + [1651585153.529075][2352:2352] CHIP:DMG: SubscribeRequestMessage = + [1651585153.529112][2352:2352] CHIP:DMG: { + [1651585153.529158][2352:2352] CHIP:DMG: KeepSubscriptions = false, + [1651585153.529193][2352:2352] CHIP:DMG: MinIntervalFloorSeconds = 0x0, + [1651585153.529228][2352:2352] CHIP:DMG: MaxIntervalCeilingSeconds = 0x64, + [1651585153.529275][2352:2352] CHIP:DMG: EventPathIBs = + [1651585153.529311][2352:2352] CHIP:DMG: [ + [1651585153.529355][2352:2352] CHIP:DMG: EventPath = + [1651585153.529395][2352:2352] CHIP:DMG: { + [1651585153.529502][2352:2352] CHIP:DMG: Endpoint = 0x1, + [1651585153.529560][2352:2352] CHIP:DMG: Cluster = 0x33, + [1651585153.529603][2352:2352] CHIP:DMG: Event = 0x1, + [1651585153.529652][2352:2352] CHIP:DMG: }, + [1651585153.529694][2352:2352] CHIP:DMG: + [1651585153.529739][2352:2352] CHIP:DMG: ], + [1651585153.529778][2352:2352] CHIP:DMG: + [1651585153.529825][2352:2352] CHIP:DMG: isFabricFiltered = true, + [1651585153.529861][2352:2352] CHIP:DMG: InteractionModelRevision = 1 + [1651585153.529905][2352:2352] CHIP:DMG: }, + [1651585153.529989][2352:2352] CHIP:DMG: Final negotiated min/max parameters: Min = 0s, Max = 100s + [1651585153.530085][2352:2352] CHIP:DMG: IM RH moving to [GeneratingReports] + [1651585153.530195][2352:2352] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + [1651585153.530365][2352:2352] CHIP:DMG: Fetched 0 events + [1651585153.530403][2352:2352] CHIP:DMG: Sending report (payload has 15 bytes)... + [1651585153.530435][2352:2352] CHIP:DMG: IM RH moving to [AwaitingReportResponse] + [1651585153.530472][2352:2352] CHIP:EM: Piggybacking Ack for MessageCounter:12866228 on exchange: 56366r + [1651585153.530547][2352:2352] CHIP:IN: Prepared secure message 0xaaaabeacb650 to 0x000000000001B669 (1) of type 0x5 and protocolId (0, 1) on exchange 56366r with MessageCounter:12695913. + [1651585153.530596][2352:2352] CHIP:IN: Sending encrypted msg 0xaaaabeacb650 with MessageCounter:12695913 to 0x000000000001B669 (1) at monotonic time: 00000000005729DD msec + [1651585153.530947][2352:2352] CHIP:DMG: ReportsInFlight = 3 with readHandler 0, RE has no more messages + [1651585153.530988][2352:2352] CHIP:DMG: All ReadHandler-s are clean, clear GlobalDirtySet + [1651585153.532011][2352:2352] CHIP:EM: Received message of type 0x1 with protocolId (0, 1) and MessageCounter:12866229 on exchange 56366r + [1651585153.532053][2352:2352] CHIP:EM: Found matching exchange: 56366r, Delegate: 0xaaaabfc22d00 + [1651585153.532098][2352:2352] CHIP:EM: Rxd Ack; Removing MessageCounter:12695913 from Retrans Table on exchange 56366r + [1651585153.532129][2352:2352] CHIP:EM: Removed CHIP MessageCounter:12695913 from RetransTable on exchange 56366r + [1651585153.532185][2352:2352] CHIP:DMG: StatusResponseMessage = + [1651585153.532236][2352:2352] CHIP:DMG: { + [1651585153.532268][2352:2352] CHIP:DMG: Status = 0x00 (SUCCESS), + [1651585153.532305][2352:2352] CHIP:DMG: InteractionModelRevision = 1 + [1651585153.532351][2352:2352] CHIP:DMG: } disabled: true - label: @@ -38,9 +101,33 @@ tests: specific node i.e. [Node = Specific, Endpoint = Specific, Cluster = Specific, Event = Wildcard]." verification: | - In case of chip tool, here is an example command to use - - sudo ./chip-tool any subscribe-event-by-id 0x0034 0xFFFFFFFF 0 100 0 1 1 + Use interactive mode to verify this + ./chip-tool start interactive mood + + basic subscribe-event-by-id 0xFFFFFFFF 100 1000 1 0 + + [1653477346.830909][21558:21563] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1653477346.830930][21558:21563] CHIP:TOO: Event number: 0 + [1653477346.830947][21558:21563] CHIP:TOO: Priority: Critical + [1653477346.830963][21558:21563] CHIP:TOO: Timestamp: 2525140 + [1653477346.831045][21558:21563] CHIP:TOO: StartUp: { + [1653477346.831374][21558:21563] CHIP:TOO: SoftwareVersion: 1 + [1653477346.831401][21558:21563] CHIP:TOO: } + [1653477346.831540][21558:21563] CHIP:DMG: MoveToState ReadClient[0x7f35bc002be0]: Moving to [AwaitingSu] + [1653477346.831599][21558:21563] CHIP:EM: Piggybacking Ack for MessageCounter:15912670 on exchange: 43248i + [1653477346.831656][21558:21563] CHIP:IN: Prepared secure message 0x5604e6136648 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 43248i with MessageCounter:16478636. + [1653477346.831692][21558:21563] CHIP:IN: Sending encrypted msg 0x5604e6136648 with MessageCounter:16478636 to 0x0000000000000001 (1) at monotonic time: 00000000015D2104 msec + [1653477346.836230][21558:21563] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:15912671 on exchange 43248i + [1653477346.836245][21558:21563] CHIP:EM: Found matching exchange: 43248i, Delegate: 0x7f35bc002be0 + [1653477346.836256][21558:21563] CHIP:EM: Rxd Ack; Removing MessageCounter:16478636 from Retrans Table on exchange 43248i + [1653477346.836262][21558:21563] CHIP:EM: Removed CHIP MessageCounter:16478636 from RetransTable on exchange 43248i + [1653477346.836277][21558:21563] CHIP:DMG: SubscribeResponseMessage = + [1653477346.836284][21558:21563] CHIP:DMG: { + [1653477346.836290][21558:21563] CHIP:DMG: SubscriptionId = 0x1e5c8a80, + [1653477346.836296][21558:21563] CHIP:DMG: MinIntervalFloorSeconds = 0x64, + [1653477346.836302][21558:21563] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, + [1653477346.836308][21558:21563] CHIP:DMG: InteractionModelRevision = 1 + [1653477346.836313][21558:21563] CHIP:DMG: } disabled: true - label: @@ -49,9 +136,43 @@ tests: i.e. [Node = Specific, Endpoint = Specific, Cluster = Wildcard, Event = Wildcard]." verification: | - In case of chip tool, here is an example command to use - - sudo ./chip-tool any subscribe-event-by-id 0xFFFFFFFF 0xFFFFFFFF 0 100 0 1 0 + Use interactive mode to verify this + ./chip-tool start interactive mood + any subscribe-event-by-id 0xFFFFFFFF 0xFFFFFFFF 0 100 1 0 + + [1653477454.958220][21558:21563] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1653477454.958253][21558:21563] CHIP:TOO: Event number: 0 + [1653477454.958270][21558:21563] CHIP:TOO: Priority: Critical + [1653477454.958288][21558:21563] CHIP:TOO: Timestamp: 2525140 + [1653477454.958322][21558:21563] CHIP:TOO: StartUp: { + [1653477454.958353][21558:21563] CHIP:TOO: SoftwareVersion: 1 + [1653477454.958376][21558:21563] CHIP:TOO: } + [1653477454.958487][21558:21563] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Event 0x0000_0003 + [1653477454.958505][21558:21563] CHIP:TOO: Event number: 1 + [1653477454.958520][21558:21563] CHIP:TOO: Priority: Critical + [1653477454.958536][21558:21563] CHIP:TOO: Timestamp: 2525141 + [1653477454.958559][21558:21563] CHIP:TOO: BootReason: { + [1653477454.958578][21558:21563] CHIP:TOO: BootReason: 0 + [1653477454.958594][21558:21563] CHIP:TOO: } + [1653477454.958726][21558:21563] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0000 + [1653477454.958742][21558:21563] CHIP:TOO: Event number: 2 + [1653477454.958756][21558:21563] CHIP:TOO: Priority: Info + [1653477454.958771][21558:21563] CHIP:TOO: Timestamp: 2533827 + [1653477454.959176][21558:21563] CHIP:TOO: AccessControlEntryChanged: { + [1653477454.959201][21558:21563] CHIP:TOO: AdminNodeID: null + [1653477454.959221][21558:21563] CHIP:TOO: AdminPasscodeID: 0 + [1653477454.959237][21558:21563] CHIP:TOO: ChangeType: 1 + [1653477454.959252][21558:21563] CHIP:TOO: LatestValue: { + [1653477454.959267][21558:21563] CHIP:TOO: Privilege: 5 + [1653477454.959284][21558:21563] CHIP:TOO: AuthMode: 2 + [1653477454.959304][21558:21563] CHIP:TOO: Subjects: 1 entries + [1653477454.959326][21558:21563] CHIP:TOO: [1]: 112233 + [1653477454.959344][21558:21563] CHIP:TOO: Targets: null + [1653477454.959360][21558:21563] CHIP:TOO: FabricIndex: 1 + [1653477454.959375][21558:21563] CHIP:TOO: } + [1653477454.959391][21558:21563] CHIP:TOO: AdminFabricIndex: 1 + [1653477454.959407][21558:21563] CHIP:TOO: } + [1653477454.959510][21558:21563] CHIP:DMG: MoveToState ReadClient[0x7f35bc0035d0]: Moving to [AwaitingSu] disabled: true - label: @@ -60,9 +181,36 @@ tests: node i.e. [Node = Specific, Endpoint = Wildcard, Cluster = Specific, Event = Specific]." verification: | - In case of chip tool, here is an example command to use - - sudo ./chip-tool any subscribe-event-by-id 0x002f 0xFFFFFFFF 0 100 0 1 1 + Use interactive mode to verify this + ./chip-tool start interactive mood + + basic subscribe-event-by-id 0x00 100 1000 1 0xFFFF + + + + [1653477546.644801][21558:21563] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1653477546.644809][21558:21563] CHIP:TOO: Event number: 0 + [1653477546.644816][21558:21563] CHIP:TOO: Priority: Critical + [1653477546.644832][21558:21563] CHIP:TOO: Timestamp: 2525140 + [1653477546.644842][21558:21563] CHIP:TOO: StartUp: { + [1653477546.644851][21558:21563] CHIP:TOO: SoftwareVersion: 1 + [1653477546.644859][21558:21563] CHIP:TOO: } + [1653477546.644879][21558:21563] CHIP:DMG: MoveToState ReadClient[0x7f35bc002260]: Moving to [AwaitingSu] + [1653477546.644899][21558:21563] CHIP:EM: Piggybacking Ack for MessageCounter:15912674 on exchange: 43250i + [1653477546.644922][21558:21563] CHIP:IN: Prepared secure message 0x5604e6136648 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 43250i with MessageCounter:16478642. + [1653477546.644936][21558:21563] CHIP:IN: Sending encrypted msg 0x5604e6136648 with MessageCounter:16478642 to 0x0000000000000001 (1) at monotonic time: 0000000001602D89 msec + [1653477546.650168][21558:21563] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:15912675 on exchange 43250i + [1653477546.650196][21558:21563] CHIP:EM: Found matching exchange: 43250i, Delegate: 0x7f35bc002260 + [1653477546.650215][21558:21563] CHIP:EM: Rxd Ack; Removing MessageCounter:16478642 from Retrans Table on exchange 43250i + [1653477546.650229][21558:21563] CHIP:EM: Removed CHIP MessageCounter:16478642 from RetransTable on exchange 43250i + [1653477546.650252][21558:21563] CHIP:DMG: SubscribeResponseMessage = + [1653477546.650261][21558:21563] CHIP:DMG: { + [1653477546.650269][21558:21563] CHIP:DMG: SubscriptionId = 0xee971ed7, + [1653477546.650277][21558:21563] CHIP:DMG: MinIntervalFloorSeconds = 0x64, + [1653477546.650285][21558:21563] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, + [1653477546.650292][21558:21563] CHIP:DMG: InteractionModelRevision = 1 + [1653477546.650299][21558:21563] CHIP:DMG: } + [1653477546.650310][21558:21563] CHIP:DMG: Subscription established with SubscriptionID = 0xee971ed7 MinInterval = 100s MaxInterval = 1000s Peer = 01:0000000000000001 disabled: true - label: @@ -71,9 +219,33 @@ tests: i.e. [Node = Specific, Endpoint = Wildcard, Cluster = Specific, Event = Wildcard]." verification: | - In case of chip tool, here is an example command to use - - sudo ./chip-tool any subscribe-event-by-id 0x002f 0xFFFFFFFF 0 100 0 1 0xFFFF + Use interactive mode to verify this + ./chip-tool start interactive mood + basic subscribe-event-by-id 0xFFFFFFFF 100 1000 1 0xFFFF + + [1653477615.136932][21558:21563] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1653477615.136942][21558:21563] CHIP:TOO: Event number: 0 + [1653477615.136952][21558:21563] CHIP:TOO: Priority: Critical + [1653477615.136960][21558:21563] CHIP:TOO: Timestamp: 2525140 + [1653477615.136975][21558:21563] CHIP:TOO: StartUp: { + [1653477615.136986][21558:21563] CHIP:TOO: SoftwareVersion: 1 + [1653477615.136996][21558:21563] CHIP:TOO: } + [1653477615.137024][21558:21563] CHIP:DMG: MoveToState ReadClient[0x7f35bc003ab0]: Moving to [AwaitingSu] + [1653477615.137046][21558:21563] CHIP:EM: Piggybacking Ack for MessageCounter:15912676 on exchange: 43251i + [1653477615.137070][21558:21563] CHIP:IN: Prepared secure message 0x5604e6136648 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 43251i with MessageCounter:16478645. + [1653477615.137088][21558:21563] CHIP:IN: Sending encrypted msg 0x5604e6136648 with MessageCounter:16478645 to 0x0000000000000001 (1) at monotonic time: 0000000001613915 msec + [1653477615.161863][21558:21563] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:15912677 on exchange 43251i + [1653477615.161915][21558:21563] CHIP:EM: Found matching exchange: 43251i, Delegate: 0x7f35bc003ab0 + [1653477615.161947][21558:21563] CHIP:EM: Rxd Ack; Removing MessageCounter:16478645 from Retrans Table on exchange 43251i + [1653477615.161965][21558:21563] CHIP:EM: Removed CHIP MessageCounter:16478645 from RetransTable on exchange 43251i + [1653477615.162016][21558:21563] CHIP:DMG: SubscribeResponseMessage = + [1653477615.162034][21558:21563] CHIP:DMG: { + [1653477615.162047][21558:21563] CHIP:DMG: SubscriptionId = 0x4f8636e3, + [1653477615.162061][21558:21563] CHIP:DMG: MinIntervalFloorSeconds = 0x64, + [1653477615.162075][21558:21563] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, + [1653477615.162091][21558:21563] CHIP:DMG: InteractionModelRevision = 1 + [1653477615.162106][21558:21563] CHIP:DMG: } + [1653477615.162131][21558:21563] CHIP:DMG: Subscription established with SubscriptionID = 0x4f8636e3 MinInterval = 100s MaxInterval = 1000s Peer = 01:0000000000000001 disabled: true - label: @@ -82,9 +254,58 @@ tests: [Node = Specific, Endpoint = Wildcard, Cluster = Wildcard, Event = Wildcard]." verification: | - In case of chip tool, here is an example command to use - - sudo ./chip-tool any subscribe-event-by-id 0xFFFFFFFF 0xFFFFFFFF 0 100 0 1 0xFFFF + Use interactive mode to verify this + ./chip-tool start interactive mood + any subscribe-event-by-id 0xFFFFFFFF 0xFFFFFFFF 100 1000 1 0xFFFF + + [1653477656.896724][21558:21563] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1653477656.896745][21558:21563] CHIP:TOO: Event number: 0 + [1653477656.896762][21558:21563] CHIP:TOO: Priority: Critical + [1653477656.896779][21558:21563] CHIP:TOO: Timestamp: 2525140 + [1653477656.896808][21558:21563] CHIP:TOO: StartUp: { + [1653477656.896865][21558:21563] CHIP:TOO: SoftwareVersion: 1 + [1653477656.896896][21558:21563] CHIP:TOO: } + [1653477656.897017][21558:21563] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Event 0x0000_0003 + [1653477656.897036][21558:21563] CHIP:TOO: Event number: 1 + [1653477656.897053][21558:21563] CHIP:TOO: Priority: Critical + [1653477656.897066][21558:21563] CHIP:TOO: Timestamp: 2525141 + [1653477656.897090][21558:21563] CHIP:TOO: BootReason: { + [1653477656.897111][21558:21563] CHIP:TOO: BootReason: 0 + [1653477656.897129][21558:21563] CHIP:TOO: } + [1653477656.897285][21558:21563] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0000 + [1653477656.897303][21558:21563] CHIP:TOO: Event number: 2 + [1653477656.897319][21558:21563] CHIP:TOO: Priority: Info + [1653477656.897335][21558:21563] CHIP:TOO: Timestamp: 2533827 + [1653477656.897386][21558:21563] CHIP:TOO: AccessControlEntryChanged: { + [1653477656.897406][21558:21563] CHIP:TOO: AdminNodeID: null + [1653477656.897427][21558:21563] CHIP:TOO: AdminPasscodeID: 0 + [1653477656.897446][21558:21563] CHIP:TOO: ChangeType: 1 + [1653477656.897463][21558:21563] CHIP:TOO: LatestValue: { + [1653477656.897481][21558:21563] CHIP:TOO: Privilege: 5 + [1653477656.897499][21558:21563] CHIP:TOO: AuthMode: 2 + [1653477656.897522][21558:21563] CHIP:TOO: Subjects: 1 entries + [1653477656.897546][21558:21563] CHIP:TOO: [1]: 112233 + [1653477656.897566][21558:21563] CHIP:TOO: Targets: null + [1653477656.897584][21558:21563] CHIP:TOO: FabricIndex: 1 + [1653477656.897602][21558:21563] CHIP:TOO: } + [1653477656.897620][21558:21563] CHIP:TOO: AdminFabricIndex: 1 + [1653477656.897638][21558:21563] CHIP:TOO: } + [1653477656.897753][21558:21563] CHIP:DMG: MoveToState ReadClient[0x7f35bc002260]: Moving to [AwaitingSu] + [1653477656.897804][21558:21563] CHIP:EM: Piggybacking Ack for MessageCounter:15912678 on exchange: 43252i + [1653477656.897865][21558:21563] CHIP:IN: Prepared secure message 0x5604e6136648 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 43252i with MessageCounter:16478648. + [1653477656.897901][21558:21563] CHIP:IN: Sending encrypted msg 0x5604e6136648 with MessageCounter:16478648 to 0x0000000000000001 (1) at monotonic time: 000000000161DC36 msec + [1653477656.905754][21558:21563] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:15912679 on exchange 43252i + [1653477656.905777][21558:21563] CHIP:EM: Found matching exchange: 43252i, Delegate: 0x7f35bc002260 + [1653477656.905797][21558:21563] CHIP:EM: Rxd Ack; Removing MessageCounter:16478648 from Retrans Table on exchange 43252i + [1653477656.905806][21558:21563] CHIP:EM: Removed CHIP MessageCounter:16478648 from RetransTable on exchange 43252i + [1653477656.905861][21558:21563] CHIP:DMG: SubscribeResponseMessage = + [1653477656.905871][21558:21563] CHIP:DMG: { + [1653477656.905880][21558:21563] CHIP:DMG: SubscriptionId = 0x12b3d340, + [1653477656.905891][21558:21563] CHIP:DMG: MinIntervalFloorSeconds = 0x64, + [1653477656.905903][21558:21563] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, + [1653477656.905913][21558:21563] CHIP:DMG: InteractionModelRevision = 1 + [1653477656.905922][21558:21563] CHIP:DMG: } + [1653477656.905936][21558:21563] CHIP:DMG: Subscription established with SubscriptionID = 0x12b3d340 MinInterval = 100s MaxInterval = 1000s Peer = 01:0000000000000001 disabled: true - label: @@ -93,25 +314,49 @@ tests: [Node = Specific, Endpoint = Wildcard, Cluster = Wildcard, Event = Wildcard]." verification: | - In case of chip tool, here is an example command to use - - sudo ./chip-tool any subscribe-event-by-id 0xFFFFFFFF 0xFFFFFFFF 0 100 0 1 0xFFFF + Test step repeated disabled: true - label: "Activate Event subscription from TH to DUT and change the attribute value to create subscribed event before minimum interval." verification: | - + Use interactive mode to verify this + ./chip-tool start interactive mood + basic subscribe-event-by-id 0x000 100 1000 1 0 + + [1653478391.003351][21558:21563] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1653478391.003375][21558:21563] CHIP:TOO: Event number: 0 + [1653478391.003395][21558:21563] CHIP:TOO: Priority: Critical + [1653478391.003415][21558:21563] CHIP:TOO: Timestamp: 2525140 + [1653478391.003447][21558:21563] CHIP:TOO: StartUp: { + [1653478391.003475][21558:21563] CHIP:TOO: SoftwareVersion: 1 + [1653478391.003498][21558:21563] CHIP:TOO: } + [1653478391.003565][21558:21563] CHIP:DMG: MoveToState ReadClient[0x7f35bc003d90]: Moving to [AwaitingSu] + [1653478391.003619][21558:21563] CHIP:EM: Piggybacking Ack for MessageCounter:15912689 on exchange: 43259i + [1653478391.003706][21558:21563] CHIP:IN: Prepared secure message 0x5604e6136648 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 43259i with MessageCounter:16478666. + [1653478391.003766][21558:21563] CHIP:IN: Sending encrypted msg 0x5604e6136648 with MessageCounter:16478666 to 0x0000000000000001 (1) at monotonic time: 00000000016D0FD0 msec + [1653478391.012173][21558:21563] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:15912690 on exchange 43259i + [1653478391.012194][21558:21563] CHIP:EM: Found matching exchange: 43259i, Delegate: 0x7f35bc003d90 + [1653478391.012210][21558:21563] CHIP:EM: Rxd Ack; Removing MessageCounter:16478666 from Retrans Table on exchange 43259i + [1653478391.012219][21558:21563] CHIP:EM: Removed CHIP MessageCounter:16478666 from RetransTable on exchange 43259i + [1653478391.012241][21558:21563] CHIP:DMG: SubscribeResponseMessage = + [1653478391.012249][21558:21563] CHIP:DMG: { + [1653478391.012257][21558:21563] CHIP:DMG: SubscriptionId = 0x6b28cc4d, + [1653478391.012264][21558:21563] CHIP:DMG: MinIntervalFloorSeconds = 0x64, + [1653478391.012272][21558:21563] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, + [1653478391.012280][21558:21563] CHIP:DMG: InteractionModelRevision = 1 + [1653478391.012286][21558:21563] CHIP:DMG: } + [1653478391.012297][21558:21563] CHIP:DMG: Subscription established with SubscriptionID = 0x6b28cc4d MinInterval = 100s MaxInterval = 1000s Peer = 01:0000000000000001 disabled: true - label: - "Activate Event subscription from TH to DUT and change the attribute - value to create subscribed event before minimum interval with - 'IsUrgent' flag specified for a particular event path in the - EventPathIB." + "Activate Event subscription from TH to DUT and and trigger the + subscribed event on the DUT before minimum interval. 'IsUrgent' flag + is set to True for a particular event path in the EventPathIB in the + SubscribeRequestMessage." verification: | - + https://github.com/CHIP-Specifications/chip-test-plans/issues/1451 disabled: true - label: @@ -120,41 +365,127 @@ tests: verification: | In case of chip tool, here is an example command to use - sudo ./chip-tool any subscribe-event-by-id 0x0034 0xFFFFFFFF 0 100 0 1 1 + sudo ./chip-tool any subscribe-event-by-id 0x0033 0x01 0 100 1 1 + on TH + [1651585153.535829][2998:3003] CHIP:DMG: ReportDataMessage = + [1651585153.535860][2998:3003] CHIP:DMG: { + [1651585153.535888][2998:3003] CHIP:DMG: SubscriptionId = 0x2e08688819c6e7af, + [1651585153.535918][2998:3003] CHIP:DMG: InteractionModelRevision = 1 + [1651585153.535945][2998:3003] CHIP:DMG: } + [1651585153.535990][2998:3003] CHIP:DMG: MoveToState ReadClient[0xffff98002e10]: Moving to [AwaitingSu] + [1651585153.536039][2998:3003] CHIP:EM: Piggybacking Ack for MessageCounter:12695913 on exchange: 56366i + [1651585153.536099][2998:3003] CHIP:IN: Prepared secure message 0xaaaad8552488 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 56366i with MessageCounter:12866229. + [1651585153.536139][2998:3003] CHIP:IN: Sending encrypted msg 0xaaaad8552488 with MessageCounter:12866229 to 0x0000000000000001 (1) at monotonic time: 00000000005716CD msec + [1651585153.537541][2998:3003] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:12695914 on exchange 56366i + [1651585153.537579][2998:3003] CHIP:EM: Found matching exchange: 56366i, Delegate: 0xffff98002e10 + [1651585153.537614][2998:3003] CHIP:EM: Rxd Ack; Removing MessageCounter:12866229 from Retrans Table on exchange 56366i + [1651585153.537641][2998:3003] CHIP:EM: Removed CHIP MessageCounter:12866229 from RetransTable on exchange 56366i + [1651585153.537688][2998:3003] CHIP:DMG: SubscribeResponseMessage = + [1651585153.537718][2998:3003] CHIP:DMG: { + [1651585153.537749][2998:3003] CHIP:DMG: SubscriptionId = 0x2e08688819c6e7af, + [1651585153.537805][2998:3003] CHIP:DMG: MinIntervalFloorSeconds = 0x0, + [1651585153.537861][2998:3003] CHIP:DMG: MaxIntervalCeilingSeconds = 0x64, + [1651585153.537916][2998:3003] CHIP:DMG: InteractionModelRevision = 1 + [1651585153.537967][2998:3003] CHIP:DMG: } + + + DUT side + [1651585153.529075][2352:2352] CHIP:DMG: SubscribeRequestMessage = + [1651585153.529112][2352:2352] CHIP:DMG: { + [1651585153.529158][2352:2352] CHIP:DMG: KeepSubscriptions = false, + [1651585153.529193][2352:2352] CHIP:DMG: MinIntervalFloorSeconds = 0x0, + [1651585153.529228][2352:2352] CHIP:DMG: MaxIntervalCeilingSeconds = 0x64, + [1651585153.529275][2352:2352] CHIP:DMG: EventPathIBs = + [1651585153.529311][2352:2352] CHIP:DMG: [ + [1651585153.529355][2352:2352] CHIP:DMG: EventPath = + [1651585153.529395][2352:2352] CHIP:DMG: { + [1651585153.529502][2352:2352] CHIP:DMG: Endpoint = 0x1, + [1651585153.529560][2352:2352] CHIP:DMG: Cluster = 0x33, + [1651585153.529603][2352:2352] CHIP:DMG: Event = 0x1, + [1651585153.529652][2352:2352] CHIP:DMG: }, + [1651585153.529694][2352:2352] CHIP:DMG: + [1651585153.529739][2352:2352] CHIP:DMG: ], + [1651585153.529778][2352:2352] CHIP:DMG: + [1651585153.529825][2352:2352] CHIP:DMG: isFabricFiltered = true, + [1651585153.529861][2352:2352] CHIP:DMG: InteractionModelRevision = 1 + [1651585153.529905][2352:2352] CHIP:DMG: }, + [1651585153.529989][2352:2352] CHIP:DMG: Final negotiated min/max parameters: Min = 0s, Max = 100s + [1651585153.530085][2352:2352] CHIP:DMG: IM RH moving to [GeneratingReports] + [1651585153.530195][2352:2352] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + [1651585153.530365][2352:2352] CHIP:DMG: Fetched 0 events + [1651585153.530403][2352:2352] CHIP:DMG: Sending report (payload has 15 bytes)... + [1651585153.530435][2352:2352] CHIP:DMG: IM RH moving to [AwaitingReportResponse] + [1651585153.530472][2352:2352] CHIP:EM: Piggybacking Ack for MessageCounter:12866228 on exchange: 56366r + [1651585153.530547][2352:2352] CHIP:IN: Prepared secure message 0xaaaabeacb650 to 0x000000000001B669 (1) of type 0x5 and protocolId (0, 1) on exchange 56366r with MessageCounter:12695913. + [1651585153.530596][2352:2352] CHIP:IN: Sending encrypted msg 0xaaaabeacb650 with MessageCounter:12695913 to 0x000000000001B669 (1) at monotonic time: 00000000005729DD msec + [1651585153.530947][2352:2352] CHIP:DMG: ReportsInFlight = 3 with readHandler 0, RE has no more messages + [1651585153.530988][2352:2352] CHIP:DMG: All ReadHandler-s are clean, clear GlobalDirtySet + [1651585153.532011][2352:2352] CHIP:EM: Received message of type 0x1 with protocolId (0, 1) and MessageCounter:12866229 on exchange 56366r + [1651585153.532053][2352:2352] CHIP:EM: Found matching exchange: 56366r, Delegate: 0xaaaabfc22d00 + [1651585153.532098][2352:2352] CHIP:EM: Rxd Ack; Removing MessageCounter:12695913 from Retrans Table on exchange 56366r + [1651585153.532129][2352:2352] CHIP:EM: Removed CHIP MessageCounter:12695913 from RetransTable on exchange 56366r + [1651585153.532185][2352:2352] CHIP:DMG: StatusResponseMessage = + [1651585153.532236][2352:2352] CHIP:DMG: { + [1651585153.532268][2352:2352] CHIP:DMG: Status = 0x00 (SUCCESS), + [1651585153.532305][2352:2352] CHIP:DMG: InteractionModelRevision = 1 + [1651585153.532351][2352:2352] CHIP:DMG: } disabled: true - label: "With an active Event subscription from TH to DUT, TH sends another Subscribe Request Message to DUT with KeepSubscriptions as False." verification: | - In case of chip tool, here is an example command to use - sudo ./chip-tool any subscribe-event-by-id 0x0033 0x01 0 100 0 1 1 disabled: true - label: - "TH sends Subscribe Request Message to DUT + DUT sends Report Data - message to DUT + TH sends Status Response Message with a success - Status code." + "TH sends Subscribe Request Message to DUT. DUT sends Report Data + message to DUT. TH sends Status Response Message with a success Status + code." verification: | - In case of chip tool, here is an example command to use - - sudo ./chip-tool any subscribe-event-by-id 0x0033 0x01 0 100 0 1 1 + Use interactive mode to verify this + ./chip-tool start interactive mood + + basic subscribe-event-by-id 0x000 100 1000 1 0 + + [1653478391.003351][21558:21563] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1653478391.003375][21558:21563] CHIP:TOO: Event number: 0 + [1653478391.003395][21558:21563] CHIP:TOO: Priority: Critical + [1653478391.003415][21558:21563] CHIP:TOO: Timestamp: 2525140 + [1653478391.003447][21558:21563] CHIP:TOO: StartUp: { + [1653478391.003475][21558:21563] CHIP:TOO: SoftwareVersion: 1 + [1653478391.003498][21558:21563] CHIP:TOO: } + [1653478391.003565][21558:21563] CHIP:DMG: MoveToState ReadClient[0x7f35bc003d90]: Moving to [AwaitingSu] + [1653478391.003619][21558:21563] CHIP:EM: Piggybacking Ack for MessageCounter:15912689 on exchange: 43259i + [1653478391.003706][21558:21563] CHIP:IN: Prepared secure message 0x5604e6136648 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 43259i with MessageCounter:16478666. + [1653478391.003766][21558:21563] CHIP:IN: Sending encrypted msg 0x5604e6136648 with MessageCounter:16478666 to 0x0000000000000001 (1) at monotonic time: 00000000016D0FD0 msec + [1653478391.012173][21558:21563] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:15912690 on exchange 43259i + [1653478391.012194][21558:21563] CHIP:EM: Found matching exchange: 43259i, Delegate: 0x7f35bc003d90 + [1653478391.012210][21558:21563] CHIP:EM: Rxd Ack; Removing MessageCounter:16478666 from Retrans Table on exchange 43259i + [1653478391.012219][21558:21563] CHIP:EM: Removed CHIP MessageCounter:16478666 from RetransTable on exchange 43259i + [1653478391.012241][21558:21563] CHIP:DMG: SubscribeResponseMessage = + [1653478391.012249][21558:21563] CHIP:DMG: { + [1653478391.012257][21558:21563] CHIP:DMG: SubscriptionId = 0x6b28cc4d, + [1653478391.012264][21558:21563] CHIP:DMG: MinIntervalFloorSeconds = 0x64, + [1653478391.012272][21558:21563] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, + [1653478391.012280][21558:21563] CHIP:DMG: InteractionModelRevision = 1 + [1653478391.012286][21558:21563] CHIP:DMG: } + [1653478391.012297][21558:21563] CHIP:DMG: Subscription established with SubscriptionID = 0x6b28cc4d MinInterval = 100s MaxInterval = 1000s Peer = 01:0000000000000001 disabled: true - label: - "TH sends Subscribe Request Message to DUT + DUT sends Report Data - message to DUT + TH sends Status Response Message with an error + "TH sends Subscribe Request Message to DUT. DUT sends Report Data + message to DUT . TH sends Status Response Message with an error Status." verification: | - + This is not testable in normal scenario, and needs to be tested as part of Unit test.This test step to be removed from the manual execution. disabled: true - label: "TH sends Subscribe Request Message to DUT with EventRequests set to path which indicates a cluster event that is not supported." verification: | - + cannot be executed with V1.0 SDK. disabled: true - label: @@ -162,7 +493,41 @@ tests: path which requires a privilege that is not granted for the cluster in the path." verification: | - Unsupported in TE8 - Out of scope + sudo ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1234], "targets": null}]' 1 0 + + sudo ./chip-tool basic subscribe-event-by-id 0x000 100 1000 1 0 + + + [1653479886.551289][22629:22634] CHIP:DMG: ReportDataMessage = + [1653479886.551299][22629:22634] CHIP:DMG: { + [1653479886.551308][22629:22634] CHIP:DMG: SubscriptionId = 0xf5695d45, + [1653479886.551316][22629:22634] CHIP:DMG: EventReportIBs = + [1653479886.551330][22629:22634] CHIP:DMG: [ + [1653479886.551338][22629:22634] CHIP:DMG: EventReportIB = + [1653479886.551352][22629:22634] CHIP:DMG: { + [1653479886.551373][22629:22634] CHIP:DMG: EventStatusIB = + [1653479886.551378][22629:22634] CHIP:DMG: { + [1653479886.551382][22629:22634] CHIP:DMG: EventPath = + [1653479886.551387][22629:22634] CHIP:DMG: { + [1653479886.551391][22629:22634] CHIP:DMG: Endpoint = 0x0, + [1653479886.551397][22629:22634] CHIP:DMG: Cluster = 0x28, + [1653479886.551412][22629:22634] CHIP:DMG: Event = 0x0, + [1653479886.551420][22629:22634] CHIP:DMG: }, + [1653479886.551431][22629:22634] CHIP:DMG: + [1653479886.551438][22629:22634] CHIP:DMG: StatusIB = + [1653479886.551446][22629:22634] CHIP:DMG: { + [1653479886.551454][22629:22634] CHIP:DMG: status = 0x7e (UNSUPPORTED_ACCESS), + [1653479886.551462][22629:22634] CHIP:DMG: }, + [1653479886.551471][22629:22634] CHIP:DMG: + [1653479886.551477][22629:22634] CHIP:DMG: }, + [1653479886.551487][22629:22634] CHIP:DMG: + [1653479886.551495][22629:22634] CHIP:DMG: }, + [1653479886.551506][22629:22634] CHIP:DMG: + [1653479886.551513][22629:22634] CHIP:DMG: ], + [1653479886.551524][22629:22634] CHIP:DMG: + [1653479886.551532][22629:22634] CHIP:DMG: InteractionModelRevision = 1 + [1653479886.551538][22629:22634] CHIP:DMG: } + [1653479886.551583][22629:22634] CHIP:TOO: Response Failure: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) disabled: true - label: @@ -170,17 +535,17 @@ tests: Wildcard path where reading an event in the path requires a privilege that is not granted for the cluster in the path." verification: | - In case of chip tool, here is an example command to use + sudo ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1234], "targets": null}]' 1 0 - sudo ./chip-tool any subscribe-event-by-id 0xFFFFFFFF 0xFFFFFFFF 0 100 0 1 0 - disabled: true + sudo ./chip-tool any subscribe-event-by-id 0xFFFFFFFF 0xFFFFFFFF 100 1000 1 0xFFFF - - label: - "TH 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: | + [1653480007.965861][22654:22659] CHIP:DMG: ReportDataMessage = + [1653480007.965882][22654:22659] CHIP:DMG: { + [1653480007.965899][22654:22659] CHIP:DMG: SubscriptionId = 0x88c50e8, + [1653480007.965916][22654:22659] CHIP:DMG: InteractionModelRevision = 1 + [1653480007.965929][22654:22659] CHIP:DMG: } + [1653480007.965969][22654:22659] CHIP:DMG: MoveToState ReadClient[0x7efe84002fd0]: Moving to [AwaitingSu] disabled: true - label: @@ -188,9 +553,33 @@ tests: information field matching the node indicated in the path and EventMin field." verification: | - In case of chip tool, here is an example command to use - - sudo ./chip-tool any subscribe-event-by-id 0xFFFFFFFF 0xFFFFFFFF 0 100 0 1 0 + Use interactive mode to verify this + ./chip-tool start interactive mood + basic subscribe-event-by-id 0 100 1000 3 0 + + [1653656063.055701][14377:14382] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1653656063.055723][14377:14382] CHIP:TOO: Event number: 65536 + [1653656063.055741][14377:14382] CHIP:TOO: Priority: Critical + [1653656063.055758][14377:14382] CHIP:TOO: Timestamp: 127594 + [1653656063.055811][14377:14382] CHIP:TOO: StartUp: { + [1653656063.055838][14377:14382] CHIP:TOO: SoftwareVersion: 1 + [1653656063.055859][14377:14382] CHIP:TOO: } + [1653656063.055918][14377:14382] CHIP:DMG: MoveToState ReadClient[0x7f4f68002260]: Moving to [AwaitingSu] + [1653656063.055970][14377:14382] CHIP:EM: Piggybacking Ack for MessageCounter:5873379 on exchange: 39762i + [1653656063.056029][14377:14382] CHIP:IN: Prepared secure message 0x55ccea0fc878 to 0x0000000000000003 (1) of type 0x1 and protocolId (0, 1) on exchange 39762i with MessageCounter:3741292. + [1653656063.056240][14377:14382] CHIP:IN: Sending encrypted msg 0x55ccea0fc878 with MessageCounter:3741292 to 0x0000000000000003 (1) at monotonic time: 0000000001BE791F msec + [1653656063.069994][14377:14382] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:5873380 on exchange 39762i + [1653656063.070016][14377:14382] CHIP:EM: Found matching exchange: 39762i, Delegate: 0x7f4f68002260 + [1653656063.070032][14377:14382] CHIP:EM: Rxd Ack; Removing MessageCounter:3741292 from Retrans Table on exchange 39762i + [1653656063.070039][14377:14382] CHIP:EM: Removed CHIP MessageCounter:3741292 from RetransTable on exchange 39762i + [1653656063.070063][14377:14382] CHIP:DMG: SubscribeResponseMessage = + [1653656063.070074][14377:14382] CHIP:DMG: { + [1653656063.070083][14377:14382] CHIP:DMG: SubscriptionId = 0x49bb06f8, + [1653656063.070091][14377:14382] CHIP:DMG: MinIntervalFloorSeconds = 0x64, + [1653656063.070100][14377:14382] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, + [1653656063.070108][14377:14382] CHIP:DMG: InteractionModelRevision = 1 + [1653656063.070115][14377:14382] CHIP:DMG: } + [1653656063.070127][14377:14382] CHIP:DMG: Subscription established with SubscriptionID = 0x49bb06f8 MinInterval = 100s MaxInterval = 1000s Peer = 01:0000000000000003 disabled: true - label: @@ -198,6 +587,59 @@ tests: information field matching the node indicated in the path and the event number is less than the EventMin field." verification: | + Use interactive mode to verify this + ./chip-tool start interactive mood + + basic subscribe-event-by-id 0x000 100 1000 1 0 --event-min 1 + + On TH + [1653479609.999143][22515:22520] CHIP:DMG: ReportDataMessage = + [1653479609.999186][22515:22520] CHIP:DMG: { + [1653479609.999216][22515:22520] CHIP:DMG: SubscriptionId = 0x8ee91d0c, + [1653479609.999243][22515:22520] CHIP:DMG: InteractionModelRevision = 1 + [1653479609.999269][22515:22520] CHIP:DMG: } + [1653479609.999321][22515:22520] CHIP:DMG: MoveToState ReadClient[0x7fecd8003370]: Moving to [AwaitingSu] + + On TH + [1653479609.997019][1507:1507] CHIP:IM: Received Subscribe request + [1653479609.997218][1507:1507] CHIP:DMG: SubscribeRequestMessage = + [1653479609.997284][1507:1507] CHIP:DMG: { + [1653479609.997338][1507:1507] CHIP:DMG: KeepSubscriptions = false, + [1653479609.997401][1507:1507] CHIP:DMG: MinIntervalFloorSeconds = 0x64, + [1653479609.997466][1507:1507] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, + [1653479609.997526][1507:1507] CHIP:DMG: EventPathIBs = + [1653479609.997590][1507:1507] CHIP:DMG: [ + [1653479609.997649][1507:1507] CHIP:DMG: EventPath = + [1653479609.997714][1507:1507] CHIP:DMG: { + [1653479609.997780][1507:1507] CHIP:DMG: Endpoint = 0x0, + [1653479609.997858][1507:1507] CHIP:DMG: Cluster = 0x28, + [1653479609.997933][1507:1507] CHIP:DMG: Event = 0x0, + [1653479609.998005][1507:1507] CHIP:DMG: }, + [1653479609.998073][1507:1507] CHIP:DMG: + [1653479609.998132][1507:1507] CHIP:DMG: ], + [1653479609.998200][1507:1507] CHIP:DMG: + [1653479609.998256][1507:1507] CHIP:DMG: EventFilterIBs = + [1653479609.998327][1507:1507] CHIP:DMG: [ + [1653479609.998386][1507:1507] CHIP:DMG: EventFilterIB = + [1653479609.998451][1507:1507] CHIP:DMG: { + [1653479609.998514][1507:1507] CHIP:DMG: EventMin = 0x1, + [1653479609.998577][1507:1507] CHIP:DMG: }, + [1653479609.998642][1507:1507] CHIP:DMG: + [1653479609.998699][1507:1507] CHIP:DMG: ], + [1653479609.998764][1507:1507] CHIP:DMG: + [1653479609.998823][1507:1507] CHIP:DMG: isFabricFiltered = true, + [1653479609.998883][1507:1507] CHIP:DMG: InteractionModelRevision = 1 + [1653479609.998939][1507:1507] CHIP:DMG: }, + [1653479609.999107][1507:1507] CHIP:DMG: Final negotiated min/max parameters: Min = 100s, Max = 1000s + [1653479609.999296][1507:1507] CHIP:DMG: IM RH moving to [GeneratingReports] + [1653479609.999467][1507:1507] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + [1653479609.999772][1507:1507] CHIP:DMG: Fetched 0 events + disabled: true + + - label: + "With an active Event subscription from TH to DUT, change attribute + values on DUT to create events multiple times." + verification: | disabled: true @@ -205,9 +647,152 @@ tests: "With an active Event subscription from TH to DUT, change attribute values on DUT to create events multiple times. Reboot the DUT, re-subscribe to events and continue to change attribute values on DUT - to create events multiple times. Perform a factory data reset on DUT, - re-subscribe to events and continue to change attribute values on DUT to create events multiple times." verification: | + sudo ./chip-tool basic subscribe-event-by-id 0x000 100 1000 1 0 + [1653483303.162541][23514:23519] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1653483303.162559][23514:23519] CHIP:TOO: Event number: 65536 + [1653483303.162570][23514:23519] CHIP:TOO: Priority: Critical + [1653483303.162581][23514:23519] CHIP:TOO: Timestamp: 91655 + [1653483303.162624][23514:23519] CHIP:TOO: StartUp: { + [1653483303.162645][23514:23519] CHIP:TOO: SoftwareVersion: 1 + [1653483303.162661][23514:23519] CHIP:TOO: } + [1653483303.162711][23514:23519] CHIP:DMG: MoveToState ReadClient[0x7f9294003f00]: Moving to + + sudo ./chip-tool basic write node-label 1 1 0 + [1653483135.231313][23467:23472] CHIP:DMG: WriteClient moving to [ResponseRe] + [1653483135.231352][23467:23472] CHIP:DMG: WriteResponseMessage = + [1653483135.231370][23467:23472] CHIP:DMG: { + [1653483135.231385][23467:23472] CHIP:DMG: AttributeStatusIBs = + [1653483135.231406][23467:23472] CHIP:DMG: [ + [1653483135.231437][23467:23472] CHIP:DMG: AttributeStatusIB = + [1653483135.231465][23467:23472] CHIP:DMG: { + [1653483135.231493][23467:23472] CHIP:DMG: AttributePathIB = + [1653483135.231519][23467:23472] CHIP:DMG: { + [1653483135.231539][23467:23472] CHIP:DMG: Endpoint = 0x0, + [1653483135.231557][23467:23472] CHIP:DMG: Cluster = 0x28, + [1653483135.231576][23467:23472] CHIP:DMG: Attribute = 0x0000_0005, + [1653483135.231593][23467:23472] CHIP:DMG: } + [1653483135.231617][23467:23472] CHIP:DMG: + [1653483135.231634][23467:23472] CHIP:DMG: StatusIB = + [1653483135.231652][23467:23472] CHIP:DMG: { + [1653483135.231670][23467:23472] CHIP:DMG: status = 0x00 (SUCCESS), + [1653483135.231686][23467:23472] CHIP:DMG: }, + [1653483135.231704][23467:23472] CHIP:DMG: + [1653483135.231721][23467:23472] CHIP:DMG: }, + [1653483135.231743][23467:23472] CHIP:DMG: + [1653483135.231758][23467:23472] CHIP:DMG: ], + [1653483135.231781][23467:23472] CHIP:DMG: + [1653483135.231797][23467:23472] CHIP:DMG: InteractionModelRevision = 1 + [1653483135.231811][23467:23472] CHIP:DMG: } + + + To run a reboot test case on raspi, run the app with --KVS flag with a file in local directory and pass that file to the command to launch the app. Steps + + create a file using touch command , something like touch mytest.txt + chmod 777 mytest.txt + launch the app sudo ./out/all-clusters-app/chip-all-clusters-app --KVS ./mytest.txt + + if you launch the app with the above commands and provision the app, even when you reboot the app with 'sudo reboot' , next time you launch the app with 'sudo ./out/all-clusters-app/chip-all-clusters-app --KVS ./mytest.txt' , you can run read/write attribs and commands without reprovisioning the device + + sudo ./chip-tool basic subscribe-event-by-id 0x000 100 1000 1 0 + [1653483303.162541][23514:23519] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1653483303.162559][23514:23519] CHIP:TOO: Event number: 65536 + [1653483303.162570][23514:23519] CHIP:TOO: Priority: Critical + [1653483303.162581][23514:23519] CHIP:TOO: Timestamp: 91655 + [1653483303.162624][23514:23519] CHIP:TOO: StartUp: { + [1653483303.162645][23514:23519] CHIP:TOO: SoftwareVersion: 1 + [1653483303.162661][23514:23519] CHIP:TOO: } + [1653483303.162711][23514:23519] CHIP:DMG: MoveToState ReadClient[0x7f9294003f00]: Moving to [AwaitingSu] + [1653483303.162752][23514:23519] CHIP:EM: Piggybacking Ack for MessageCounter:5829866 on exchange: 29648i + [1653483303.162800][23514:23519] CHIP:IN: Prepared secure message 0x55ec87cd50d8 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 29648i with MessageCounter:12981466. + [1653483303.162829][23514:23519] CHIP:IN: Sending encrypted msg 0x55ec87cd50d8 with MessageCounter:12981466 to 0x0000000000000001 (1) at monotonic time: 0000000001B803EF msec + [1653483303.167833][23514:23519] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:5829867 on exchange 29648i + [1653483303.167885][23514:23519] CHIP:EM: Found matching exchange: 29648i, Delegate: 0x7f9294003f00 + [1653483303.167922][23514:23519] CHIP:EM: Rxd Ack; Removing MessageCounter:12981466 from Retrans Table on exchange 29648i + [1653483303.167946][23514:23519] CHIP:EM: Removed CHIP MessageCounter:12981466 from RetransTable on exchange 29648i + [1653483303.168007][23514:23519] CHIP:DMG: SubscribeResponseMessage = + [1653483303.168031][23514:23519] CHIP:DMG: { + [1653483303.168050][23514:23519] CHIP:DMG: SubscriptionId = 0xd60dab88, + [1653483303.168070][23514:23519] CHIP:DMG: MinIntervalFloorSeconds = 0x64, + [1653483303.168089][23514:23519] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, + [1653483303.168111][23514:23519] CHIP:DMG: InteractionModelRevision = 1 + [1653483303.168132][23514:23519] CHIP:DMG: } + disabled: true + - label: + "With an active Event subscription from TH to DUT, change attribute + values on DUT to create events multiple times. Perform a factory data + reset on DUT, re-subscribe to events and continue to change attribute + values on DUT to create events multiple times." + verification: | + sudo ./chip-tool basic subscribe-event-by-id 0x000 100 1000 1 0 + [1653483303.162541][23514:23519] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1653483303.162559][23514:23519] CHIP:TOO: Event number: 65536 + [1653483303.162570][23514:23519] CHIP:TOO: Priority: Critical + [1653483303.162581][23514:23519] CHIP:TOO: Timestamp: 91655 + [1653483303.162624][23514:23519] CHIP:TOO: StartUp: { + [1653483303.162645][23514:23519] CHIP:TOO: SoftwareVersion: 1 + [1653483303.162661][23514:23519] CHIP:TOO: } + [1653483303.162711][23514:23519] CHIP:DMG: MoveToState ReadClient[0x7f9294003f00]: Moving to + + sudo ./chip-tool basic write node-label 1 1 0 + [1653483135.231313][23467:23472] CHIP:DMG: WriteClient moving to [ResponseRe] + [1653483135.231352][23467:23472] CHIP:DMG: WriteResponseMessage = + [1653483135.231370][23467:23472] CHIP:DMG: { + [1653483135.231385][23467:23472] CHIP:DMG: AttributeStatusIBs = + [1653483135.231406][23467:23472] CHIP:DMG: [ + [1653483135.231437][23467:23472] CHIP:DMG: AttributeStatusIB = + [1653483135.231465][23467:23472] CHIP:DMG: { + [1653483135.231493][23467:23472] CHIP:DMG: AttributePathIB = + [1653483135.231519][23467:23472] CHIP:DMG: { + [1653483135.231539][23467:23472] CHIP:DMG: Endpoint = 0x0, + [1653483135.231557][23467:23472] CHIP:DMG: Cluster = 0x28, + [1653483135.231576][23467:23472] CHIP:DMG: Attribute = 0x0000_0005, + [1653483135.231593][23467:23472] CHIP:DMG: } + [1653483135.231617][23467:23472] CHIP:DMG: + [1653483135.231634][23467:23472] CHIP:DMG: StatusIB = + [1653483135.231652][23467:23472] CHIP:DMG: { + [1653483135.231670][23467:23472] CHIP:DMG: status = 0x00 (SUCCESS), + [1653483135.231686][23467:23472] CHIP:DMG: }, + [1653483135.231704][23467:23472] CHIP:DMG: + [1653483135.231721][23467:23472] CHIP:DMG: }, + [1653483135.231743][23467:23472] CHIP:DMG: + [1653483135.231758][23467:23472] CHIP:DMG: ], + [1653483135.231781][23467:23472] CHIP:DMG: + [1653483135.231797][23467:23472] CHIP:DMG: InteractionModelRevision = 1 + [1653483135.231811][23467:23472] CHIP:DMG: } + + + To run a reboot test case on raspi, run the app with --KVS flag with a file in local directory and pass that file to the command to launch the app. Steps + + create a file using touch command , something like touch mytest.txt + chmod 777 mytest.txt + launch the app sudo ./out/all-clusters-app/chip-all-clusters-app --KVS ./mytest.txt + + if you launch the app with the above commands and provision the app, even when you reboot the app with 'sudo reboot' , next time you launch the app with 'sudo ./out/all-clusters-app/chip-all-clusters-app --KVS ./mytest.txt' , you can run read/write attribs and commands without reprovisioning the device + + sudo ./chip-tool basic subscribe-event-by-id 0x000 100 1000 1 0 + [1653483303.162541][23514:23519] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1653483303.162559][23514:23519] CHIP:TOO: Event number: 65536 + [1653483303.162570][23514:23519] CHIP:TOO: Priority: Critical + [1653483303.162581][23514:23519] CHIP:TOO: Timestamp: 91655 + [1653483303.162624][23514:23519] CHIP:TOO: StartUp: { + [1653483303.162645][23514:23519] CHIP:TOO: SoftwareVersion: 1 + [1653483303.162661][23514:23519] CHIP:TOO: } + [1653483303.162711][23514:23519] CHIP:DMG: MoveToState ReadClient[0x7f9294003f00]: Moving to [AwaitingSu] + [1653483303.162752][23514:23519] CHIP:EM: Piggybacking Ack for MessageCounter:5829866 on exchange: 29648i + [1653483303.162800][23514:23519] CHIP:IN: Prepared secure message 0x55ec87cd50d8 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 29648i with MessageCounter:12981466. + [1653483303.162829][23514:23519] CHIP:IN: Sending encrypted msg 0x55ec87cd50d8 with MessageCounter:12981466 to 0x0000000000000001 (1) at monotonic time: 0000000001B803EF msec + [1653483303.167833][23514:23519] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:5829867 on exchange 29648i + [1653483303.167885][23514:23519] CHIP:EM: Found matching exchange: 29648i, Delegate: 0x7f9294003f00 + [1653483303.167922][23514:23519] CHIP:EM: Rxd Ack; Removing MessageCounter:12981466 from Retrans Table on exchange 29648i + [1653483303.167946][23514:23519] CHIP:EM: Removed CHIP MessageCounter:12981466 from RetransTable on exchange 29648i + [1653483303.168007][23514:23519] CHIP:DMG: SubscribeResponseMessage = + [1653483303.168031][23514:23519] CHIP:DMG: { + [1653483303.168050][23514:23519] CHIP:DMG: SubscriptionId = 0xd60dab88, + [1653483303.168070][23514:23519] CHIP:DMG: MinIntervalFloorSeconds = 0x64, + [1653483303.168089][23514:23519] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, + [1653483303.168111][23514:23519] CHIP:DMG: InteractionModelRevision = 1 + [1653483303.168132][23514:23519] CHIP:DMG: } disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_6_3.yaml b/src/app/tests/suites/certification/Test_TC_IDM_6_3.yaml index 4dbd8779fa0daa..3b38b6b0218114 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_6_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_6_3.yaml @@ -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: - 19.8.3. [TC-IDM-6.3] Events Read Interaction from DUT to TH [DUT - + 20.6.3. [TC-IDM-6.3] Events Read Interaction from DUT to TH [DUT - Controller] config: @@ -28,4 +28,252 @@ tests: In case of chip tool, here is an example command to use sudo ./chip-tool any read-event-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0xFFFF + + [1655210591.947581][2883:2883] CHIP:IM: Received Read request + [1655210591.947662][2883:2883] CHIP:DMG: ReadRequestMessage = + [1655210591.947709][2883:2883] CHIP:DMG: { + [1655210591.947750][2883:2883] CHIP:DMG: EventPathIBs = + [1655210591.947797][2883:2883] CHIP:DMG: [ + [1655210591.947841][2883:2883] CHIP:DMG: EventPath = + [1655210591.947889][2883:2883] CHIP:DMG: { + [1655210591.947935][2883:2883] CHIP:DMG: }, + [1655210591.947984][2883:2883] CHIP:DMG: + [1655210591.948027][2883:2883] CHIP:DMG: ], + [1655210591.948076][2883:2883] CHIP:DMG: + [1655210591.948121][2883:2883] CHIP:DMG: isFabricFiltered = true, + [1655210591.948168][2883:2883] CHIP:DMG: InteractionModelRevision = 1 + [1655210591.948211][2883:2883] CHIP:DMG: }, + [1655210591.948313][2883:2883] CHIP:DMG: IM RH moving to [GeneratingReports] + [1655210591.948437][2883:2883] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + [1655210591.948549][2883:2883] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0028 e=0 p=v + [1655210591.948611][2883:2883] CHIP:DMG: AccessControl: allowed + [1655210591.948716][2883:2883] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_001F e=0 p=a + [1655210591.948744][2883:2883] CHIP:DMG: AccessControl: allowed + [1655210591.948825][2883:2883] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0034 e=0 p=v + [1655210591.948852][2883:2883] CHIP:DMG: AccessControl: allowed + [1655210591.948921][2883:2883] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_003B e=1 p=v + [1655210591.948948][2883:2883] CHIP:DMG: AccessControl: allowed + [1655210591.949032][2883:2883] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_003B e=1 p=v + [1655210591.949061][2883:2883] CHIP:DMG: AccessControl: allowed + [1655210591.949123][2883:2883] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0034 e=0 p=v + [1655210591.949150][2883:2883] CHIP:DMG: AccessControl: allowed + [1655210591.949218][2883:2883] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0034 e=0 p=v + [1655210591.949244][2883:2883] CHIP:DMG: AccessControl: allowed + [1655210591.949311][2883:2883] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_003B e=1 p=v + [1655210591.949337][2883:2883] CHIP:DMG: AccessControl: allowed + [1655210591.949398][2883:2883] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_003B e=1 p=v + [1655210591.949424][2883:2883] CHIP:DMG: AccessControl: allowed + [1655210591.949484][2883:2883] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_003B e=1 p=v + [1655210591.949510][2883:2883] CHIP:DMG: AccessControl: allowed + [1655210591.949570][2883:2883] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_003B e=1 p=v + [1655210591.949595][2883:2883] CHIP:DMG: AccessControl: allowed + [1655210591.949656][2883:2883] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0033 e=0 p=v + [1655210591.949681][2883:2883] CHIP:DMG: AccessControl: allowed + [1655210591.949743][2883:2883] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_003B e=1 p=v + [1655210591.949769][2883:2883] CHIP:DMG: AccessControl: allowed + [1655210591.949829][2883:2883] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_003B e=1 p=v + [1655210591.949855][2883:2883] CHIP:DMG: AccessControl: allowed + [1655210591.949914][2883:2883] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_003B e=1 p=v + [1655210591.949940][2883:2883] CHIP:DMG: AccessControl: allowed + [1655210591.949999][2883:2883] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_003B e=1 p=v + [1655210591.950025][2883:2883] CHIP:DMG: AccessControl: allowed + [1655210591.950086][2883:2883] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0034 e=0 p=v + [1655210591.950112][2883:2883] CHIP:DMG: AccessControl: allowed + [1655210591.950178][2883:2883] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_003B e=1 p=v + [1655210591.950204][2883:2883] CHIP:DMG: AccessControl: allowed + [1655210591.950263][2883:2883] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_003B e=1 p=v + [1655210591.950289][2883:2883] CHIP:DMG: AccessControl: allowed + [1655210591.950334][2883:2883] CHIP:DMG: Fetched 19 events + [1655210591.950362][2883:2883] CHIP:DMG: Sending report (payload has 887 bytes)... + [1655210591.950396][2883:2883] CHIP:EM: Piggybacking Ack for MessageCounter:38120344 on exchange: 48722r + [1655210591.950502][2883:2883] CHIP:IN: Prepared secure message 0xaaaade6d4e40 to 0x000000000001B669 (1) of type 0x5 and protocolId (0, 1) on exchange 48722r with MessageCounter:59542778. + [1655210591.950539][2883:2883] CHIP:IN: Sending encrypted msg 0xaaaade6d4e40 with MessageCounter:59542778 to 0x000000000001B669 (1) at monotonic time: 0000000001C61135 msec + [1655210591.950689][2883:2883] CHIP:DMG: OnReportConfirm: NumReports = 0 + + + + [1655210591.986723][4218:4223] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1655210591.986748][4218:4223] CHIP:TOO: Event number: 65536 + [1655210591.986771][4218:4223] CHIP:TOO: Priority: Critical + [1655210591.986792][4218:4223] CHIP:TOO: Timestamp: 17281280 + [1655210591.986847][4218:4223] CHIP:TOO: StartUp: { + [1655210591.986883][4218:4223] CHIP:TOO: SoftwareVersion: 1 + [1655210591.986907][4218:4223] CHIP:TOO: } + [1655210591.987005][4218:4223] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0000 + [1655210591.987028][4218:4223] CHIP:TOO: Event number: 65537 + [1655210591.987050][4218:4223] CHIP:TOO: Priority: Info + [1655210591.987071][4218:4223] CHIP:TOO: Timestamp: 17295548 + [1655210591.987132][4218:4223] CHIP:TOO: AccessControlEntryChanged: { + [1655210591.987158][4218:4223] CHIP:TOO: AdminNodeID: null + [1655210591.987182][4218:4223] CHIP:TOO: AdminPasscodeID: 0 + [1655210591.987206][4218:4223] CHIP:TOO: ChangeType: 1 + [1655210591.987229][4218:4223] CHIP:TOO: LatestValue: { + [1655210591.987252][4218:4223] CHIP:TOO: Privilege: 5 + [1655210591.987274][4218:4223] CHIP:TOO: AuthMode: 2 + [1655210591.987301][4218:4223] CHIP:TOO: Subjects: 1 entries + [1655210591.987330][4218:4223] CHIP:TOO: [1]: 112233 + [1655210591.987355][4218:4223] CHIP:TOO: Targets: null + [1655210591.987378][4218:4223] CHIP:TOO: FabricIndex: 1 + [1655210591.987400][4218:4223] CHIP:TOO: } + [1655210591.987422][4218:4223] CHIP:TOO: AdminFabricIndex: 1 + [1655210591.987445][4218:4223] CHIP:TOO: } + [1655210591.987545][4218:4223] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Event 0x0000_0000 + [1655210591.987568][4218:4223] CHIP:TOO: Event number: 65538 + [1655210591.987590][4218:4223] CHIP:TOO: Priority: Info + [1655210591.987611][4218:4223] CHIP:TOO: Timestamp: 17343962 + [1655210591.987645][4218:4223] CHIP:TOO: SoftwareFault: { + [1655210591.987668][4218:4223] CHIP:TOO: SoftwareFault: { + [1655210591.987690][4218:4223] CHIP:TOO: Id: 2883 + [1655210591.987712][4218:4223] CHIP:TOO: Name: 2883 + [1655210591.987738][4218:4223] CHIP:TOO: FaultRecording: 547565204A756E2031342030393A31363A313820323032320A + [1655210591.987761][4218:4223] CHIP:TOO: } + [1655210591.987783][4218:4223] CHIP:TOO: } + [1655210591.987867][4218:4223] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003 + [1655210591.987891][4218:4223] CHIP:TOO: Event number: 65539 + [1655210591.987912][4218:4223] CHIP:TOO: Priority: Info + [1655210591.987933][4218:4223] CHIP:TOO: Timestamp: 17634460 + [1655210591.987969][4218:4223] CHIP:TOO: ShortRelease: { + [1655210591.987994][4218:4223] CHIP:TOO: PreviousPosition: 10 + [1655210591.988016][4218:4223] CHIP:TOO: } + [1655210591.988095][4218:4223] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003 + [1655210591.988118][4218:4223] CHIP:TOO: Event number: 65540 + [1655210591.988139][4218:4223] CHIP:TOO: Priority: Info + [1655210591.988160][4218:4223] CHIP:TOO: Timestamp: 17634472 + [1655210591.988186][4218:4223] CHIP:TOO: ShortRelease: { + [1655210591.988210][4218:4223] CHIP:TOO: PreviousPosition: 10 + [1655210591.988232][4218:4223] CHIP:TOO: } + [1655210591.988326][4218:4223] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Event 0x0000_0000 + [1655210591.988348][4218:4223] CHIP:TOO: Event number: 65541 + [1655210591.988370][4218:4223] CHIP:TOO: Priority: Info + [1655210591.988391][4218:4223] CHIP:TOO: Timestamp: 17644185 + [1655210591.988421][4218:4223] CHIP:TOO: SoftwareFault: { + [1655210591.988444][4218:4223] CHIP:TOO: SoftwareFault: { + [1655210591.988467][4218:4223] CHIP:TOO: Id: 2883 + [1655210591.988488][4218:4223] CHIP:TOO: Name: 2883 + [1655210591.988512][4218:4223] CHIP:TOO: FaultRecording: 547565204A756E2031342030393A32313A313820323032320A + [1655210591.988534][4218:4223] CHIP:TOO: } + [1655210591.988555][4218:4223] CHIP:TOO: } + [1655210591.988650][4218:4223] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Event 0x0000_0000 + [1655210591.988672][4218:4223] CHIP:TOO: Event number: 65542 + [1655210591.988694][4218:4223] CHIP:TOO: Priority: Info + [1655210591.988715][4218:4223] CHIP:TOO: Timestamp: 17685092 + [1655210591.988745][4218:4223] CHIP:TOO: SoftwareFault: { + [1655210591.988768][4218:4223] CHIP:TOO: SoftwareFault: { + [1655210591.988790][4218:4223] CHIP:TOO: Id: 2883 + [1655210591.988812][4218:4223] CHIP:TOO: Name: 2883 + [1655210591.988836][4218:4223] CHIP:TOO: FaultRecording: 547565204A756E2031342030393A32313A353920323032320A + [1655210591.988859][4218:4223] CHIP:TOO: } + [1655210591.988880][4218:4223] CHIP:TOO: } + [1655210591.988966][4218:4223] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003 + [1655210591.988988][4218:4223] CHIP:TOO: Event number: 65543 + [1655210591.989010][4218:4223] CHIP:TOO: Priority: Info + [1655210591.989031][4218:4223] CHIP:TOO: Timestamp: 17701621 + [1655210591.989057][4218:4223] CHIP:TOO: ShortRelease: { + [1655210591.989080][4218:4223] CHIP:TOO: PreviousPosition: 10 + [1655210591.989102][4218:4223] CHIP:TOO: } + [1655210591.989186][4218:4223] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003 + [1655210591.989209][4218:4223] CHIP:TOO: Event number: 65544 + [1655210591.989230][4218:4223] CHIP:TOO: Priority: Info + [1655210591.989251][4218:4223] CHIP:TOO: Timestamp: 17701638 + [1655210591.989277][4218:4223] CHIP:TOO: ShortRelease: { + [1655210591.989301][4218:4223] CHIP:TOO: PreviousPosition: 10 + [1655210591.989323][4218:4223] CHIP:TOO: } + [1655210591.989403][4218:4223] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003 + [1655210591.989425][4218:4223] CHIP:TOO: Event number: 65545 + [1655210591.989446][4218:4223] CHIP:TOO: Priority: Info + [1655210591.989467][4218:4223] CHIP:TOO: Timestamp: 18639509 + [1655210591.989493][4218:4223] CHIP:TOO: ShortRelease: { + [1655210591.989516][4218:4223] CHIP:TOO: PreviousPosition: 10 + [1655210591.989539][4218:4223] CHIP:TOO: } + [1655210591.989676][4218:4223] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003 + [1655210591.989701][4218:4223] CHIP:TOO: Event number: 65546 + [1655210591.989723][4218:4223] CHIP:TOO: Priority: Info + [1655210591.989744][4218:4223] CHIP:TOO: Timestamp: 18639535 + [1655210591.989770][4218:4223] CHIP:TOO: ShortRelease: { + [1655210591.989794][4218:4223] CHIP:TOO: PreviousPosition: 10 + [1655210591.989816][4218:4223] CHIP:TOO: } + [1655210591.989946][4218:4223] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Event 0x0000_0001 + [1655210591.989972][4218:4223] CHIP:TOO: Event number: 65547 + [1655210591.989994][4218:4223] CHIP:TOO: Priority: Critical + [1655210591.990015][4218:4223] CHIP:TOO: Timestamp: 18646739 + [1655210591.990047][4218:4223] CHIP:TOO: RadioFaultChange: { + [1655210591.990074][4218:4223] CHIP:TOO: Current: 0 entries + [1655210591.990101][4218:4223] CHIP:TOO: Previous: 0 entries + [1655210591.990125][4218:4223] CHIP:TOO: } + [1655210591.990209][4218:4223] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003 + [1655210591.990232][4218:4223] CHIP:TOO: Event number: 65548 + [1655210591.990253][4218:4223] CHIP:TOO: Priority: Info + [1655210591.990274][4218:4223] CHIP:TOO: Timestamp: 18649932 + [1655210591.990300][4218:4223] CHIP:TOO: ShortRelease: { + [1655210591.990347][4218:4223] CHIP:TOO: PreviousPosition: 10 + [1655210591.990369][4218:4223] CHIP:TOO: } + [1655210591.990471][4218:4223] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003 + [1655210591.990494][4218:4223] CHIP:TOO: Event number: 65549 + [1655210591.990524][4218:4223] CHIP:TOO: Priority: Info + [1655210591.990546][4218:4223] CHIP:TOO: Timestamp: 18649967 + [1655210591.990572][4218:4223] CHIP:TOO: ShortRelease: { + [1655210591.990596][4218:4223] CHIP:TOO: PreviousPosition: 10 + [1655210591.990628][4218:4223] CHIP:TOO: } + [1655210591.990729][4218:4223] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003 + [1655210591.990752][4218:4223] CHIP:TOO: Event number: 65550 + [1655210591.990782][4218:4223] CHIP:TOO: Priority: Info + [1655210591.990804][4218:4223] CHIP:TOO: Timestamp: 24455580 + [1655210591.990830][4218:4223] CHIP:TOO: ShortRelease: { + [1655210591.990864][4218:4223] CHIP:TOO: PreviousPosition: 10 + [1655210591.990888][4218:4223] CHIP:TOO: } + [1655210591.990991][4218:4223] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003 + [1655210591.991023][4218:4223] CHIP:TOO: Event number: 65551 + [1655210591.991046][4218:4223] CHIP:TOO: Priority: Info + [1655210591.991067][4218:4223] CHIP:TOO: Timestamp: 24455612 + [1655210591.991094][4218:4223] CHIP:TOO: ShortRelease: { + [1655210591.991126][4218:4223] CHIP:TOO: PreviousPosition: 10 + [1655210591.991149][4218:4223] CHIP:TOO: } + [1655210591.991253][4218:4223] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Event 0x0000_0000 + [1655210591.991284][4218:4223] CHIP:TOO: Event number: 65552 + [1655210591.991307][4218:4223] CHIP:TOO: Priority: Info + [1655210591.991328][4218:4223] CHIP:TOO: Timestamp: 24481031 + [1655210591.991359][4218:4223] CHIP:TOO: SoftwareFault: { + [1655210591.991392][4218:4223] CHIP:TOO: SoftwareFault: { + [1655210591.991414][4218:4223] CHIP:TOO: Id: 2883 + [1655210591.991446][4218:4223] CHIP:TOO: Name: 2883 + [1655210591.991471][4218:4223] CHIP:TOO: FaultRecording: 547565204A756E2031342031313A31353A313520323032320A + [1655210591.991503][4218:4223] CHIP:TOO: } + [1655210591.991524][4218:4223] CHIP:TOO: } + [1655210591.991629][4218:4223] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003 + [1655210591.991660][4218:4223] CHIP:TOO: Event number: 65553 + [1655210591.991682][4218:4223] CHIP:TOO: Priority: Info + [1655210591.991703][4218:4223] CHIP:TOO: Timestamp: 24589823 + [1655210591.991730][4218:4223] CHIP:TOO: ShortRelease: { + [1655210591.991753][4218:4223] CHIP:TOO: PreviousPosition: 10 + [1655210591.991783][4218:4223] CHIP:TOO: } + [1655210591.991872][4218:4223] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003 + [1655210591.991903][4218:4223] CHIP:TOO: Event number: 65554 + [1655210591.991925][4218:4223] CHIP:TOO: Priority: Info + [1655210591.991954][4218:4223] CHIP:TOO: Timestamp: 24589844 + [1655210591.991981][4218:4223] CHIP:TOO: ShortRelease: { + [1655210591.992013][4218:4223] CHIP:TOO: PreviousPosition: 10 + [1655210591.992036][4218:4223] CHIP:TOO: } + [1655210591.992342][4218:4223] CHIP:EM: Sending Standalone Ack for MessageCounter:59542778 on exchange 48722i + 267.321684][6338:6343] CHIP:TOO: BootReason: { + [1654597267.321716][6338:6343] CHIP:TOO: BootReason: 0 + [1654597267.321743][6338:6343] CHIP:TOO: } + [1654597267.321874][6338:6343] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0000 + [1654597267.321904][6338:6343] CHIP:TOO: Event number: 2 + [1654597267.321931][6338:6343] CHIP:TOO: Priority: Info + [1654597267.321958][6338:6343] CHIP:TOO: Timestamp: 17071275 + [1654597267.322055][6338:6343] CHIP:TOO: AccessControlEntryChanged: { + [1654597267.322087][6338:6343] CHIP:TOO: AdminNodeID: null + [1654597267.322116][6338:6343] CHIP:TOO: AdminPasscodeID: 0 + [1654597267.322143][6338:6343] CHIP:TOO: ChangeType: 1 + [1654597267.322170][6338:6343] CHIP:TOO: LatestValue: { + [1654597267.322196][6338:6343] CHIP:TOO: Privilege: 5 + [1654597267.322223][6338:6343] CHIP:TOO: AuthMode: 2 + [1654597267.322260][6338:6343] CHIP:TOO: Subjects: 1 entries + [1654597267.322296][6338:6343] CHIP:TOO: [1]: 112233 + [1654597267.322327][6338:6343] CHIP:TOO: Targets: null + [1654597267.322354][6338:6343] CHIP:TOO: FabricIndex: 1 + [1654597267.322381][6338:6343] CHIP:TOO: } + [1654597267.322413][6338:6343] CHIP:TOO: AdminFabricIndex: 1 + [1654597267.322440][6338:6343] CHIP:TOO: } + [1654597267.322579][6338:6343] CHIP:EM: Sending Standalone Ack for MessageCounter:32518205 on exchange 11331i disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_6_4.yaml b/src/app/tests/suites/certification/Test_TC_IDM_6_4.yaml index 9ef17350994715..1624a7f7a24bce 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_6_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_6_4.yaml @@ -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: - 19.8.4. [TC-IDM-6.4] Events Subscribe Interaction from DUT to TH [DUT - + 20.6.4. [TC-IDM-6.4] Events Subscribe Interaction from DUT to TH [DUT - Controller] config: @@ -26,40 +26,158 @@ tests: - label: "DUT sends Subscribe Request Message to the TH for a supported event." verification: | - In case of chip tool, here is an example command to use - - sudo ./chip-tool any subscribe-event-by-id 0x0033 0x01 0 100 0 1 1 + sudo ./chip-tool basic subscribe-event start-up 100 1000 1 0 + On DUT + [1653649895.213398][1424:1424] CHIP:DMG: SubscribeRequestMessage = + [1653649895.213464][1424:1424] CHIP:DMG: { + [1653649895.213522][1424:1424] CHIP:DMG: KeepSubscriptions = false, + [1653649895.213590][1424:1424] CHIP:DMG: MinIntervalFloorSeconds = 0x64, + [1653649895.213656][1424:1424] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, + [1653649895.213718][1424:1424] CHIP:DMG: EventPathIBs = + [1653649895.213782][1424:1424] CHIP:DMG: [ + [1653649895.213843][1424:1424] CHIP:DMG: EventPath = + [1653649895.213920][1424:1424] CHIP:DMG: { + [1653649895.213989][1424:1424] CHIP:DMG: Endpoint = 0x0, + [1653649895.214066][1424:1424] CHIP:DMG: Cluster = 0x28, + [1653649895.214140][1424:1424] CHIP:DMG: Event = 0x0, + [1653649895.214213][1424:1424] CHIP:DMG: }, + [1653649895.214282][1424:1424] CHIP:DMG: + [1653649895.214341][1424:1424] CHIP:DMG: ], + [1653649895.214409][1424:1424] CHIP:DMG: + [1653649895.214470][1424:1424] CHIP:DMG: isFabricFiltered = true, + [1653649895.214534][1424:1424] CHIP:DMG: InteractionModelRevision = 1 + [1653649895.214592][1424:1424] CHIP:DMG: }, + [1653649895.214740][1424:1424] CHIP:DMG: Final negotiated min/max parameters: Min = 100s, Max = 1000s + + + [1653649895.222992][1424:1424] CHIP:DMG: StatusResponseMessage = + [1653649895.223057][1424:1424] CHIP:DMG: { + [1653649895.223115][1424:1424] CHIP:DMG: Status = 0x00 (SUCCESS), + [1653649895.223177][1424:1424] CHIP:DMG: InteractionModelRevision = 1 + [1653649895.223236][1424:1424] CHIP:DMG: } + [1653649895.223296][1424:1424] CHIP:IM: Received status response, status is 0x00 (SUCCESS) + + + + + On TH + [1653402133.935993][12088:12093] CHIP:DMG: InteractionModelRevision = 1 + [1653402133.936007][12088:12093] CHIP:DMG: } + [1653402133.936164][12088:12093] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1653402133.936184][12088:12093] CHIP:TOO: Event number: 0 + [1653402133.936203][12088:12093] CHIP:TOO: Priority: Critical + [1653402133.936218][12088:12093] CHIP:TOO: Timestamp: 21600803 + [1653402133.936267][12088:12093] CHIP:TOO: StartUp: { + [1653402133.936291][12088:12093] CHIP:TOO: SoftwareVersion: 1 + [1653402133.936309][12088:12093] CHIP:TOO: } + [1653402133.936362][12088:12093] CHIP:DMG: MoveToState ReadClient[0x7ff794004750]: Moving to [AwaitingSu] + [1653402133.936407][12088:12093] CHIP:EM: Piggybacking Ack for MessageCounter:220576 on exchange: 40612i + [1653402133.936456][12088:12093] CHIP:IN: Prepared secure message 0x55713bb98058 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 40612i with MessageCounter:11138541. + [1653402133.936487][12088:12093] CHIP:IN: Sending encrypted msg 0x55713bb98058 with MessageCounter:11138541 to 0x0000000000000001 (1) at monotonic time: 00000000020D876B msec + [1653402133.939809][12088:12093] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:220577 on exchange 40612i + [1653402133.939854][12088:12093] CHIP:EM: Found matching exchange: 40612i, Delegate: 0x7ff794004750 + [1653402133.939897][12088:12093] CHIP:EM: Rxd Ack; Removing MessageCounter:11138541 from Retrans Table on exchange 40612i + [1653402133.939917][12088:12093] CHIP:EM: Removed CHIP MessageCounter:11138541 from RetransTable on exchange 40612i + [1653402133.939971][12088:12093] CHIP:DMG: SubscribeResponseMessage = + [1653402133.939998][12088:12093] CHIP:DMG: { + [1653402133.940016][12088:12093] CHIP:DMG: SubscriptionId = 0xde0863af, + [1653402133.940038][12088:12093] CHIP:DMG: MinIntervalFloorSeconds = 0x64, + [1653402133.940065][12088:12093] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, + [1653402133.940089][12088:12093] CHIP:DMG: InteractionModelRevision = 1 + [1653402133.940105][12088:12093] CHIP:DMG: } + [1653402133.940137][12088:12093] CHIP:DMG: Subscription established with SubscriptionID = 0xde0863af MinInterval = 100s MaxInterval = 1000s Peer = 01:0000000000000001 disabled: true - label: "DUT sends Subscribe Request Message to the TH + TH sends Report Data message to DUT." verification: | - In case of chip tool, here is an example command to use - - sudo ./chip-tool softwarediagnostics subscribe-by-id 0xFFFFFFFF 0 100 0 1 0 + sudo ./chip-tool generaldiagnostics subscribe-event-by-id 3 0 100 1 0 + + + + [1653402203.752975][2753:2753] CHIP:IM: Received Subscribe request + [1653402203.753118][2753:2753] CHIP:DMG: SubscribeRequestMessage = + [1653402203.753166][2753:2753] CHIP:DMG: { + [1653402203.753209][2753:2753] CHIP:DMG: KeepSubscriptions = false, + [1653402203.753257][2753:2753] CHIP:DMG: MinIntervalFloorSeconds = 0x0, + [1653402203.753306][2753:2753] CHIP:DMG: MaxIntervalCeilingSeconds = 0x64, + [1653402203.753350][2753:2753] CHIP:DMG: EventPathIBs = + [1653402203.753398][2753:2753] CHIP:DMG: [ + [1653402203.753441][2753:2753] CHIP:DMG: EventPath = + [1653402203.753594][2753:2753] CHIP:DMG: { + [1653402203.753649][2753:2753] CHIP:DMG: Endpoint = 0x0, + [1653402203.753705][2753:2753] CHIP:DMG: Cluster = 0x33, + [1653402203.753764][2753:2753] CHIP:DMG: Event = 0x3, + [1653402203.753818][2753:2753] CHIP:DMG: }, + [1653402203.753873][2753:2753] CHIP:DMG: + [1653402203.753916][2753:2753] CHIP:DMG: ], + [1653402203.753967][2753:2753] CHIP:DMG: + [1653402203.754012][2753:2753] CHIP:DMG: isFabricFiltered = true, + [1653402203.754058][2753:2753] CHIP:DMG: InteractionModelRevision = 1 + [1653402203.754101][2753:2753] CHIP:DMG: }, + + + [1653402203.781700][12097:12102] CHIP:DMG: ReportDataMessage = + [1653402203.781703][12097:12102] CHIP:DMG: { + [1653402203.781706][12097:12102] CHIP:DMG: SubscriptionId = 0xfeb6d63f, + [1653402203.781709][12097:12102] CHIP:DMG: EventReportIBs = + [1653402203.781714][12097:12102] CHIP:DMG: [ + [1653402203.781718][12097:12102] CHIP:DMG: EventReportIB = + [1653402203.781723][12097:12102] CHIP:DMG: { + [1653402203.781727][12097:12102] CHIP:DMG: EventDataIB = + [1653402203.781730][12097:12102] CHIP:DMG: { + [1653402203.781733][12097:12102] CHIP:DMG: EventPath = + [1653402203.781737][12097:12102] CHIP:DMG: { + [1653402203.781740][12097:12102] CHIP:DMG: Endpoint = 0x0, + [1653402203.781743][12097:12102] CHIP:DMG: Cluster = 0x33, + [1653402203.781746][12097:12102] CHIP:DMG: Event = 0x3, + [1653402203.781749][12097:12102] CHIP:DMG: }, + [1653402203.781753][12097:12102] CHIP:DMG: + [1653402203.781756][12097:12102] CHIP:DMG: EventNumber = 0x1, + [1653402203.781759][12097:12102] CHIP:DMG: PriorityLevel = 0x2, + [1653402203.781763][12097:12102] CHIP:DMG: SystemTimestamp = 0x1499a24, + [1653402203.781766][12097:12102] CHIP:DMG: EventData = + [1653402203.781770][12097:12102] CHIP:DMG: { + [1653402203.781774][12097:12102] CHIP:DMG: 0x0 = 0, + [1653402203.781778][12097:12102] CHIP:DMG: }, + [1653402203.781781][12097:12102] CHIP:DMG: }, + [1653402203.781786][12097:12102] CHIP:DMG: + [1653402203.781790][12097:12102] CHIP:DMG: }, + [1653402203.781795][12097:12102] CHIP:DMG: + [1653402203.781798][12097:12102] CHIP:DMG: ], + [1653402203.781804][12097:12102] CHIP:DMG: + [1653402203.781807][12097:12102] CHIP:DMG: InteractionModelRevision = 1 + [1653402203.781810][12097:12102] CHIP:DMG: } + [1653402203.781845][12097:12102] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Event 0x0000_0003 + [1653402203.781849][12097:12102] CHIP:TOO: Event number: 1 + [1653402203.781852][12097:12102] CHIP:TOO: Priority: Critical + [1653402203.781855][12097:12102] CHIP:TOO: Timestamp: 21600804 + [1653402203.781871][12097:12102] CHIP:TOO: BootReason: { + [1653402203.781876][12097:12102] CHIP:TOO: BootReason: 0 + [1653402203.781880][12097:12102] CHIP:TOO: } disabled: true - label: "DUT sends Subscribe Request Message to the TH and TH does not respond with Report Data message to DUT." verification: | - + This is not testable in normal scenario, and needs to be tested as part of Unit test. his test step to be removed from the manual execution. disabled: true - label: - "DUT sends Subscribe Request Message to the TH + TH sends Report Data - message to DUT + DUT sends Status Response Message to the TH + TH does + "DUT sends Subscribe Request Message to the TH . TH sends Report Data + message to DUT. DUT sends Status Response Message to the TH . TH does not respond with Subscribe Response message to DUT." verification: | - + This is not testable in normal scenario, and needs to be tested as part of Unit test. This test step to be removed from the manual execution. disabled: true - label: "With an active Event subscription from DUT to TH, TH sends Report Data message to DUT with an inactive SubscriptionId." verification: | - + This is not testable in normal scenario, and needs to be tested as part of Unit test.This test step to be removed from the manual execution. disabled: true - label: @@ -67,16 +185,41 @@ tests: Data message to DUT after the maximum interval from the last Report Data." verification: | - + This is not testable in normal scenario, and needs to be tested as part of Unit test. This test step to be removed from the manual execution. disabled: true - label: - "TH sends Subscribe Request Message to DUT with EventRequests set to a - specific event. Once the subscription is active, reboot the TH. On the - DUT, perform actions to trigger the event. (Trigger it multiple - times). TH resubscribes to the same event after bootup to the DUT." + "DUT sends Subscribe Request Message to TH with EventRequests set to a + specific event. Once the subscription is active, reboot the DUT. On + the TH, perform actions to trigger the event. (Trigger it multiple + times). DUT resubscribes to the same event after bootup to the TH." verification: | In case of chip tool, here is an example command to use - sudo ./chip-tool softwarediagnostics subscribe-by-id 0x0 0 100 0 1 0 + + sudo ./chip-tool generaldiagnostics subscribe-event-by-id 3 0 100 1 0 + + [1653650128.888225][1424:1424] CHIP:DMG: SubscribeRequestMessage = + [1653650128.888290][1424:1424] CHIP:DMG: { + [1653650128.888348][1424:1424] CHIP:DMG: KeepSubscriptions = false, + [1653650128.888415][1424:1424] CHIP:DMG: MinIntervalFloorSeconds = 0x0, + [1653650128.888481][1424:1424] CHIP:DMG: MaxIntervalCeilingSeconds = 0x64, + [1653650128.888542][1424:1424] CHIP:DMG: EventPathIBs = + [1653650128.888606][1424:1424] CHIP:DMG: [ + [1653650128.888667][1424:1424] CHIP:DMG: EventPath = + [1653650128.888732][1424:1424] CHIP:DMG: { + [1653650128.888801][1424:1424] CHIP:DMG: Endpoint = 0x0, + [1653650128.888879][1424:1424] CHIP:DMG: Cluster = 0x33, + [1653650128.888954][1424:1424] CHIP:DMG: Event = 0x3, + [1653650128.889022][1424:1424] CHIP:DMG: }, + [1653650128.889092][1424:1424] CHIP:DMG: + [1653650128.889151][1424:1424] CHIP:DMG: ], + [1653650128.889218][1424:1424] CHIP:DMG: + [1653650128.889278][1424:1424] CHIP:DMG: isFabricFiltered = true, + [1653650128.889340][1424:1424] CHIP:DMG: InteractionModelRevision = 1 + [1653650128.889398][1424:1424] CHIP:DMG: }, + [1653650128.889547][1424:1424] CHIP:DMG: Final negotiated min/max parameters: Min = 0s, Max = 100s + + Once the subscription is active, reboot the TH. On the DUT, perform actions to trigger the event. (Trigger it multiple times). + TH resubscribes to the same event after bootup to the DUT. disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_7_1.yaml b/src/app/tests/suites/certification/Test_TC_IDM_7_1.yaml index 58cf68091167ce..dea03da27f175a 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_7_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_7_1.yaml @@ -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: - 19.8.5. [TC-IDM-7.1] Multi Fabric Subscription Test Cases. DUT as the + 20.6.5. [TC-IDM-7.1] Multi Fabric Subscription Test Cases. DUT as the server. config: @@ -24,18 +24,94 @@ config: tests: - label: - "All Reference Devices send 3 Subscribe Request Messages to DUT.(Total - - 12 active subscriptions) They can subscribe to different attributes + "RD1, RD2, RD3, RD4, RD5 send 3 Subscribe Request Messages to + DUT.(Total - 15 active subscriptions) + Each subscribe request should + contain 3 different paths. They can subscribe to different attributes and events. Once all subscriptions are active, change the value of all the attributes that have been subscribed or trigger an action on the DUT to generate an event." verification: | + sudo ./chip-tool any subscribe-by-id "6,8" "0,17" ${NODE_ID} 0 1000 1 "1,1" + Waiting For Test-Plan author for more input. Verification step upadte is in progress + + + [1653403086.002767][12239:12245] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 3173357546 + [1653403086.002782][12239:12245] CHIP:TOO: on level: null + [1653403086.002800][12239:12245] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 2664954815 + [1653403086.002805][12239:12245] CHIP:TOO: OnOff: FALSE + [1653403086.002816][12239:12245] CHIP:DMG: MoveToState ReadClient[0x7f1d700072a0]: Moving to [AwaitingSu] + [1653403086.002829][12239:12245] CHIP:EM: Piggybacking Ack for MessageCounter:15927693 on exchange: 53574i + [1653403086.002842][12239:12245] CHIP:IN: Prepared secure message 0x5595b67a6108 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 53574i with MessageCounter:15164689. + [1653403086.002850][12239:12245] CHIP:IN: Sending encrypted msg 0x5595b67a6108 with MessageCounter:15164689 to 0x0000000000000001 (1) at monotonic time: 00000000021C0E6D msec + [1653403086.011341][12239:12245] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:15927694 on exchange 53574i + [1653403086.011352][12239:12245] CHIP:EM: Found matching exchange: 53574i, Delegate: 0x7f1d700072a0 + [1653403086.011361][12239:12245] CHIP:EM: Rxd Ack; Removing MessageCounter:15164689 from Retrans Table on exchange 53574i + [1653403086.011365][12239:12245] CHIP:EM: Removed CHIP MessageCounter:15164689 from RetransTable on exchange 53574i + [1653403086.011376][12239:12245] CHIP:DMG: SubscribeResponseMessage = + [1653403086.011381][12239:12245] CHIP:DMG: { + [1653403086.011386][12239:12245] CHIP:DMG: SubscriptionId = 0xfa0b5c08, + [1653403086.011391][12239:12245] CHIP:DMG: MinIntervalFloorSeconds = 0x0, + [1653403086.011396][12239:12245] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, + [1653403086.011401][12239:12245] CHIP:DMG: InteractionModelRevision = 1 + [1653403086.011405][12239:12245] CHIP:DMG: } + + + sudo ./chip-tool any subscribe-by-id "3,8" "1,1" ${NODE_ID} 0 1000 1 "1,1" + [1653403576.015722][13006:13011] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0001 DataVersion: 3173357546 + [1653403576.015802][13006:13011] CHIP:TOO: remaining time: 0 + [1653403576.015900][13006:13011] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 1689730037 + [1653403576.015944][13006:13011] CHIP:TOO: identify type: 2 + [1653403576.016007][13006:13011] CHIP:DMG: MoveToState ReadClient[0x7f10cc004f50]: Moving to [AwaitingSu] + [1653403576.016077][13006:13011] CHIP:EM: Piggybacking Ack for MessageCounter:15501318 on exchange: 47781i + [1653403576.016150][13006:13011] CHIP:IN: Prepared secure message 0x55e293868908 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 47781i with MessageCounter:3013623. + [1653403576.016197][13006:13011] CHIP:IN: Sending encrypted msg 0x55e293868908 with MessageCounter:3013623 to 0x0000000000000001 (1) at monotonic time: 000000000223888B msec + [1653403576.016565][13006:13011] CHIP:EM: Received message of type 0x10 with protocolId (0, 0) and MessageCounter:15501319 on exchange 47781i + [1653403576.016605][13006:13011] CHIP:EM: Found matching exchange: 47781i, Delegate: 0x7f10cc004f50 + [1653403576.016637][13006:13011] CHIP:EM: CHIP MessageCounter:3013622 not in RetransTable on exchange 47781i + [1653403576.175950][13006:13011] CHIP:DIS: Checking node lookup status after 200 ms + [1653403576.176075][13006:13011] CHIP:CTL: Updating device address to UDP:[fe80::e65f:1ff:fe69:61b1%wlp3s0]:5540 while in state 5 + [1653403576.176114][13006:13011] CHIP:DIS: Discovery does not require any more timeouts + [1653403576.247237][13006:13011] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:15501320 on exchange 47781i + [1653403576.247297][13006:13011] CHIP:EM: Found matching exchange: 47781i, Delegate: 0x7f10cc004f50 + [1653403576.247367][13006:13011] CHIP:EM: Rxd Ack; Removing MessageCounter:3013623 from Retrans Table on exchange 47781i + [1653403576.247390][13006:13011] CHIP:EM: Removed CHIP MessageCounter:3013623 from RetransTable on exchange 47781i + [1653403576.247460][13006:13011] CHIP:DMG: SubscribeResponseMessage = + [1653403576.247484][13006:13011] CHIP:DMG: { + [1653403576.247508][13006:13011] CHIP:DMG: SubscriptionId = 0x72a4e6bf, + [1653403576.247530][13006:13011] CHIP:DMG: MinIntervalFloorSeconds = 0x0, + [1653403576.247551][13006:13011] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, + [1653403576.247575][13006:13011] CHIP:DMG: InteractionModelRevision = 1 + [1653403576.247599][13006:13011] CHIP:DMG: } + + + sudo ./chip-tool any subscribe-by-id "8,3" "1,1" ${NODE_ID} 0 1000 1 "1,1" + disabled: true + + - label: + "RD1, RD2, RD3, RD4, RD5 send 3 Subscribe Request Messages to + DUT.(Total - 15 active subscriptions) + Each subscribe requests should + contain 3 different paths. The subscription request from RD1 should + contain 4 paths." + verification: | + sudo ./chip-tool any read-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0xFFFF + disabled: true + + - label: + "RD2, RD3, RD4, RD5 send 3 Subscribe request messages each with each + of them having 3 different paths. + Verify that the subscription + request messages from all reference devices succeed. + Once all the + Subscription Requests are activated, RD1 sends 6 subscription request + messages with each of them having 3 different paths." + verification: | disabled: true - label: - "All Reference Devices send a Read Request Message to the DUT. They - can read different attributes and events." + "RD1, RD2, RD3, RD4, RD5 send 3 Subscribe request messages each with + each of them having 3 different paths. + Verify that the subscription + request messages from RD1, RD2, RD3, RD4 and RD5 succeed. + Once all + the Subscription Requests are activated, send a Subscribe request + messages having 3 different paths from RD1A to the DUT." verification: | disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_MOD_1_1.yaml b/src/app/tests/suites/certification/Test_TC_MOD_1_1.yaml index 93753d2941a062..bcaaea583eea12 100644 --- a/src/app/tests/suites/certification/Test_TC_MOD_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_MOD_1_1.yaml @@ -42,7 +42,7 @@ tests: response: value: 1 constraints: - type: map32 + type: map8 - label: "TH reads the AttributeList attribute from the DUT" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_MOD_1_2.yaml b/src/app/tests/suites/certification/Test_TC_MOD_1_2.yaml index 082bcb249691d5..eae3d4233ed757 100644 --- a/src/app/tests/suites/certification/Test_TC_MOD_1_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_MOD_1_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.1.2. [TC-MOD-1.2] Cluster attributes with server as DUT +name: 79.1.2. [TC-MOD-1.2] Cluster attributes with server as DUT config: nodeId: 0x12344321 @@ -24,53 +24,42 @@ tests: - label: "TH reads the SupportedModes attribute from 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: } + + [1654595167.600241][14362:14367] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0002 DataVersion: 366231602 + [1654595167.600345][14362:14367] CHIP:TOO: SupportedModes: 3 entries + [1654595167.600403][14362:14367] CHIP:TOO: [1]: { + [1654595167.600430][14362:14367] CHIP:TOO: Label: Black + [1654595167.600466][14362:14367] CHIP:TOO: Mode: 0 + [1654595167.600495][14362:14367] CHIP:TOO: SemanticTags: 1 entries + [1654595167.600564][14362:14367] CHIP:TOO: [1]: { + [1654595167.600589][14362:14367] CHIP:TOO: MfgCode: 0 + [1654595167.600612][14362:14367] CHIP:TOO: Value: 0 + [1654595167.600637][14362:14367] CHIP:TOO: } + [1654595167.600662][14362:14367] CHIP:TOO: } + [1654595167.600695][14362:14367] CHIP:TOO: [2]: { + [1654595167.600719][14362:14367] CHIP:TOO: Label: Cappuccino + [1654595167.600742][14362:14367] CHIP:TOO: Mode: 4 + [1654595167.600768][14362:14367] CHIP:TOO: SemanticTags: 1 entries + [1654595167.600796][14362:14367] CHIP:TOO: [1]: { + [1654595167.600820][14362:14367] CHIP:TOO: MfgCode: 0 + [1654595167.600842][14362:14367] CHIP:TOO: Value: 0 + [1654595167.600865][14362:14367] CHIP:TOO: } + [1654595167.600889][14362:14367] CHIP:TOO: } + [1654595167.600921][14362:14367] CHIP:TOO: [3]: { + [1654595167.600945][14362:14367] CHIP:TOO: Label: Espresso + [1654595167.600968][14362:14367] CHIP:TOO: Mode: 7 + [1654595167.600993][14362:14367] CHIP:TOO: SemanticTags: 1 entries + [1654595167.601022][14362:14367] CHIP:TOO: [1]: { + [1654595167.601046][14362:14367] CHIP:TOO: MfgCode: 0 + [1654595167.601068][14362:14367] CHIP:TOO: Value: 0 + [1654595167.601091][14362:14367] CHIP:TOO: } + [1654595167.601115][14362:14367] CHIP:TOO: } disabled: true - label: "TH reads the CurrentMode attribute from the DUT" verification: | ./chip-tool modeselect read current-mode 1 1 - [1645776767.610097][4667:4672] CHIP:DMG: ReportDataMessage = - [1645776767.610129][4667:4672] CHIP:DMG: { - [1645776767.610155][4667:4672] CHIP:DMG: AttributeReportIBs = - [1645776767.610190][4667:4672] CHIP:DMG: [ - [1645776767.610217][4667:4672] CHIP:DMG: AttributeReportIB = - [1645776767.610258][4667:4672] CHIP:DMG: { - [1645776767.610289][4667:4672] CHIP:DMG: AttributeDataIB = - [1645776767.610331][4667:4672] CHIP:DMG: { - [1645776767.610367][4667:4672] CHIP:DMG: DataVersion = 0xe164a616, - [1645776767.610404][4667:4672] CHIP:DMG: AttributePathIB = - [1645776767.610442][4667:4672] CHIP:DMG: { - [1645776767.610481][4667:4672] CHIP:DMG: Endpoint = 0x1, - [1645776767.610526][4667:4672] CHIP:DMG: Cluster = 0x50, - [1645776767.610577][4667:4672] CHIP:DMG: Attribute = 0x0000_0000, - [1645776767.610611][4667:4672] CHIP:DMG: } - [1645776767.610654][4667:4672] CHIP:DMG: - [1645776767.610697][4667:4672] CHIP:DMG: Data = 0, - [1645776767.610734][4667:4672] CHIP:DMG: }, - [1645776767.610773][4667:4672] CHIP:DMG: - [1645776767.610803][4667:4672] CHIP:DMG: }, - [1645776767.610840][4667:4672] CHIP:DMG: - [1645776767.610866][4667:4672] CHIP:DMG: ], - [1645776767.610901][4667:4672] CHIP:DMG: - [1645776767.610929][4667:4672] CHIP:DMG: SuppressResponse = true, - [1645776767.610958][4667:4672] CHIP:DMG: InteractionModelRevision = 1 - [1645776767.610983][4667:4672] CHIP:DMG: } + [1645776767.611140][4667:4672] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0000DataVersion: 3781469718 [1645776767.611214][4667:4672] CHIP:TOO: CurrentMode: 0 disabled: true @@ -78,103 +67,31 @@ tests: - label: "TH reads the OnMode attribute from the DUT" verification: | ./chip-tool modeselect read on-mode 1 1 - [1645776797.703167][4674:4679] CHIP:DMG: ReportDataMessage = - [1645776797.703202][4674:4679] CHIP:DMG: { - [1645776797.703230][4674:4679] CHIP:DMG: AttributeReportIBs = - [1645776797.703270][4674:4679] CHIP:DMG: [ - [1645776797.703297][4674:4679] CHIP:DMG: AttributeReportIB = - [1645776797.703336][4674:4679] CHIP:DMG: { - [1645776797.703368][4674:4679] CHIP:DMG: AttributeDataIB = - [1645776797.703415][4674:4679] CHIP:DMG: { - [1645776797.703453][4674:4679] CHIP:DMG: DataVersion = 0xe164a616, - [1645776797.703494][4674:4679] CHIP:DMG: AttributePathIB = - [1645776797.703531][4674:4679] CHIP:DMG: { - [1645776797.703576][4674:4679] CHIP:DMG: Endpoint = 0x1, - [1645776797.703625][4674:4679] CHIP:DMG: Cluster = 0x50, - [1645776797.703675][4674:4679] CHIP:DMG: Attribute = 0x0000_0002, - [1645776797.703719][4674:4679] CHIP:DMG: } - [1645776797.703758][4674:4679] CHIP:DMG: - [1645776797.703794][4674:4679] CHIP:DMG: Data = 0, - [1645776797.703834][4674:4679] CHIP:DMG: }, - [1645776797.703878][4674:4679] CHIP:DMG: - [1645776797.703911][4674:4679] CHIP:DMG: }, - [1645776797.703952][4674:4679] CHIP:DMG: - [1645776797.703981][4674:4679] CHIP:DMG: ], - [1645776797.704018][4674:4679] CHIP:DMG: - [1645776797.704049][4674:4679] CHIP:DMG: SuppressResponse = true, - [1645776797.704080][4674:4679] CHIP:DMG: InteractionModelRevision = 1 - [1645776797.704108][4674:4679] CHIP:DMG: } - [1645776797.704270][4674:4679] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0002DataVersion: 3781469718 - [1645776797.704349][4674:4679] CHIP:TOO: OnMode: 0 + + [1649676072.465968][10754:10759] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0005 DataVersion: 4277065072 + [1649676072.466094][10754:10759] CHIP:TOO: OnMode: null disabled: true - label: "TH reads the StartUpMode attribute from the DUT" verification: | ./chip-tool modeselect read start-up-mode 1 1 - [1645776818.699192][4682:4687] CHIP:DMG: ReportDataMessage = - [1645776818.699226][4682:4687] CHIP:DMG: { - [1645776818.699255][4682:4687] CHIP:DMG: AttributeReportIBs = - [1645776818.699292][4682:4687] CHIP:DMG: [ - [1645776818.699322][4682:4687] CHIP:DMG: AttributeReportIB = - [1645776818.699369][4682:4687] CHIP:DMG: { - [1645776818.699404][4682:4687] CHIP:DMG: AttributeDataIB = - [1645776818.699451][4682:4687] CHIP:DMG: { - [1645776818.699496][4682:4687] CHIP:DMG: DataVersion = 0xe164a616, - [1645776818.699536][4682:4687] CHIP:DMG: AttributePathIB = - [1645776818.699574][4682:4687] CHIP:DMG: { - [1645776818.699623][4682:4687] CHIP:DMG: Endpoint = 0x1, - [1645776818.699667][4682:4687] CHIP:DMG: Cluster = 0x50, - [1645776818.699712][4682:4687] CHIP:DMG: Attribute = 0x0000_0003, - [1645776818.699748][4682:4687] CHIP:DMG: } - [1645776818.699787][4682:4687] CHIP:DMG: - [1645776818.699825][4682:4687] CHIP:DMG: Data = 0, - [1645776818.699860][4682:4687] CHIP:DMG: }, - [1645776818.699898][4682:4687] CHIP:DMG: - [1645776818.699932][4682:4687] CHIP:DMG: }, - [1645776818.699970][4682:4687] CHIP:DMG: - [1645776818.699999][4682:4687] CHIP:DMG: ], - [1645776818.700035][4682:4687] CHIP:DMG: - [1645776818.700065][4682:4687] CHIP:DMG: SuppressResponse = true, - [1645776818.700095][4682:4687] CHIP:DMG: InteractionModelRevision = 1 - [1645776818.700127][4682:4687] CHIP:DMG: } - [1645776818.700294][4682:4687] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0003DataVersion: 3781469718 - [1645776818.700374][4682:4687] CHIP:TOO: StartUpMode: 0 + + [1649677014.496348][10778:10784] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0004 DataVersion: 4277065072 + [1649677014.496469][10778:10784] CHIP:TOO: StartUpMode: 0 disabled: true - label: "TH reads the Description attribute from the DUT" verification: | ./chip-tool modeselect read description 1 1 - [1645776853.154340][4691:4696] CHIP:DMG: ReportDataMessage = - [1645776853.154374][4691:4696] CHIP:DMG: { - [1645776853.154402][4691:4696] CHIP:DMG: AttributeReportIBs = - [1645776853.154440][4691:4696] CHIP:DMG: [ - [1645776853.154470][4691:4696] CHIP:DMG: AttributeReportIB = - [1645776853.154514][4691:4696] CHIP:DMG: { - [1645776853.154569][4691:4696] CHIP:DMG: AttributeDataIB = - [1645776853.154633][4691:4696] CHIP:DMG: { - [1645776853.154678][4691:4696] CHIP:DMG: DataVersion = 0xe164a616, - [1645776853.154750][4691:4696] CHIP:DMG: AttributePathIB = - [1645776853.154813][4691:4696] CHIP:DMG: { - [1645776853.154875][4691:4696] CHIP:DMG: Endpoint = 0x1, - [1645776853.154950][4691:4696] CHIP:DMG: Cluster = 0x50, - [1645776853.155011][4691:4696] CHIP:DMG: Attribute = 0x0000_0004, - [1645776853.155068][4691:4696] CHIP:DMG: } - [1645776853.155139][4691:4696] CHIP:DMG: - [1645776853.155182][4691:4696] CHIP:DMG: Data = "Coffee", - [1645776853.155250][4691:4696] CHIP:DMG: }, - [1645776853.155318][4691:4696] CHIP:DMG: - [1645776853.155351][4691:4696] CHIP:DMG: }, - [1645776853.155411][4691:4696] CHIP:DMG: - [1645776853.155441][4691:4696] CHIP:DMG: ], - [1645776853.155478][4691:4696] CHIP:DMG: - [1645776853.155531][4691:4696] CHIP:DMG: SuppressResponse = true, - [1645776853.155563][4691:4696] CHIP:DMG: InteractionModelRevision = 1 - [1645776853.155591][4691:4696] CHIP:DMG: } - [1645776853.155757][4691:4696] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0004DataVersion: 3781469718 - [1645776853.155812][4691:4696] CHIP:TOO: Description: Coffee + + [1649677114.614974][10787:10792] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0000 DataVersion: 4277065072 + [1649677114.615110][10787:10792] CHIP:TOO: Description: Coffee disabled: true - label: "TH reads the StandardNamespace attribute from the DUT" verification: | - Not supported by chip-tool + ./chip-tool modeselect read standard-namespace 1 1 + + [1649677167.900539][10795:10801] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0001 DataVersion: 4277065072 + [1649677167.900660][10795:10801] CHIP:TOO: StandardNamespace: 0 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_MOD_1_3.yaml b/src/app/tests/suites/certification/Test_TC_MOD_1_3.yaml index f58d69d0a2f879..71a746f466a0ea 100644 --- a/src/app/tests/suites/certification/Test_TC_MOD_1_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_MOD_1_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.1.3. [TC-MOD-1.3] Attributes with client as DUT +name: 79.1.3. [TC-MOD-1.3] Attributes with client as DUT config: nodeId: 0x12344321 @@ -22,81 +22,311 @@ config: tests: - label: - "DUT reads all supported mandatory attributes from TH once at a time - in a manufacturer specific order" + "DUT reads all supported mandatory attributes from TH one at a time in + a manufacturer specific order" verification: | ./chip-tool modeselect read supported-modes 1 1 - [1636130688126] [80643:15347427] CHIP: [ZCL] ReadAttributesResponse: - [1636130688126] [80643:15347427] CHIP: [ZCL] ClusterId: 0x0000_0050 - [1636130688126] [80643:15347427] CHIP: [ZCL] attributeId: 0x0000_0001 - [1636130688126] [80643:15347427] CHIP: [ZCL] status: Success (0x0000) - [1636130688126] [80643:15347427] CHIP: [ZCL] attribute TLV Type: 0x16 - [1636130688126] [80643:15347427] CHIP: [TOO] OnModeSelectSupportedModesListAttributeResponse: 3 entries - [1636130688126] [80643:15347427] CHIP: [TOO] ModeOptionStruct[1]: - [1636130688126] [80643:15347427] CHIP: [ZCL] Label: Black - [1636130688127] [80643:15347427] CHIP: [TOO] Mode: 0 - [1636130688127] [80643:15347427] CHIP: [TOO] SemanticTag: 0 - [1636130688127] [80643:15347427] CHIP: [TOO] ModeOptionStruct[2]: - [1636130688127] [80643:15347427] CHIP: [ZCL] Label: Cappuccino - [1636130688127] [80643:15347427] CHIP: [TOO] Mode: 4 - [1636130688127] [80643:15347427] CHIP: [TOO] SemanticTag: 0 - [1636130688127] [80643:15347427] CHIP: [TOO] ModeOptionStruct[3]: - [1636130688127] [80643:15347427] CHIP: [ZCL] Label: Espresso - [1636130688127] [80643:15347427] CHIP: [TOO] Mode: 7 - [1636130688127] [80643:15347427] CHIP: [TOO] SemanticTag: 0" + [1650968776.863713][12747:12747] CHIP:IM: Received Read request + [1650968776.863767][12747:12747] CHIP:DMG: ReadRequestMessage = + [1650968776.863793][12747:12747] CHIP:DMG: { + [1650968776.863825][12747:12747] CHIP:DMG: AttributePathIBs = + [1650968776.863852][12747:12747] CHIP:DMG: [ + [1650968776.863876][12747:12747] CHIP:DMG: AttributePathIB = + [1650968776.863953][12747:12747] CHIP:DMG: { + [1650968776.863984][12747:12747] CHIP:DMG: Endpoint = 0x1, + [1650968776.864023][12747:12747] CHIP:DMG: Cluster = 0x50, + [1650968776.864052][12747:12747] CHIP:DMG: Attribute = 0x0000_0002, + [1650968776.864085][12747:12747] CHIP:DMG: } + [1650968776.864124][12747:12747] CHIP:DMG: + [1650968776.864153][12747:12747] CHIP:DMG: ], + [1650968776.864190][12747:12747] CHIP:DMG: + [1650968776.864216][12747:12747] CHIP:DMG: isFabricFiltered = true, + [1650968776.864251][12747:12747] CHIP:DMG: InteractionModelRevision = 1 + [1650968776.864273][12747:12747] CHIP:DMG: }, + [1650968776.864361][12747:12747] CHIP:DMG: IM RH moving to [GeneratingReports] + [1650968776.864454][12747:12747] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + [1650968776.864493][12747:12747] CHIP:DMG: Cluster 50, Attribute 2 is dirty + [1650968776.864514][12747:12747] CHIP:DMG: Reading attribute: Cluster=0x0000_0050 Endpoint=1 AttributeId=0x0000_0002 (expanded=0) + [1650968776.864543][12747:12747] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0050 e=1 p=v + [1650968776.864584][12747:12747] CHIP:DMG: AccessControl: allowed + ./chip-tool modeselect read current-mode 1 1 - [1636130740980] [80827:15348218] CHIP: [ZCL] ReadAttributesResponse: - [1636130740980] [80827:15348218] CHIP: [ZCL] ClusterId: 0x0000_0050 - [1636130740980] [80827:15348218] CHIP: [ZCL] attributeId: 0x0000_0000 - [1636130740980] [80827:15348218] CHIP: [ZCL] status: Success (0x0000) - [1636130740980] [80827:15348218] CHIP: [ZCL] attribute TLV Type: 0x04 - [1636130740980] [80827:15348218] CHIP: [TOO] Int8u attribute Response: 0" + 1650968848.687576][12747:12747] CHIP:IM: Received Read request + [1650968848.687628][12747:12747] CHIP:DMG: ReadRequestMessage = + [1650968848.687653][12747:12747] CHIP:DMG: { + [1650968848.687674][12747:12747] CHIP:DMG: AttributePathIBs = + [1650968848.687738][12747:12747] CHIP:DMG: [ + [1650968848.687763][12747:12747] CHIP:DMG: AttributePathIB = + [1650968848.687795][12747:12747] CHIP:DMG: { + [1650968848.687822][12747:12747] CHIP:DMG: Endpoint = 0x1, + [1650968848.687855][12747:12747] CHIP:DMG: Cluster = 0x50, + [1650968848.687887][12747:12747] CHIP:DMG: Attribute = 0x0000_0003, + [1650968848.687917][12747:12747] CHIP:DMG: } + [1650968848.687974][12747:12747] CHIP:DMG: + [1650968848.688003][12747:12747] CHIP:DMG: ], + [1650968848.688031][12747:12747] CHIP:DMG: + [1650968848.688057][12747:12747] CHIP:DMG: isFabricFiltered = true, + [1650968848.688082][12747:12747] CHIP:DMG: InteractionModelRevision = 1 + [1650968848.688105][12747:12747] CHIP:DMG: }, + [1650968848.688174][12747:12747] CHIP:DMG: IM RH moving to [GeneratingReports] + + + + + ./chip-tool modeselect read standard-namespace 1 1 + + 1650968644.223891][12747:12747] CHIP:IM: Received Read request + [1650968644.223954][12747:12747] CHIP:DMG: ReadRequestMessage = + [1650968644.223981][12747:12747] CHIP:DMG: { + [1650968644.224003][12747:12747] CHIP:DMG: AttributePathIBs = + [1650968644.224028][12747:12747] CHIP:DMG: [ + [1650968644.224052][12747:12747] CHIP:DMG: AttributePathIB = + [1650968644.224099][12747:12747] CHIP:DMG: { + [1650968644.224139][12747:12747] CHIP:DMG: Endpoint = 0x1, + [1650968644.224169][12747:12747] CHIP:DMG: Cluster = 0x50, + [1650968644.224206][12747:12747] CHIP:DMG: Attribute = 0x0000_0001, + [1650968644.224233][12747:12747] CHIP:DMG: } + [1650968644.224272][12747:12747] CHIP:DMG: + [1650968644.224297][12747:12747] CHIP:DMG: ], + [1650968644.224334][12747:12747] CHIP:DMG: + [1650968644.224369][12747:12747] CHIP:DMG: isFabricFiltered = true, + [1650968644.224394][12747:12747] CHIP:DMG: InteractionModelRevision = 1 + [1650968644.224426][12747:12747] CHIP:DMG: }, + [1650968644.224507][12747:12747] CHIP:DMG: IM RH moving to [GeneratingReports] + [1650968644.224596][12747:12747] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + [1650968644.224633][12747:12747] CHIP:DMG: Cluster 50, Attribute 1 is dirty + [1650968644.224658][12747:12747] CHIP:DMG: Reading attribute: Cluster=0x0000_0050 Endpoint=1 AttributeId=0x0000_0001 (expanded=0) + [1650968644.224687][12747:12747] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0050 e=1 p=v + [1650968644.224720][12747:12747] CHIP:DMG: AccessControl: allowed - ./chip-tool modeselect read start-up-mode 1 1 - [1636130817982] [81036:15349339] CHIP: [ZCL] ReadAttributesResponse: - [1636130817982] [81036:15349339] CHIP: [ZCL] ClusterId: 0x0000_0050 - [1636130817982] [81036:15349339] CHIP: [ZCL] attributeId: 0x0000_0003 - [1636130817982] [81036:15349339] CHIP: [ZCL] status: Success (0x0000) - [1636130817982] [81036:15349339] CHIP: [ZCL] attribute TLV Type: 0x04 - [1636130817982] [81036:15349339] CHIP: [TOO] Int8u attribute Response: 0" ./chip-tool modeselect read description 1 1 - [1636130846823] [81045:15349635] CHIP: [ZCL] ReadAttributesResponse: - [1636130846823] [81045:15349635] CHIP: [ZCL] ClusterId: 0x0000_0050 - [1636130846823] [81045:15349635] CHIP: [ZCL] attributeId: 0x0000_0004 - [1636130846823] [81045:15349635] CHIP: [ZCL] status: Success (0x0000) - [1636130846823] [81045:15349635] CHIP: [ZCL] attribute TLV Type: 0x0c - [1636130846823] [81045:15349635] CHIP: [TOO] CharString attribute Response: Coffee" + [1650969447.413679][12747:12747] CHIP:EM: Handling via exchange: 65381r, Delegate: 0xaaaae5201098 + [1650969447.413718][12747:12747] CHIP:IM: Received Read request + [1650969447.413769][12747:12747] CHIP:DMG: ReadRequestMessage = + [1650969447.413795][12747:12747] CHIP:DMG: { + [1650969447.413836][12747:12747] CHIP:DMG: AttributePathIBs = + [1650969447.413865][12747:12747] CHIP:DMG: [ + [1650969447.413889][12747:12747] CHIP:DMG: AttributePathIB = + [1650969447.413924][12747:12747] CHIP:DMG: { + [1650969447.413956][12747:12747] CHIP:DMG: Endpoint = 0x1, + [1650969447.413989][12747:12747] CHIP:DMG: Cluster = 0x50, + [1650969447.414021][12747:12747] CHIP:DMG: Attribute = 0x0000_0000, + [1650969447.414051][12747:12747] CHIP:DMG: } + [1650969447.414080][12747:12747] CHIP:DMG: + [1650969447.414108][12747:12747] CHIP:DMG: ], + [1650969447.414137][12747:12747] CHIP:DMG: + [1650969447.414163][12747:12747] CHIP:DMG: isFabricFiltered = true, + [1650969447.414188][12747:12747] CHIP:DMG: InteractionModelRevision = 1 + [1650969447.414211][12747:12747] CHIP:DMG: }, + [1650969447.414280][12747:12747] CHIP:DMG: IM RH moving to [GeneratingReports] disabled: true - label: - "DUT reads all supported optional attributes from TH once at a time in + "DUT reads all supported optional attributes from TH one at a time in a manufacturer specific order" verification: | ./chip-tool modeselect read on-mode 1 1 - [1636130785100] [80839:15348768] CHIP: [ZCL] ReadAttributesResponse: - [1636130785100] [80839:15348768] CHIP: [ZCL] ClusterId: 0x0000_0050 - [1636130785100] [80839:15348768] CHIP: [ZCL] attributeId: 0x0000_0002 - [1636130785100] [80839:15348768] CHIP: [ZCL] status: Success (0x0000) - [1636130785100] [80839:15348768] CHIP: [ZCL] attribute TLV Type: 0x04 - [1636130785100] [80839:15348768] CHIP: [TOO] Int8u attribute Response: 0" + + [1650969570.494960][12747:12747] CHIP:IM: Received Read request + [1650969570.495012][12747:12747] CHIP:DMG: ReadRequestMessage = + [1650969570.495038][12747:12747] CHIP:DMG: { + [1650969570.495059][12747:12747] CHIP:DMG: AttributePathIBs = + [1650969570.495085][12747:12747] CHIP:DMG: [ + [1650969570.495108][12747:12747] CHIP:DMG: AttributePathIB = + [1650969570.495142][12747:12747] CHIP:DMG: { + [1650969570.495172][12747:12747] CHIP:DMG: Endpoint = 0x1, + [1650969570.495210][12747:12747] CHIP:DMG: Cluster = 0x50, + [1650969570.495242][12747:12747] CHIP:DMG: Attribute = 0x0000_0005, + [1650969570.495275][12747:12747] CHIP:DMG: } + [1650969570.495304][12747:12747] CHIP:DMG: + [1650969570.495332][12747:12747] CHIP:DMG: ], + [1650969570.495360][12747:12747] CHIP:DMG: + [1650969570.495386][12747:12747] CHIP:DMG: isFabricFiltered = true, + [1650969570.495411][12747:12747] CHIP:DMG: InteractionModelRevision = 1 + [1650969570.495435][12747:12747] CHIP:DMG: }, + [1650969570.495503][12747:12747] CHIP:DMG: IM RH moving to [GeneratingReports] + + ./chip-tool modeselect read start-up-mode 1 1 + + [1650970821.970899][12747:12747] CHIP:IM: Received Read request + [1650970821.970950][12747:12747] CHIP:DMG: ReadRequestMessage = + [1650970821.970975][12747:12747] CHIP:DMG: { + [1650970821.970996][12747:12747] CHIP:DMG: AttributePathIBs = + [1650970821.971029][12747:12747] CHIP:DMG: [ + [1650970821.971054][12747:12747] CHIP:DMG: AttributePathIB = + [1650970821.971082][12747:12747] CHIP:DMG: { + [1650970821.971110][12747:12747] CHIP:DMG: Endpoint = 0x1, + [1650970821.971139][12747:12747] CHIP:DMG: Cluster = 0x50, + [1650970821.971164][12747:12747] CHIP:DMG: Attribute = 0x0000_0004, + [1650970821.971191][12747:12747] CHIP:DMG: } + [1650970821.971216][12747:12747] CHIP:DMG: + [1650970821.971238][12747:12747] CHIP:DMG: ], + [1650970821.971268][12747:12747] CHIP:DMG: + [1650970821.971295][12747:12747] CHIP:DMG: isFabricFiltered = true, + [1650970821.971323][12747:12747] CHIP:DMG: InteractionModelRevision = 1 + [1650970821.971349][12747:12747] CHIP:DMG: }, + [1650970821.971419][12747:12747] CHIP:DMG: IM RH moving to [GeneratingReports] disabled: true - label: "DUT writes a suitable value to all supported mandatory attributes on - the TH once at a time in a manufacturer specific order" + the TH one at a time in a manufacturer specific order" verification: | no writable attributes disabled: true - label: "DUT writes a suitable value to all supported optional attributes on - the TH once at a time in a manufacturer specific order" + the TH one at a time in a manufacturer specific order" + verification: | + no writable 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: | + ./chip-tool modeselect read attribute-list 1 1 + + [1654244736050] [91506:3999585] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_FFFB DataVersion: 1865308556 + [1654244736050] [91506:3999585] CHIP: [TOO] AttributeList: 9 entries + [1654244736050] [91506:3999585] CHIP: [TOO] [1]: 0 + [1654244736050] [91506:3999585] CHIP: [TOO] [2]: 1 + [1654244736050] [91506:3999585] CHIP: [TOO] [3]: 2 + [1654244736050] [91506:3999585] CHIP: [TOO] [4]: 3 + [1654244736050] [91506:3999585] CHIP: [TOO] [5]: 65528 + [1654244736050] [91506:3999585] CHIP: [TOO] [6]: 65529 + [1654244736050] [91506:3999585] CHIP: [TOO] [7]: 65531 + [1654244736050] [91506:3999585] CHIP: [TOO] [8]: 65532 + [1654244736050] [91506:3999585] CHIP: [TOO] [9]: 65533 + + + + + "./chip-tool modeselect read supported-modes 1 1 + + [1650968776.863713][12747:12747] CHIP:IM: Received Read request + [1650968776.863767][12747:12747] CHIP:DMG: ReadRequestMessage = + [1650968776.863793][12747:12747] CHIP:DMG: { + [1650968776.863825][12747:12747] CHIP:DMG: AttributePathIBs = + [1650968776.863852][12747:12747] CHIP:DMG: [ + [1650968776.863876][12747:12747] CHIP:DMG: AttributePathIB = + [1650968776.863953][12747:12747] CHIP:DMG: { + [1650968776.863984][12747:12747] CHIP:DMG: Endpoint = 0x1, + [1650968776.864023][12747:12747] CHIP:DMG: Cluster = 0x50, + [1650968776.864052][12747:12747] CHIP:DMG: Attribute = 0x0000_0002, + [1650968776.864085][12747:12747] CHIP:DMG: } + [1650968776.864124][12747:12747] CHIP:DMG: + [1650968776.864153][12747:12747] CHIP:DMG: ], + [1650968776.864190][12747:12747] CHIP:DMG: + [1650968776.864216][12747:12747] CHIP:DMG: isFabricFiltered = true, + [1650968776.864251][12747:12747] CHIP:DMG: InteractionModelRevision = 1 + [1650968776.864273][12747:12747] CHIP:DMG: }, + [1650968776.864361][12747:12747] CHIP:DMG: IM RH moving to [GeneratingReports] + [1650968776.864454][12747:12747] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + [1650968776.864493][12747:12747] CHIP:DMG: Cluster 50, Attribute 2 is dirty + [1650968776.864514][12747:12747] CHIP:DMG: Reading attribute: Cluster=0x0000_0050 Endpoint=1 AttributeId=0x0000_0002 (expanded=0) + [1650968776.864543][12747:12747] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0050 e=1 p=v + [1650968776.864584][12747:12747] CHIP:DMG: AccessControl: allowed + + + ./chip-tool modeselect read current-mode 1 1 + + 1650968848.687576][12747:12747] CHIP:IM: Received Read request + [1650968848.687628][12747:12747] CHIP:DMG: ReadRequestMessage = + [1650968848.687653][12747:12747] CHIP:DMG: { + [1650968848.687674][12747:12747] CHIP:DMG: AttributePathIBs = + [1650968848.687738][12747:12747] CHIP:DMG: [ + [1650968848.687763][12747:12747] CHIP:DMG: AttributePathIB = + [1650968848.687795][12747:12747] CHIP:DMG: { + [1650968848.687822][12747:12747] CHIP:DMG: Endpoint = 0x1, + [1650968848.687855][12747:12747] CHIP:DMG: Cluster = 0x50, + [1650968848.687887][12747:12747] CHIP:DMG: Attribute = 0x0000_0003, + [1650968848.687917][12747:12747] CHIP:DMG: } + [1650968848.687974][12747:12747] CHIP:DMG: + [1650968848.688003][12747:12747] CHIP:DMG: ], + [1650968848.688031][12747:12747] CHIP:DMG: + [1650968848.688057][12747:12747] CHIP:DMG: isFabricFiltered = true, + [1650968848.688082][12747:12747] CHIP:DMG: InteractionModelRevision = 1 + [1650968848.688105][12747:12747] CHIP:DMG: }, + [1650968848.688174][12747:12747] CHIP:DMG: IM RH moving to [GeneratingReports] + + + + + ./chip-tool modeselect read standard-namespace 1 1 + + 1650968644.223891][12747:12747] CHIP:IM: Received Read request + [1650968644.223954][12747:12747] CHIP:DMG: ReadRequestMessage = + [1650968644.223981][12747:12747] CHIP:DMG: { + [1650968644.224003][12747:12747] CHIP:DMG: AttributePathIBs = + [1650968644.224028][12747:12747] CHIP:DMG: [ + [1650968644.224052][12747:12747] CHIP:DMG: AttributePathIB = + [1650968644.224099][12747:12747] CHIP:DMG: { + [1650968644.224139][12747:12747] CHIP:DMG: Endpoint = 0x1, + [1650968644.224169][12747:12747] CHIP:DMG: Cluster = 0x50, + [1650968644.224206][12747:12747] CHIP:DMG: Attribute = 0x0000_0001, + [1650968644.224233][12747:12747] CHIP:DMG: } + [1650968644.224272][12747:12747] CHIP:DMG: + [1650968644.224297][12747:12747] CHIP:DMG: ], + [1650968644.224334][12747:12747] CHIP:DMG: + [1650968644.224369][12747:12747] CHIP:DMG: isFabricFiltered = true, + [1650968644.224394][12747:12747] CHIP:DMG: InteractionModelRevision = 1 + [1650968644.224426][12747:12747] CHIP:DMG: }, + [1650968644.224507][12747:12747] CHIP:DMG: IM RH moving to [GeneratingReports] + [1650968644.224596][12747:12747] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + [1650968644.224633][12747:12747] CHIP:DMG: Cluster 50, Attribute 1 is dirty + [1650968644.224658][12747:12747] CHIP:DMG: Reading attribute: Cluster=0x0000_0050 Endpoint=1 AttributeId=0x0000_0001 (expanded=0) + [1650968644.224687][12747:12747] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0050 e=1 p=v + [1650968644.224720][12747:12747] CHIP:DMG: AccessControl: allowed + + + + ./chip-tool modeselect read description 1 1 + + [1650969447.413679][12747:12747] CHIP:EM: Handling via exchange: 65381r, Delegate: 0xaaaae5201098 + [1650969447.413718][12747:12747] CHIP:IM: Received Read request + [1650969447.413769][12747:12747] CHIP:DMG: ReadRequestMessage = + [1650969447.413795][12747:12747] CHIP:DMG: { + [1650969447.413836][12747:12747] CHIP:DMG: AttributePathIBs = + [1650969447.413865][12747:12747] CHIP:DMG: [ + [1650969447.413889][12747:12747] CHIP:DMG: AttributePathIB = + [1650969447.413924][12747:12747] CHIP:DMG: { + [1650969447.413956][12747:12747] CHIP:DMG: Endpoint = 0x1, + [1650969447.413989][12747:12747] CHIP:DMG: Cluster = 0x50, + [1650969447.414021][12747:12747] CHIP:DMG: Attribute = 0x0000_0000, + [1650969447.414051][12747:12747] CHIP:DMG: } + [1650969447.414080][12747:12747] CHIP:DMG: + [1650969447.414108][12747:12747] CHIP:DMG: ], + [1650969447.414137][12747:12747] CHIP:DMG: + [1650969447.414163][12747:12747] CHIP:DMG: isFabricFiltered = true, + [1650969447.414188][12747:12747] CHIP:DMG: InteractionModelRevision = 1 + [1650969447.414211][12747:12747] CHIP:DMG: }, + [1650969447.414280][12747:12747] CHIP:DMG: IM RH moving to [GeneratingReports]" + disabled: true + + - label: + "DUT reads all supported optional attributes from TH one at a time in + a manufacturer specific order" + verification: | + ./chip-tool modeselect read on-mode 1 1 + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + + ./chip-tool modeselect read start-up-mode 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 writable attributes 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 0812f9abcc84dd..d3cd0568657eb0 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 @@ -27,7 +27,6 @@ tests: [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" diff --git a/src/app/tests/suites/certification/Test_TC_MOD_3_4.yaml b/src/app/tests/suites/certification/Test_TC_MOD_3_4.yaml new file mode 100644 index 00000000000000..fa133a8424230e --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_MOD_3_4.yaml @@ -0,0 +1,168 @@ +# 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: 79.3.4. [TC-MOD-3.4] OnMode Overwriting StartUpMode (DUT as Server) + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: "TH reads the StartUpMode attribute from the DUT" + verification: | + ./chip-tool modeselect read start-up-mode 1 1 + + [1651099663211] [82177:7560652] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0004 DataVersion: 2609052118 + [1651099663212] [82177:7560652] CHIP: [TOO] StartUpMode: 0 + disabled: true + + - label: "TH reads the OnMode attribute from the DUT" + verification: | + ./chip-tool modeselect read on-mode 1 1 + + [1654780979.979743][61542:61547] CHIP:DMG: } + [1654780979.980040][61542:61547] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0005 DataVersion: 235764160 + [1654780979.980202][61542:61547] CHIP:TOO: OnMode: null + disabled: true + + - label: + "If the StartUpMode and OnMode attributes have the same value, proceed + to step 2c, Otherwise proceed to step 3." + verification: | + If the StartUpMode and OnMode attributes have the same value, proceed to step 2c, Otherwise proceed to step 3. + disabled: true + + - label: "TH reads the _SupportedModes attribute_ from the DUT" + verification: | + ./chip-tool modeselect read supported-modes 1 1 + + [1654154058.284710][3492:3497] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0002 DataVersion: 694763126 + [1654154058.284829][3492:3497] CHIP:TOO: SupportedModes: 3 entries + [1654154058.284909][3492:3497] CHIP:TOO: [1]: { + [1654154058.284939][3492:3497] CHIP:TOO: Label: Black + [1654154058.284966][3492:3497] CHIP:TOO: Mode: 0 + [1654154058.284999][3492:3497] CHIP:TOO: SemanticTags: 1 entries + [1654154058.285037][3492:3497] CHIP:TOO: [1]: { + [1654154058.285066][3492:3497] CHIP:TOO: MfgCode: 0 + [1654154058.285094][3492:3497] CHIP:TOO: Value: 0 + [1654154058.285121][3492:3497] CHIP:TOO: } + [1654154058.285150][3492:3497] CHIP:TOO: } + [1654154058.285188][3492:3497] CHIP:TOO: [2]: { + [1654154058.285216][3492:3497] CHIP:TOO: Label: Cappuccino + [1654154058.285243][3492:3497] CHIP:TOO: Mode: 4 + [1654154058.285274][3492:3497] CHIP:TOO: SemanticTags: 1 entries + [1654154058.285309][3492:3497] CHIP:TOO: [1]: { + [1654154058.285337][3492:3497] CHIP:TOO: MfgCode: 0 + [1654154058.285364][3492:3497] CHIP:TOO: Value: 0 + [1654154058.285390][3492:3497] CHIP:TOO: } + [1654154058.285418][3492:3497] CHIP:TOO: } + [1654154058.285456][3492:3497] CHIP:TOO: [3]: { + [1654154058.285484][3492:3497] CHIP:TOO: Label: Espresso + [1654154058.285513][3492:3497] CHIP:TOO: Mode: 7 + [1654154058.285547][3492:3497] CHIP:TOO: SemanticTags: 1 entries + [1654154058.285638][3492:3497] CHIP:TOO: [1]: { + [1654154058.285671][3492:3497] CHIP:TOO: MfgCode: 0 + [1654154058.285701][3492:3497] CHIP:TOO: Value: 0 + [1654154058.285730][3492:3497] CHIP:TOO: } + [1654154058.285762][3492:3497] 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 write command for + _OnMode_ to the DUT with the selected value." + verification: | + ./chip-tool modeselect write on-mode 4 1 1 + + [1651099941884] [84269:7567211] CHIP: [DMG] WriteResponseMessage = + [1651099941884] [84269:7567211] CHIP: [DMG] { + [1651099941884] [84269:7567211] CHIP: [DMG] AttributeStatusIBs = + [1651099941884] [84269:7567211] CHIP: [DMG] [ + [1651099941884] [84269:7567211] CHIP: [DMG] AttributeStatusIB = + [1651099941884] [84269:7567211] CHIP: [DMG] { + [1651099941887] [84269:7567211] CHIP: [DMG] AttributePathIB = + [1651099941887] [84269:7567211] CHIP: [DMG] { + [1651099941887] [84269:7567211] CHIP: [DMG] Endpoint = 0x1, + [1651099941887] [84269:7567211] CHIP: [DMG] Cluster = 0x50, + [1651099941887] [84269:7567211] CHIP: [DMG] Attribute = 0x0000_0005, + [1651099941887] [84269:7567211] CHIP: [DMG] } + [1651099941887] [84269:7567211] CHIP: [DMG] + [1651099941887] [84269:7567211] CHIP: [DMG] StatusIB = + [1651099941887] [84269:7567211] CHIP: [DMG] { + [1651099941887] [84269:7567211] CHIP: [DMG] status = 0x00 (SUCCESS), + [1651099941887] [84269:7567211] CHIP: [DMG] }, + [1651099941887] [84269:7567211] CHIP: [DMG] + [1651099941887] [84269:7567211] CHIP: [DMG] }, + [1651099941887] [84269:7567211] CHIP: [DMG] + [1651099941887] [84269:7567211] CHIP: [DMG] ], + [1651099941887] [84269:7567211] CHIP: [DMG] + [1651099941887] [84269:7567211] CHIP: [DMG] InteractionModelRevision = 1 + [1651099941887] [84269:7567211] CHIP: [DMG] } + disabled: true + + - label: "TH reads the _OnMode attribute_ from the DUT" + verification: | + ./chip-tool modeselect read on-mode 1 1 + + [1651100140426] [84609:7569911] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0005 DataVersion: 2609052120 + [1651100140426] [84609:7569911] CHIP: [TOO] OnMode: 4 + disabled: true + + - label: + "TH writes 1 to _StartUpOnOff attribute_ of the OnOff Cluster of the + DUT" + verification: | + ./chip-tool onoff write start-up-on-off 1 1 1 + + + [1651101661959] [90832:7598169] CHIP: [DMG] WriteResponseMessage = + [1651101661959] [90832:7598169] CHIP: [DMG] { + [1651101661959] [90832:7598169] CHIP: [DMG] AttributeStatusIBs = + [1651101661959] [90832:7598169] CHIP: [DMG] [ + [1651101661959] [90832:7598169] CHIP: [DMG] AttributeStatusIB = + [1651101661959] [90832:7598169] CHIP: [DMG] { + [1651101661960] [90832:7598169] CHIP: [DMG] AttributePathIB = + [1651101661960] [90832:7598169] CHIP: [DMG] { + [1651101661960] [90832:7598169] CHIP: [DMG] Endpoint = 0x1, + [1651101661960] [90832:7598169] CHIP: [DMG] Cluster = 0x6, + [1651101661960] [90832:7598169] CHIP: [DMG] Attribute = 0x0000_4003, + [1651101661960] [90832:7598169] CHIP: [DMG] } + [1651101661960] [90832:7598169] CHIP: [DMG] + [1651101661960] [90832:7598169] CHIP: [DMG] StatusIB = + [1651101661960] [90832:7598169] CHIP: [DMG] { + [1651101661960] [90832:7598169] CHIP: [DMG] status = 0x00 (SUCCESS), + [1651101661960] [90832:7598169] CHIP: [DMG] }, + [1651101661960] [90832:7598169] CHIP: [DMG] + [1651101661960] [90832:7598169] CHIP: [DMG] }, + [1651101661960] [90832:7598169] CHIP: [DMG] + [1651101661960] [90832:7598169] CHIP: [DMG] ], + [1651101661960] [90832:7598169] CHIP: [DMG] + [1651101661960] [90832:7598169] CHIP: [DMG] InteractionModelRevision = 1 + [1651101661960] [90832:7598169] CHIP: [DMG] } + disabled: true + + - label: "Physically power cycle the device." + verification: | + Physically power cycle the device. + disabled: true + + - label: "TH reads the CurrentMode attribute from the DUT" + verification: | + ./chip-tool modeselect read current-mode 1 1 + + [1645778146.171510][4876:4881] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0003 DataVersion: 2609052120 + [1645778146.171602][4876:4881] CHIP:TOO: CurrentMode: 4 + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_PCC_3_1.yaml b/src/app/tests/suites/certification/Test_TC_PCC_3_1.yaml new file mode 100644 index 00000000000000..2bb082a23cff2f --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_PCC_3_1.yaml @@ -0,0 +1,874 @@ +# 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: 3.3.1. [TC-PCC-3.1] Attributes with client as DUT + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: + "DUT reads all supported mandatory attributes from TH one at a time in + a manufacturer specific order" + verification: | + ./chip-tool pumpconfigurationandcontrol read max-pressure 1 1 + + [1651148412.273866][2336:2336] CHIP:IM: Received Read request + [1651148412.273922][2336:2336] CHIP:DMG: ReadRequestMessage = + [1651148412.273950][2336:2336] CHIP:DMG: { + [1651148412.273972][2336:2336] CHIP:DMG: AttributePathIBs = + [1651148412.273999][2336:2336] CHIP:DMG: [ + [1651148412.274024][2336:2336] CHIP:DMG: AttributePathIB = + [1651148412.274063][2336:2336] CHIP:DMG: { + [1651148412.274093][2336:2336] CHIP:DMG: Endpoint = 0x1, + [1651148412.274126][2336:2336] CHIP:DMG: Cluster = 0x200, + [1651148412.274156][2336:2336] CHIP:DMG: Attribute = 0x0000_0000, + [1651148412.274186][2336:2336] CHIP:DMG: } + [1651148412.274216][2336:2336] CHIP:DMG: + [1651148412.274242][2336:2336] CHIP:DMG: ], + [1651148412.274271][2336:2336] CHIP:DMG: + [1651148412.274298][2336:2336] CHIP:DMG: isFabricFiltered = true, + [1651148412.274325][2336:2336] CHIP:DMG: InteractionModelRevision = 1 + [1651148412.274349][2336:2336] CHIP:DMG: }, + [1651148412.274424][2336:2336] CHIP:DMG: IM RH moving to [GeneratingReports] + + ./chip-tool pumpconfigurationandcontrol read max-speed 1 1 + + [1651148440.471321][2336:2336] CHIP:IM: Received Read request + [1651148440.471389][2336:2336] CHIP:DMG: ReadRequestMessage = + [1651148440.471416][2336:2336] CHIP:DMG: { + [1651148440.471438][2336:2336] CHIP:DMG: AttributePathIBs = + [1651148440.471481][2336:2336] CHIP:DMG: [ + [1651148440.471507][2336:2336] CHIP:DMG: AttributePathIB = + [1651148440.471546][2336:2336] CHIP:DMG: { + [1651148440.471571][2336:2336] CHIP:DMG: Endpoint = 0x1, + [1651148440.471609][2336:2336] CHIP:DMG: Cluster = 0x200, + [1651148440.471642][2336:2336] CHIP:DMG: Attribute = 0x0000_0001, + [1651148440.471681][2336:2336] CHIP:DMG: } + [1651148440.471719][2336:2336] CHIP:DMG: + [1651148440.471745][2336:2336] CHIP:DMG: ], + [1651148440.471770][2336:2336] CHIP:DMG: + [1651148440.471806][2336:2336] CHIP:DMG: isFabricFiltered = true, + [1651148440.471831][2336:2336] CHIP:DMG: InteractionModelRevision = 1 + [1651148440.471867][2336:2336] CHIP:DMG: }, + [1651148440.471947][2336:2336] CHIP:DMG: IM RH moving to [GeneratingReports] + [1651148440.472042][2336:2336] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + + ./chip-tool pumpconfigurationandcontrol read max-flow 1 1 + + [1651148472.518933][2336:2336] CHIP:IM: Received Read request + [1651148472.518993][2336:2336] CHIP:DMG: ReadRequestMessage = + [1651148472.519023][2336:2336] CHIP:DMG: { + [1651148472.519071][2336:2336] CHIP:DMG: AttributePathIBs = + [1651148472.519104][2336:2336] CHIP:DMG: [ + [1651148472.519163][2336:2336] CHIP:DMG: AttributePathIB = + [1651148472.519218][2336:2336] CHIP:DMG: { + [1651148472.519286][2336:2336] CHIP:DMG: Endpoint = 0x1, + [1651148472.519328][2336:2336] CHIP:DMG: Cluster = 0x200, + [1651148472.519364][2336:2336] CHIP:DMG: Attribute = 0x0000_0002, + [1651148472.519400][2336:2336] CHIP:DMG: } + [1651148472.519459][2336:2336] CHIP:DMG: + [1651148472.519521][2336:2336] CHIP:DMG: ], + [1651148472.519555][2336:2336] CHIP:DMG: + [1651148472.519584][2336:2336] CHIP:DMG: isFabricFiltered = true, + [1651148472.519666][2336:2336] CHIP:DMG: InteractionModelRevision = 1 + [1651148472.519695][2336:2336] CHIP:DMG: }, + [1651148472.519802][2336:2336] CHIP:DMG: IM RH moving to [GeneratingReports] + [1651148472.519971][2336:2336] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + + ./chip-tool pumpconfigurationandcontrol read effective-operation-mode 1 1 + + [1651570515.206834][9246:9246] CHIP:IM: Received Read request + [1651570515.206917][9246:9246] CHIP:DMG: ReadRequestMessage = + [1651570515.206966][9246:9246] CHIP:DMG: { + [1651570515.207006][9246:9246] CHIP:DMG: AttributePathIBs = + [1651570515.207053][9246:9246] CHIP:DMG: [ + [1651570515.207098][9246:9246] CHIP:DMG: AttributePathIB = + [1651570515.207154][9246:9246] CHIP:DMG: { + [1651570515.207210][9246:9246] CHIP:DMG: Endpoint = 0x1, + [1651570515.207265][9246:9246] CHIP:DMG: Cluster = 0x200, + [1651570515.207322][9246:9246] CHIP:DMG: Attribute = 0x0000_0011, + [1651570515.207381][9246:9246] CHIP:DMG: } + [1651570515.207436][9246:9246] CHIP:DMG: + [1651570515.207483][9246:9246] CHIP:DMG: ], + [1651570515.207535][9246:9246] CHIP:DMG: + [1651570515.207587][9246:9246] CHIP:DMG: isFabricFiltered = true, + [1651570515.207634][9246:9246] CHIP:DMG: InteractionModelRevision = 1 + [1651570515.207677][9246:9246] CHIP:DMG: } + + ./chip-tool pumpconfigurationandcontrol read effective-control-mode 1 1 + + [1651570975.559213][9246:9246] CHIP:IM: Received Read request + [1651570975.559268][9246:9246] CHIP:DMG: ReadRequestMessage = + [1651570975.559295][9246:9246] CHIP:DMG: { + [1651570975.559317][9246:9246] CHIP:DMG: AttributePathIBs = + [1651570975.559343][9246:9246] CHIP:DMG: [ + [1651570975.559367][9246:9246] CHIP:DMG: AttributePathIB = + [1651570975.559400][9246:9246] CHIP:DMG: { + [1651570975.559428][9246:9246] CHIP:DMG: Endpoint = 0x1, + [1651570975.559465][9246:9246] CHIP:DMG: Cluster = 0x200, + [1651570975.559602][9246:9246] CHIP:DMG: Attribute = 0x0000_0012, + [1651570975.559626][9246:9246] CHIP:DMG: } + [1651570975.559655][9246:9246] CHIP:DMG: + [1651570975.559681][9246:9246] CHIP:DMG: ], + [1651570975.559710][9246:9246] CHIP:DMG: + + ./chip-tool pumpconfigurationandcontrol read capacity 1 1 + + [1651571009.295069][9246:9246] CHIP:IM: Received Read request + [1651571009.295158][9246:9246] CHIP:DMG: ReadRequestMessage = + [1651571009.295203][9246:9246] CHIP:DMG: { + [1651571009.295244][9246:9246] CHIP:DMG: AttributePathIBs = + [1651571009.295293][9246:9246] CHIP:DMG: [ + [1651571009.295339][9246:9246] CHIP:DMG: AttributePathIB = + [1651571009.295387][9246:9246] CHIP:DMG: { + [1651571009.295438][9246:9246] CHIP:DMG: Endpoint = 0x1, + [1651571009.295493][9246:9246] CHIP:DMG: Cluster = 0x200, + [1651571009.295548][9246:9246] CHIP:DMG: Attribute = 0x0000_0013, + [1651571009.295597][9246:9246] CHIP:DMG: } + [1651571009.295649][9246:9246] CHIP:DMG: + [1651571009.295696][9246:9246] CHIP:DMG: ], + [1651571009.295747][9246:9246] CHIP:DMG: + + ./chip-tool pumpconfigurationandcontrol read operation-mode 1 1 + + [1651571334.617100][9337:9337] CHIP:IM: Received Read request + [1651571334.617155][9337:9337] CHIP:DMG: ReadRequestMessage = + [1651571334.617181][9337:9337] CHIP:DMG: { + [1651571334.617213][9337:9337] CHIP:DMG: AttributePathIBs = + [1651571334.617250][9337:9337] CHIP:DMG: [ + [1651571334.617291][9337:9337] CHIP:DMG: AttributePathIB = + [1651571334.617338][9337:9337] CHIP:DMG: { + [1651571334.617368][9337:9337] CHIP:DMG: Endpoint = 0x1, + [1651571334.617404][9337:9337] CHIP:DMG: Cluster = 0x200, + [1651571334.617433][9337:9337] CHIP:DMG: Attribute = 0x0000_0020, + [1651571334.617467][9337:9337] CHIP:DMG: } + [1651571334.617499][9337:9337] CHIP:DMG: + [1651571334.617537][9337:9337] CHIP:DMG: ], + [1651571334.617567][9337:9337] CHIP:DMG: + disabled: true + + - label: + "DUT reads all supported optional attributes from TH one at a time in + a manufacturer specific order" + verification: | + "./chip-tool pumpconfigurationandcontrol read min-const-pressure 1 1 + + [1651148507.711384][2336:2336] CHIP:IM: Received Read request + [1651148507.711452][2336:2336] CHIP:DMG: ReadRequestMessage = + [1651148507.711478][2336:2336] CHIP:DMG: { + [1651148507.711500][2336:2336] CHIP:DMG: AttributePathIBs = + [1651148507.711526][2336:2336] CHIP:DMG: [ + [1651148507.711560][2336:2336] CHIP:DMG: AttributePathIB = + [1651148507.711606][2336:2336] CHIP:DMG: { + [1651148507.711637][2336:2336] CHIP:DMG: Endpoint = 0x1, + [1651148507.711677][2336:2336] CHIP:DMG: Cluster = 0x200, + [1651148507.711709][2336:2336] CHIP:DMG: Attribute = 0x0000_0003, + [1651148507.711747][2336:2336] CHIP:DMG: } + [1651148507.711778][2336:2336] CHIP:DMG: + [1651148507.711813][2336:2336] CHIP:DMG: ], + [1651148507.711841][2336:2336] CHIP:DMG: + [1651148507.711876][2336:2336] CHIP:DMG: isFabricFiltered = true, + [1651148507.711902][2336:2336] CHIP:DMG: InteractionModelRevision = 1 + [1651148507.711934][2336:2336] CHIP:DMG: }, + [1651148507.712016][2336:2336] CHIP:DMG: IM RH moving to [GeneratingReports] + [1651148507.712119][2336:2336] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0" + + "./chip-tool pumpconfigurationandcontrol read max-const-pressure 1 1 + + [1651148537.336390][2336:2336] CHIP:IM: Received Read request + [1651148537.336445][2336:2336] CHIP:DMG: ReadRequestMessage = + [1651148537.336471][2336:2336] CHIP:DMG: { + [1651148537.336503][2336:2336] CHIP:DMG: AttributePathIBs = + [1651148537.336530][2336:2336] CHIP:DMG: [ + [1651148537.336554][2336:2336] CHIP:DMG: AttributePathIB = + [1651148537.336593][2336:2336] CHIP:DMG: { + [1651148537.336621][2336:2336] CHIP:DMG: Endpoint = 0x1, + [1651148537.336666][2336:2336] CHIP:DMG: Cluster = 0x200, + [1651148537.336701][2336:2336] CHIP:DMG: Attribute = 0x0000_0004, + [1651148537.336741][2336:2336] CHIP:DMG: } + [1651148537.336770][2336:2336] CHIP:DMG: + [1651148537.336796][2336:2336] CHIP:DMG: ], + [1651148537.336836][2336:2336] CHIP:DMG: + [1651148537.336863][2336:2336] CHIP:DMG: isFabricFiltered = true, + [1651148537.336888][2336:2336] CHIP:DMG: InteractionModelRevision = 1 + [1651148537.336921][2336:2336] CHIP:DMG: }, + [1651148537.337002][2336:2336] CHIP:DMG: IM RH moving to [GeneratingReports] + [1651148537.337095][2336:2336] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0" + + "./chip-tool pumpconfigurationandcontrol read min-comp-pressure 1 1 + + [1651148566.361843][2336:2336] CHIP:IM: Received Read request + [1651148566.361897][2336:2336] CHIP:DMG: ReadRequestMessage = + [1651148566.361923][2336:2336] CHIP:DMG: { + [1651148566.361944][2336:2336] CHIP:DMG: AttributePathIBs = + [1651148566.361967][2336:2336] CHIP:DMG: [ + [1651148566.361988][2336:2336] CHIP:DMG: AttributePathIB = + [1651148566.362012][2336:2336] CHIP:DMG: { + [1651148566.362038][2336:2336] CHIP:DMG: Endpoint = 0x1, + [1651148566.362068][2336:2336] CHIP:DMG: Cluster = 0x200, + [1651148566.362093][2336:2336] CHIP:DMG: Attribute = 0x0000_0005, + [1651148566.362119][2336:2336] CHIP:DMG: } + [1651148566.362147][2336:2336] CHIP:DMG: + [1651148566.362173][2336:2336] CHIP:DMG: ], + [1651148566.362201][2336:2336] CHIP:DMG: + [1651148566.362226][2336:2336] CHIP:DMG: isFabricFiltered = true, + [1651148566.362251][2336:2336] CHIP:DMG: InteractionModelRevision = 1 + [1651148566.362274][2336:2336] CHIP:DMG: }," + "./chip-tool pumpconfigurationandcontrol read max-comp-pressure 1 1 + + [1651148595.417817][2336:2336] CHIP:IM: Received Read request + [1651148595.417901][2336:2336] CHIP:DMG: ReadRequestMessage = + [1651148595.417932][2336:2336] CHIP:DMG: { + [1651148595.417956][2336:2336] CHIP:DMG: AttributePathIBs = + [1651148595.417987][2336:2336] CHIP:DMG: [ + [1651148595.418014][2336:2336] CHIP:DMG: AttributePathIB = + [1651148595.418049][2336:2336] CHIP:DMG: { + [1651148595.418119][2336:2336] CHIP:DMG: Endpoint = 0x1, + [1651148595.418179][2336:2336] CHIP:DMG: Cluster = 0x200, + [1651148595.418221][2336:2336] CHIP:DMG: Attribute = 0x0000_0006, + [1651148595.418259][2336:2336] CHIP:DMG: } + [1651148595.418341][2336:2336] CHIP:DMG: + [1651148595.418374][2336:2336] CHIP:DMG: ], + [1651148595.418408][2336:2336] CHIP:DMG: + [1651148595.418438][2336:2336] CHIP:DMG: isFabricFiltered = true, + [1651148595.418467][2336:2336] CHIP:DMG: InteractionModelRevision = 1 + [1651148595.418528][2336:2336] CHIP:DMG: }, + [1651148595.418660][2336:2336] CHIP:DMG: IM RH moving to [GeneratingReports] + [1651148595.418781][2336:2336] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0" + "./chip-tool pumpconfigurationandcontrol read min-const-speed 1 1 + + [1651148626.823098][2336:2336] CHIP:IM: Received Read request + [1651148626.823201][2336:2336] CHIP:DMG: ReadRequestMessage = + [1651148626.823232][2336:2336] CHIP:DMG: { + [1651148626.823257][2336:2336] CHIP:DMG: AttributePathIBs = + [1651148626.823291][2336:2336] CHIP:DMG: [ + [1651148626.823319][2336:2336] CHIP:DMG: AttributePathIB = + [1651148626.823353][2336:2336] CHIP:DMG: { + [1651148626.823388][2336:2336] CHIP:DMG: Endpoint = 0x1, + [1651148626.823427][2336:2336] CHIP:DMG: Cluster = 0x200, + [1651148626.823462][2336:2336] CHIP:DMG: Attribute = 0x0000_0007, + [1651148626.823495][2336:2336] CHIP:DMG: } + [1651148626.823534][2336:2336] CHIP:DMG: + [1651148626.823561][2336:2336] CHIP:DMG: ], + [1651148626.823593][2336:2336] CHIP:DMG: + [1651148626.823623][2336:2336] CHIP:DMG: isFabricFiltered = true, + [1651148626.823652][2336:2336] CHIP:DMG: InteractionModelRevision = 1 + [1651148626.823678][2336:2336] CHIP:DMG: }," + "./chip-tool pumpconfigurationandcontrol read max-const-speed 1 1 + + [1651564124.345958][8748:8748] CHIP:IM: Received Read request + [1651564124.346033][8748:8748] CHIP:DMG: ReadRequestMessage = + [1651564124.346109][8748:8748] CHIP:DMG: { + [1651564124.346147][8748:8748] CHIP:DMG: AttributePathIBs = + [1651564124.346189][8748:8748] CHIP:DMG: [ + [1651564124.346228][8748:8748] CHIP:DMG: AttributePathIB = + [1651564124.346273][8748:8748] CHIP:DMG: { + [1651564124.346416][8748:8748] CHIP:DMG: Endpoint = 0x1, + [1651564124.346467][8748:8748] CHIP:DMG: Cluster = 0x200, + [1651564124.346517][8748:8748] CHIP:DMG: Attribute = 0x0000_0008, + [1651564124.346566][8748:8748] CHIP:DMG: } + [1651564124.346612][8748:8748] CHIP:DMG: + [1651564124.346657][8748:8748] CHIP:DMG: ], + [1651564124.346703][8748:8748] CHIP:DMG: + [1651564124.346746][8748:8748] CHIP:DMG: isFabricFiltered = true, + [1651564124.346787][8748:8748] CHIP:DMG: InteractionModelRevision = 1 + [1651564124.346826][8748:8748] CHIP:DMG: }, + [1651564124.346941][8748:8748] CHIP:DMG: IM RH moving to [GeneratingReports]" + "./chip-tool pumpconfigurationandcontrol read min-const-flow 1 1 + + [1651564163.319315][8748:8748] CHIP:IM: Received Read request + [1651564163.319399][8748:8748] CHIP:DMG: ReadRequestMessage = + [1651564163.319447][8748:8748] CHIP:DMG: { + [1651564163.319488][8748:8748] CHIP:DMG: AttributePathIBs = + [1651564163.319539][8748:8748] CHIP:DMG: [ + [1651564163.319584][8748:8748] CHIP:DMG: AttributePathIB = + [1651564163.319639][8748:8748] CHIP:DMG: { + [1651564163.319694][8748:8748] CHIP:DMG: Endpoint = 0x1, + [1651564163.319758][8748:8748] CHIP:DMG: Cluster = 0x200, + [1651564163.319822][8748:8748] CHIP:DMG: Attribute = 0x0000_0009, + [1651564163.319875][8748:8748] CHIP:DMG: } + [1651564163.319925][8748:8748] CHIP:DMG: + [1651564163.319975][8748:8748] CHIP:DMG: ], + [1651564163.320027][8748:8748] CHIP:DMG: + [1651564163.320075][8748:8748] CHIP:DMG: isFabricFiltered = true, + [1651564163.320122][8748:8748] CHIP:DMG: InteractionModelRevision = 1 + [1651564163.320165][8748:8748] CHIP:DMG: }, + [1651564163.320291][8748:8748] CHIP:DMG: IM RH moving to [GeneratingReports]" + + + "./chip-tool pumpconfigurationandcontrol read min-const-flow 1 1 + + [1651564163.319315][8748:8748] CHIP:IM: Received Read request + [1651564163.319399][8748:8748] CHIP:DMG: ReadRequestMessage = + [1651564163.319447][8748:8748] CHIP:DMG: { + [1651564163.319488][8748:8748] CHIP:DMG: AttributePathIBs = + [1651564163.319539][8748:8748] CHIP:DMG: [ + [1651564163.319584][8748:8748] CHIP:DMG: AttributePathIB = + [1651564163.319639][8748:8748] CHIP:DMG: { + [1651564163.319694][8748:8748] CHIP:DMG: Endpoint = 0x1, + [1651564163.319758][8748:8748] CHIP:DMG: Cluster = 0x200, + [1651564163.319822][8748:8748] CHIP:DMG: Attribute = 0x0000_0009, + [1651564163.319875][8748:8748] CHIP:DMG: } + [1651564163.319925][8748:8748] CHIP:DMG: + [1651564163.319975][8748:8748] CHIP:DMG: ], + [1651564163.320027][8748:8748] CHIP:DMG: + [1651564163.320075][8748:8748] CHIP:DMG: isFabricFiltered = true, + [1651564163.320122][8748:8748] CHIP:DMG: InteractionModelRevision = 1 + [1651564163.320165][8748:8748] CHIP:DMG: }, + [1651564163.320291][8748:8748] CHIP:DMG: IM RH moving to [GeneratingReports]" + "./chip-tool pumpconfigurationandcontrol read max-const-flow 1 1 + + [1651564281.857728][8748:8748] CHIP:IM: Received Read request + [1651564281.857784][8748:8748] CHIP:DMG: ReadRequestMessage = + [1651564281.857806][8748:8748] CHIP:DMG: { + [1651564281.857824][8748:8748] CHIP:DMG: AttributePathIBs = + [1651564281.857846][8748:8748] CHIP:DMG: [ + [1651564281.857867][8748:8748] CHIP:DMG: AttributePathIB = + [1651564281.857902][8748:8748] CHIP:DMG: { + [1651564281.857931][8748:8748] CHIP:DMG: Endpoint = 0x1, + [1651564281.857961][8748:8748] CHIP:DMG: Cluster = 0x200, + [1651564281.857990][8748:8748] CHIP:DMG: Attribute = 0x0000_000A, + [1651564281.858018][8748:8748] CHIP:DMG: } + [1651564281.858047][8748:8748] CHIP:DMG: + [1651564281.858099][8748:8748] CHIP:DMG: ], + [1651564281.858131][8748:8748] CHIP:DMG: + [1651564281.858157][8748:8748] CHIP:DMG: isFabricFiltered = true, + [1651564281.858183][8748:8748] CHIP:DMG: InteractionModelRevision = 1 + [1651564281.858206][8748:8748] CHIP:DMG: }," + "./chip-tool pumpconfigurationandcontrol read min-const-temp 1 1 + + [1651564317.488333][8748:8748] CHIP:IM: Received Read request + [1651564317.488417][8748:8748] CHIP:DMG: ReadRequestMessage = + [1651564317.488465][8748:8748] CHIP:DMG: { + [1651564317.488505][8748:8748] CHIP:DMG: AttributePathIBs = + [1651564317.488551][8748:8748] CHIP:DMG: [ + [1651564317.488602][8748:8748] CHIP:DMG: AttributePathIB = + [1651564317.488656][8748:8748] CHIP:DMG: { + [1651564317.488707][8748:8748] CHIP:DMG: Endpoint = 0x1, + [1651564317.488772][8748:8748] CHIP:DMG: Cluster = 0x200, + [1651564317.488823][8748:8748] CHIP:DMG: Attribute = 0x0000_000B, + [1651564317.488877][8748:8748] CHIP:DMG: } + [1651564317.488920][8748:8748] CHIP:DMG: + [1651564317.488952][8748:8748] CHIP:DMG: ], + [1651564317.488983][8748:8748] CHIP:DMG: + [1651564317.489011][8748:8748] CHIP:DMG: isFabricFiltered = true, + [1651564317.489038][8748:8748] CHIP:DMG: InteractionModelRevision = 1 + [1651564317.489063][8748:8748] CHIP:DMG: }," + "./chip-tool pumpconfigurationandcontrol read max-const-temp 1 1 + + + [1651564350.267434][8748:8748] CHIP:IM: Received Read request + [1651564350.267489][8748:8748] CHIP:DMG: ReadRequestMessage = + [1651564350.267516][8748:8748] CHIP:DMG: { + [1651564350.267609][8748:8748] CHIP:DMG: AttributePathIBs = + [1651564350.267642][8748:8748] CHIP:DMG: [ + [1651564350.267671][8748:8748] CHIP:DMG: AttributePathIB = + [1651564350.267704][8748:8748] CHIP:DMG: { + [1651564350.267733][8748:8748] CHIP:DMG: Endpoint = 0x1, + [1651564350.267767][8748:8748] CHIP:DMG: Cluster = 0x200, + [1651564350.267800][8748:8748] CHIP:DMG: Attribute = 0x0000_000C, + [1651564350.267830][8748:8748] CHIP:DMG: } + [1651564350.267862][8748:8748] CHIP:DMG: + [1651564350.267890][8748:8748] CHIP:DMG: ], + [1651564350.267918][8748:8748] CHIP:DMG: + [1651564350.267945][8748:8748] CHIP:DMG: isFabricFiltered = true, + [1651564350.267970][8748:8748] CHIP:DMG: InteractionModelRevision = 1 + [1651564350.268092][8748:8748] CHIP:DMG: }," + " ./chip-tool pumpconfigurationandcontrol read pump-status 1 1 + + [1651564415.272861][8748:8748] CHIP:IM: Received Read request + [1651564415.272946][8748:8748] CHIP:DMG: ReadRequestMessage = + [1651564415.272990][8748:8748] CHIP:DMG: { + [1651564415.273025][8748:8748] CHIP:DMG: AttributePathIBs = + [1651564415.273067][8748:8748] CHIP:DMG: [ + [1651564415.273108][8748:8748] CHIP:DMG: AttributePathIB = + [1651564415.273155][8748:8748] CHIP:DMG: { + [1651564415.273200][8748:8748] CHIP:DMG: Endpoint = 0x1, + [1651564415.273253][8748:8748] CHIP:DMG: Cluster = 0x200, + [1651564415.273305][8748:8748] CHIP:DMG: Attribute = 0x0000_0010, + [1651564415.273349][8748:8748] CHIP:DMG: } + [1651564415.273395][8748:8748] CHIP:DMG: + [1651564415.273437][8748:8748] CHIP:DMG: ], + [1651564415.273477][8748:8748] CHIP:DMG: + [1651564415.273520][8748:8748] CHIP:DMG: isFabricFiltered = true, + [1651564415.273562][8748:8748] CHIP:DMG: InteractionModelRevision = 1 + [1651564415.273600][8748:8748] CHIP:DMG: }," + + "./chip-tool pumpconfigurationandcontrol read speed 1 1 + + [1651571041.252491][9246:9246] CHIP:IM: Received Read request + [1651571041.252548][9246:9246] CHIP:DMG: ReadRequestMessage = + [1651571041.252574][9246:9246] CHIP:DMG: { + [1651571041.252608][9246:9246] CHIP:DMG: AttributePathIBs = + [1651571041.252642][9246:9246] CHIP:DMG: [ + [1651571041.252679][9246:9246] CHIP:DMG: AttributePathIB = + [1651571041.252710][9246:9246] CHIP:DMG: { + [1651571041.252751][9246:9246] CHIP:DMG: Endpoint = 0x1, + [1651571041.252793][9246:9246] CHIP:DMG: Cluster = 0x200, + [1651571041.252826][9246:9246] CHIP:DMG: Attribute = 0x0000_0014, + [1651571041.252863][9246:9246] CHIP:DMG: } + [1651571041.252890][9246:9246] CHIP:DMG: + [1651571041.252926][9246:9246] CHIP:DMG: ], + [1651571041.252955][9246:9246] CHIP:DMG: + [1651571041.252990][9246:9246] CHIP:DMG: isFabricFiltered = true, + [1651571041.253016][9246:9246] CHIP:DMG: InteractionModelRevision = 1 + [1651571041.253049][9246:9246] CHIP:DMG: }," + + "./chip-tool pumpconfigurationandcontrol read lifetime-running-hours 1 1 + [1651571194.810592][9337:9337] CHIP:IM: Received Read request + [1651571194.810647][9337:9337] CHIP:DMG: ReadRequestMessage = + [1651571194.810673][9337:9337] CHIP:DMG: { + [1651571194.810694][9337:9337] CHIP:DMG: AttributePathIBs = + [1651571194.810717][9337:9337] CHIP:DMG: [ + [1651571194.810741][9337:9337] CHIP:DMG: AttributePathIB = + [1651571194.810771][9337:9337] CHIP:DMG: { + [1651571194.810800][9337:9337] CHIP:DMG: Endpoint = 0x1, + [1651571194.810832][9337:9337] CHIP:DMG: Cluster = 0x200, + [1651571194.810863][9337:9337] CHIP:DMG: Attribute = 0x0000_0015, + [1651571194.810892][9337:9337] CHIP:DMG: } + [1651571194.810922][9337:9337] CHIP:DMG: + [1651571194.810947][9337:9337] CHIP:DMG: ], + [1651571194.810979][9337:9337] CHIP:DMG: + [1651571194.811005][9337:9337] CHIP:DMG: isFabricFiltered = true, + [1651571194.811030][9337:9337] CHIP:DMG: InteractionModelRevision = 1 + [1651571194.811053][9337:9337] CHIP:DMG: }," + "./chip-tool pumpconfigurationandcontrol read power 1 1 + + [1651571264.121840][9337:9337] CHIP:IM: Received Read request + [1651571264.121896][9337:9337] CHIP:DMG: ReadRequestMessage = + [1651571264.121924][9337:9337] CHIP:DMG: { + [1651571264.121945][9337:9337] CHIP:DMG: AttributePathIBs = + [1651571264.121971][9337:9337] CHIP:DMG: [ + [1651571264.122002][9337:9337] CHIP:DMG: AttributePathIB = + [1651571264.122034][9337:9337] CHIP:DMG: { + [1651571264.122063][9337:9337] CHIP:DMG: Endpoint = 0x1, + [1651571264.122239][9337:9337] CHIP:DMG: Cluster = 0x200, + [1651571264.122271][9337:9337] CHIP:DMG: Attribute = 0x0000_0016, + [1651571264.122300][9337:9337] CHIP:DMG: } + [1651571264.122331][9337:9337] CHIP:DMG: + [1651571264.122361][9337:9337] CHIP:DMG: ], + [1651571264.122391][9337:9337] CHIP:DMG: + [1651571264.122418][9337:9337] CHIP:DMG: isFabricFiltered = true, + [1651571264.122444][9337:9337] CHIP:DMG: InteractionModelRevision = 1 + [1651571264.122468][9337:9337] CHIP:DMG: }," + " ./chip-tool pumpconfigurationandcontrol read lifetime-energy-consumed 1 1 + + [1651571293.017448][9337:9337] CHIP:IM: Received Read request + [1651571293.017534][9337:9337] CHIP:DMG: ReadRequestMessage = + [1651571293.017581][9337:9337] CHIP:DMG: { + [1651571293.017621][9337:9337] CHIP:DMG: AttributePathIBs = + [1651571293.017669][9337:9337] CHIP:DMG: [ + [1651571293.017715][9337:9337] CHIP:DMG: AttributePathIB = + [1651571293.017769][9337:9337] CHIP:DMG: { + [1651571293.017825][9337:9337] CHIP:DMG: Endpoint = 0x1, + [1651571293.017884][9337:9337] CHIP:DMG: Cluster = 0x200, + [1651571293.017942][9337:9337] CHIP:DMG: Attribute = 0x0000_0017, + [1651571293.017997][9337:9337] CHIP:DMG: } + [1651571293.018052][9337:9337] CHIP:DMG: + [1651571293.018148][9337:9337] CHIP:DMG: ], + [1651571293.018204][9337:9337] CHIP:DMG: + [1651571293.018256][9337:9337] CHIP:DMG: isFabricFiltered = true, + [1651571293.018304][9337:9337] CHIP:DMG: InteractionModelRevision = 1 + [1651571293.018348][9337:9337] CHIP:DMG: }," + + "./chip-tool pumpconfigurationandcontrol read control-mode 1 1 + + [1651571369.365807][9337:9337] CHIP:IM: Received Read request + [1651571369.365907][9337:9337] CHIP:DMG: ReadRequestMessage = + [1651571369.365956][9337:9337] CHIP:DMG: { + [1651571369.365990][9337:9337] CHIP:DMG: AttributePathIBs = + [1651571369.366053][9337:9337] CHIP:DMG: [ + [1651571369.366136][9337:9337] CHIP:DMG: AttributePathIB = + [1651571369.366198][9337:9337] CHIP:DMG: { + [1651571369.366256][9337:9337] CHIP:DMG: Endpoint = 0x1, + [1651571369.366317][9337:9337] CHIP:DMG: Cluster = 0x200, + [1651571369.366395][9337:9337] CHIP:DMG: Attribute = 0x0000_0021, + [1651571369.366448][9337:9337] CHIP:DMG: } + [1651571369.366518][9337:9337] CHIP:DMG: + [1651571369.366592][9337:9337] CHIP:DMG: ], + [1651571369.366646][9337:9337] CHIP:DMG: + [1651571369.366713][9337:9337] CHIP:DMG: isFabricFiltered = true, + [1651571369.366770][9337:9337] CHIP:DMG: InteractionModelRevision = 1 + [1651571369.366827][9337:9337] CHIP:DMG: }," + disabled: true + + - label: + "DUT writes a suitable value to all supported mandatory attributes on + the TH one at a time in a manufacturer specific order" + verification: | + ./chip-tool pumpconfigurationandcontrol write operation-mode 0 1 1 + + [1652858465.008652][2107:2107] CHIP:IM: Received Write request + [1652858465.008695][2107:2107] CHIP:DMG: IM WH moving to [Initialized] + [1652858465.008858][2107:2107] CHIP:DMG: WriteRequestMessage = + [1652858465.008908][2107:2107] CHIP:DMG: { + [1652858465.008950][2107:2107] CHIP:DMG: suppressResponse = false, + [1652858465.008999][2107:2107] CHIP:DMG: timedRequest = false, + [1652858465.009045][2107:2107] CHIP:DMG: AttributeDataIBs = + [1652858465.009088][2107:2107] CHIP:DMG: [ + [1652858465.009115][2107:2107] CHIP:DMG: AttributeDataIB = + [1652858465.009150][2107:2107] CHIP:DMG: { + [1652858465.009235][2107:2107] CHIP:DMG: AttributePathIB = + [1652858465.009279][2107:2107] CHIP:DMG: { + [1652858465.009316][2107:2107] CHIP:DMG: Endpoint = 0x1, + [1652858465.009359][2107:2107] CHIP:DMG: Cluster = 0x200, + [1652858465.009399][2107:2107] CHIP:DMG: Attribute = 0x0000_0020, + [1652858465.009434][2107:2107] CHIP:DMG: } + [1652858465.009475][2107:2107] CHIP:DMG: + [1652858465.009514][2107:2107] CHIP:DMG: Data = 0, + [1652858465.009552][2107:2107] CHIP:DMG: }, + [1652858465.009588][2107:2107] CHIP:DMG: + [1652858465.009615][2107:2107] CHIP:DMG: ], + [1652858465.009648][2107:2107] CHIP:DMG: + [1652858465.009677][2107:2107] CHIP:DMG: moreChunkedMessages = false, + [1652858465.009706][2107:2107] CHIP:DMG: InteractionModelRevision = 1 + [1652858465.009732][2107:2107] CHIP:DMG: }, + [1652858465.009826][2107:2107] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0200 e=1 p=m + [1652858465.009867][2107:2107] CHIP:DMG: AccessControl: allowed + 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: | + ./chip-tool pumpconfigurationandcontrol write control-mode 0 1 1 + + + [1652858653.083434][2107:2107] CHIP:IM: Received Write request + [1652858653.083469][2107:2107] CHIP:DMG: IM WH moving to [Initialized] + [1652858653.083544][2107:2107] CHIP:DMG: WriteRequestMessage = + [1652858653.083588][2107:2107] CHIP:DMG: { + [1652858653.083623][2107:2107] CHIP:DMG: suppressResponse = false, + [1652858653.083687][2107:2107] CHIP:DMG: timedRequest = false, + [1652858653.083726][2107:2107] CHIP:DMG: AttributeDataIBs = + [1652858653.083771][2107:2107] CHIP:DMG: [ + [1652858653.083807][2107:2107] CHIP:DMG: AttributeDataIB = + [1652858653.083848][2107:2107] CHIP:DMG: { + [1652858653.083886][2107:2107] CHIP:DMG: AttributePathIB = + [1652858653.083933][2107:2107] CHIP:DMG: { + [1652858653.083981][2107:2107] CHIP:DMG: Endpoint = 0x1, + [1652858653.084027][2107:2107] CHIP:DMG: Cluster = 0x200, + [1652858653.084079][2107:2107] CHIP:DMG: Attribute = 0x0000_0021, + [1652858653.084121][2107:2107] CHIP:DMG: } + [1652858653.084169][2107:2107] CHIP:DMG: + [1652858653.084222][2107:2107] CHIP:DMG: Data = 0, + [1652858653.084268][2107:2107] CHIP:DMG: }, + [1652858653.084312][2107:2107] CHIP:DMG: + [1652858653.084348][2107:2107] CHIP:DMG: ], + [1652858653.084391][2107:2107] CHIP:DMG: + [1652858653.084428][2107:2107] CHIP:DMG: moreChunkedMessages = false, + [1652858653.084465][2107:2107] CHIP:DMG: InteractionModelRevision = 1 + [1652858653.084499][2107:2107] CHIP:DMG: }, + [1652858653.084617][2107:2107] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0200 e=1 p=m + [1652858653.084669][2107:2107] CHIP:DMG: AccessControl: allowed + [1652858653.084727][2107:2107] CHIP:DMG: Endpoint 1, Cluster 0x0000_0200 update version to b7ba155c + + ./chip-tool pumpconfigurationandcontrol write lifetime-running-hours 1 1 1 + + [1652858777.844427][2107:2107] CHIP:IM: Received Write request + [1652858777.844450][2107:2107] CHIP:DMG: IM WH moving to [Initialized] + [1652858777.844508][2107:2107] CHIP:DMG: WriteRequestMessage = + [1652858777.844535][2107:2107] CHIP:DMG: { + [1652858777.844558][2107:2107] CHIP:DMG: suppressResponse = false, + [1652858777.844585][2107:2107] CHIP:DMG: timedRequest = false, + [1652858777.844611][2107:2107] CHIP:DMG: AttributeDataIBs = + [1652858777.844640][2107:2107] CHIP:DMG: [ + [1652858777.844666][2107:2107] CHIP:DMG: AttributeDataIB = + [1652858777.844691][2107:2107] CHIP:DMG: { + [1652858777.844713][2107:2107] CHIP:DMG: AttributePathIB = + [1652858777.844740][2107:2107] CHIP:DMG: { + [1652858777.844770][2107:2107] CHIP:DMG: Endpoint = 0x1, + [1652858777.844804][2107:2107] CHIP:DMG: Cluster = 0x200, + [1652858777.844847][2107:2107] CHIP:DMG: Attribute = 0x0000_0015, + [1652858777.844877][2107:2107] CHIP:DMG: } + [1652858777.844909][2107:2107] CHIP:DMG: + [1652858777.844941][2107:2107] CHIP:DMG: Data = 1, + [1652858777.844970][2107:2107] CHIP:DMG: }, + [1652858777.845000][2107:2107] CHIP:DMG: + [1652858777.845023][2107:2107] CHIP:DMG: ], + [1652858777.845052][2107:2107] CHIP:DMG: + [1652858777.845076][2107:2107] CHIP:DMG: moreChunkedMessages = false, + [1652858777.845101][2107:2107] CHIP:DMG: InteractionModelRevision = 1 + [1652858777.845125][2107:2107] CHIP:DMG: }, + [1652858777.845214][2107:2107] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0200 e=1 p=m + [1652858777.845258][2107:2107] CHIP:DMG: AccessControl: allowed + [1652858777.845300][2107:2107] CHIP:DMG: Endpoint 1, Cluster 0x0000_0200 update version to b7ba155e + + ./chip-tool pumpconfigurationandcontrol write lifetime-energy-consumed 1 1 1 + + + [1652858844.149759][2107:2107] CHIP:IM: Received Write request + [1652858844.149801][2107:2107] CHIP:DMG: IM WH moving to [Initialized] + [1652858844.149889][2107:2107] CHIP:DMG: WriteRequestMessage = + [1652858844.149935][2107:2107] CHIP:DMG: { + [1652858844.149978][2107:2107] CHIP:DMG: suppressResponse = false, + [1652858844.150027][2107:2107] CHIP:DMG: timedRequest = false, + [1652858844.150073][2107:2107] CHIP:DMG: AttributeDataIBs = + [1652858844.150165][2107:2107] CHIP:DMG: [ + [1652858844.150211][2107:2107] CHIP:DMG: AttributeDataIB = + [1652858844.150264][2107:2107] CHIP:DMG: { + [1652858844.150315][2107:2107] CHIP:DMG: AttributePathIB = + [1652858844.150378][2107:2107] CHIP:DMG: { + [1652858844.150435][2107:2107] CHIP:DMG: Endpoint = 0x1, + [1652858844.150503][2107:2107] CHIP:DMG: Cluster = 0x200, + [1652858844.150568][2107:2107] CHIP:DMG: Attribute = 0x0000_0017, + [1652858844.150726][2107:2107] CHIP:DMG: } + [1652858844.150798][2107:2107] CHIP:DMG: + [1652858844.150860][2107:2107] CHIP:DMG: Data = 1, + [1652858844.150922][2107:2107] CHIP:DMG: }, + [1652858844.150980][2107:2107] CHIP:DMG: + [1652858844.151028][2107:2107] CHIP:DMG: ], + [1652858844.151081][2107:2107] CHIP:DMG: + [1652858844.151127][2107:2107] CHIP:DMG: moreChunkedMessages = false, + [1652858844.151173][2107:2107] CHIP:DMG: InteractionModelRevision = 1 + [1652858844.151216][2107:2107] CHIP:DMG: }, + [1652858844.151359][2107:2107] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0200 e=1 p=m + [1652858844.151421][2107:2107] CHIP:DMG: AccessControl: allowed + [1652858844.151488][2107:2107] CHIP:DMG: Endpoint 1, Cluster 0x0000_0200 update version to b7ba155f + 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: | + ./chip-tool pumpconfigurationandcontrol read attribute-list 1 1 + [1654247307401] [91803:4011207] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0200 Attribute 0x0000_FFFB DataVersion: 3055704159 + [1654247307401] [91803:4011207] CHIP: [TOO] AttributeList: 12 entries + [1654247307401] [91803:4011207] CHIP: [TOO] [1]: 0 + [1654247307401] [91803:4011207] CHIP: [TOO] [2]: 1 + [1654247307401] [91803:4011207] CHIP: [TOO] [3]: 2 + [1654247307401] [91803:4011207] CHIP: [TOO] [4]: 17 + [1654247307401] [91803:4011207] CHIP: [TOO] [5]: 18 + [1654247307401] [91803:4011207] CHIP: [TOO] [6]: 19 + [1654247307401] [91803:4011207] CHIP: [TOO] [7]: 32 + [1654247307401] [91803:4011207] CHIP: [TOO] [8]: 65528 + [1654247307401] [91803:4011207] CHIP: [TOO] [9]: 65529 + [1654247307401] [91803:4011207] CHIP: [TOO] [10]: 65531 + [1654247307401] [91803:4011207] CHIP: [TOO] [11]: 65532 + [1654247307401] [91803:4011207] CHIP: [TOO] [12]: 65533 + + + "./chip-tool pumpconfigurationandcontrol read max-pressure 1 1 + + [1651148412.273866][2336:2336] CHIP:IM: Received Read request + [1651148412.273922][2336:2336] CHIP:DMG: ReadRequestMessage = + [1651148412.273950][2336:2336] CHIP:DMG: { + [1651148412.273972][2336:2336] CHIP:DMG: AttributePathIBs = + [1651148412.273999][2336:2336] CHIP:DMG: [ + [1651148412.274024][2336:2336] CHIP:DMG: AttributePathIB = + [1651148412.274063][2336:2336] CHIP:DMG: { + [1651148412.274093][2336:2336] CHIP:DMG: Endpoint = 0x1, + [1651148412.274126][2336:2336] CHIP:DMG: Cluster = 0x200, + [1651148412.274156][2336:2336] CHIP:DMG: Attribute = 0x0000_0000, + [1651148412.274186][2336:2336] CHIP:DMG: } + [1651148412.274216][2336:2336] CHIP:DMG: + [1651148412.274242][2336:2336] CHIP:DMG: ], + [1651148412.274271][2336:2336] CHIP:DMG: + [1651148412.274298][2336:2336] CHIP:DMG: isFabricFiltered = true, + [1651148412.274325][2336:2336] CHIP:DMG: InteractionModelRevision = 1 + [1651148412.274349][2336:2336] CHIP:DMG: }, + [1651148412.274424][2336:2336] CHIP:DMG: IM RH moving to [GeneratingReports] + + ./chip-tool pumpconfigurationandcontrol read max-speed 1 1 + + [1651148440.471321][2336:2336] CHIP:IM: Received Read request + [1651148440.471389][2336:2336] CHIP:DMG: ReadRequestMessage = + [1651148440.471416][2336:2336] CHIP:DMG: { + [1651148440.471438][2336:2336] CHIP:DMG: AttributePathIBs = + [1651148440.471481][2336:2336] CHIP:DMG: [ + [1651148440.471507][2336:2336] CHIP:DMG: AttributePathIB = + [1651148440.471546][2336:2336] CHIP:DMG: { + [1651148440.471571][2336:2336] CHIP:DMG: Endpoint = 0x1, + [1651148440.471609][2336:2336] CHIP:DMG: Cluster = 0x200, + [1651148440.471642][2336:2336] CHIP:DMG: Attribute = 0x0000_0001, + [1651148440.471681][2336:2336] CHIP:DMG: } + [1651148440.471719][2336:2336] CHIP:DMG: + [1651148440.471745][2336:2336] CHIP:DMG: ], + [1651148440.471770][2336:2336] CHIP:DMG: + [1651148440.471806][2336:2336] CHIP:DMG: isFabricFiltered = true, + [1651148440.471831][2336:2336] CHIP:DMG: InteractionModelRevision = 1 + [1651148440.471867][2336:2336] CHIP:DMG: }, + [1651148440.471947][2336:2336] CHIP:DMG: IM RH moving to [GeneratingReports] + [1651148440.472042][2336:2336] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + + ./chip-tool pumpconfigurationandcontrol read max-flow 1 1 + + [1651148472.518933][2336:2336] CHIP:IM: Received Read request + [1651148472.518993][2336:2336] CHIP:DMG: ReadRequestMessage = + [1651148472.519023][2336:2336] CHIP:DMG: { + [1651148472.519071][2336:2336] CHIP:DMG: AttributePathIBs = + [1651148472.519104][2336:2336] CHIP:DMG: [ + [1651148472.519163][2336:2336] CHIP:DMG: AttributePathIB = + [1651148472.519218][2336:2336] CHIP:DMG: { + [1651148472.519286][2336:2336] CHIP:DMG: Endpoint = 0x1, + [1651148472.519328][2336:2336] CHIP:DMG: Cluster = 0x200, + [1651148472.519364][2336:2336] CHIP:DMG: Attribute = 0x0000_0002, + [1651148472.519400][2336:2336] CHIP:DMG: } + [1651148472.519459][2336:2336] CHIP:DMG: + [1651148472.519521][2336:2336] CHIP:DMG: ], + [1651148472.519555][2336:2336] CHIP:DMG: + [1651148472.519584][2336:2336] CHIP:DMG: isFabricFiltered = true, + [1651148472.519666][2336:2336] CHIP:DMG: InteractionModelRevision = 1 + [1651148472.519695][2336:2336] CHIP:DMG: }, + [1651148472.519802][2336:2336] CHIP:DMG: IM RH moving to [GeneratingReports] + [1651148472.519971][2336:2336] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + + ./chip-tool pumpconfigurationandcontrol read effective-operation-mode 1 1 + + [1651570515.206834][9246:9246] CHIP:IM: Received Read request + [1651570515.206917][9246:9246] CHIP:DMG: ReadRequestMessage = + [1651570515.206966][9246:9246] CHIP:DMG: { + [1651570515.207006][9246:9246] CHIP:DMG: AttributePathIBs = + [1651570515.207053][9246:9246] CHIP:DMG: [ + [1651570515.207098][9246:9246] CHIP:DMG: AttributePathIB = + [1651570515.207154][9246:9246] CHIP:DMG: { + [1651570515.207210][9246:9246] CHIP:DMG: Endpoint = 0x1, + [1651570515.207265][9246:9246] CHIP:DMG: Cluster = 0x200, + [1651570515.207322][9246:9246] CHIP:DMG: Attribute = 0x0000_0011, + [1651570515.207381][9246:9246] CHIP:DMG: } + [1651570515.207436][9246:9246] CHIP:DMG: + [1651570515.207483][9246:9246] CHIP:DMG: ], + [1651570515.207535][9246:9246] CHIP:DMG: + [1651570515.207587][9246:9246] CHIP:DMG: isFabricFiltered = true, + [1651570515.207634][9246:9246] CHIP:DMG: InteractionModelRevision = 1 + [1651570515.207677][9246:9246] CHIP:DMG: } + + ./chip-tool pumpconfigurationandcontrol read effective-control-mode 1 1 + + [1651570975.559213][9246:9246] CHIP:IM: Received Read request + [1651570975.559268][9246:9246] CHIP:DMG: ReadRequestMessage = + [1651570975.559295][9246:9246] CHIP:DMG: { + [1651570975.559317][9246:9246] CHIP:DMG: AttributePathIBs = + [1651570975.559343][9246:9246] CHIP:DMG: [ + [1651570975.559367][9246:9246] CHIP:DMG: AttributePathIB = + [1651570975.559400][9246:9246] CHIP:DMG: { + [1651570975.559428][9246:9246] CHIP:DMG: Endpoint = 0x1, + [1651570975.559465][9246:9246] CHIP:DMG: Cluster = 0x200, + [1651570975.559602][9246:9246] CHIP:DMG: Attribute = 0x0000_0012, + [1651570975.559626][9246:9246] CHIP:DMG: } + [1651570975.559655][9246:9246] CHIP:DMG: + [1651570975.559681][9246:9246] CHIP:DMG: ], + [1651570975.559710][9246:9246] CHIP:DMG: + + ./chip-tool pumpconfigurationandcontrol read capacity 1 1 + + [1651571009.295069][9246:9246] CHIP:IM: Received Read request + [1651571009.295158][9246:9246] CHIP:DMG: ReadRequestMessage = + [1651571009.295203][9246:9246] CHIP:DMG: { + [1651571009.295244][9246:9246] CHIP:DMG: AttributePathIBs = + [1651571009.295293][9246:9246] CHIP:DMG: [ + [1651571009.295339][9246:9246] CHIP:DMG: AttributePathIB = + [1651571009.295387][9246:9246] CHIP:DMG: { + [1651571009.295438][9246:9246] CHIP:DMG: Endpoint = 0x1, + [1651571009.295493][9246:9246] CHIP:DMG: Cluster = 0x200, + [1651571009.295548][9246:9246] CHIP:DMG: Attribute = 0x0000_0013, + [1651571009.295597][9246:9246] CHIP:DMG: } + [1651571009.295649][9246:9246] CHIP:DMG: + [1651571009.295696][9246:9246] CHIP:DMG: ], + [1651571009.295747][9246:9246] CHIP:DMG: + + ./chip-tool pumpconfigurationandcontrol read operation-mode 1 1 + + [1651571334.617100][9337:9337] CHIP:IM: Received Read request + [1651571334.617155][9337:9337] CHIP:DMG: ReadRequestMessage = + [1651571334.617181][9337:9337] CHIP:DMG: { + [1651571334.617213][9337:9337] CHIP:DMG: AttributePathIBs = + [1651571334.617250][9337:9337] CHIP:DMG: [ + [1651571334.617291][9337:9337] CHIP:DMG: AttributePathIB = + [1651571334.617338][9337:9337] CHIP:DMG: { + [1651571334.617368][9337:9337] CHIP:DMG: Endpoint = 0x1, + [1651571334.617404][9337:9337] CHIP:DMG: Cluster = 0x200, + [1651571334.617433][9337:9337] CHIP:DMG: Attribute = 0x0000_0020, + [1651571334.617467][9337:9337] CHIP:DMG: } + [1651571334.617499][9337:9337] CHIP:DMG: + [1651571334.617537][9337:9337] CHIP:DMG: ], + [1651571334.617567][9337:9337] CHIP:DMG: " + disabled: true + + - label: + "DUT reads all supported optional attributes from TH one at a time in + a manufacturer specific order" + verification: | + "./chip-tool pumpconfigurationandcontrol read min-const-pressure 1 1 + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + + "./chip-tool pumpconfigurationandcontrol read max-const-pressure 1 1 + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + + "./chip-tool pumpconfigurationandcontrol read min-comp-pressure 1 1 + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + + "./chip-tool pumpconfigurationandcontrol read max-comp-pressure 1 1 + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + + ./chip-tool pumpconfigurationandcontrol read min-const-speed 1 1 + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + + ./chip-tool pumpconfigurationandcontrol read max-const-speed 1 1 + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + + ./chip-tool pumpconfigurationandcontrol read min-const-flow 1 1 + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + + + "./chip-tool pumpconfigurationandcontrol read min-const-flow 1 1 + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + + "./chip-tool pumpconfigurationandcontrol read max-const-flow 1 1 + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + + "./chip-tool pumpconfigurationandcontrol read min-const-temp 1 1 + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + + "./chip-tool pumpconfigurationandcontrol read max-const-temp 1 1 + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + + " ./chip-tool pumpconfigurationandcontrol read pump-status 1 1 + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + + "./chip-tool pumpconfigurationandcontrol read speed 1 1 + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + + "./chip-tool pumpconfigurationandcontrol read lifetime-running-hours 1 1 + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + + "./chip-tool pumpconfigurationandcontrol read power 1 1 + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + + " ./chip-tool pumpconfigurationandcontrol read lifetime-energy-consumed 1 1 + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + + "./chip-tool pumpconfigurationandcontrol read control-mode 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: | + ./chip-tool pumpconfigurationandcontrol write control-mode 0 1 1 + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + + ./chip-tool pumpconfigurationandcontrol write lifetime-running-hours 1 1 1 + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + + ./chip-tool pumpconfigurationandcontrol write lifetime-energy-consumed 1 1 1 + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_SC_4_9.yaml b/src/app/tests/suites/certification/Test_TC_SC_4_9.yaml index 14fd90cc943330..09a08fdf42fffc 100644 --- a/src/app/tests/suites/certification/Test_TC_SC_4_9.yaml +++ b/src/app/tests/suites/certification/Test_TC_SC_4_9.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: 13.4.9. [TC-SC-4.9] Operational Discovery - RIO support +name: 14.4.9. [TC-SC-4.9] Operational Discovery - RIO support config: nodeId: 0x12344321 @@ -21,39 +21,64 @@ config: endpoint: 0 tests: - - label: "TH_CR1 starts a commissioning process with DUT_CE" + - label: + "Starts a commissioning process with DUT_CE including an access + control list entry on DUT_CE that gives Operate Privilege to TH_CR2 + against every endpoint of DUT_CE" verification: | - provision the DUT using chip-tool. Ref to provisioning instructions + ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": [{"cluster": null, "endpoint": 0, "deviceType": null}]}, {"fabricIndex": 1, "privilege": 3, "authMode": 3, "subjects": null, "targets": [{"cluster": null, "endpoint": 1, "deviceType": null}]}]' 77 0 + + [1652330385.328196][3240:3245] CHIP:DMG: StatusIB = + [1652330385.328229][3240:3245] CHIP:DMG: { + [1652330385.328264][3240:3245] CHIP:DMG: status = 0x00 (SUCCESS), + [1652330385.328298][3240:3245] CHIP:DMG: }, disabled: true - label: - "TH_CR1 opens a commissioning window on DUT_CE using a commissioning - timeout of PIXIT_COMM_WIN seconds using ECM" + "Reads Basic Information Cluster NodeLabel attribute as + PreviousNodeLabel" verification: | - Refer to Multi-admin tests (either TC-MF-1.3 OR TC-MF-1.4) on the steps to add 2nd admin on the node - Open Commissioning window on DUT using BCM or ECM + ./chip-tool basic read node-label 77 0 - ./chip-tool pairing open-commissioning-window 1 1 200 1000 3840 + [1652420234.342201][2403:2408] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 2144347768 + [1652420234.342277][2403:2408] CHIP:TOO: NodeLabel: + [1652420234.342452][2403:2408] CHIP:EM: Sending Standalone Ack for MessageCounter:123718 on exchange 57159i disabled: true - - label: "TH_CR2 starts a commissioning process with DUT_CE" + - label: 'Writes "TestRIO" to the NodeLabel attribute' verification: | - Refer to Multi-admin tests on the steps to add 2nd admin on the node. Get another chip-tool instance on a machine connected behind the border router. Make sure IPV4 interface are disabled on the border router. We need to make sure chip-tool on IPV6 network talk to the Wifi device with LWIP stack on the wifi network. - ./chip-tool pairing manualcode 1 36177160937 + ./chip-tool basic write node-label testrio 77 0 + + StatusIB = + [1652421063.833937][2454:2459] CHIP:DMG: { + [1652421063.834016][2454:2459] CHIP:DMG: status = 0x00 (SUCCESS), + [1652421063.834118][2454:2459] CHIP:DMG: }, disabled: true - - label: - "TH_CR1 writes and reads the Basic Information Clusters NodeLabel - mandatory attribute of DUT_CE" + - label: "Reads NodeLabel attribute" verification: | - ./chip-tool basic write node-label te8 1 0 - ./chip-tool basic read node-label 1 0 + ./chip-tool basic read node-label 77 0 + + [1652421068.143200][2460:2465] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 2144347769 + [1652421068.143276][2460:2465] CHIP:TOO: NodeLabel: testrio + [1652421068.143457][2460:2465] CHIP:EM: Sending Standalone Ack for MessageCounter:2274062 on exchange 46531i disabled: true - - label: - "TH_CR2 writes and reads the Basic Information Clusters NodeLabel - mandatory attribute of DUT_CE" + - label: 'Writes "TestRIO2" to the NodeLabel attribute' verification: | - ./chip-tool basic write node-label te8 2 0 - ./chip-tool basic read node-label 2 0 + ./chip-tool basic write node-label testrio2 77 0 + + StatusIB = + [1652421082.185625][2467:2473] CHIP:DMG: { + [1652421082.185696][2467:2473] CHIP:DMG: status = 0x00 (SUCCESS), + [1652421082.185766][2467:2473] CHIP:DMG: }, + disabled: true + + - label: "Reads NodeLabel attribute" + verification: | + ./chip-tool basic read node-label 77 0 + + [1652421088.232903][2474:2479] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 2144347770 + [1652421088.232983][2474:2479] CHIP:TOO: NodeLabel: testrio2 + [1652421088.233169][2474:2479] CHIP:EM: Sending Standalone Ack for MessageCounter:4743745 on exchange 61019i disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_SWTCH_3_2.yaml b/src/app/tests/suites/certification/Test_TC_SWTCH_3_2.yaml new file mode 100644 index 00000000000000..8fbe3759c9657b --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_SWTCH_3_2.yaml @@ -0,0 +1,132 @@ +# 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: 73.3.3. [TC-SWTCH-3.2] Primary functionality with client as DUT + +config: + nodeId: 0x12344321 + cluster: "Basic" + endpoint: 0 + +tests: + - label: "TH checks consistency of PICS flags" + verification: | + no messages needed, TH checks consistency of PICS flags + disabled: true + + - label: "TH checks consistency of PICS flags" + verification: | + no messages needed, TH checks consistency of PICS flags + disabled: true + + - label: "TH checks consistency of PICS flags" + verification: | + no messages needed, TH checks consistency of PICS flags + disabled: true + + - label: "TH checks consistency of PICS flags" + verification: | + no messages needed, TH checks consistency of PICS flags + disabled: true + + - label: "TH checks consistency of PICS flags" + verification: | + no messages needed, TH checks consistency of PICS flags + disabled: true + + - label: "TH checks consistency of PICS flags" + verification: | + no messages needed, TH checks consistency of PICS flags + disabled: true + + - label: "TH checks consistency of PICS flags" + verification: | + no messages needed, TH checks consistency of PICS flags + disabled: true + + - label: + "Commission DUT to TH. Use client mechanism to set it up so switch + state can be observed (e.g. UI shows state of switch) and/or other + device is controlled (e.g. light on same fabric gets controlled by the + switch TH has to simulate that light). While commissioning and + configuring, TH records and reacts to the messages relating to the + switch functionality detailed in the steps below. The order of the + messages received may be different from the order of the sub-steps + 1b..1d below." + verification: | + + disabled: true + + - label: + "TH simulates operation of the switch by changing state (attribute + CurrentPosition) from 0 to 1 and back every 10 seconds" + verification: | + add messages for this exchange: DUT needs to read the attribute, TH provides value of simulated switch + DUT also shows results in UI or via controlled device + disabled: true + + - label: + "TH simulates operation of the switch by changing state (attribute + CurrentPosition) from 0 to 1 and back every 10 seconds, and sending + the event SwitchLatched (with field NewPosition reflecting the new + state) on every change" + verification: | + TH sends event messages, DUT consumes them, DUT shows results in UI or via controlled device + disabled: true + + - label: + "Commission DUT to TH. Use client mechanism to set it up so switch + state can be observed (e.g. UI shows state of switch) and/or other + device is controlled (e.g. light on same fabric gets controlled by the + switch TH has to simulate that light). While commissioning and + configuring, TH records and reacts to the messages relating to the + switch functionality detailed in the steps below. The order of the + messages received may be different from the order of the sub-steps + 3b..3d below." + verification: | + + disabled: true + + - label: + "TH simulates operation of the switch by repeating these steps (over a + 1 minute period) * change state (attribute CurrentPosition) from 0 to + 1 * wait 0.2 seconds * change state (attribute CurrentPosition) from 1 + to 0 * wait 10 seconds" + verification: | + add messages for this exchange: DUT needs to read the attribute, TH provides value of simulated switch + DUT also shows results in UI or via controlled device + disabled: true + + - label: + "TH simulates operation of the switch by repeating these steps (over a + 1 minute period) change state (attribute CurrentPosition) from 0 to 1, + and send the event InitialPress (with field NewPosition=1) * wait 0.2 + seconds * change state (attribute CurrentPosition) from 1 to 0, and + send the event ShortRelease (with field PreviousPosition=1) * wait 10 + seconds" + verification: | + TH sends event messages, DUT consumes them, DUT shows results in UI or via controlled device + disabled: true + + - label: + "TH simulates operation of the switch by repeating these steps (over a + 1 minute period) change state (field CurrentPosition) from 0 to 1, and + send the event InitialPress (with field NewPosition=1) wait 0.75 + seconds * send the event LongPress (field NewPosition=1) wait 2 + seconds * change state (field CurrentPosition) from 1 to 0, and send + the event LongRelease (with field PreviousPosition=1)* wait 8 seconds" + verification: | + TH sends event messages, DUT consumes them, DUT shows results in UI or via controlled device + disabled: true diff --git a/src/app/tests/suites/tests.js b/src/app/tests/suites/tests.js index 2a14e150f564fb..0da6722bd14ea6 100644 --- a/src/app/tests/suites/tests.js +++ b/src/app/tests/suites/tests.js @@ -163,7 +163,10 @@ function getManualTests() { ]; const GeneralDiagnostics = [ - 'Test_TC_GENDIAG_1_2', + 'Test_TC_DGGEN_2_2', + 'Test_TC_DGGEN_2_3', + 'Test_TC_DGGEN_3_1', + 'Test_TC_DGGEN_3_2', ]; const Identify = [ @@ -260,6 +263,7 @@ function getManualTests() { 'Test_TC_MOD_3_1', 'Test_TC_MOD_3_2', 'Test_TC_MOD_3_3', + 'Test_TC_MOD_3_4', ]; const OTASoftwareUpdate = [ @@ -405,6 +409,7 @@ function getManualTests() { 'Test_TC_SWTCH_1_1', 'Test_TC_SWTCH_2_2', 'Test_TC_SWTCH_3_1', + 'Test_TC_SWTCH_3_2', ]; const TemperatureMeasurement = [ @@ -422,10 +427,13 @@ function getManualTests() { ]; const ThreadNetworkDiagnostics = [ - 'Test_TC_DIAG_TH_NW_2_6', - 'Test_TC_DIAG_TH_NW_2_7', - 'Test_TC_DIAG_TH_NW_2_8', - 'Test_TC_DIAG_TH_NW_2_9', + 'Test_TC_DIAG_TH_NW_1_1', + 'Test_TC_DIAG_TH_NW_2_5', + 'Test_TC_DIAG_TH_NW_3_1', + 'Test_TC_DIAG_TH_NW_3_2', + 'Test_TC_DIAG_TH_NW_3_3', + 'Test_TC_DIAG_TH_NW_3_4', + 'Test_TC_DIAG_TH_NW_3_5', ]; const Actions = [ @@ -467,6 +475,10 @@ function getManualTests() { 'Test_TC_S_3_1', ]; + const PumpConfigurationControl = [ + 'Test_TC_PCC_3_1', + ]; + const tests = [ DeviceDiscovery, Groups, @@ -513,6 +525,7 @@ function getManualTests() { FixedLabel, Binding, Scenes, + PumpConfigurationControl, ].flat(1); tests.disable = disable.bind(tests); @@ -524,12 +537,6 @@ function getTests() { 'TestAccessControlCluster', ]; - const BinaryInput = [ - 'Test_TC_BI_1_1', - 'Test_TC_BI_2_1', - 'Test_TC_BI_2_2', - ]; - const BooleanState = [ 'Test_TC_BOOL_1_1', 'Test_TC_BOOL_2_1', @@ -570,11 +577,6 @@ function getTests() { 'Test_TC_DESC_1_1', ]; - - const ElectricalMeasurement = [ - 'Test_TC_EMR_1_1', - ]; - const EthernetNetworkDiagnostics = [ 'Test_TC_DGETH_2_1', 'Test_TC_DGETH_2_2', @@ -742,10 +744,10 @@ function getTests() { ]; const ThreadNetworkDiagnostics = [ - 'Test_TC_DIAG_TH_NW_1_1', - 'Test_TC_DIAG_TH_NW_1_2', + 'Test_TC_DIAG_TH_NW_2_1', 'Test_TC_DIAG_TH_NW_2_2', 'Test_TC_DIAG_TH_NW_2_3', + 'Test_TC_DIAG_TH_NW_2_4', ]; const WiFiNetworkDiagnostics = [ @@ -845,13 +847,11 @@ function getTests() { const tests = [ AccessControl, - BinaryInput, BooleanState, Actions, ColorControl, DeviceManagement, Descriptor, - ElectricalMeasurement, EthernetNetworkDiagnostics, FlowMeasurement, GeneralCommissioning, diff --git a/zzz_generated/chip-tool/zap-generated/test/Commands.h b/zzz_generated/chip-tool/zap-generated/test/Commands.h index c94bbd8b0750e9..03276d30a4eebc 100644 --- a/zzz_generated/chip-tool/zap-generated/test/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/test/Commands.h @@ -35,9 +35,6 @@ class TestList : public Command CHIP_ERROR Run() override { printf("TestAccessControlCluster\n"); - printf("Test_TC_BI_1_1\n"); - printf("Test_TC_BI_2_1\n"); - printf("Test_TC_BI_2_2\n"); printf("Test_TC_BOOL_1_1\n"); printf("Test_TC_BOOL_2_1\n"); printf("Test_TC_ACT_1_1\n"); @@ -63,7 +60,6 @@ class TestList : public Command printf("Test_TC_CC_8_1\n"); printf("Test_TC_BINFO_2_1\n"); printf("Test_TC_DESC_1_1\n"); - printf("Test_TC_EMR_1_1\n"); printf("Test_TC_DGETH_2_1\n"); printf("Test_TC_DGETH_2_2\n"); printf("Test_TC_FLW_1_1\n"); @@ -153,10 +149,10 @@ class TestList : public Command printf("Test_TC_TSUIC_1_1\n"); printf("Test_TC_TSUIC_2_1\n"); printf("Test_TC_TSUIC_2_2\n"); - printf("Test_TC_DIAG_TH_NW_1_1\n"); - printf("Test_TC_DIAG_TH_NW_1_2\n"); + printf("Test_TC_DIAG_TH_NW_2_1\n"); printf("Test_TC_DIAG_TH_NW_2_2\n"); printf("Test_TC_DIAG_TH_NW_2_3\n"); + printf("Test_TC_DIAG_TH_NW_2_4\n"); printf("Test_TC_ULABEL_1_1\n"); printf("Test_TC_ULABEL_2_2\n"); printf("Test_TC_ULABEL_2_3\n"); @@ -344,7 +340,10 @@ class ManualTestList : public Command printf("Test_TC_CGEN_2_2\n"); printf("Test_TC_CGEN_2_3\n"); printf("Test_TC_CGEN_2_4\n"); - printf("Test_TC_GENDIAG_1_2\n"); + printf("Test_TC_DGGEN_2_2\n"); + printf("Test_TC_DGGEN_2_3\n"); + printf("Test_TC_DGGEN_3_1\n"); + printf("Test_TC_DGGEN_3_2\n"); printf("Test_TC_I_3_1\n"); printf("Test_TC_I_3_2\n"); printf("Test_TC_ILL_2_2\n"); @@ -422,6 +421,7 @@ class ManualTestList : public Command printf("Test_TC_MOD_3_1\n"); printf("Test_TC_MOD_3_2\n"); printf("Test_TC_MOD_3_3\n"); + printf("Test_TC_MOD_3_4\n"); printf("Test_TC_SU_1_1\n"); printf("Test_TC_SU_2_1\n"); printf("Test_TC_SU_2_2\n"); @@ -512,15 +512,19 @@ class ManualTestList : public Command printf("Test_TC_SWTCH_1_1\n"); printf("Test_TC_SWTCH_2_2\n"); printf("Test_TC_SWTCH_3_1\n"); + printf("Test_TC_SWTCH_3_2\n"); printf("Test_TC_TM_2_2\n"); printf("Test_TC_TM_3_1\n"); printf("Test_TC_TSTAT_3_1\n"); printf("Test_TC_TSTAT_3_2\n"); printf("Test_TC_TSUIC_3_1\n"); - printf("Test_TC_DIAG_TH_NW_2_6\n"); - printf("Test_TC_DIAG_TH_NW_2_7\n"); - printf("Test_TC_DIAG_TH_NW_2_8\n"); - printf("Test_TC_DIAG_TH_NW_2_9\n"); + printf("Test_TC_DIAG_TH_NW_1_1\n"); + printf("Test_TC_DIAG_TH_NW_2_5\n"); + printf("Test_TC_DIAG_TH_NW_3_1\n"); + printf("Test_TC_DIAG_TH_NW_3_2\n"); + printf("Test_TC_DIAG_TH_NW_3_3\n"); + printf("Test_TC_DIAG_TH_NW_3_4\n"); + printf("Test_TC_DIAG_TH_NW_3_5\n"); printf("Test_TC_ACT_2_1\n"); printf("Test_TC_ACT_2_2\n"); printf("Test_TC_ACT_3_1\n"); @@ -542,6 +546,7 @@ class ManualTestList : public Command printf("Test_TC_S_2_2\n"); printf("Test_TC_S_2_3\n"); printf("Test_TC_S_3_1\n"); + printf("Test_TC_PCC_3_1\n"); return CHIP_NO_ERROR; } @@ -1847,10 +1852,10 @@ class TestAccessControlClusterSuite : public TestCommand } }; -class Test_TC_BI_1_1Suite : public TestCommand +class Test_TC_BOOL_1_1Suite : public TestCommand { public: - Test_TC_BI_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BI_1_1", 7, credsIssuerConfig) + Test_TC_BOOL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BOOL_1_1", 7, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -1858,7 +1863,7 @@ class Test_TC_BI_1_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_BI_1_1Suite() {} + ~Test_TC_BOOL_1_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -1898,19 +1903,48 @@ class Test_TC_BI_1_1Suite : public TestCommand break; case 2: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + uint32_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("featureMap", value, 0UL)); + VerifyOrReturn(CheckConstraintType("value", "", "map32")); + } break; case 3: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 0)); + VerifyOrReturn(CheckValue("attributeList[0]", iter_0.GetValue(), 0UL)); + VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 1)); + VerifyOrReturn(CheckValue("attributeList[1]", iter_0.GetValue(), 65528UL)); + VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 2)); + VerifyOrReturn(CheckValue("attributeList[2]", iter_0.GetValue(), 65529UL)); + VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 3)); + VerifyOrReturn(CheckValue("attributeList[3]", iter_0.GetValue(), 65531UL)); + VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 4)); + VerifyOrReturn(CheckValue("attributeList[4]", iter_0.GetValue(), 65532UL)); + VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 5)); + VerifyOrReturn(CheckValue("attributeList[5]", iter_0.GetValue(), 65533UL)); + VerifyOrReturn(CheckNoMoreListItems("attributeList", iter_0, 6)); + } VerifyOrReturn(CheckConstraintType("value", "", "list")); } break; case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("acceptedCommandList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "", "list")); + } break; case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -1919,12 +1953,231 @@ class Test_TC_BI_1_1Suite : public TestCommand VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); { auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("acceptedCommandList", iter_0, 0)); + VerifyOrReturn(CheckNoMoreListItems("generatedCommandList", iter_0, 0)); } VerifyOrReturn(CheckConstraintType("value", "", "list")); } break; case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + default: + LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); + } + + if (shouldContinue) + { + ContinueOnChipMainThread(CHIP_NO_ERROR); + } + } + + CHIP_ERROR DoTestStep(uint16_t testIndex) override + { + using namespace chip::app::Clusters; + switch (testIndex) + { + case 0: { + LogStep(0, "Wait for the commissioned device to be retrieved"); + ListFreer listFreer; + chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; + value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; + return WaitForCommissionee(kIdentityAlpha, value); + } + case 1: { + LogStep(1, "read the global attribute: ClusterRevision"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, BooleanState::Attributes::ClusterRevision::Id, + true, chip::NullOptional); + } + case 2: { + LogStep(2, "Read the global attribute constraints : FeatureMap"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, BooleanState::Attributes::FeatureMap::Id, true, + chip::NullOptional); + } + case 3: { + LogStep(3, "Read the global attribute: AttributeList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, BooleanState::Attributes::AttributeList::Id, + true, chip::NullOptional); + } + case 4: { + LogStep(4, "Read the global attribute: AcceptedCommandList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, + BooleanState::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + } + case 5: { + LogStep(5, "Read the global attribute: GeneratedCommandList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, + BooleanState::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); + } + case 6: { + LogStep(6, + "Read EventList attribute from the DUT and Verify that the DUT response provides a list of supported events."); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + } + return CHIP_NO_ERROR; + } +}; + +class Test_TC_BOOL_2_1Suite : public TestCommand +{ +public: + Test_TC_BOOL_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BOOL_2_1", 2, credsIssuerConfig) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + + ~Test_TC_BOOL_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) + { + 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)); + { + bool value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("stateValue", value, 0)); + VerifyOrReturn(CheckConstraintType("value", "", "bool")); + } + break; + default: + LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); + } + + if (shouldContinue) + { + ContinueOnChipMainThread(CHIP_NO_ERROR); + } + } + + CHIP_ERROR DoTestStep(uint16_t testIndex) override + { + using namespace chip::app::Clusters; + switch (testIndex) + { + case 0: { + LogStep(0, "Wait for the commissioned device to be retrieved"); + ListFreer listFreer; + chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; + value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; + return WaitForCommissionee(kIdentityAlpha, value); + } + case 1: { + LogStep(1, "Read mandatory non-global attribute: StateValue"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, BooleanState::Attributes::StateValue::Id, true, + chip::NullOptional); + } + } + return CHIP_NO_ERROR; + } +}; + +class Test_TC_ACT_1_1Suite : public TestCommand +{ +public: + Test_TC_ACT_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ACT_1_1", 6, credsIssuerConfig) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + + ~Test_TC_ACT_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) + { + case 0: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 1: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + uint16_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("clusterRevision", value, 1U)); + VerifyOrReturn(CheckConstraintType("value", "", "uint16")); + } + break; + case 2: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + } + break; + case 3: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("acceptedCommandList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "", "list")); + } + break; + case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -1935,799 +2188,10 @@ class Test_TC_BI_1_1Suite : public TestCommand } VerifyOrReturn(CheckConstraintType("value", "", "list")); } - break; - default: - LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); - } - - if (shouldContinue) - { - ContinueOnChipMainThread(CHIP_NO_ERROR); - } - } - - CHIP_ERROR DoTestStep(uint16_t testIndex) override - { - using namespace chip::app::Clusters; - switch (testIndex) - { - case 0: { - LogStep(0, "Wait for the commissioned device to be retrieved"); - ListFreer listFreer; - chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; - value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; - return WaitForCommissionee(kIdentityAlpha, value); - } - case 1: { - LogStep(1, "Read the global attribute: ClusterRevision"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BinaryInputBasic::Id, - BinaryInputBasic::Attributes::ClusterRevision::Id, true, chip::NullOptional); - } - case 2: { - LogStep(2, "Read the global attribute : FeatureMap"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 3: { - LogStep(3, "Read the global attribute: AttributeList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BinaryInputBasic::Id, - BinaryInputBasic::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 4: { - LogStep(4, "Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 5: { - LogStep(5, "Read the global attribute: AcceptedCommandList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BinaryInputBasic::Id, - BinaryInputBasic::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); - } - case 6: { - LogStep(6, "Read the global attribute: GeneratedCommandList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BinaryInputBasic::Id, - BinaryInputBasic::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); - } - } - return CHIP_NO_ERROR; - } -}; - -class Test_TC_BI_2_1Suite : public TestCommand -{ -public: - Test_TC_BI_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BI_2_1", 12, credsIssuerConfig) - { - AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); - AddArgument("cluster", &mCluster); - AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); - AddArgument("timeout", 0, UINT16_MAX, &mTimeout); - } - - ~Test_TC_BI_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) - { - 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)); - { - bool value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("outOfService", value, 0)); - } - 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)); - break; - case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - bool value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("outOfService", value, 0)); - } - break; - case 5: - 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 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - bool value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("presentValue", value, 0)); - } - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint8_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("statusFlags", value, 0U)); - } - break; - case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint8_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "map8")); - VerifyOrReturn(CheckConstraintMinValue("value", value, 0U)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 15U)); - } - break; - case 10: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); - break; - case 11: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint8_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("statusFlags", value, 0U)); - } - break; - default: - LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); - } - - if (shouldContinue) - { - ContinueOnChipMainThread(CHIP_NO_ERROR); - } - } - - CHIP_ERROR DoTestStep(uint16_t testIndex) override - { - using namespace chip::app::Clusters; - switch (testIndex) - { - case 0: { - LogStep(0, "Wait for the commissioned device to be retrieved"); - ListFreer listFreer; - chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; - value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; - return WaitForCommissionee(kIdentityAlpha, value); - } - case 1: { - LogStep(1, "Read mandatory non-global attribute: OutOfService"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BinaryInputBasic::Id, - BinaryInputBasic::Attributes::OutOfService::Id, true, chip::NullOptional); - } - case 2: { - LogStep(2, "Read mandatory non-global attribute constraints: OutOfService"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BinaryInputBasic::Id, - BinaryInputBasic::Attributes::OutOfService::Id, true, chip::NullOptional); - } - case 3: { - LogStep(3, "Write the default values to mandatory non-global attribute: OutOfService"); - ListFreer listFreer; - bool value; - value = 0; - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), BinaryInputBasic::Id, - BinaryInputBasic::Attributes::OutOfService::Id, value, chip::NullOptional, chip::NullOptional); - } - case 4: { - LogStep(4, "Reads back the mandatory non-global attribute: OutOfService"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BinaryInputBasic::Id, - BinaryInputBasic::Attributes::OutOfService::Id, true, chip::NullOptional); - } - case 5: { - LogStep(5, "Read mandatory non-global attribute constraints: PresentValue"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BinaryInputBasic::Id, - BinaryInputBasic::Attributes::PresentValue::Id, true, chip::NullOptional); - } - case 6: { - LogStep(6, "Write the default values to mandatory non-global attribute: PresentValue"); - ListFreer listFreer; - bool value; - value = 0; - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), BinaryInputBasic::Id, - BinaryInputBasic::Attributes::PresentValue::Id, value, chip::NullOptional, chip::NullOptional); - } - case 7: { - LogStep(7, "Reads back the mandatory non-global attribute: PresentValue"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BinaryInputBasic::Id, - BinaryInputBasic::Attributes::PresentValue::Id, true, chip::NullOptional); - } - case 8: { - LogStep(8, "Read mandatory non-global attribute: StatusFlags"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BinaryInputBasic::Id, - BinaryInputBasic::Attributes::StatusFlags::Id, true, chip::NullOptional); - } - case 9: { - LogStep(9, "Read mandatory non-global attribute constraints: StatusFlags"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BinaryInputBasic::Id, - BinaryInputBasic::Attributes::StatusFlags::Id, true, chip::NullOptional); - } - case 10: { - LogStep(10, "Write the default values to mandatory non-global attribute: StatusFlags"); - ListFreer listFreer; - uint8_t value; - value = 0U; - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), BinaryInputBasic::Id, - BinaryInputBasic::Attributes::StatusFlags::Id, value, chip::NullOptional, chip::NullOptional); - } - case 11: { - LogStep(11, "Reads back the mandatory non-global attribute: StatusFlags"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BinaryInputBasic::Id, - BinaryInputBasic::Attributes::StatusFlags::Id, true, chip::NullOptional); - } - } - return CHIP_NO_ERROR; - } -}; - -class Test_TC_BI_2_2Suite : public TestCommand -{ -public: - Test_TC_BI_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BI_2_2", 9, credsIssuerConfig) - { - AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); - AddArgument("cluster", &mCluster); - AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); - AddArgument("timeout", 0, UINT16_MAX, &mTimeout); - } - - ~Test_TC_BI_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) - { - 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)); - { - bool value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("presentValue", value, 0)); - } - break; - case 2: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - bool value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("outOfService", value, 0)); - } - break; - case 3: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint8_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("statusFlags", value, 0U)); - } - break; - case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - bool value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("presentValue", value, 0)); - } - break; - case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - bool value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("outOfService", value, 0)); - } - 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("statusFlags", value, 0U)); - } - break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint8_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("statusFlags", value, 0U)); - } - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint8_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("statusFlags", value, 0U)); - } - 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, "Reads PresentValue attribute from DUT"); - VerifyOrDo(!ShouldSkip("A_PRESENTVALUE"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BinaryInputBasic::Id, - BinaryInputBasic::Attributes::PresentValue::Id, true, chip::NullOptional); - } - case 2: { - LogStep(2, "Reads OutOfService attribute from DUT"); - VerifyOrDo(!ShouldSkip("A_OUTOFSERVICE"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BinaryInputBasic::Id, - BinaryInputBasic::Attributes::OutOfService::Id, true, chip::NullOptional); - } - case 3: { - LogStep(3, "Reads StatusFlags attribute from DUT"); - VerifyOrDo(!ShouldSkip("A_STATUSFLAGS"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BinaryInputBasic::Id, - BinaryInputBasic::Attributes::StatusFlags::Id, true, chip::NullOptional); - } - case 4: { - LogStep(4, "Reads PresentValue attribute from DUT"); - VerifyOrDo(!ShouldSkip("A_PRESENTVALUE"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BinaryInputBasic::Id, - BinaryInputBasic::Attributes::PresentValue::Id, true, chip::NullOptional); - } - case 5: { - LogStep(5, "Reads OutOfService attribute from DUT"); - VerifyOrDo(!ShouldSkip("A_OUTOFSERVICE"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BinaryInputBasic::Id, - BinaryInputBasic::Attributes::OutOfService::Id, true, chip::NullOptional); - } - case 6: { - LogStep(6, "Reads StatusFlags attribute from DUT"); - VerifyOrDo(!ShouldSkip("A_STATUSFLAGS"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BinaryInputBasic::Id, - BinaryInputBasic::Attributes::StatusFlags::Id, true, chip::NullOptional); - } - case 7: { - LogStep(7, "Reads StatusFlags attribute from DUT"); - VerifyOrDo(!ShouldSkip("A_STATUSFLAGS"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BinaryInputBasic::Id, - BinaryInputBasic::Attributes::StatusFlags::Id, true, chip::NullOptional); - } - case 8: { - LogStep(8, "Reads StatusFlags attribute from DUT"); - VerifyOrDo(!ShouldSkip("A_STATUSFLAGS"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BinaryInputBasic::Id, - BinaryInputBasic::Attributes::StatusFlags::Id, true, chip::NullOptional); - } - } - return CHIP_NO_ERROR; - } -}; - -class Test_TC_BOOL_1_1Suite : public TestCommand -{ -public: - Test_TC_BOOL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BOOL_1_1", 7, credsIssuerConfig) - { - AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); - AddArgument("cluster", &mCluster); - AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); - AddArgument("timeout", 0, UINT16_MAX, &mTimeout); - } - - ~Test_TC_BOOL_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) - { - case 0: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 1: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("clusterRevision", value, 1U)); - VerifyOrReturn(CheckConstraintType("value", "", "uint16")); - } - break; - case 2: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("featureMap", value, 0UL)); - VerifyOrReturn(CheckConstraintType("value", "", "map32")); - } - break; - case 3: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 0)); - VerifyOrReturn(CheckValue("attributeList[0]", iter_0.GetValue(), 0UL)); - VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 1)); - VerifyOrReturn(CheckValue("attributeList[1]", iter_0.GetValue(), 65528UL)); - VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 2)); - VerifyOrReturn(CheckValue("attributeList[2]", iter_0.GetValue(), 65529UL)); - VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 3)); - VerifyOrReturn(CheckValue("attributeList[3]", iter_0.GetValue(), 65531UL)); - VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 4)); - VerifyOrReturn(CheckValue("attributeList[4]", iter_0.GetValue(), 65532UL)); - VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 5)); - VerifyOrReturn(CheckValue("attributeList[5]", iter_0.GetValue(), 65533UL)); - VerifyOrReturn(CheckNoMoreListItems("attributeList", iter_0, 6)); - } - VerifyOrReturn(CheckConstraintType("value", "", "list")); - } - break; - case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("acceptedCommandList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "", "list")); - } - break; - case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("generatedCommandList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "", "list")); - } - break; - case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - default: - LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); - } - - if (shouldContinue) - { - ContinueOnChipMainThread(CHIP_NO_ERROR); - } - } - - CHIP_ERROR DoTestStep(uint16_t testIndex) override - { - using namespace chip::app::Clusters; - switch (testIndex) - { - case 0: { - LogStep(0, "Wait for the commissioned device to be retrieved"); - ListFreer listFreer; - chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; - value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; - return WaitForCommissionee(kIdentityAlpha, value); - } - case 1: { - LogStep(1, "read the global attribute: ClusterRevision"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, BooleanState::Attributes::ClusterRevision::Id, - true, chip::NullOptional); - } - case 2: { - LogStep(2, "Read the global attribute constraints : FeatureMap"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, BooleanState::Attributes::FeatureMap::Id, true, - chip::NullOptional); - } - case 3: { - LogStep(3, "Read the global attribute: AttributeList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, BooleanState::Attributes::AttributeList::Id, - true, chip::NullOptional); - } - case 4: { - LogStep(4, "Read the global attribute: AcceptedCommandList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, - BooleanState::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); - } - case 5: { - LogStep(5, "Read the global attribute: GeneratedCommandList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, - BooleanState::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); - } - case 6: { - LogStep(6, - "Read EventList attribute from the DUT and Verify that the DUT response provides a list of supported events."); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - } - return CHIP_NO_ERROR; - } -}; - -class Test_TC_BOOL_2_1Suite : public TestCommand -{ -public: - Test_TC_BOOL_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BOOL_2_1", 2, credsIssuerConfig) - { - AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); - AddArgument("cluster", &mCluster); - AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); - AddArgument("timeout", 0, UINT16_MAX, &mTimeout); - } - - ~Test_TC_BOOL_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) - { - 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)); - { - bool value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("stateValue", value, 0)); - VerifyOrReturn(CheckConstraintType("value", "", "bool")); - } - break; - default: - LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); - } - - if (shouldContinue) - { - ContinueOnChipMainThread(CHIP_NO_ERROR); - } - } - - CHIP_ERROR DoTestStep(uint16_t testIndex) override - { - using namespace chip::app::Clusters; - switch (testIndex) - { - case 0: { - LogStep(0, "Wait for the commissioned device to be retrieved"); - ListFreer listFreer; - chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; - value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; - return WaitForCommissionee(kIdentityAlpha, value); - } - case 1: { - LogStep(1, "Read mandatory non-global attribute: StateValue"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, BooleanState::Attributes::StateValue::Id, true, - chip::NullOptional); - } - } - return CHIP_NO_ERROR; - } -}; - -class Test_TC_ACT_1_1Suite : public TestCommand -{ -public: - Test_TC_ACT_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ACT_1_1", 6, credsIssuerConfig) - { - AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); - AddArgument("cluster", &mCluster); - AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); - AddArgument("timeout", 0, UINT16_MAX, &mTimeout); - } - - ~Test_TC_ACT_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) - { - case 0: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 1: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("clusterRevision", value, 1U)); - VerifyOrReturn(CheckConstraintType("value", "", "uint16")); - } - break; - case 2: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - } - break; - case 3: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("acceptedCommandList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "", "list")); - } - break; - case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("generatedCommandList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "", "list")); - } - break; - case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + break; + case 5: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); @@ -10552,420 +10016,289 @@ class Test_TC_BINFO_2_1Suite : public TestCommand return WaitForCommissionee(kIdentityAlpha, value); } case 1: { - LogStep(1, "Query Data Model Revision"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::DataModelRevision::Id, true, - chip::NullOptional); - } - case 2: { - LogStep(2, "Query Vendor Name"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::VendorName::Id, true, - chip::NullOptional); - } - case 3: { - LogStep(3, "Query VendorID"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::VendorID::Id, true, - chip::NullOptional); - } - case 4: { - LogStep(4, "Query Product Name"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::ProductName::Id, true, - chip::NullOptional); - } - case 5: { - LogStep(5, "Query ProductID"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::ProductID::Id, true, - chip::NullOptional); - } - case 6: { - LogStep(6, "Query Node Label"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::NodeLabel::Id, true, - chip::NullOptional); - } - case 7: { - LogStep(7, "Query User Location"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::Location::Id, true, - chip::NullOptional); - } - case 8: { - LogStep(8, "Query HardwareVersion"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::HardwareVersion::Id, true, - chip::NullOptional); - } - case 9: { - LogStep(9, "Query HardwareVersionString"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::HardwareVersionString::Id, true, - chip::NullOptional); - } - case 10: { - LogStep(10, "TH reads SoftwareVersionString from the DUT and Verify it is of type string and verify the format"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 11: { - LogStep(11, "TH reads ManufacturingDate from the DUT and Verify it is of type string and verify the format"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 12: { - LogStep(12, "Query PartNumber"); - VerifyOrDo(!ShouldSkip("PART_NUM"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::PartNumber::Id, true, - chip::NullOptional); - } - case 13: { - LogStep(13, "TH reads ProductURL from the DUT and Verify it is of type string and verify the format"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 14: { - LogStep(14, "Query ProductLabel"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::ProductLabel::Id, true, - chip::NullOptional); - } - case 15: { - LogStep(15, "Query SerialNumber"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::SerialNumber::Id, true, - chip::NullOptional); - } - case 16: { - LogStep(16, "Query LocalConfigDisabled"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::LocalConfigDisabled::Id, true, - chip::NullOptional); - } - case 17: { - LogStep(17, "Query Reachable"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::Reachable::Id, true, - chip::NullOptional); - } - case 18: { - LogStep(18, "Query UniqueID"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::UniqueID::Id, true, - chip::NullOptional); - } - } - return CHIP_NO_ERROR; - } -}; - -class Test_TC_DESC_1_1Suite : public TestCommand -{ -public: - Test_TC_DESC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DESC_1_1", 7, credsIssuerConfig) - { - AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); - AddArgument("cluster", &mCluster); - AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); - AddArgument("timeout", 0, UINT16_MAX, &mTimeout); - } - - ~Test_TC_DESC_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) - { - case 0: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 1: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("clusterRevision", value, 1U)); - VerifyOrReturn(CheckConstraintType("value", "", "uint16")); - } - break; - case 2: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("featureMap", value, 0UL)); - VerifyOrReturn(CheckConstraintType("value", "", "map32")); - } - break; - case 3: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 0)); - VerifyOrReturn(CheckValue("attributeList[0]", iter_0.GetValue(), 0UL)); - VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 1)); - VerifyOrReturn(CheckValue("attributeList[1]", iter_0.GetValue(), 1UL)); - VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 2)); - VerifyOrReturn(CheckValue("attributeList[2]", iter_0.GetValue(), 2UL)); - VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 3)); - VerifyOrReturn(CheckValue("attributeList[3]", iter_0.GetValue(), 3UL)); - VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 4)); - VerifyOrReturn(CheckValue("attributeList[4]", iter_0.GetValue(), 65528UL)); - VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 5)); - VerifyOrReturn(CheckValue("attributeList[5]", iter_0.GetValue(), 65529UL)); - VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 6)); - VerifyOrReturn(CheckValue("attributeList[6]", iter_0.GetValue(), 65531UL)); - VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 7)); - VerifyOrReturn(CheckValue("attributeList[7]", iter_0.GetValue(), 65532UL)); - VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 8)); - VerifyOrReturn(CheckValue("attributeList[8]", iter_0.GetValue(), 65533UL)); - VerifyOrReturn(CheckNoMoreListItems("attributeList", iter_0, 9)); - } - VerifyOrReturn(CheckConstraintType("value", "", "list")); - } - break; - case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("acceptedCommandList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "", "list")); - } - break; - case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("generatedCommandList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "", "list")); - } - break; - case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - default: - LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); - } - - if (shouldContinue) - { - ContinueOnChipMainThread(CHIP_NO_ERROR); - } - } - - CHIP_ERROR DoTestStep(uint16_t testIndex) override - { - using namespace chip::app::Clusters; - switch (testIndex) - { - case 0: { - LogStep(0, "Wait for the commissioned device to be retrieved"); - ListFreer listFreer; - chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; - value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; - return WaitForCommissionee(kIdentityAlpha, value); - } - case 1: { - LogStep(1, "Read the global attribute: ClusterRevision"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Descriptor::Id, Descriptor::Attributes::ClusterRevision::Id, true, - chip::NullOptional); - } - case 2: { - LogStep(2, "Read the global attribute: FeatureMap"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Descriptor::Id, Descriptor::Attributes::FeatureMap::Id, true, - chip::NullOptional); - } - case 3: { - LogStep(3, "Read the global attribute: AttributeList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Descriptor::Id, Descriptor::Attributes::AttributeList::Id, true, - chip::NullOptional); - } - case 4: { - LogStep(4, "Read the global attribute: AcceptedCommandList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Descriptor::Id, Descriptor::Attributes::AcceptedCommandList::Id, - true, chip::NullOptional); - } - case 5: { - LogStep(5, "Read the global attribute: GeneratedCommandList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Descriptor::Id, Descriptor::Attributes::GeneratedCommandList::Id, - true, chip::NullOptional); - } - case 6: { - LogStep(6, - "Read EventList attribute from the DUT and Verify that the DUT response provides a list of supported events."); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - } - return CHIP_NO_ERROR; - } -}; - -class Test_TC_EMR_1_1Suite : public TestCommand -{ -public: - Test_TC_EMR_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_EMR_1_1", 6, credsIssuerConfig) - { - AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); - AddArgument("cluster", &mCluster); - AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); - AddArgument("timeout", 0, UINT16_MAX, &mTimeout); - } - - ~Test_TC_EMR_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) - { - case 0: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 1: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("clusterRevision", value, 3U)); - } - break; - case 2: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint16")); - } - break; - case 3: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); - break; - case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("clusterRevision", value, 3U)); - } - break; - case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "list")); - } - break; - default: - LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); - } - - if (shouldContinue) - { - ContinueOnChipMainThread(CHIP_NO_ERROR); - } - } - - CHIP_ERROR DoTestStep(uint16_t testIndex) override - { - using namespace chip::app::Clusters; - switch (testIndex) - { - case 0: { - LogStep(0, "Wait for the commissioned device to be retrieved"); - ListFreer listFreer; - chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; - value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; - return WaitForCommissionee(kIdentityAlpha, value); - } - case 1: { - LogStep(1, "read the global attribute: ClusterRevision"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ElectricalMeasurement::Id, - ElectricalMeasurement::Attributes::ClusterRevision::Id, true, chip::NullOptional); + LogStep(1, "Query Data Model Revision"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::DataModelRevision::Id, true, + chip::NullOptional); } case 2: { - LogStep(2, "Read the global attribute constraints: ClusterRevision"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ElectricalMeasurement::Id, - ElectricalMeasurement::Attributes::ClusterRevision::Id, true, chip::NullOptional); + LogStep(2, "Query Vendor Name"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::VendorName::Id, true, + chip::NullOptional); } case 3: { - LogStep(3, "write the default values to mandatory global attribute: ClusterRevision"); + LogStep(3, "Query VendorID"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::VendorID::Id, true, + chip::NullOptional); + } + case 4: { + LogStep(4, "Query Product Name"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::ProductName::Id, true, + chip::NullOptional); + } + case 5: { + LogStep(5, "Query ProductID"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::ProductID::Id, true, + chip::NullOptional); + } + case 6: { + LogStep(6, "Query Node Label"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::NodeLabel::Id, true, + chip::NullOptional); + } + case 7: { + LogStep(7, "Query User Location"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::Location::Id, true, + chip::NullOptional); + } + case 8: { + LogStep(8, "Query HardwareVersion"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::HardwareVersion::Id, true, + chip::NullOptional); + } + case 9: { + LogStep(9, "Query HardwareVersionString"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::HardwareVersionString::Id, true, + chip::NullOptional); + } + case 10: { + LogStep(10, "TH reads SoftwareVersionString from the DUT and Verify it is of type string and verify the format"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; - uint16_t value; - value = 1U; - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), ElectricalMeasurement::Id, - ElectricalMeasurement::Attributes::ClusterRevision::Id, value, chip::NullOptional, - chip::NullOptional); + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 11: { + LogStep(11, "TH reads ManufacturingDate from the DUT and Verify it is of type string and verify the format"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 12: { + LogStep(12, "Query PartNumber"); + VerifyOrDo(!ShouldSkip("PART_NUM"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::PartNumber::Id, true, + chip::NullOptional); + } + case 13: { + LogStep(13, "TH reads ProductURL from the DUT and Verify it is of type string and verify the format"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 14: { + LogStep(14, "Query ProductLabel"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::ProductLabel::Id, true, + chip::NullOptional); + } + case 15: { + LogStep(15, "Query SerialNumber"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::SerialNumber::Id, true, + chip::NullOptional); + } + case 16: { + LogStep(16, "Query LocalConfigDisabled"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::LocalConfigDisabled::Id, true, + chip::NullOptional); + } + case 17: { + LogStep(17, "Query Reachable"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::Reachable::Id, true, + chip::NullOptional); + } + case 18: { + LogStep(18, "Query UniqueID"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::UniqueID::Id, true, + chip::NullOptional); + } + } + return CHIP_NO_ERROR; + } +}; + +class Test_TC_DESC_1_1Suite : public TestCommand +{ +public: + Test_TC_DESC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DESC_1_1", 7, credsIssuerConfig) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + + ~Test_TC_DESC_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) + { + case 0: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 1: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + uint16_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("clusterRevision", value, 1U)); + VerifyOrReturn(CheckConstraintType("value", "", "uint16")); + } + break; + case 2: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + uint32_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("featureMap", value, 0UL)); + VerifyOrReturn(CheckConstraintType("value", "", "map32")); + } + break; + case 3: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 0)); + VerifyOrReturn(CheckValue("attributeList[0]", iter_0.GetValue(), 0UL)); + VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 1)); + VerifyOrReturn(CheckValue("attributeList[1]", iter_0.GetValue(), 1UL)); + VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 2)); + VerifyOrReturn(CheckValue("attributeList[2]", iter_0.GetValue(), 2UL)); + VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 3)); + VerifyOrReturn(CheckValue("attributeList[3]", iter_0.GetValue(), 3UL)); + VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 4)); + VerifyOrReturn(CheckValue("attributeList[4]", iter_0.GetValue(), 65528UL)); + VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 5)); + VerifyOrReturn(CheckValue("attributeList[5]", iter_0.GetValue(), 65529UL)); + VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 6)); + VerifyOrReturn(CheckValue("attributeList[6]", iter_0.GetValue(), 65531UL)); + VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 7)); + VerifyOrReturn(CheckValue("attributeList[7]", iter_0.GetValue(), 65532UL)); + VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 8)); + VerifyOrReturn(CheckValue("attributeList[8]", iter_0.GetValue(), 65533UL)); + VerifyOrReturn(CheckNoMoreListItems("attributeList", iter_0, 9)); + } + VerifyOrReturn(CheckConstraintType("value", "", "list")); + } + break; + case 4: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("acceptedCommandList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "", "list")); + } + break; + case 5: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("generatedCommandList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "", "list")); + } + break; + case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + default: + LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); + } + + if (shouldContinue) + { + ContinueOnChipMainThread(CHIP_NO_ERROR); + } + } + + CHIP_ERROR DoTestStep(uint16_t testIndex) override + { + using namespace chip::app::Clusters; + switch (testIndex) + { + case 0: { + LogStep(0, "Wait for the commissioned device to be retrieved"); + ListFreer listFreer; + chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; + value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; + return WaitForCommissionee(kIdentityAlpha, value); + } + case 1: { + LogStep(1, "Read the global attribute: ClusterRevision"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Descriptor::Id, Descriptor::Attributes::ClusterRevision::Id, true, + chip::NullOptional); + } + case 2: { + LogStep(2, "Read the global attribute: FeatureMap"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Descriptor::Id, Descriptor::Attributes::FeatureMap::Id, true, + chip::NullOptional); + } + case 3: { + LogStep(3, "Read the global attribute: AttributeList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Descriptor::Id, Descriptor::Attributes::AttributeList::Id, true, + chip::NullOptional); } case 4: { - LogStep(4, "reads back global attribute: ClusterRevision"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ElectricalMeasurement::Id, - ElectricalMeasurement::Attributes::ClusterRevision::Id, true, chip::NullOptional); + LogStep(4, "Read the global attribute: AcceptedCommandList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Descriptor::Id, Descriptor::Attributes::AcceptedCommandList::Id, + true, chip::NullOptional); } case 5: { - LogStep(5, "Read the global attribute: AttributeList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ElectricalMeasurement::Id, - ElectricalMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); + LogStep(5, "Read the global attribute: GeneratedCommandList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Descriptor::Id, Descriptor::Attributes::GeneratedCommandList::Id, + true, chip::NullOptional); + } + case 6: { + LogStep(6, + "Read EventList attribute from the DUT and Verify that the DUT response provides a list of supported events."); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } } return CHIP_NO_ERROR; @@ -21119,7 +20452,7 @@ class Test_TC_MOD_1_1Suite : public TestCommand uint32_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckValue("featureMap", value, 1UL)); - VerifyOrReturn(CheckConstraintType("value", "", "map32")); + VerifyOrReturn(CheckConstraintType("value", "", "map8")); } break; case 3: @@ -30663,104 +29996,11 @@ class Test_TC_TSUIC_2_2Suite : public TestCommand } }; -class Test_TC_DIAG_TH_NW_1_1Suite : public TestCommand -{ -public: - Test_TC_DIAG_TH_NW_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_DIAG_TH_NW_1_1", 3, credsIssuerConfig) - { - AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); - AddArgument("cluster", &mCluster); - AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); - AddArgument("timeout", 0, UINT16_MAX, &mTimeout); - } - - ~Test_TC_DIAG_TH_NW_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) - { - 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)); - break; - case 2: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint64_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("overrunCount", value, 0ULL)); - } - 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, "Sends ResetCounts command"); - ListFreer listFreer; - chip::app::Clusters::ThreadNetworkDiagnostics::Commands::ResetCounts::Type value; - return SendCommand(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Commands::ResetCounts::Id, value, chip::NullOptional - - ); - } - case 2: { - LogStep(2, "Read the Overruncount attribute"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::OverrunCount::Id, true, chip::NullOptional); - } - } - return CHIP_NO_ERROR; - } -}; - -class Test_TC_DIAG_TH_NW_1_2Suite : public TestCommand +class Test_TC_DIAG_TH_NW_2_1Suite : public TestCommand { public: - Test_TC_DIAG_TH_NW_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_DIAG_TH_NW_1_2", 68, credsIssuerConfig) + Test_TC_DIAG_TH_NW_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : + TestCommand("Test_TC_DIAG_TH_NW_2_1", 68, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -30768,7 +30008,7 @@ class Test_TC_DIAG_TH_NW_1_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DIAG_TH_NW_1_2Suite() {} + ~Test_TC_DIAG_TH_NW_2_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -32301,6 +31541,99 @@ class Test_TC_DIAG_TH_NW_2_3Suite : public TestCommand } }; +class Test_TC_DIAG_TH_NW_2_4Suite : public TestCommand +{ +public: + Test_TC_DIAG_TH_NW_2_4Suite(CredentialIssuerCommands * credsIssuerConfig) : + TestCommand("Test_TC_DIAG_TH_NW_2_4", 3, credsIssuerConfig) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + + ~Test_TC_DIAG_TH_NW_2_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) + { + 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)); + break; + case 2: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + uint64_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("overrunCount", value, 0ULL)); + } + 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, "Sends ResetCounts command"); + ListFreer listFreer; + chip::app::Clusters::ThreadNetworkDiagnostics::Commands::ResetCounts::Type value; + return SendCommand(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, + ThreadNetworkDiagnostics::Commands::ResetCounts::Id, value, chip::NullOptional + + ); + } + case 2: { + LogStep(2, "Read the Overruncount attribute"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, + ThreadNetworkDiagnostics::Attributes::OverrunCount::Id, true, chip::NullOptional); + } + } + return CHIP_NO_ERROR; + } +}; + class Test_TC_ULABEL_1_1Suite : public TestCommand { public: @@ -70128,11 +69461,178 @@ class Test_TC_CGEN_2_4Suite : public TestCommand } }; -class Test_TC_GENDIAG_1_2Suite : public TestCommand +class Test_TC_DGGEN_2_2Suite : public TestCommand +{ +public: + Test_TC_DGGEN_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGGEN_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_DGGEN_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_DGGEN_2_3Suite : public TestCommand +{ +public: + Test_TC_DGGEN_2_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGGEN_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_DGGEN_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_DGGEN_3_1Suite : public TestCommand +{ +public: + Test_TC_DGGEN_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGGEN_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_DGGEN_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; + } +}; + +class Test_TC_DGGEN_3_2Suite : public TestCommand { public: - Test_TC_GENDIAG_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_GENDIAG_1_2", 0, credsIssuerConfig) + Test_TC_DGGEN_3_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGGEN_3_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -70140,7 +69640,7 @@ class Test_TC_GENDIAG_1_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_GENDIAG_1_2Suite() {} + ~Test_TC_DGGEN_3_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -76004,6 +75504,62 @@ class Test_TC_MOD_3_3Suite : public TestCommand } }; +class Test_TC_MOD_3_4Suite : public TestCommand +{ +public: + Test_TC_MOD_3_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MOD_3_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_MOD_3_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_SU_1_1Suite : public TestCommand { public: @@ -84862,10 +84418,234 @@ class Test_TC_RH_3_1Suite : public TestCommand } }; -class Test_TC_SWTCH_1_1Suite : public TestCommand +class Test_TC_SWTCH_1_1Suite : public TestCommand +{ +public: + Test_TC_SWTCH_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SWTCH_1_1", 0, credsIssuerConfig) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + + ~Test_TC_SWTCH_1_1Suite() {} + + chip::System::Clock::Timeout GetWaitDuration() const override + { + return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); + } + +private: + chip::Optional mNodeId; + chip::Optional mCluster; + chip::Optional mEndpoint; + chip::Optional mTimeout; + + chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } + + // + // Tests methods + // + + void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override + { + bool shouldContinue = false; + + switch (mTestIndex - 1) + { + default: + LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); + } + + if (shouldContinue) + { + ContinueOnChipMainThread(CHIP_NO_ERROR); + } + } + + CHIP_ERROR DoTestStep(uint16_t testIndex) override + { + using namespace chip::app::Clusters; + switch (testIndex) + { + } + return CHIP_NO_ERROR; + } +}; + +class Test_TC_SWTCH_2_2Suite : public TestCommand +{ +public: + Test_TC_SWTCH_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SWTCH_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_SWTCH_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_SWTCH_3_1Suite : public TestCommand +{ +public: + Test_TC_SWTCH_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SWTCH_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_SWTCH_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; + } +}; + +class Test_TC_SWTCH_3_2Suite : public TestCommand +{ +public: + Test_TC_SWTCH_3_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SWTCH_3_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_SWTCH_3_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_TM_2_2Suite : public TestCommand { public: - Test_TC_SWTCH_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SWTCH_1_1", 0, credsIssuerConfig) + Test_TC_TM_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TM_2_2", 6, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -84873,7 +84653,7 @@ class Test_TC_SWTCH_1_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_SWTCH_1_1Suite() {} + ~Test_TC_TM_2_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -84886,6 +84666,8 @@ class Test_TC_SWTCH_1_1Suite : public TestCommand chip::Optional mEndpoint; chip::Optional mTimeout; + chip::app::DataModel::Nullable valueBeforeChange; + chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } // @@ -84898,6 +84680,52 @@ class Test_TC_SWTCH_1_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::DataModel::Nullable value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "int16")); + VerifyOrReturn(CheckConstraintMinValue("value", value, -27315)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 32766)); + } + break; + case 2: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::Nullable value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "int16")); + VerifyOrReturn(CheckConstraintMinValue("value", value, -27314)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 32767)); + } + break; + case 3: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::Nullable value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "uint16")); + valueBeforeChange = value; + } + 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)); + { + chip::app::DataModel::Nullable value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "", "uint16")); + VerifyOrReturn(CheckConstraintNotValue("value", value, valueBeforeChange)); + } + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -84913,15 +84741,53 @@ class Test_TC_SWTCH_1_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, "read the mandatory attribute: MinMeasuredValue"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, + TemperatureMeasurement::Attributes::MinMeasuredValue::Id, true, chip::NullOptional); + } + case 2: { + LogStep(2, "read the mandatory attribute: MaxMeasuredValue"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, + TemperatureMeasurement::Attributes::MaxMeasuredValue::Id, true, chip::NullOptional); + } + case 3: { + LogStep(3, "Reads MeasuredValue attribute from DUT"); + VerifyOrDo(!ShouldSkip("A_TEMPERATURE"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, + TemperatureMeasurement::Attributes::MeasuredValue::Id, true, chip::NullOptional); + } + case 4: { + LogStep(4, "Operate on device to change the temperature significantly"); + VerifyOrDo(!ShouldSkip("MANUAL_TEMPERATURE_CHANGE"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::Log::Type value; + value.message = chip::Span( + "Operate on device to change the temperature significantlygarbage: not in length on purpose", 57); + return Log(kIdentityAlpha, value); + } + case 5: { + LogStep(5, "Read the mandatory attribute: MeasuredValue"); + VerifyOrDo(!ShouldSkip("A_TEMPERATURE"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, + TemperatureMeasurement::Attributes::MeasuredValue::Id, true, chip::NullOptional); + } } return CHIP_NO_ERROR; } }; -class Test_TC_SWTCH_2_2Suite : public TestCommand +class Test_TC_TM_3_1Suite : public TestCommand { public: - Test_TC_SWTCH_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SWTCH_2_2", 0, credsIssuerConfig) + Test_TC_TM_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TM_3_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -84929,7 +84795,7 @@ class Test_TC_SWTCH_2_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_SWTCH_2_2Suite() {} + ~Test_TC_TM_3_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -84974,10 +84840,10 @@ class Test_TC_SWTCH_2_2Suite : public TestCommand } }; -class Test_TC_SWTCH_3_1Suite : public TestCommand +class Test_TC_TSTAT_3_1Suite : public TestCommand { public: - Test_TC_SWTCH_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SWTCH_3_1", 0, credsIssuerConfig) + Test_TC_TSTAT_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TSTAT_3_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -84985,7 +84851,7 @@ class Test_TC_SWTCH_3_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_SWTCH_3_1Suite() {} + ~Test_TC_TSTAT_3_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -85030,10 +84896,10 @@ class Test_TC_SWTCH_3_1Suite : public TestCommand } }; -class Test_TC_TM_2_2Suite : public TestCommand +class Test_TC_TSTAT_3_2Suite : public TestCommand { public: - Test_TC_TM_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TM_2_2", 6, credsIssuerConfig) + Test_TC_TSTAT_3_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TSTAT_3_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -85041,7 +84907,7 @@ class Test_TC_TM_2_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_TM_2_2Suite() {} + ~Test_TC_TSTAT_3_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -85054,8 +84920,6 @@ class Test_TC_TM_2_2Suite : public TestCommand chip::Optional mEndpoint; chip::Optional mTimeout; - chip::app::DataModel::Nullable valueBeforeChange; - chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } // @@ -85068,52 +84932,6 @@ class Test_TC_TM_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)); - { - chip::app::DataModel::Nullable value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "int16")); - VerifyOrReturn(CheckConstraintMinValue("value", value, -27315)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 32766)); - } - break; - case 2: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::Nullable value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "int16")); - VerifyOrReturn(CheckConstraintMinValue("value", value, -27314)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 32767)); - } - break; - case 3: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::Nullable value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint16")); - valueBeforeChange = value; - } - 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)); - { - chip::app::DataModel::Nullable value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint16")); - VerifyOrReturn(CheckConstraintNotValue("value", value, valueBeforeChange)); - } - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -85129,53 +84947,15 @@ class Test_TC_TM_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, "read the mandatory attribute: MinMeasuredValue"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, - TemperatureMeasurement::Attributes::MinMeasuredValue::Id, true, chip::NullOptional); - } - case 2: { - LogStep(2, "read the mandatory attribute: MaxMeasuredValue"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, - TemperatureMeasurement::Attributes::MaxMeasuredValue::Id, true, chip::NullOptional); - } - case 3: { - LogStep(3, "Reads MeasuredValue attribute from DUT"); - VerifyOrDo(!ShouldSkip("A_TEMPERATURE"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, - TemperatureMeasurement::Attributes::MeasuredValue::Id, true, chip::NullOptional); - } - case 4: { - LogStep(4, "Operate on device to change the temperature significantly"); - VerifyOrDo(!ShouldSkip("MANUAL_TEMPERATURE_CHANGE"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::Log::Type value; - value.message = chip::Span( - "Operate on device to change the temperature significantlygarbage: not in length on purpose", 57); - return Log(kIdentityAlpha, value); - } - case 5: { - LogStep(5, "Read the mandatory attribute: MeasuredValue"); - VerifyOrDo(!ShouldSkip("A_TEMPERATURE"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, - TemperatureMeasurement::Attributes::MeasuredValue::Id, true, chip::NullOptional); - } } return CHIP_NO_ERROR; } }; -class Test_TC_TM_3_1Suite : public TestCommand +class Test_TC_TSUIC_3_1Suite : public TestCommand { public: - Test_TC_TM_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TM_3_1", 0, credsIssuerConfig) + Test_TC_TSUIC_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TSUIC_3_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -85183,7 +84963,7 @@ class Test_TC_TM_3_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_TM_3_1Suite() {} + ~Test_TC_TSUIC_3_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -85228,10 +85008,11 @@ class Test_TC_TM_3_1Suite : public TestCommand } }; -class Test_TC_TSTAT_3_1Suite : public TestCommand +class Test_TC_DIAG_TH_NW_1_1Suite : public TestCommand { public: - Test_TC_TSTAT_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TSTAT_3_1", 0, credsIssuerConfig) + Test_TC_DIAG_TH_NW_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : + TestCommand("Test_TC_DIAG_TH_NW_1_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -85239,7 +85020,7 @@ class Test_TC_TSTAT_3_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_TSTAT_3_1Suite() {} + ~Test_TC_DIAG_TH_NW_1_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -85284,10 +85065,11 @@ class Test_TC_TSTAT_3_1Suite : public TestCommand } }; -class Test_TC_TSTAT_3_2Suite : public TestCommand +class Test_TC_DIAG_TH_NW_2_5Suite : public TestCommand { public: - Test_TC_TSTAT_3_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TSTAT_3_2", 0, credsIssuerConfig) + Test_TC_DIAG_TH_NW_2_5Suite(CredentialIssuerCommands * credsIssuerConfig) : + TestCommand("Test_TC_DIAG_TH_NW_2_5", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -85295,7 +85077,7 @@ class Test_TC_TSTAT_3_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_TSTAT_3_2Suite() {} + ~Test_TC_DIAG_TH_NW_2_5Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -85340,10 +85122,11 @@ class Test_TC_TSTAT_3_2Suite : public TestCommand } }; -class Test_TC_TSUIC_3_1Suite : public TestCommand +class Test_TC_DIAG_TH_NW_3_1Suite : public TestCommand { public: - Test_TC_TSUIC_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TSUIC_3_1", 0, credsIssuerConfig) + Test_TC_DIAG_TH_NW_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : + TestCommand("Test_TC_DIAG_TH_NW_3_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -85351,7 +85134,7 @@ class Test_TC_TSUIC_3_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_TSUIC_3_1Suite() {} + ~Test_TC_DIAG_TH_NW_3_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -85396,11 +85179,11 @@ class Test_TC_TSUIC_3_1Suite : public TestCommand } }; -class Test_TC_DIAG_TH_NW_2_6Suite : public TestCommand +class Test_TC_DIAG_TH_NW_3_2Suite : public TestCommand { public: - Test_TC_DIAG_TH_NW_2_6Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_DIAG_TH_NW_2_6", 0, credsIssuerConfig) + Test_TC_DIAG_TH_NW_3_2Suite(CredentialIssuerCommands * credsIssuerConfig) : + TestCommand("Test_TC_DIAG_TH_NW_3_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -85408,7 +85191,7 @@ class Test_TC_DIAG_TH_NW_2_6Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DIAG_TH_NW_2_6Suite() {} + ~Test_TC_DIAG_TH_NW_3_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -85453,11 +85236,11 @@ class Test_TC_DIAG_TH_NW_2_6Suite : public TestCommand } }; -class Test_TC_DIAG_TH_NW_2_7Suite : public TestCommand +class Test_TC_DIAG_TH_NW_3_3Suite : public TestCommand { public: - Test_TC_DIAG_TH_NW_2_7Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_DIAG_TH_NW_2_7", 0, credsIssuerConfig) + Test_TC_DIAG_TH_NW_3_3Suite(CredentialIssuerCommands * credsIssuerConfig) : + TestCommand("Test_TC_DIAG_TH_NW_3_3", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -85465,7 +85248,7 @@ class Test_TC_DIAG_TH_NW_2_7Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DIAG_TH_NW_2_7Suite() {} + ~Test_TC_DIAG_TH_NW_3_3Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -85510,11 +85293,11 @@ class Test_TC_DIAG_TH_NW_2_7Suite : public TestCommand } }; -class Test_TC_DIAG_TH_NW_2_8Suite : public TestCommand +class Test_TC_DIAG_TH_NW_3_4Suite : public TestCommand { public: - Test_TC_DIAG_TH_NW_2_8Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_DIAG_TH_NW_2_8", 0, credsIssuerConfig) + Test_TC_DIAG_TH_NW_3_4Suite(CredentialIssuerCommands * credsIssuerConfig) : + TestCommand("Test_TC_DIAG_TH_NW_3_4", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -85522,7 +85305,7 @@ class Test_TC_DIAG_TH_NW_2_8Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DIAG_TH_NW_2_8Suite() {} + ~Test_TC_DIAG_TH_NW_3_4Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -85567,11 +85350,11 @@ class Test_TC_DIAG_TH_NW_2_8Suite : public TestCommand } }; -class Test_TC_DIAG_TH_NW_2_9Suite : public TestCommand +class Test_TC_DIAG_TH_NW_3_5Suite : public TestCommand { public: - Test_TC_DIAG_TH_NW_2_9Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_DIAG_TH_NW_2_9", 0, credsIssuerConfig) + Test_TC_DIAG_TH_NW_3_5Suite(CredentialIssuerCommands * credsIssuerConfig) : + TestCommand("Test_TC_DIAG_TH_NW_3_5", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -85579,7 +85362,7 @@ class Test_TC_DIAG_TH_NW_2_9Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_DIAG_TH_NW_2_9Suite() {} + ~Test_TC_DIAG_TH_NW_3_5Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -86800,6 +86583,62 @@ class Test_TC_S_3_1Suite : public TestCommand } }; +class Test_TC_PCC_3_1Suite : public TestCommand +{ +public: + Test_TC_PCC_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_PCC_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_PCC_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) @@ -86811,9 +86650,6 @@ void registerCommandsTests(Commands & commands, CredentialIssuerCommands * creds make_unique(), make_unique(), make_unique(credsIssuerConfig), - make_unique(credsIssuerConfig), - make_unique(credsIssuerConfig), - make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), @@ -86839,7 +86675,6 @@ void registerCommandsTests(Commands & commands, CredentialIssuerCommands * creds make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), - make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), @@ -86929,10 +86764,10 @@ 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), @@ -87109,7 +86944,10 @@ 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), @@ -87187,6 +87025,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), @@ -87277,15 +87116,19 @@ 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), @@ -87307,6 +87150,7 @@ void registerCommandsTests(Commands & commands, CredentialIssuerCommands * creds make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), + make_unique(credsIssuerConfig), #endif // CONFIG_ENABLE_YAML_TESTS }; diff --git a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h index 2a948ecd90f2ad..4e7298ba1d80e2 100644 --- a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h +++ b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h @@ -34,9 +34,6 @@ class TestList : public Command { CHIP_ERROR Run() override { printf("TestAccessControlCluster\n"); - printf("Test_TC_BI_1_1\n"); - printf("Test_TC_BI_2_1\n"); - printf("Test_TC_BI_2_2\n"); printf("Test_TC_BOOL_1_1\n"); printf("Test_TC_BOOL_2_1\n"); printf("Test_TC_ACT_1_1\n"); @@ -62,7 +59,6 @@ class TestList : public Command { printf("Test_TC_CC_8_1\n"); printf("Test_TC_BINFO_2_1\n"); printf("Test_TC_DESC_1_1\n"); - printf("Test_TC_EMR_1_1\n"); printf("Test_TC_DGETH_2_1\n"); printf("Test_TC_DGETH_2_2\n"); printf("Test_TC_FLW_1_1\n"); @@ -2016,1032 +2012,6 @@ class TestAccessControlCluster : public TestCommandBridge { } }; -class Test_TC_BI_1_1 : public TestCommandBridge { -public: - // NOLINTBEGIN(clang-analyzer-nullability.NullPassedToNonnull): Test constructor nullability not enforced - Test_TC_BI_1_1() - : TestCommandBridge("Test_TC_BI_1_1") - , mTestIndex(0) - { - AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); - AddArgument("cluster", &mCluster); - AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); - AddArgument("timeout", 0, UINT16_MAX, &mTimeout); - } - // NOLINTEND(clang-analyzer-nullability.NullPassedToNonnull) - - ~Test_TC_BI_1_1() {} - - /////////// TestCommand Interface ///////// - void NextTest() override - { - CHIP_ERROR err = CHIP_NO_ERROR; - - if (0 == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Start: Test_TC_BI_1_1\n"); - } - - if (mTestCount == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Complete: Test_TC_BI_1_1\n"); - SetCommandExitStatus(CHIP_NO_ERROR); - return; - } - - Wait(); - - // Ensure we increment mTestIndex before we start running the relevant - // command. That way if we lose the timeslice after we send the message - // but before our function call returns, we won't end up with an - // incorrect mTestIndex value observed when we get the response. - switch (mTestIndex++) { - case 0: - ChipLogProgress(chipTool, " ***** Test Step 0 : Wait for the commissioned device to be retrieved\n"); - err = TestWaitForTheCommissionedDeviceToBeRetrieved_0(); - break; - case 1: - ChipLogProgress(chipTool, " ***** Test Step 1 : Read the global attribute: ClusterRevision\n"); - err = TestReadTheGlobalAttributeClusterRevision_1(); - break; - case 2: - ChipLogProgress(chipTool, " ***** Test Step 2 : Read the global attribute : FeatureMap\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { - NextTest(); - return; - } - err = TestReadTheGlobalAttributeFeatureMap_2(); - break; - case 3: - ChipLogProgress(chipTool, " ***** Test Step 3 : Read the global attribute: AttributeList\n"); - err = TestReadTheGlobalAttributeAttributeList_3(); - break; - case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { - NextTest(); - return; - } - err = TestReadTheGlobalAttributeEventList_4(); - break; - case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Read the global attribute: AcceptedCommandList\n"); - err = TestReadTheGlobalAttributeAcceptedCommandList_5(); - break; - case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Read the global attribute: GeneratedCommandList\n"); - err = TestReadTheGlobalAttributeGeneratedCommandList_6(); - break; - } - - if (CHIP_NO_ERROR != err) { - ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); - SetCommandExitStatus(err); - } - } - - void OnStatusUpdate(const chip::app::StatusIB & status) override - { - switch (mTestIndex - 1) { - case 0: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 1: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 2: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 3: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - } - - // Go on to the next test. - ContinueOnChipMainThread(CHIP_NO_ERROR); - } - - chip::System::Clock::Timeout GetWaitDuration() const override - { - return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); - } - -private: - std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 7; - - chip::Optional mNodeId; - chip::Optional mCluster; - chip::Optional mEndpoint; - chip::Optional mTimeout; - - CHIP_ERROR TestWaitForTheCommissionedDeviceToBeRetrieved_0() - { - chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; - value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; - return WaitForCommissionee("alpha", value); - } - - CHIP_ERROR TestReadTheGlobalAttributeClusterRevision_1() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBinaryInputBasic * cluster = [[CHIPTestBinaryInputBasic alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeClusterRevisionWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the global attribute: ClusterRevision Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - id actualValue = value; - VerifyOrReturn(CheckValue("ClusterRevision", actualValue, 1U)); - } - - VerifyOrReturn(CheckConstraintType("clusterRevision", "", "uint16")); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadTheGlobalAttributeFeatureMap_2() - { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR TestReadTheGlobalAttributeAttributeList_3() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBinaryInputBasic * cluster = [[CHIPTestBinaryInputBasic alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadTheGlobalAttributeEventList_4() - { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR TestReadTheGlobalAttributeAcceptedCommandList_5() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBinaryInputBasic * cluster = [[CHIPTestBinaryInputBasic alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAcceptedCommandListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the global attribute: AcceptedCommandList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - id actualValue = value; - VerifyOrReturn(CheckValue("AcceptedCommandList", [actualValue count], static_cast(0))); - } - - VerifyOrReturn(CheckConstraintType("acceptedCommandList", "", "list")); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadTheGlobalAttributeGeneratedCommandList_6() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBinaryInputBasic * cluster = [[CHIPTestBinaryInputBasic alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeGeneratedCommandListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the global attribute: GeneratedCommandList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - id actualValue = value; - VerifyOrReturn(CheckValue("GeneratedCommandList", [actualValue count], static_cast(0))); - } - - VerifyOrReturn(CheckConstraintType("generatedCommandList", "", "list")); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } -}; - -class Test_TC_BI_2_1 : public TestCommandBridge { -public: - // NOLINTBEGIN(clang-analyzer-nullability.NullPassedToNonnull): Test constructor nullability not enforced - Test_TC_BI_2_1() - : TestCommandBridge("Test_TC_BI_2_1") - , mTestIndex(0) - { - AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); - AddArgument("cluster", &mCluster); - AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); - AddArgument("timeout", 0, UINT16_MAX, &mTimeout); - } - // NOLINTEND(clang-analyzer-nullability.NullPassedToNonnull) - - ~Test_TC_BI_2_1() {} - - /////////// TestCommand Interface ///////// - void NextTest() override - { - CHIP_ERROR err = CHIP_NO_ERROR; - - if (0 == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Start: Test_TC_BI_2_1\n"); - } - - if (mTestCount == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Complete: Test_TC_BI_2_1\n"); - SetCommandExitStatus(CHIP_NO_ERROR); - return; - } - - Wait(); - - // Ensure we increment mTestIndex before we start running the relevant - // command. That way if we lose the timeslice after we send the message - // but before our function call returns, we won't end up with an - // incorrect mTestIndex value observed when we get the response. - switch (mTestIndex++) { - case 0: - ChipLogProgress(chipTool, " ***** Test Step 0 : Wait for the commissioned device to be retrieved\n"); - err = TestWaitForTheCommissionedDeviceToBeRetrieved_0(); - break; - case 1: - ChipLogProgress(chipTool, " ***** Test Step 1 : Read mandatory non-global attribute: OutOfService\n"); - err = TestReadMandatoryNonGlobalAttributeOutOfService_1(); - break; - case 2: - ChipLogProgress(chipTool, " ***** Test Step 2 : Read mandatory non-global attribute constraints: OutOfService\n"); - err = TestReadMandatoryNonGlobalAttributeConstraintsOutOfService_2(); - break; - case 3: - ChipLogProgress( - chipTool, " ***** Test Step 3 : Write the default values to mandatory non-global attribute: OutOfService\n"); - err = TestWriteTheDefaultValuesToMandatoryNonGlobalAttributeOutOfService_3(); - break; - case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Reads back the mandatory non-global attribute: OutOfService\n"); - err = TestReadsBackTheMandatoryNonGlobalAttributeOutOfService_4(); - break; - case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Read mandatory non-global attribute constraints: PresentValue\n"); - err = TestReadMandatoryNonGlobalAttributeConstraintsPresentValue_5(); - break; - case 6: - ChipLogProgress( - chipTool, " ***** Test Step 6 : Write the default values to mandatory non-global attribute: PresentValue\n"); - err = TestWriteTheDefaultValuesToMandatoryNonGlobalAttributePresentValue_6(); - break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Reads back the mandatory non-global attribute: PresentValue\n"); - err = TestReadsBackTheMandatoryNonGlobalAttributePresentValue_7(); - break; - case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Read mandatory non-global attribute: StatusFlags\n"); - err = TestReadMandatoryNonGlobalAttributeStatusFlags_8(); - break; - case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Read mandatory non-global attribute constraints: StatusFlags\n"); - err = TestReadMandatoryNonGlobalAttributeConstraintsStatusFlags_9(); - break; - case 10: - ChipLogProgress( - chipTool, " ***** Test Step 10 : Write the default values to mandatory non-global attribute: StatusFlags\n"); - err = TestWriteTheDefaultValuesToMandatoryNonGlobalAttributeStatusFlags_10(); - break; - case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Reads back the mandatory non-global attribute: StatusFlags\n"); - err = TestReadsBackTheMandatoryNonGlobalAttributeStatusFlags_11(); - break; - } - - if (CHIP_NO_ERROR != err) { - ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); - SetCommandExitStatus(err); - } - } - - void OnStatusUpdate(const chip::app::StatusIB & status) override - { - switch (mTestIndex - 1) { - case 0: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 1: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 2: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 3: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 10: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); - break; - case 11: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - } - - // Go on to the next test. - ContinueOnChipMainThread(CHIP_NO_ERROR); - } - - chip::System::Clock::Timeout GetWaitDuration() const override - { - return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); - } - -private: - std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 12; - - chip::Optional mNodeId; - chip::Optional mCluster; - chip::Optional mEndpoint; - chip::Optional mTimeout; - - CHIP_ERROR TestWaitForTheCommissionedDeviceToBeRetrieved_0() - { - chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; - value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; - return WaitForCommissionee("alpha", value); - } - - CHIP_ERROR TestReadMandatoryNonGlobalAttributeOutOfService_1() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBinaryInputBasic * cluster = [[CHIPTestBinaryInputBasic alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeOutOfServiceWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read mandatory non-global attribute: OutOfService Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - id actualValue = value; - VerifyOrReturn(CheckValue("out of service", actualValue, 0)); - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadMandatoryNonGlobalAttributeConstraintsOutOfService_2() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBinaryInputBasic * cluster = [[CHIPTestBinaryInputBasic alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeOutOfServiceWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read mandatory non-global attribute constraints: OutOfService Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("outOfService", "", "bool")); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestWriteTheDefaultValuesToMandatoryNonGlobalAttributeOutOfService_3() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBinaryInputBasic * cluster = [[CHIPTestBinaryInputBasic alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - id outOfServiceArgument; - outOfServiceArgument = [NSNumber numberWithBool:0]; - [cluster - writeAttributeOutOfServiceWithValue:outOfServiceArgument - completionHandler:^(NSError * _Nullable err) { - NSLog(@"Write the default values to mandatory non-global attribute: OutOfService Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadsBackTheMandatoryNonGlobalAttributeOutOfService_4() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBinaryInputBasic * cluster = [[CHIPTestBinaryInputBasic alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeOutOfServiceWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads back the mandatory non-global attribute: OutOfService Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - id actualValue = value; - VerifyOrReturn(CheckValue("out of service", actualValue, 0)); - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadMandatoryNonGlobalAttributeConstraintsPresentValue_5() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBinaryInputBasic * cluster = [[CHIPTestBinaryInputBasic alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributePresentValueWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read mandatory non-global attribute constraints: PresentValue Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("presentValue", "", "bool")); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestWriteTheDefaultValuesToMandatoryNonGlobalAttributePresentValue_6() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBinaryInputBasic * cluster = [[CHIPTestBinaryInputBasic alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - id presentValueArgument; - presentValueArgument = [NSNumber numberWithBool:0]; - [cluster - writeAttributePresentValueWithValue:presentValueArgument - completionHandler:^(NSError * _Nullable err) { - NSLog(@"Write the default values to mandatory non-global attribute: PresentValue Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadsBackTheMandatoryNonGlobalAttributePresentValue_7() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBinaryInputBasic * cluster = [[CHIPTestBinaryInputBasic alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributePresentValueWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads back the mandatory non-global attribute: PresentValue Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - id actualValue = value; - VerifyOrReturn(CheckValue("present value", actualValue, 0)); - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadMandatoryNonGlobalAttributeStatusFlags_8() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBinaryInputBasic * cluster = [[CHIPTestBinaryInputBasic alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeStatusFlagsWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read mandatory non-global attribute: StatusFlags Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - id actualValue = value; - VerifyOrReturn(CheckValue("status flags", actualValue, 0U)); - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadMandatoryNonGlobalAttributeConstraintsStatusFlags_9() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBinaryInputBasic * cluster = [[CHIPTestBinaryInputBasic alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeStatusFlagsWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read mandatory non-global attribute constraints: StatusFlags Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("statusFlags", "", "map8")); - VerifyOrReturn(CheckConstraintMinValue("statusFlags", [value unsignedCharValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("statusFlags", [value unsignedCharValue], 15U)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestWriteTheDefaultValuesToMandatoryNonGlobalAttributeStatusFlags_10() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBinaryInputBasic * cluster = [[CHIPTestBinaryInputBasic alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - id statusFlagsArgument; - statusFlagsArgument = [NSNumber numberWithUnsignedChar:0U]; - [cluster - writeAttributeStatusFlagsWithValue:statusFlagsArgument - completionHandler:^(NSError * _Nullable err) { - NSLog(@"Write the default values to mandatory non-global attribute: StatusFlags Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadsBackTheMandatoryNonGlobalAttributeStatusFlags_11() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBinaryInputBasic * cluster = [[CHIPTestBinaryInputBasic alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeStatusFlagsWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads back the mandatory non-global attribute: StatusFlags Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - id actualValue = value; - VerifyOrReturn(CheckValue("status flags", actualValue, 0U)); - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } -}; - -class Test_TC_BI_2_2 : public TestCommandBridge { -public: - // NOLINTBEGIN(clang-analyzer-nullability.NullPassedToNonnull): Test constructor nullability not enforced - Test_TC_BI_2_2() - : TestCommandBridge("Test_TC_BI_2_2") - , mTestIndex(0) - { - AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); - AddArgument("cluster", &mCluster); - AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); - AddArgument("timeout", 0, UINT16_MAX, &mTimeout); - } - // NOLINTEND(clang-analyzer-nullability.NullPassedToNonnull) - - ~Test_TC_BI_2_2() {} - - /////////// TestCommand Interface ///////// - void NextTest() override - { - CHIP_ERROR err = CHIP_NO_ERROR; - - if (0 == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Start: Test_TC_BI_2_2\n"); - } - - if (mTestCount == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Complete: Test_TC_BI_2_2\n"); - SetCommandExitStatus(CHIP_NO_ERROR); - return; - } - - Wait(); - - // Ensure we increment mTestIndex before we start running the relevant - // command. That way if we lose the timeslice after we send the message - // but before our function call returns, we won't end up with an - // incorrect mTestIndex value observed when we get the response. - switch (mTestIndex++) { - case 0: - ChipLogProgress(chipTool, " ***** Test Step 0 : Wait for the commissioned device to be retrieved\n"); - err = TestWaitForTheCommissionedDeviceToBeRetrieved_0(); - break; - case 1: - ChipLogProgress(chipTool, " ***** Test Step 1 : Reads PresentValue attribute from DUT\n"); - if (ShouldSkip("A_PRESENTVALUE")) { - NextTest(); - return; - } - err = TestReadsPresentValueAttributeFromDut_1(); - break; - case 2: - ChipLogProgress(chipTool, " ***** Test Step 2 : Reads OutOfService attribute from DUT\n"); - if (ShouldSkip("A_OUTOFSERVICE")) { - NextTest(); - return; - } - err = TestReadsOutOfServiceAttributeFromDut_2(); - break; - case 3: - ChipLogProgress(chipTool, " ***** Test Step 3 : Reads StatusFlags attribute from DUT\n"); - if (ShouldSkip("A_STATUSFLAGS")) { - NextTest(); - return; - } - err = TestReadsStatusFlagsAttributeFromDut_3(); - break; - case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Reads PresentValue attribute from DUT\n"); - if (ShouldSkip("A_PRESENTVALUE")) { - NextTest(); - return; - } - err = TestReadsPresentValueAttributeFromDut_4(); - break; - case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Reads OutOfService attribute from DUT\n"); - if (ShouldSkip("A_OUTOFSERVICE")) { - NextTest(); - return; - } - err = TestReadsOutOfServiceAttributeFromDut_5(); - break; - case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Reads StatusFlags attribute from DUT\n"); - if (ShouldSkip("A_STATUSFLAGS")) { - NextTest(); - return; - } - err = TestReadsStatusFlagsAttributeFromDut_6(); - break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Reads StatusFlags attribute from DUT\n"); - if (ShouldSkip("A_STATUSFLAGS")) { - NextTest(); - return; - } - err = TestReadsStatusFlagsAttributeFromDut_7(); - break; - case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Reads StatusFlags attribute from DUT\n"); - if (ShouldSkip("A_STATUSFLAGS")) { - NextTest(); - return; - } - err = TestReadsStatusFlagsAttributeFromDut_8(); - break; - } - - if (CHIP_NO_ERROR != err) { - ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); - SetCommandExitStatus(err); - } - } - - void OnStatusUpdate(const chip::app::StatusIB & status) override - { - switch (mTestIndex - 1) { - case 0: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 1: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 2: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 3: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - } - - // Go on to the next test. - ContinueOnChipMainThread(CHIP_NO_ERROR); - } - - chip::System::Clock::Timeout GetWaitDuration() const override - { - return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); - } - -private: - std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 9; - - chip::Optional mNodeId; - chip::Optional mCluster; - chip::Optional mEndpoint; - chip::Optional mTimeout; - - CHIP_ERROR TestWaitForTheCommissionedDeviceToBeRetrieved_0() - { - chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; - value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; - return WaitForCommissionee("alpha", value); - } - - CHIP_ERROR TestReadsPresentValueAttributeFromDut_1() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBinaryInputBasic * cluster = [[CHIPTestBinaryInputBasic alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributePresentValueWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads PresentValue attribute from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - id actualValue = value; - VerifyOrReturn(CheckValue("present value", actualValue, 0)); - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadsOutOfServiceAttributeFromDut_2() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBinaryInputBasic * cluster = [[CHIPTestBinaryInputBasic alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeOutOfServiceWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads OutOfService attribute from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - id actualValue = value; - VerifyOrReturn(CheckValue("out of service", actualValue, 0)); - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadsStatusFlagsAttributeFromDut_3() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBinaryInputBasic * cluster = [[CHIPTestBinaryInputBasic alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeStatusFlagsWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads StatusFlags attribute from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - id actualValue = value; - VerifyOrReturn(CheckValue("status flags", actualValue, 0U)); - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadsPresentValueAttributeFromDut_4() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBinaryInputBasic * cluster = [[CHIPTestBinaryInputBasic alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributePresentValueWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads PresentValue attribute from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - id actualValue = value; - VerifyOrReturn(CheckValue("present value", actualValue, 0)); - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadsOutOfServiceAttributeFromDut_5() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBinaryInputBasic * cluster = [[CHIPTestBinaryInputBasic alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeOutOfServiceWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads OutOfService attribute from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - id actualValue = value; - VerifyOrReturn(CheckValue("out of service", actualValue, 0)); - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadsStatusFlagsAttributeFromDut_6() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBinaryInputBasic * cluster = [[CHIPTestBinaryInputBasic alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeStatusFlagsWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads StatusFlags attribute from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - id actualValue = value; - VerifyOrReturn(CheckValue("status flags", actualValue, 0U)); - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadsStatusFlagsAttributeFromDut_7() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBinaryInputBasic * cluster = [[CHIPTestBinaryInputBasic alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeStatusFlagsWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads StatusFlags attribute from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - id actualValue = value; - VerifyOrReturn(CheckValue("status flags", actualValue, 0U)); - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadsStatusFlagsAttributeFromDut_8() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBinaryInputBasic * cluster = [[CHIPTestBinaryInputBasic alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeStatusFlagsWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads StatusFlags attribute from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - id actualValue = value; - VerifyOrReturn(CheckValue("status flags", actualValue, 0U)); - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } -}; - class Test_TC_BOOL_1_1 : public TestCommandBridge { public: // NOLINTBEGIN(clang-analyzer-nullability.NullPassedToNonnull): Test constructor nullability not enforced @@ -17463,511 +16433,42 @@ class Test_TC_BINFO_2_1 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 10: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 11: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 12: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 13: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 14: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 15: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 16: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 17: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 18: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - } - - // Go on to the next test. - ContinueOnChipMainThread(CHIP_NO_ERROR); - } - - chip::System::Clock::Timeout GetWaitDuration() const override - { - return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); - } - -private: - std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 19; - - chip::Optional mNodeId; - chip::Optional mCluster; - chip::Optional mEndpoint; - chip::Optional mTimeout; - - CHIP_ERROR TestWaitForTheCommissionedDeviceToBeRetrieved_0() - { - chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; - value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; - return WaitForCommissionee("alpha", value); - } - - CHIP_ERROR TestQueryDataModelRevision_1() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeDataModelRevisionWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Query Data Model Revision Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("dataModelRevision", "", "uint16")); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestQueryVendorName_2() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeVendorNameWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { - NSLog(@"Query Vendor Name Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("vendorName", "", "string")); - VerifyOrReturn(CheckConstraintMaxLength("vendorName", [value length], 32)); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestQueryVendorID_3() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeVendorIDWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Query VendorID Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("vendorID", "", "uint16")); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestQueryProductName_4() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeProductNameWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { - NSLog(@"Query Product Name Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("productName", "", "string")); - VerifyOrReturn(CheckConstraintMaxLength("productName", [value length], 32)); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestQueryProductID_5() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeProductIDWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Query ProductID Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("productID", "", "uint16")); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestQueryNodeLabel_6() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeNodeLabelWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { - NSLog(@"Query Node Label Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("nodeLabel", "", "string")); - VerifyOrReturn(CheckConstraintMaxLength("nodeLabel", [value length], 32)); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestQueryUserLocation_7() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeLocationWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { - NSLog(@"Query User Location Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("location", "", "string")); - VerifyOrReturn(CheckConstraintMaxLength("location", [value length], 16)); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestQueryHardwareVersion_8() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeHardwareVersionWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Query HardwareVersion Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("hardwareVersion", "", "uint16")); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestQueryHardwareVersionString_9() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeHardwareVersionStringWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { - NSLog(@"Query HardwareVersionString Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("hardwareVersionString", "", "string")); - VerifyOrReturn(CheckConstraintMinLength("hardwareVersionString", [value length], 1)); - VerifyOrReturn(CheckConstraintMaxLength("hardwareVersionString", [value length], 64)); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestThReadsSoftwareVersionStringFromTheDutAndVerifyItIsOfTypeStringAndVerifyTheFormat_10() - { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR TestThReadsManufacturingDateFromTheDutAndVerifyItIsOfTypeStringAndVerifyTheFormat_11() - { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR TestQueryPartNumber_12() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributePartNumberWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { - NSLog(@"Query PartNumber Error: %@", err); - - if (err.code == MatterInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("partNumber", "", "string")); - VerifyOrReturn(CheckConstraintMaxLength("partNumber", [value length], 32)); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestThReadsProductURLFromTheDutAndVerifyItIsOfTypeStringAndVerifyTheFormat_13() - { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR TestQueryProductLabel_14() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeProductLabelWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { - NSLog(@"Query ProductLabel Error: %@", err); - - if (err.code == MatterInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("productLabel", "", "string")); - VerifyOrReturn(CheckConstraintMaxLength("productLabel", [value length], 64)); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestQuerySerialNumber_15() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeSerialNumberWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { - NSLog(@"Query SerialNumber Error: %@", err); - - if (err.code == MatterInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("serialNumber", "", "string")); - VerifyOrReturn(CheckConstraintMaxLength("serialNumber", [value length], 32)); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestQueryLocalConfigDisabled_16() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeLocalConfigDisabledWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Query LocalConfigDisabled Error: %@", err); - - if (err.code == MatterInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("localConfigDisabled", "", "boolean")); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestQueryReachable_17() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeReachableWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Query Reachable Error: %@", err); - - if (err.code == MatterInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("reachable", "", "boolean")); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestQueryUniqueID_18() - { - CHIPDevice * device = GetDevice("alpha"); - CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeUniqueIDWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { - NSLog(@"Query UniqueID Error: %@", err); - - if (err.code == MatterInteractionErrorCodeUnsupportedAttribute) { - NextTest(); - return; - } - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("uniqueID", "", "string")); - VerifyOrReturn(CheckConstraintMaxLength("uniqueID", [value length], 32)); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } -}; - -class Test_TC_DESC_1_1 : public TestCommandBridge { -public: - // NOLINTBEGIN(clang-analyzer-nullability.NullPassedToNonnull): Test constructor nullability not enforced - Test_TC_DESC_1_1() - : TestCommandBridge("Test_TC_DESC_1_1") - , mTestIndex(0) - { - AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); - AddArgument("cluster", &mCluster); - AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); - AddArgument("timeout", 0, UINT16_MAX, &mTimeout); - } - // NOLINTEND(clang-analyzer-nullability.NullPassedToNonnull) - - ~Test_TC_DESC_1_1() {} - - /////////// TestCommand Interface ///////// - void NextTest() override - { - CHIP_ERROR err = CHIP_NO_ERROR; - - if (0 == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Start: Test_TC_DESC_1_1\n"); - } - - if (mTestCount == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Complete: Test_TC_DESC_1_1\n"); - SetCommandExitStatus(CHIP_NO_ERROR); - return; - } - - Wait(); - - // Ensure we increment mTestIndex before we start running the relevant - // command. That way if we lose the timeslice after we send the message - // but before our function call returns, we won't end up with an - // incorrect mTestIndex value observed when we get the response. - switch (mTestIndex++) { - case 0: - ChipLogProgress(chipTool, " ***** Test Step 0 : Wait for the commissioned device to be retrieved\n"); - err = TestWaitForTheCommissionedDeviceToBeRetrieved_0(); - break; - case 1: - ChipLogProgress(chipTool, " ***** Test Step 1 : Read the global attribute: ClusterRevision\n"); - err = TestReadTheGlobalAttributeClusterRevision_1(); - break; - case 2: - ChipLogProgress(chipTool, " ***** Test Step 2 : Read the global attribute: FeatureMap\n"); - err = TestReadTheGlobalAttributeFeatureMap_2(); - break; - case 3: - ChipLogProgress(chipTool, " ***** Test Step 3 : Read the global attribute: AttributeList\n"); - err = TestReadTheGlobalAttributeAttributeList_3(); - break; - case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Read the global attribute: AcceptedCommandList\n"); - err = TestReadTheGlobalAttributeAcceptedCommandList_4(); - break; - case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Read the global attribute: GeneratedCommandList\n"); - err = TestReadTheGlobalAttributeGeneratedCommandList_5(); - break; - case 6: - ChipLogProgress(chipTool, - " ***** Test Step 6 : Read EventList attribute from the DUT and Verify that the DUT response provides a list of " - "supported events.\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { - NextTest(); - return; - } - err = TestReadEventListAttributeFromTheDutAndVerifyThatTheDutResponseProvidesAListOfSupportedEvents_6(); - break; - } - - if (CHIP_NO_ERROR != err) { - ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); - SetCommandExitStatus(err); - } - } - - void OnStatusUpdate(const chip::app::StatusIB & status) override - { - switch (mTestIndex - 1) { - case 0: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 1: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 2: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 3: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 11: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 13: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 15: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 17: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -17981,7 +16482,7 @@ class Test_TC_DESC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 7; + const uint16_t mTestCount = 19; chip::Optional mNodeId; chip::Optional mCluster; @@ -17995,131 +16496,217 @@ class Test_TC_DESC_1_1 : public TestCommandBridge { return WaitForCommissionee("alpha", value); } - CHIP_ERROR TestReadTheGlobalAttributeClusterRevision_1() + CHIP_ERROR TestQueryDataModelRevision_1() { CHIPDevice * device = GetDevice("alpha"); - CHIPTestDescriptor * cluster = [[CHIPTestDescriptor alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; + CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeClusterRevisionWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the global attribute: ClusterRevision Error: %@", err); + [cluster readAttributeDataModelRevisionWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Query Data Model Revision Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - { - id actualValue = value; - VerifyOrReturn(CheckValue("ClusterRevision", actualValue, 1U)); - } + VerifyOrReturn(CheckConstraintType("dataModelRevision", "", "uint16")); + NextTest(); + }]; - VerifyOrReturn(CheckConstraintType("clusterRevision", "", "uint16")); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestQueryVendorName_2() + { + CHIPDevice * device = GetDevice("alpha"); + CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeVendorNameWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { + NSLog(@"Query Vendor Name Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("vendorName", "", "string")); + VerifyOrReturn(CheckConstraintMaxLength("vendorName", [value length], 32)); NextTest(); }]; return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheGlobalAttributeFeatureMap_2() + CHIP_ERROR TestQueryVendorID_3() { CHIPDevice * device = GetDevice("alpha"); - CHIPTestDescriptor * cluster = [[CHIPTestDescriptor alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; + CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeFeatureMapWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the global attribute: FeatureMap Error: %@", err); + [cluster readAttributeVendorIDWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Query VendorID Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - { - id actualValue = value; - VerifyOrReturn(CheckValue("FeatureMap", actualValue, 0UL)); - } + VerifyOrReturn(CheckConstraintType("vendorID", "", "uint16")); + NextTest(); + }]; - VerifyOrReturn(CheckConstraintType("featureMap", "", "map32")); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestQueryProductName_4() + { + CHIPDevice * device = GetDevice("alpha"); + CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeProductNameWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { + NSLog(@"Query Product Name Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("productName", "", "string")); + VerifyOrReturn(CheckConstraintMaxLength("productName", [value length], 32)); NextTest(); }]; return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheGlobalAttributeAttributeList_3() + CHIP_ERROR TestQueryProductID_5() { CHIPDevice * device = GetDevice("alpha"); - CHIPTestDescriptor * cluster = [[CHIPTestDescriptor alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; + CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the global attribute: AttributeList Error: %@", err); + [cluster readAttributeProductIDWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Query ProductID Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - { - id actualValue = value; - VerifyOrReturn(CheckValue("AttributeList", [actualValue count], static_cast(9))); - VerifyOrReturn(CheckValue("", actualValue[0], 0UL)); - VerifyOrReturn(CheckValue("", actualValue[1], 1UL)); - VerifyOrReturn(CheckValue("", actualValue[2], 2UL)); - VerifyOrReturn(CheckValue("", actualValue[3], 3UL)); - VerifyOrReturn(CheckValue("", actualValue[4], 65528UL)); - VerifyOrReturn(CheckValue("", actualValue[5], 65529UL)); - VerifyOrReturn(CheckValue("", actualValue[6], 65531UL)); - VerifyOrReturn(CheckValue("", actualValue[7], 65532UL)); - VerifyOrReturn(CheckValue("", actualValue[8], 65533UL)); - } + VerifyOrReturn(CheckConstraintType("productID", "", "uint16")); + NextTest(); + }]; - VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestQueryNodeLabel_6() + { + CHIPDevice * device = GetDevice("alpha"); + CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeNodeLabelWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { + NSLog(@"Query Node Label Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("nodeLabel", "", "string")); + VerifyOrReturn(CheckConstraintMaxLength("nodeLabel", [value length], 32)); NextTest(); }]; return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheGlobalAttributeAcceptedCommandList_4() + CHIP_ERROR TestQueryUserLocation_7() { CHIPDevice * device = GetDevice("alpha"); - CHIPTestDescriptor * cluster = [[CHIPTestDescriptor alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; + CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAcceptedCommandListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the global attribute: AcceptedCommandList Error: %@", err); + [cluster readAttributeLocationWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { + NSLog(@"Query User Location Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - { - id actualValue = value; - VerifyOrReturn(CheckValue("AcceptedCommandList", [actualValue count], static_cast(0))); - } + VerifyOrReturn(CheckConstraintType("location", "", "string")); + VerifyOrReturn(CheckConstraintMaxLength("location", [value length], 16)); + NextTest(); + }]; - VerifyOrReturn(CheckConstraintType("acceptedCommandList", "", "list")); + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestQueryHardwareVersion_8() + { + CHIPDevice * device = GetDevice("alpha"); + CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeHardwareVersionWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Query HardwareVersion Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("hardwareVersion", "", "uint16")); NextTest(); }]; return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheGlobalAttributeGeneratedCommandList_5() + CHIP_ERROR TestQueryHardwareVersionString_9() { CHIPDevice * device = GetDevice("alpha"); - CHIPTestDescriptor * cluster = [[CHIPTestDescriptor alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; + CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeGeneratedCommandListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the global attribute: GeneratedCommandList Error: %@", err); + [cluster readAttributeHardwareVersionStringWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { + NSLog(@"Query HardwareVersionString Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - { - id actualValue = value; - VerifyOrReturn(CheckValue("GeneratedCommandList", [actualValue count], static_cast(0))); + VerifyOrReturn(CheckConstraintType("hardwareVersionString", "", "string")); + VerifyOrReturn(CheckConstraintMinLength("hardwareVersionString", [value length], 1)); + VerifyOrReturn(CheckConstraintMaxLength("hardwareVersionString", [value length], 64)); + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThReadsSoftwareVersionStringFromTheDutAndVerifyItIsOfTypeStringAndVerifyTheFormat_10() + { + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR TestThReadsManufacturingDateFromTheDutAndVerifyItIsOfTypeStringAndVerifyTheFormat_11() + { + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR TestQueryPartNumber_12() + { + CHIPDevice * device = GetDevice("alpha"); + CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributePartNumberWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { + NSLog(@"Query PartNumber Error: %@", err); + + if (err.code == MatterInteractionErrorCodeUnsupportedAttribute) { + NextTest(); + return; } - VerifyOrReturn(CheckConstraintType("generatedCommandList", "", "list")); + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("partNumber", "", "string")); + VerifyOrReturn(CheckConstraintMaxLength("partNumber", [value length], 32)); NextTest(); }]; return CHIP_NO_ERROR; } - CHIP_ERROR TestReadEventListAttributeFromTheDutAndVerifyThatTheDutResponseProvidesAListOfSupportedEvents_6() + CHIP_ERROR TestThReadsProductURLFromTheDutAndVerifyItIsOfTypeStringAndVerifyTheFormat_13() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -18127,13 +16714,131 @@ class Test_TC_DESC_1_1 : public TestCommandBridge { value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt("alpha", value); } + + CHIP_ERROR TestQueryProductLabel_14() + { + CHIPDevice * device = GetDevice("alpha"); + CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeProductLabelWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { + NSLog(@"Query ProductLabel Error: %@", err); + + if (err.code == MatterInteractionErrorCodeUnsupportedAttribute) { + NextTest(); + return; + } + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("productLabel", "", "string")); + VerifyOrReturn(CheckConstraintMaxLength("productLabel", [value length], 64)); + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestQuerySerialNumber_15() + { + CHIPDevice * device = GetDevice("alpha"); + CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeSerialNumberWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { + NSLog(@"Query SerialNumber Error: %@", err); + + if (err.code == MatterInteractionErrorCodeUnsupportedAttribute) { + NextTest(); + return; + } + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("serialNumber", "", "string")); + VerifyOrReturn(CheckConstraintMaxLength("serialNumber", [value length], 32)); + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestQueryLocalConfigDisabled_16() + { + CHIPDevice * device = GetDevice("alpha"); + CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeLocalConfigDisabledWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Query LocalConfigDisabled Error: %@", err); + + if (err.code == MatterInteractionErrorCodeUnsupportedAttribute) { + NextTest(); + return; + } + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("localConfigDisabled", "", "boolean")); + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestQueryReachable_17() + { + CHIPDevice * device = GetDevice("alpha"); + CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeReachableWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Query Reachable Error: %@", err); + + if (err.code == MatterInteractionErrorCodeUnsupportedAttribute) { + NextTest(); + return; + } + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("reachable", "", "boolean")); + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestQueryUniqueID_18() + { + CHIPDevice * device = GetDevice("alpha"); + CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeUniqueIDWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { + NSLog(@"Query UniqueID Error: %@", err); + + if (err.code == MatterInteractionErrorCodeUnsupportedAttribute) { + NextTest(); + return; + } + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("uniqueID", "", "string")); + VerifyOrReturn(CheckConstraintMaxLength("uniqueID", [value length], 32)); + NextTest(); + }]; + + return CHIP_NO_ERROR; + } }; -class Test_TC_EMR_1_1 : public TestCommandBridge { +class Test_TC_DESC_1_1 : public TestCommandBridge { public: // NOLINTBEGIN(clang-analyzer-nullability.NullPassedToNonnull): Test constructor nullability not enforced - Test_TC_EMR_1_1() - : TestCommandBridge("Test_TC_EMR_1_1") + Test_TC_DESC_1_1() + : TestCommandBridge("Test_TC_DESC_1_1") , mTestIndex(0) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); @@ -18143,7 +16848,7 @@ class Test_TC_EMR_1_1 : public TestCommandBridge { } // NOLINTEND(clang-analyzer-nullability.NullPassedToNonnull) - ~Test_TC_EMR_1_1() {} + ~Test_TC_DESC_1_1() {} /////////// TestCommand Interface ///////// void NextTest() override @@ -18151,11 +16856,11 @@ class Test_TC_EMR_1_1 : public TestCommandBridge { CHIP_ERROR err = CHIP_NO_ERROR; if (0 == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Start: Test_TC_EMR_1_1\n"); + ChipLogProgress(chipTool, " **** Test Start: Test_TC_DESC_1_1\n"); } if (mTestCount == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Complete: Test_TC_EMR_1_1\n"); + ChipLogProgress(chipTool, " **** Test Complete: Test_TC_DESC_1_1\n"); SetCommandExitStatus(CHIP_NO_ERROR); return; } @@ -18172,25 +16877,34 @@ class Test_TC_EMR_1_1 : public TestCommandBridge { err = TestWaitForTheCommissionedDeviceToBeRetrieved_0(); break; case 1: - ChipLogProgress(chipTool, " ***** Test Step 1 : read the global attribute: ClusterRevision\n"); + ChipLogProgress(chipTool, " ***** Test Step 1 : Read the global attribute: ClusterRevision\n"); err = TestReadTheGlobalAttributeClusterRevision_1(); break; case 2: - ChipLogProgress(chipTool, " ***** Test Step 2 : Read the global attribute constraints: ClusterRevision\n"); - err = TestReadTheGlobalAttributeConstraintsClusterRevision_2(); + ChipLogProgress(chipTool, " ***** Test Step 2 : Read the global attribute: FeatureMap\n"); + err = TestReadTheGlobalAttributeFeatureMap_2(); break; case 3: - ChipLogProgress( - chipTool, " ***** Test Step 3 : write the default values to mandatory global attribute: ClusterRevision\n"); - err = TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_3(); + ChipLogProgress(chipTool, " ***** Test Step 3 : Read the global attribute: AttributeList\n"); + err = TestReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : reads back global attribute: ClusterRevision\n"); - err = TestReadsBackGlobalAttributeClusterRevision_4(); + ChipLogProgress(chipTool, " ***** Test Step 4 : Read the global attribute: AcceptedCommandList\n"); + err = TestReadTheGlobalAttributeAcceptedCommandList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Read the global attribute: AttributeList\n"); - err = TestReadTheGlobalAttributeAttributeList_5(); + ChipLogProgress(chipTool, " ***** Test Step 5 : Read the global attribute: GeneratedCommandList\n"); + err = TestReadTheGlobalAttributeGeneratedCommandList_5(); + break; + case 6: + ChipLogProgress(chipTool, + " ***** Test Step 6 : Read EventList attribute from the DUT and Verify that the DUT response provides a list of " + "supported events.\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestReadEventListAttributeFromTheDutAndVerifyThatTheDutResponseProvidesAListOfSupportedEvents_6(); break; } @@ -18213,7 +16927,7 @@ class Test_TC_EMR_1_1 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 3: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -18221,6 +16935,9 @@ class Test_TC_EMR_1_1 : public TestCommandBridge { case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -18234,7 +16951,7 @@ class Test_TC_EMR_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 6; + const uint16_t mTestCount = 7; chip::Optional mNodeId; chip::Optional mCluster; @@ -18251,113 +16968,135 @@ class Test_TC_EMR_1_1 : public TestCommandBridge { CHIP_ERROR TestReadTheGlobalAttributeClusterRevision_1() { CHIPDevice * device = GetDevice("alpha"); - CHIPTestElectricalMeasurement * cluster = [[CHIPTestElectricalMeasurement alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; + CHIPTestDescriptor * cluster = [[CHIPTestDescriptor alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeClusterRevisionWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"read the global attribute: ClusterRevision Error: %@", err); + NSLog(@"Read the global attribute: ClusterRevision Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); { id actualValue = value; - VerifyOrReturn(CheckValue("ClusterRevision", actualValue, 3U)); + VerifyOrReturn(CheckValue("ClusterRevision", actualValue, 1U)); } + VerifyOrReturn(CheckConstraintType("clusterRevision", "", "uint16")); NextTest(); }]; return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheGlobalAttributeConstraintsClusterRevision_2() + CHIP_ERROR TestReadTheGlobalAttributeFeatureMap_2() { CHIPDevice * device = GetDevice("alpha"); - CHIPTestElectricalMeasurement * cluster = [[CHIPTestElectricalMeasurement alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; + CHIPTestDescriptor * cluster = [[CHIPTestDescriptor alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeClusterRevisionWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the global attribute constraints: ClusterRevision Error: %@", err); + [cluster readAttributeFeatureMapWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read the global attribute: FeatureMap Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("clusterRevision", "", "uint16")); + { + id actualValue = value; + VerifyOrReturn(CheckValue("FeatureMap", actualValue, 0UL)); + } + + VerifyOrReturn(CheckConstraintType("featureMap", "", "map32")); NextTest(); }]; return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_3() + CHIP_ERROR TestReadTheGlobalAttributeAttributeList_3() { CHIPDevice * device = GetDevice("alpha"); - CHIPTestElectricalMeasurement * cluster = [[CHIPTestElectricalMeasurement alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; + CHIPTestDescriptor * cluster = [[CHIPTestDescriptor alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - id clusterRevisionArgument; - clusterRevisionArgument = [NSNumber numberWithUnsignedShort:1U]; - [cluster - writeAttributeClusterRevisionWithValue:clusterRevisionArgument - completionHandler:^(NSError * _Nullable err) { - NSLog( - @"write the default values to mandatory global attribute: ClusterRevision Error: %@", err); + [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read the global attribute: AttributeList Error: %@", err); - VerifyOrReturn(CheckValue("status", err ? err.code : 0, EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); - NextTest(); - }]; + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + { + id actualValue = value; + VerifyOrReturn(CheckValue("AttributeList", [actualValue count], static_cast(9))); + VerifyOrReturn(CheckValue("", actualValue[0], 0UL)); + VerifyOrReturn(CheckValue("", actualValue[1], 1UL)); + VerifyOrReturn(CheckValue("", actualValue[2], 2UL)); + VerifyOrReturn(CheckValue("", actualValue[3], 3UL)); + VerifyOrReturn(CheckValue("", actualValue[4], 65528UL)); + VerifyOrReturn(CheckValue("", actualValue[5], 65529UL)); + VerifyOrReturn(CheckValue("", actualValue[6], 65531UL)); + VerifyOrReturn(CheckValue("", actualValue[7], 65532UL)); + VerifyOrReturn(CheckValue("", actualValue[8], 65533UL)); + } + + VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); + NextTest(); + }]; return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsBackGlobalAttributeClusterRevision_4() + CHIP_ERROR TestReadTheGlobalAttributeAcceptedCommandList_4() { CHIPDevice * device = GetDevice("alpha"); - CHIPTestElectricalMeasurement * cluster = [[CHIPTestElectricalMeasurement alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; + CHIPTestDescriptor * cluster = [[CHIPTestDescriptor alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeClusterRevisionWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"reads back global attribute: ClusterRevision Error: %@", err); + [cluster readAttributeAcceptedCommandListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read the global attribute: AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); { id actualValue = value; - VerifyOrReturn(CheckValue("ClusterRevision", actualValue, 3U)); + VerifyOrReturn(CheckValue("AcceptedCommandList", [actualValue count], static_cast(0))); } + VerifyOrReturn(CheckConstraintType("acceptedCommandList", "", "list")); NextTest(); }]; return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheGlobalAttributeAttributeList_5() + CHIP_ERROR TestReadTheGlobalAttributeGeneratedCommandList_5() { CHIPDevice * device = GetDevice("alpha"); - CHIPTestElectricalMeasurement * cluster = [[CHIPTestElectricalMeasurement alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; + CHIPTestDescriptor * cluster = [[CHIPTestDescriptor alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the global attribute: AttributeList Error: %@", err); + [cluster readAttributeGeneratedCommandListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read the global attribute: GeneratedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); + { + id actualValue = value; + VerifyOrReturn(CheckValue("GeneratedCommandList", [actualValue count], static_cast(0))); + } + + VerifyOrReturn(CheckConstraintType("generatedCommandList", "", "list")); NextTest(); }]; return CHIP_NO_ERROR; } + + CHIP_ERROR TestReadEventListAttributeFromTheDutAndVerifyThatTheDutResponseProvidesAListOfSupportedEvents_6() + { + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } }; class Test_TC_DGETH_2_1 : public TestCommandBridge { @@ -34337,7 +33076,7 @@ class Test_TC_MOD_1_1 : public TestCommandBridge { VerifyOrReturn(CheckValue("FeatureMap", actualValue, 1UL)); } - VerifyOrReturn(CheckConstraintType("featureMap", "", "map32")); + VerifyOrReturn(CheckConstraintType("featureMap", "", "map8")); NextTest(); }]; @@ -104705,9 +103444,6 @@ void registerCommandsTests(Commands & commands) make_unique(), make_unique(), make_unique(), - make_unique(), - make_unique(), - make_unique(), make_unique(), make_unique(), make_unique(), @@ -104733,7 +103469,6 @@ void registerCommandsTests(Commands & commands) make_unique(), make_unique(), make_unique(), - make_unique(), make_unique(), make_unique(), make_unique(),