diff --git a/examples/placeholder/linux/apps/app1/ciTests.json b/examples/placeholder/linux/apps/app1/ciTests.json index 66abad400a442f..63ba1ad875563c 100644 --- a/examples/placeholder/linux/apps/app1/ciTests.json +++ b/examples/placeholder/linux/apps/app1/ciTests.json @@ -14,7 +14,6 @@ "Test_TC_CC_7_5_Simulated", "Test_TC_CC_9_4_Simulated", "Test_TC_DGTHREAD_3_4_Simulated", - "Test_TC_LVL_2_3_Simulated", "Test_TC_OO_3_2_Simulated" ], "collection": ["Test"] diff --git a/src/app/tests/suites/certification/Test_TC_GRPKEY_2_1.yaml b/src/app/tests/suites/certification/Test_TC_GRPKEY_2_1.yaml index 3cef4c28dd6e4b..f6d17635840779 100644 --- a/src/app/tests/suites/certification/Test_TC_GRPKEY_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_GRPKEY_2_1.yaml @@ -170,7 +170,7 @@ tests: saveAs: MaxGroupKeysPerFabricValue constraints: type: int16u - minValue: 0 + minValue: 1 maxValue: 65535 - label: diff --git a/src/app/tests/suites/certification/Test_TC_LVL_2_3_Simulated.yaml b/src/app/tests/suites/certification/Test_TC_LVL_2_3_Simulated.yaml deleted file mode 100644 index dfb6ad9787fcf5..00000000000000 --- a/src/app/tests/suites/certification/Test_TC_LVL_2_3_Simulated.yaml +++ /dev/null @@ -1,584 +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: 21.2.3. [TC-LVL-2.3] Attributes with client as DUT - -PICS: - - LVL.C - - LVL.C.AM-READ - - LVL.C.AO-READ - - LVL.C.AM-WRITE - - LVL.C.AO-WRITE - -config: - nodeId: 0x12344321 - cluster: "Level Control" - endpoint: 1 - -tests: - #- label: "Wait for the device to be commissioned" - # cluster: "DelayCommands" - # command: "WaitForCommissioning" - - - label: "Read mandatory attribute CurrentLevel" - wait: "readAttribute" - attribute: "CurrentLevel" - - - label: "Read mandatory attribute OnLevel" - wait: "readAttribute" - attribute: "OnLevel" - - - label: "Read mandatory attribute Options" - wait: "readAttribute" - attribute: "Options" - - - label: "Read optional attribute RemainingTime" - wait: "readAttribute" - attribute: "RemainingTime" - - - label: "Read optional attribute StartUpCurrentLevel" - wait: "readAttribute" - attribute: "StartUpCurrentLevel" - - - label: "Read optional attribute CurrentFrequency" - wait: "readAttribute" - attribute: "CurrentFrequency" - - - label: "Read optional attribute MinFrequency" - wait: "readAttribute" - attribute: "MinFrequency" - - - label: "Read optional attribute MaxFrequency" - wait: "readAttribute" - attribute: "MaxFrequency" - - - label: "Read optional attribute MinLevel" - wait: "readAttribute" - attribute: "MinLevel" - - - label: "Read optional attribute MaxLevel" - wait: "readAttribute" - attribute: "MaxLevel" - - - label: "Read optional attribute OnOffTransitionTime" - wait: "readAttribute" - attribute: "OnOffTransitionTime" - - - label: "Read optional attribute OnTransitionTime" - wait: "readAttribute" - attribute: "OnTransitionTime" - - - label: "Read optional attribute OffTransitionTime" - wait: "readAttribute" - attribute: "OffTransitionTime" - - - label: "Read optional attribute DefaultMoveRate" - wait: "readAttribute" - attribute: "DefaultMoveRate" - - - label: "Write mandatory attribute OnLevel" - wait: "writeAttribute" - attribute: "OnLevel" - arguments: - value: - - - label: "Write mandatory attribute Options" - wait: "writeAttribute" - attribute: "Options" - arguments: - value: - - - label: "Write optional attribute OnOffTransitionTime" - wait: "writeAttribute" - attribute: "OnOffTransitionTime" - arguments: - value: - - - label: "Write optional attribute OnTransitionTime" - wait: "writeAttribute" - attribute: "OnTransitionTime" - arguments: - value: - - - label: "Write optional attribute OffTransitionTime" - wait: "writeAttribute" - attribute: "OffTransitionTime" - arguments: - value: - - - label: "Write optional attribute DefaultMoveRate" - wait: "writeAttribute" - attribute: "DefaultMoveRate" - arguments: - value: - - - label: "Write optional attribute StartUpCurrentLevel" - wait: "writeAttribute" - attribute: "StartUpCurrentLevel" - arguments: - value: - - - 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: | - Product maker needs to provide instructions for how to trigger the command on the DUT. For comparison, the DUT behavior for this test step can be simulated using chip-tool (when DUT is a commissioner/Client) - - ./chip-tool levelcontrol read current-level 1 1 - Verify DUT receives current-level attribute response on the TH(all-clusters-minimal-app) Log: - [1657913862.815749][3126:3126] CHIP:IM: Received Read request - [1657913862.815884][3126:3126] CHIP:DMG: ReadRequestMessage = - [1657913862.815935][3126:3126] CHIP:DMG: { - [1657913862.815975][3126:3126] CHIP:DMG: AttributePathIBs = - [1657913862.816023][3126:3126] CHIP:DMG: [ - [1657913862.816107][3126:3126] CHIP:DMG: AttributePathIB = - [1657913862.816161][3126:3126] CHIP:DMG: { - [1657913862.816212][3126:3126] CHIP:DMG: Endpoint = 0x1, - [1657913862.816268][3126:3126] CHIP:DMG: Cluster = 0x8, - [1657913862.816325][3126:3126] CHIP:DMG: Attribute = 0x0000_0000, - [1657913862.816377][3126:3126] CHIP:DMG: } - [1657913862.816431][3126:3126] CHIP:DMG: - [1657913862.816477][3126:3126] CHIP:DMG: ], - [1657913862.816527][3126:3126] CHIP:DMG: - [1657913862.816573][3126:3126] CHIP:DMG: isFabricFiltered = true, - [1657913862.816619][3126:3126] CHIP:DMG: InteractionModelRevision = 1 - [1657913862.816662][3126:3126] CHIP:DMG: }, - - - ./chip-tool levelcontrol read on-level 1 1 - Verify DUT receives on-level attribute response on the TH(all-clusters-minimal-app) Log: - [1657913877.850398][3126:3126] CHIP:IM: Received Read request - [1657913877.850525][3126:3126] CHIP:DMG: ReadRequestMessage = - [1657913877.850574][3126:3126] CHIP:DMG: { - [1657913877.850614][3126:3126] CHIP:DMG: AttributePathIBs = - [1657913877.850725][3126:3126] CHIP:DMG: [ - [1657913877.850771][3126:3126] CHIP:DMG: AttributePathIB = - [1657913877.850821][3126:3126] CHIP:DMG: { - [1657913877.850872][3126:3126] CHIP:DMG: Endpoint = 0x1, - [1657913877.850932][3126:3126] CHIP:DMG: Cluster = 0x8, - [1657913877.850989][3126:3126] CHIP:DMG: Attribute = 0x0000_0011, - [1657913877.851048][3126:3126] CHIP:DMG: } - [1657913877.851103][3126:3126] CHIP:DMG: - [1657913877.851153][3126:3126] CHIP:DMG: ], - [1657913877.851203][3126:3126] CHIP:DMG: - [1657913877.851251][3126:3126] CHIP:DMG: isFabricFiltered = true, - [1657913877.851297][3126:3126] CHIP:DMG: InteractionModelRevision = 1 - [1657913877.851343][3126:3126] CHIP:DMG: }, - [1657913877.851471][3126:3126] CHIP:DMG: IM - - - ./chip-tool levelcontrol read options 1 1 - Verify DUT receives options attribute response on the TH(all-clusters-minimal-app) Log: - [1657913895.195563][3126:3126] CHIP:IM: Received Read request - [1657913895.195705][3126:3126] CHIP:DMG: ReadRequestMessage = - [1657913895.195732][3126:3126] CHIP:DMG: { - [1657913895.195754][3126:3126] CHIP:DMG: AttributePathIBs = - [1657913895.195780][3126:3126] CHIP:DMG: [ - [1657913895.195803][3126:3126] CHIP:DMG: AttributePathIB = - [1657913895.195901][3126:3126] CHIP:DMG: { - [1657913895.195932][3126:3126] CHIP:DMG: Endpoint = 0x1, - [1657913895.195963][3126:3126] CHIP:DMG: Cluster = 0x8, - [1657913895.195993][3126:3126] CHIP:DMG: Attribute = 0x0000_000F, - [1657913895.196022][3126:3126] CHIP:DMG: } - [1657913895.196073][3126:3126] CHIP:DMG: - [1657913895.196101][3126:3126] CHIP:DMG: ], - [1657913895.196161][3126:3126] CHIP:DMG: - [1657913895.196189][3126:3126] CHIP:DMG: isFabricFiltered = true, - [1657913895.196214][3126:3126] CHIP:DMG: InteractionModelRevision = 1 - [1657913895.196236][3126:3126] CHIP:DMG: }, - - - ./chip-tool levelcontrol read attribute-list 1 1 - Verify DUT receives attribute-list attribute response on the TH(all-clusters-minimal-app) Log: - [1657913906.648918][3126:3126] CHIP:IM: Received Read request - [1657913906.649061][3126:3126] CHIP:DMG: ReadRequestMessage = - [1657913906.649115][3126:3126] CHIP:DMG: { - [1657913906.649162][3126:3126] CHIP:DMG: AttributePathIBs = - [1657913906.649225][3126:3126] CHIP:DMG: [ - [1657913906.649273][3126:3126] CHIP:DMG: AttributePathIB = - [1657913906.649330][3126:3126] CHIP:DMG: { - [1657913906.649389][3126:3126] CHIP:DMG: Endpoint = 0x1, - [1657913906.649462][3126:3126] CHIP:DMG: Cluster = 0x8, - [1657913906.649529][3126:3126] CHIP:DMG: Attribute = 0x0000_FFFB, - [1657913906.649569][3126:3126] CHIP:DMG: } - [1657913906.649593][3126:3126] CHIP:DMG: - [1657913906.649618][3126:3126] CHIP:DMG: ], - [1657913906.649645][3126:3126] CHIP:DMG: - [1657913906.649731][3126:3126] CHIP:DMG: isFabricFiltered = true, - [1657913906.649757][3126:3126] CHIP:DMG: InteractionModelRevision = 1 - [1657913906.649781][3126:3126] CHIP:DMG: }, - - - ./chip-tool levelcontrol read feature-map 1 1 - Verify DUT receives feature-map attribute response on the TH(all-clusters-minimal-app) Log: - [1663070713.467153][4422:4422] CHIP:IM: Received Read request - [1663070713.467242][4422:4422] CHIP:DMG: ReadRequestMessage = - [1663070713.467275][4422:4422] CHIP:DMG: { - [1663070713.467300][4422:4422] CHIP:DMG: AttributePathIBs = - [1663070713.467329][4422:4422] CHIP:DMG: [ - [1663070713.467355][4422:4422] CHIP:DMG: AttributePathIB = - [1663070713.467390][4422:4422] CHIP:DMG: { - [1663070713.467422][4422:4422] CHIP:DMG: Endpoint = 0x1, - [1663070713.467455][4422:4422] CHIP:DMG: Cluster = 0x8, - [1663070713.467487][4422:4422] CHIP:DMG: Attribute = 0x0000_FFFC, - [1663070713.467517][4422:4422] CHIP:DMG: } - [1663070713.467548][4422:4422] CHIP:DMG: - [1663070713.467576][4422:4422] CHIP:DMG: ], - [1663070713.467606][4422:4422] CHIP:DMG: - [1663070713.467635][4422:4422] CHIP:DMG: isFabricFiltered = true, - [1663070713.467663][4422:4422] CHIP:DMG: InteractionModelRevision = 1 - [1663070713.467689][4422:4422] CHIP:DMG: }, - [1663070713.467767][4422:4422] CHIP:DMG: IM RH moving to [GeneratingReports] - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_SKIP_SAMPLE_APP - arguments: - values: - - name: "message" - value: "Enter 'y' after success" - - name: "expectedValue" - value: "y" - - - label: - "DUT reads all supported optional attributes from TH one at a time in - a manufacturer specific order" - verification: | - Product maker needs to provide instructions for how to trigger the command on the DUT. For comparison, the DUT behavior for this test step can be simulated using chip-tool (when DUT is a commissioner/Client) - - TH all-clusters-minimal-app does not support optional attributes - - ./chip-tool levelcontrol read remaining-time 1 1 - Verify DUT(chip-tool) receives remaining-time attribute response on the TH(all-clusters-minimal-app) Log: - [1663147148.155292][37702:37702] CHIP:IM: Received Read request - [1663147148.155312][37702:37702] CHIP:DMG: ReadRequestMessage = - [1663147148.155315][37702:37702] CHIP:DMG: { - [1663147148.155317][37702:37702] CHIP:DMG: AttributePathIBs = - [1663147148.155320][37702:37702] CHIP:DMG: [ - [1663147148.155323][37702:37702] CHIP:DMG: AttributePathIB = - [1663147148.155326][37702:37702] CHIP:DMG: { - [1663147148.155328][37702:37702] CHIP:DMG: Endpoint = 0x1, - [1663147148.155331][37702:37702] CHIP:DMG: Cluster = 0x8, - [1663147148.155334][37702:37702] CHIP:DMG: Attribute = 0x0000_0001, - [1663147148.155338][37702:37702] CHIP:DMG: } - [1663147148.155341][37702:37702] CHIP:DMG: - [1663147148.155343][37702:37702] CHIP:DMG: ], - [1663147148.155346][37702:37702] CHIP:DMG: - [1663147148.155349][37702:37702] CHIP:DMG: isFabricFiltered = true, - [1663147148.155351][37702:37702] CHIP:DMG: InteractionModelRevision = 1 - [1663147148.155353][37702:37702] CHIP:DMG: }, - [1663147148.155366][37702:37702] CHIP:DMG: IM RH moving to [GeneratingReports] - [1663147148.155376][37702:37702] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 - - - - ./chip-tool levelcontrol read min-level 1 1 - Verify DUT(chip-tool) receives min-level attribute response on the TH(all-clusters-minimal-app) Log: - [1663147176.255360][37702:37702] CHIP:DMG: ReadRequestMessage = - [1663147176.255364][37702:37702] CHIP:DMG: { - [1663147176.255368][37702:37702] CHIP:DMG: AttributePathIBs = - [1663147176.255373][37702:37702] CHIP:DMG: [ - [1663147176.255376][37702:37702] CHIP:DMG: AttributePathIB = - [1663147176.255381][37702:37702] CHIP:DMG: { - [1663147176.255385][37702:37702] CHIP:DMG: Endpoint = 0x1, - [1663147176.255389][37702:37702] CHIP:DMG: Cluster = 0x8, - [1663147176.255393][37702:37702] CHIP:DMG: Attribute = 0x0000_0002, - [1663147176.255396][37702:37702] CHIP:DMG: } - [1663147176.255401][37702:37702] CHIP:DMG: - [1663147176.255404][37702:37702] CHIP:DMG: ], - [1663147176.255409][37702:37702] CHIP:DMG: - [1663147176.255413][37702:37702] CHIP:DMG: isFabricFiltered = true, - [1663147176.255416][37702:37702] CHIP:DMG: InteractionModelRevision = 1 - [1663147176.255419][37702:37702] CHIP:DMG: }, - [1663147176.255436][37702:37702] CHIP:DMG: IM RH moving to [GeneratingReports] - [1663147176.255451][37702:37702] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 - - - ./chip-tool levelcontrol read max-level 1 1 - Verify DUT(chip-tool) receives max-level attribute response on the TH(all-clusters-minimal-app) Log: - [1663147204.133512][37702:37702] CHIP:IM: Received Read request - [1663147204.133528][37702:37702] CHIP:DMG: ReadRequestMessage = - [1663147204.133531][37702:37702] CHIP:DMG: { - [1663147204.133533][37702:37702] CHIP:DMG: AttributePathIBs = - [1663147204.133536][37702:37702] CHIP:DMG: [ - [1663147204.133538][37702:37702] CHIP:DMG: AttributePathIB = - [1663147204.133541][37702:37702] CHIP:DMG: { - [1663147204.133543][37702:37702] CHIP:DMG: Endpoint = 0x1, - [1663147204.133546][37702:37702] CHIP:DMG: Cluster = 0x8, - [1663147204.133549][37702:37702] CHIP:DMG: Attribute = 0x0000_0003, - [1663147204.133551][37702:37702] CHIP:DMG: } - [1663147204.133553][37702:37702] CHIP:DMG: - [1663147204.133555][37702:37702] CHIP:DMG: ], - [1663147204.133558][37702:37702] CHIP:DMG: - [1663147204.133561][37702:37702] CHIP:DMG: isFabricFiltered = true, - [1663147204.133563][37702:37702] CHIP:DMG: InteractionModelRevision = 1 - [1663147204.133565][37702:37702] CHIP:DMG: }, - [1663147204.133577][37702:37702] CHIP:DMG: IM RH moving to [GeneratingReports] - [1663147204.133587][37702:37702] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 - - ./chip-tool levelcontrol read current-frequency 1 1 - Verify DUT(chip-tool) receives current-frequency attribute response on the TH(all-clusters-minimal-app) Log: - [1663147223.228680][37702:37702] CHIP:IM: Received Read request - [1663147223.228702][37702:37702] CHIP:DMG: ReadRequestMessage = - [1663147223.228706][37702:37702] CHIP:DMG: { - [1663147223.228710][37702:37702] CHIP:DMG: AttributePathIBs = - [1663147223.228714][37702:37702] CHIP:DMG: [ - [1663147223.228717][37702:37702] CHIP:DMG: AttributePathIB = - [1663147223.228722][37702:37702] CHIP:DMG: { - [1663147223.228726][37702:37702] CHIP:DMG: Endpoint = 0x1, - [1663147223.228730][37702:37702] CHIP:DMG: Cluster = 0x8, - [1663147223.228734][37702:37702] CHIP:DMG: Attribute = 0x0000_0004, - [1663147223.228738][37702:37702] CHIP:DMG: } - [1663147223.228742][37702:37702] CHIP:DMG: - [1663147223.228746][37702:37702] CHIP:DMG: ], - [1663147223.228751][37702:37702] CHIP:DMG: - [1663147223.228754][37702:37702] CHIP:DMG: isFabricFiltered = true, - [1663147223.228758][37702:37702] CHIP:DMG: InteractionModelRevision = 1 - [1663147223.228761][37702:37702] CHIP:DMG: }, - [1663147223.228780][37702:37702] CHIP:DMG: IM RH moving to [GeneratingReports] - - ./chip-tool levelcontrol read min-frequency 1 1 - Verify DUT(chip-tool) receives min-frequency attribute response on the TH(all-clusters-minimal-app) Log: - [1663147242.442251][37702:37702] CHIP:IM: Received Read request - [1663147242.442277][37702:37702] CHIP:DMG: ReadRequestMessage = - [1663147242.442282][37702:37702] CHIP:DMG: { - [1663147242.442287][37702:37702] CHIP:DMG: AttributePathIBs = - [1663147242.442293][37702:37702] CHIP:DMG: [ - [1663147242.442298][37702:37702] CHIP:DMG: AttributePathIB = - [1663147242.442304][37702:37702] CHIP:DMG: { - [1663147242.442309][37702:37702] CHIP:DMG: Endpoint = 0x1, - [1663147242.442315][37702:37702] CHIP:DMG: Cluster = 0x8, - [1663147242.442320][37702:37702] CHIP:DMG: Attribute = 0x0000_0005, - [1663147242.442324][37702:37702] CHIP:DMG: } - [1663147242.442331][37702:37702] CHIP:DMG: - [1663147242.442336][37702:37702] CHIP:DMG: ], - [1663147242.442342][37702:37702] CHIP:DMG: - [1663147242.442347][37702:37702] CHIP:DMG: isFabricFiltered = true, - [1663147242.442352][37702:37702] CHIP:DMG: InteractionModelRevision = 1 - [1663147242.442355][37702:37702] CHIP:DMG: }, - [1663147242.442378][37702:37702] CHIP:DMG: IM RH moving to [GeneratingReports] - - ./chip-tool levelcontrol read max-frequency 1 1 - Verify DUT(chip-tool) receives max-frequency attribute response on the TH(all-clusters-minimal-app) Log: - [1663147259.687422][37702:37702] CHIP:IM: Received Read request - [1663147259.687445][37702:37702] CHIP:DMG: ReadRequestMessage = - [1663147259.687450][37702:37702] CHIP:DMG: { - [1663147259.687454][37702:37702] CHIP:DMG: AttributePathIBs = - [1663147259.687458][37702:37702] CHIP:DMG: [ - [1663147259.687463][37702:37702] CHIP:DMG: AttributePathIB = - [1663147259.687469][37702:37702] CHIP:DMG: { - [1663147259.687474][37702:37702] CHIP:DMG: Endpoint = 0x1, - [1663147259.687478][37702:37702] CHIP:DMG: Cluster = 0x8, - [1663147259.687481][37702:37702] CHIP:DMG: Attribute = 0x0000_0006, - [1663147259.687485][37702:37702] CHIP:DMG: } - [1663147259.687490][37702:37702] CHIP:DMG: - [1663147259.687494][37702:37702] CHIP:DMG: ], - [1663147259.687500][37702:37702] CHIP:DMG: - [1663147259.687504][37702:37702] CHIP:DMG: isFabricFiltered = true, - [1663147259.687509][37702:37702] CHIP:DMG: InteractionModelRevision = 1 - [1663147259.687513][37702:37702] CHIP:DMG: }, - [1663147259.687532][37702:37702] CHIP:DMG: IM RH moving to [GeneratingReports] - - ./chip-tool levelcontrol read on-off-transition-time 1 1 - Verify DUT(chip-tool) receives on-off-transition-time attribute response on the TH(all-clusters-minimal-app) Log: - [1663147276.525081][37702:37702] CHIP:IM: Received Read request - [1663147276.525105][37702:37702] CHIP:DMG: ReadRequestMessage = - [1663147276.525110][37702:37702] CHIP:DMG: { - [1663147276.525115][37702:37702] CHIP:DMG: AttributePathIBs = - [1663147276.525120][37702:37702] CHIP:DMG: [ - [1663147276.525124][37702:37702] CHIP:DMG: AttributePathIB = - [1663147276.525129][37702:37702] CHIP:DMG: { - [1663147276.525133][37702:37702] CHIP:DMG: Endpoint = 0x1, - [1663147276.525138][37702:37702] CHIP:DMG: Cluster = 0x8, - [1663147276.525143][37702:37702] CHIP:DMG: Attribute = 0x0000_0010, - [1663147276.525148][37702:37702] CHIP:DMG: } - [1663147276.525155][37702:37702] CHIP:DMG: - [1663147276.525159][37702:37702] CHIP:DMG: ], - [1663147276.525166][37702:37702] CHIP:DMG: - [1663147276.525171][37702:37702] CHIP:DMG: isFabricFiltered = true, - [1663147276.525177][37702:37702] CHIP:DMG: InteractionModelRevision = 1 - [1663147276.525181][37702:37702] CHIP:DMG: }, - [1663147276.525202][37702:37702] CHIP:DMG: IM RH moving to [GeneratingReports] - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_SKIP_SAMPLE_APP - arguments: - values: - - name: "message" - value: "Enter 'y' after success" - - name: "expectedValue" - value: "y" - - - label: - "DUT writes a suitable value to all supported optional attributes on - the TH one at a time in a manufacturer specific order" - verification: | - Product maker needs to provide instructions for how to trigger the command on the DUT. For comparison, the DUT behavior for this test step can be simulated using chip-tool (when DUT is a commissioner/Client) - - TH all-clusters-minimal-app does not support optional attributes - - ./chip-tool levelcontrol write on-off-transition-time 5 1 1 - Verify DUT(chip-tool) receives on-off-transition-time attribute response on the TH(all-clusters-minimal-app) Log: - [1663147558.231731][37702:37702] CHIP:IM: Received Write request - [1663147558.231735][37702:37702] CHIP:DMG: IM WH moving to [Initialized] - [1663147558.231746][37702:37702] CHIP:DMG: WriteRequestMessage = - [1663147558.231749][37702:37702] CHIP:DMG: { - [1663147558.231753][37702:37702] CHIP:DMG: suppressResponse = false, - [1663147558.231757][37702:37702] CHIP:DMG: timedRequest = false, - [1663147558.231760][37702:37702] CHIP:DMG: AttributeDataIBs = - [1663147558.231765][37702:37702] CHIP:DMG: [ - [1663147558.231767][37702:37702] CHIP:DMG: AttributeDataIB = - [1663147558.231771][37702:37702] CHIP:DMG: { - [1663147558.231773][37702:37702] CHIP:DMG: AttributePathIB = - [1663147558.231777][37702:37702] CHIP:DMG: { - [1663147558.231781][37702:37702] CHIP:DMG: Endpoint = 0x1, - [1663147558.231784][37702:37702] CHIP:DMG: Cluster = 0x8, - [1663147558.231789][37702:37702] CHIP:DMG: Attribute = 0x0000_0010, - [1663147558.231792][37702:37702] CHIP:DMG: } - [1663147558.231795][37702:37702] CHIP:DMG: - [1663147558.231798][37702:37702] CHIP:DMG: Data = 5, - [1663147558.231801][37702:37702] CHIP:DMG: }, - [1663147558.231805][37702:37702] CHIP:DMG: - [1663147558.231809][37702:37702] CHIP:DMG: ], - [1663147558.231813][37702:37702] CHIP:DMG: - [1663147558.231816][37702:37702] CHIP:DMG: moreChunkedMessages = false, - [1663147558.231820][37702:37702] CHIP:DMG: InteractionModelRevision = 1 - [1663147558.231822][37702:37702] CHIP:DMG: }, - [1663147558.231844][37702:37702] CHIP:DMG: IM WH moving to [AddStatus] - - ./chip-tool levelcontrol write on-transition-time 5 1 1 - Verify DUT(chip-tool) receives on-transition-time attribute response on the TH(all-clusters-minimal-app) Log: - [1663147582.702165][37702:37702] CHIP:IM: Received Write request - [1663147582.702168][37702:37702] CHIP:DMG: IM WH moving to [Initialized] - [1663147582.702179][37702:37702] CHIP:DMG: WriteRequestMessage = - [1663147582.702182][37702:37702] CHIP:DMG: { - [1663147582.702185][37702:37702] CHIP:DMG: suppressResponse = false, - [1663147582.702188][37702:37702] CHIP:DMG: timedRequest = false, - [1663147582.702191][37702:37702] CHIP:DMG: AttributeDataIBs = - [1663147582.702196][37702:37702] CHIP:DMG: [ - [1663147582.702199][37702:37702] CHIP:DMG: AttributeDataIB = - [1663147582.702202][37702:37702] CHIP:DMG: { - [1663147582.702205][37702:37702] CHIP:DMG: AttributePathIB = - [1663147582.702209][37702:37702] CHIP:DMG: { - [1663147582.702212][37702:37702] CHIP:DMG: Endpoint = 0x1, - [1663147582.702216][37702:37702] CHIP:DMG: Cluster = 0x8, - [1663147582.702219][37702:37702] CHIP:DMG: Attribute = 0x0000_0012, - [1663147582.702222][37702:37702] CHIP:DMG: } - [1663147582.702226][37702:37702] CHIP:DMG: - [1663147582.702230][37702:37702] CHIP:DMG: Data = 5, - [1663147582.702233][37702:37702] CHIP:DMG: }, - [1663147582.702236][37702:37702] CHIP:DMG: - [1663147582.702239][37702:37702] CHIP:DMG: ], - [1663147582.702243][37702:37702] CHIP:DMG: - [1663147582.702246][37702:37702] CHIP:DMG: moreChunkedMessages = false, - [1663147582.702248][37702:37702] CHIP:DMG: InteractionModelRevision = 1 - [1663147582.702252][37702:37702] CHIP:DMG: }, - [1663147582.702271][37702:37702] CHIP:DMG: IM WH moving to [AddStatus] - - ./chip-tool levelcontrol write off-transition-time 5 1 1 - Verify DUT(chip-tool) receives off-transition-time attribute response on the TH(all-clusters-minimal-app) Log: - [1663147605.317885][37702:37702] CHIP:IM: Received Write request - [1663147605.317891][37702:37702] CHIP:DMG: IM WH moving to [Initialized] - [1663147605.317910][37702:37702] CHIP:DMG: WriteRequestMessage = - [1663147605.317915][37702:37702] CHIP:DMG: { - [1663147605.317920][37702:37702] CHIP:DMG: suppressResponse = false, - [1663147605.317925][37702:37702] CHIP:DMG: timedRequest = false, - [1663147605.317930][37702:37702] CHIP:DMG: AttributeDataIBs = - [1663147605.317936][37702:37702] CHIP:DMG: [ - [1663147605.317941][37702:37702] CHIP:DMG: AttributeDataIB = - [1663147605.317945][37702:37702] CHIP:DMG: { - [1663147605.317950][37702:37702] CHIP:DMG: AttributePathIB = - [1663147605.317956][37702:37702] CHIP:DMG: { - [1663147605.317962][37702:37702] CHIP:DMG: Endpoint = 0x1, - [1663147605.317968][37702:37702] CHIP:DMG: Cluster = 0x8, - [1663147605.317973][37702:37702] CHIP:DMG: Attribute = 0x0000_0013, - [1663147605.317978][37702:37702] CHIP:DMG: } - [1663147605.317985][37702:37702] CHIP:DMG: - [1663147605.317990][37702:37702] CHIP:DMG: Data = 5, - [1663147605.317996][37702:37702] CHIP:DMG: }, - [1663147605.318002][37702:37702] CHIP:DMG: - [1663147605.318007][37702:37702] CHIP:DMG: ], - [1663147605.318014][37702:37702] CHIP:DMG: - [1663147605.318018][37702:37702] CHIP:DMG: moreChunkedMessages = false, - [1663147605.318024][37702:37702] CHIP:DMG: InteractionModelRevision = 1 - [1663147605.318028][37702:37702] CHIP:DMG: }, - [1663147605.318058][37702:37702] CHIP:DMG: IM WH moving to [AddStatus] - - ./chip-tool levelcontrol write default-move-rate 5 1 1 - Verify DUT(chip-tool) receives default-move-rate attribute response on the TH(all-clusters-minimal-app) Log: - [1663147644.857538][37702:37702] CHIP:IM: Received Write request - [1663147644.857541][37702:37702] CHIP:DMG: IM WH moving to [Initialized] - [1663147644.857552][37702:37702] CHIP:DMG: WriteRequestMessage = - [1663147644.857555][37702:37702] CHIP:DMG: { - [1663147644.857557][37702:37702] CHIP:DMG: suppressResponse = false, - [1663147644.857560][37702:37702] CHIP:DMG: timedRequest = false, - [1663147644.857562][37702:37702] CHIP:DMG: AttributeDataIBs = - [1663147644.857566][37702:37702] CHIP:DMG: [ - [1663147644.857568][37702:37702] CHIP:DMG: AttributeDataIB = - [1663147644.857571][37702:37702] CHIP:DMG: { - [1663147644.857574][37702:37702] CHIP:DMG: AttributePathIB = - [1663147644.857577][37702:37702] CHIP:DMG: { - [1663147644.857580][37702:37702] CHIP:DMG: Endpoint = 0x1, - [1663147644.857582][37702:37702] CHIP:DMG: Cluster = 0x8, - [1663147644.857585][37702:37702] CHIP:DMG: Attribute = 0x0000_0014, - [1663147644.857587][37702:37702] CHIP:DMG: } - [1663147644.857591][37702:37702] CHIP:DMG: - [1663147644.857594][37702:37702] CHIP:DMG: Data = 5, - [1663147644.857596][37702:37702] CHIP:DMG: }, - [1663147644.857601][37702:37702] CHIP:DMG: - [1663147644.857603][37702:37702] CHIP:DMG: ], - [1663147644.857606][37702:37702] CHIP:DMG: - [1663147644.857609][37702:37702] CHIP:DMG: moreChunkedMessages = false, - [1663147644.857611][37702:37702] CHIP:DMG: InteractionModelRevision = 1 - [1663147644.857613][37702:37702] CHIP:DMG: }, - [1663147644.857629][37702:37702] CHIP:DMG: IM WH moving to [AddStatus] - - ./chip-tool levelcontrol write start-up-current-level 5 1 1 - Verify DUT(chip-tool) receives start-up-current-level attribute response on the TH(all-clusters-minimal-app) Log: - [1663147665.149448][37702:37702] CHIP:IM: Received Write request - [1663147665.149453][37702:37702] CHIP:DMG: IM WH moving to [Initialized] - [1663147665.149474][37702:37702] CHIP:DMG: WriteRequestMessage = - [1663147665.149480][37702:37702] CHIP:DMG: { - [1663147665.149486][37702:37702] CHIP:DMG: suppressResponse = false, - [1663147665.149492][37702:37702] CHIP:DMG: timedRequest = false, - [1663147665.149497][37702:37702] CHIP:DMG: AttributeDataIBs = - [1663147665.149506][37702:37702] CHIP:DMG: [ - [1663147665.149511][37702:37702] CHIP:DMG: AttributeDataIB = - [1663147665.149520][37702:37702] CHIP:DMG: { - [1663147665.149525][37702:37702] CHIP:DMG: AttributePathIB = - [1663147665.149532][37702:37702] CHIP:DMG: { - [1663147665.149539][37702:37702] CHIP:DMG: Endpoint = 0x1, - [1663147665.149545][37702:37702] CHIP:DMG: Cluster = 0x8, - [1663147665.149552][37702:37702] CHIP:DMG: Attribute = 0x0000_4000, - [1663147665.149558][37702:37702] CHIP:DMG: } - [1663147665.149565][37702:37702] CHIP:DMG: - [1663147665.149572][37702:37702] CHIP:DMG: Data = 5, - [1663147665.149578][37702:37702] CHIP:DMG: }, - [1663147665.149586][37702:37702] CHIP:DMG: - [1663147665.149590][37702:37702] CHIP:DMG: ], - [1663147665.149598][37702:37702] CHIP:DMG: - [1663147665.149604][37702:37702] CHIP:DMG: moreChunkedMessages = false, - [1663147665.149609][37702:37702] CHIP:DMG: InteractionModelRevision = 1 - [1663147665.149614][37702:37702] CHIP:DMG: }, - [1663147665.149652][37702:37702] CHIP:DMG: IM WH moving to [AddStatus] - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_SKIP_SAMPLE_APP - arguments: - values: - - name: "message" - value: "Enter 'y' after success" - - name: "expectedValue" - value: "y" diff --git a/zzz_generated/placeholder/app1/zap-generated/test/Commands.h b/zzz_generated/placeholder/app1/zap-generated/test/Commands.h index 95f1a0850a48e4..2c689ce70fe83b 100644 --- a/zzz_generated/placeholder/app1/zap-generated/test/Commands.h +++ b/zzz_generated/placeholder/app1/zap-generated/test/Commands.h @@ -1634,188 +1634,6 @@ class Test_TC_DGTHREAD_3_4_SimulatedSuite : public TestCommand } }; -class Test_TC_LVL_2_3_SimulatedSuite : public TestCommand -{ -public: - Test_TC_LVL_2_3_SimulatedSuite() : TestCommand("Test_TC_LVL_2_3_Simulated", 24) - { - AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); - AddArgument("cluster", &mCluster); - AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); - AddArgument("timeout", 0, UINT16_MAX, &mTimeout); - } - - ~Test_TC_LVL_2_3_SimulatedSuite() {} - -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 21: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 22: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 23: - 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, "Read mandatory attribute CurrentLevel"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::CurrentLevel::Id); - } - case 1: { - LogStep(1, "Read mandatory attribute OnLevel"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::OnLevel::Id); - } - case 2: { - LogStep(2, "Read mandatory attribute Options"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::Options::Id); - } - case 3: { - LogStep(3, "Read optional attribute RemainingTime"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::RemainingTime::Id); - } - case 4: { - LogStep(4, "Read optional attribute StartUpCurrentLevel"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::StartUpCurrentLevel::Id); - } - case 5: { - LogStep(5, "Read optional attribute CurrentFrequency"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::CurrentFrequency::Id); - } - case 6: { - LogStep(6, "Read optional attribute MinFrequency"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::MinFrequency::Id); - } - case 7: { - LogStep(7, "Read optional attribute MaxFrequency"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::MaxFrequency::Id); - } - case 8: { - LogStep(8, "Read optional attribute MinLevel"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::MinLevel::Id); - } - case 9: { - LogStep(9, "Read optional attribute MaxLevel"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::MaxLevel::Id); - } - case 10: { - LogStep(10, "Read optional attribute OnOffTransitionTime"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::OnOffTransitionTime::Id); - } - case 11: { - LogStep(11, "Read optional attribute OnTransitionTime"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::OnTransitionTime::Id); - } - case 12: { - LogStep(12, "Read optional attribute OffTransitionTime"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::OffTransitionTime::Id); - } - case 13: { - LogStep(13, "Read optional attribute DefaultMoveRate"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::DefaultMoveRate::Id); - } - case 14: { - LogStep(14, "Write mandatory attribute OnLevel"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::OnLevel::Id); - } - case 15: { - LogStep(15, "Write mandatory attribute Options"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::Options::Id); - } - case 16: { - LogStep(16, "Write optional attribute OnOffTransitionTime"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::OnOffTransitionTime::Id); - } - case 17: { - LogStep(17, "Write optional attribute OnTransitionTime"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::OnTransitionTime::Id); - } - case 18: { - LogStep(18, "Write optional attribute OffTransitionTime"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::OffTransitionTime::Id); - } - case 19: { - LogStep(19, "Write optional attribute DefaultMoveRate"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::DefaultMoveRate::Id); - } - case 20: { - LogStep(20, "Write optional attribute StartUpCurrentLevel"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::StartUpCurrentLevel::Id); - } - case 21: { - LogStep(21, - "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"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Enter 'y' after successgarbage: not in length on purpose", 23); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 22: { - LogStep(22, "DUT reads all supported optional attributes from TH one at a time in a manufacturer specific order"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Enter 'y' after successgarbage: not in length on purpose", 23); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 23: { - LogStep(23, - "DUT writes a suitable value to all supported optional attributes on the TH one at a time in a manufacturer " - "specific order"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Enter 'y' after successgarbage: not in length on purpose", 23); - 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_OO_3_2_SimulatedSuite : public TestCommand { public: @@ -1955,10 +1773,6 @@ std::unique_ptr GetTestCommand(std::string testName) { return std::unique_ptr(new Test_TC_DGTHREAD_3_4_SimulatedSuite()); } - if (testName == "Test_TC_LVL_2_3_Simulated") - { - return std::unique_ptr(new Test_TC_LVL_2_3_SimulatedSuite()); - } if (testName == "Test_TC_OO_3_2_Simulated") { return std::unique_ptr(new Test_TC_OO_3_2_SimulatedSuite()); @@ -1984,6 +1798,5 @@ void PrintTestCommands() ChipLogError(chipTool, "\t* Test_TC_CC_7_5_Simulated"); ChipLogError(chipTool, "\t* Test_TC_CC_9_4_Simulated"); ChipLogError(chipTool, "\t* Test_TC_DGTHREAD_3_4_Simulated"); - ChipLogError(chipTool, "\t* Test_TC_LVL_2_3_Simulated"); ChipLogError(chipTool, "\t* Test_TC_OO_3_2_Simulated"); } diff --git a/zzz_generated/placeholder/app2/zap-generated/test/Commands.h b/zzz_generated/placeholder/app2/zap-generated/test/Commands.h index 95f1a0850a48e4..2c689ce70fe83b 100644 --- a/zzz_generated/placeholder/app2/zap-generated/test/Commands.h +++ b/zzz_generated/placeholder/app2/zap-generated/test/Commands.h @@ -1634,188 +1634,6 @@ class Test_TC_DGTHREAD_3_4_SimulatedSuite : public TestCommand } }; -class Test_TC_LVL_2_3_SimulatedSuite : public TestCommand -{ -public: - Test_TC_LVL_2_3_SimulatedSuite() : TestCommand("Test_TC_LVL_2_3_Simulated", 24) - { - AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); - AddArgument("cluster", &mCluster); - AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); - AddArgument("timeout", 0, UINT16_MAX, &mTimeout); - } - - ~Test_TC_LVL_2_3_SimulatedSuite() {} - -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 21: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 22: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 23: - 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, "Read mandatory attribute CurrentLevel"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::CurrentLevel::Id); - } - case 1: { - LogStep(1, "Read mandatory attribute OnLevel"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::OnLevel::Id); - } - case 2: { - LogStep(2, "Read mandatory attribute Options"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::Options::Id); - } - case 3: { - LogStep(3, "Read optional attribute RemainingTime"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::RemainingTime::Id); - } - case 4: { - LogStep(4, "Read optional attribute StartUpCurrentLevel"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::StartUpCurrentLevel::Id); - } - case 5: { - LogStep(5, "Read optional attribute CurrentFrequency"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::CurrentFrequency::Id); - } - case 6: { - LogStep(6, "Read optional attribute MinFrequency"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::MinFrequency::Id); - } - case 7: { - LogStep(7, "Read optional attribute MaxFrequency"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::MaxFrequency::Id); - } - case 8: { - LogStep(8, "Read optional attribute MinLevel"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::MinLevel::Id); - } - case 9: { - LogStep(9, "Read optional attribute MaxLevel"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::MaxLevel::Id); - } - case 10: { - LogStep(10, "Read optional attribute OnOffTransitionTime"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::OnOffTransitionTime::Id); - } - case 11: { - LogStep(11, "Read optional attribute OnTransitionTime"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::OnTransitionTime::Id); - } - case 12: { - LogStep(12, "Read optional attribute OffTransitionTime"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::OffTransitionTime::Id); - } - case 13: { - LogStep(13, "Read optional attribute DefaultMoveRate"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::DefaultMoveRate::Id); - } - case 14: { - LogStep(14, "Write mandatory attribute OnLevel"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::OnLevel::Id); - } - case 15: { - LogStep(15, "Write mandatory attribute Options"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::Options::Id); - } - case 16: { - LogStep(16, "Write optional attribute OnOffTransitionTime"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::OnOffTransitionTime::Id); - } - case 17: { - LogStep(17, "Write optional attribute OnTransitionTime"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::OnTransitionTime::Id); - } - case 18: { - LogStep(18, "Write optional attribute OffTransitionTime"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::OffTransitionTime::Id); - } - case 19: { - LogStep(19, "Write optional attribute DefaultMoveRate"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::DefaultMoveRate::Id); - } - case 20: { - LogStep(20, "Write optional attribute StartUpCurrentLevel"); - return WaitAttribute(GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::StartUpCurrentLevel::Id); - } - case 21: { - LogStep(21, - "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"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Enter 'y' after successgarbage: not in length on purpose", 23); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 22: { - LogStep(22, "DUT reads all supported optional attributes from TH one at a time in a manufacturer specific order"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Enter 'y' after successgarbage: not in length on purpose", 23); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 23: { - LogStep(23, - "DUT writes a suitable value to all supported optional attributes on the TH one at a time in a manufacturer " - "specific order"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Enter 'y' after successgarbage: not in length on purpose", 23); - 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_OO_3_2_SimulatedSuite : public TestCommand { public: @@ -1955,10 +1773,6 @@ std::unique_ptr GetTestCommand(std::string testName) { return std::unique_ptr(new Test_TC_DGTHREAD_3_4_SimulatedSuite()); } - if (testName == "Test_TC_LVL_2_3_Simulated") - { - return std::unique_ptr(new Test_TC_LVL_2_3_SimulatedSuite()); - } if (testName == "Test_TC_OO_3_2_Simulated") { return std::unique_ptr(new Test_TC_OO_3_2_SimulatedSuite()); @@ -1984,6 +1798,5 @@ void PrintTestCommands() ChipLogError(chipTool, "\t* Test_TC_CC_7_5_Simulated"); ChipLogError(chipTool, "\t* Test_TC_CC_9_4_Simulated"); ChipLogError(chipTool, "\t* Test_TC_DGTHREAD_3_4_Simulated"); - ChipLogError(chipTool, "\t* Test_TC_LVL_2_3_Simulated"); ChipLogError(chipTool, "\t* Test_TC_OO_3_2_Simulated"); }