diff --git a/src/app/tests/suites/certification/Test_TC_BIND_2_1.yaml b/src/app/tests/suites/certification/Test_TC_BIND_2_1.yaml index 0be1511b414bf6..e37c58ebd917e0 100644 --- a/src/app/tests/suites/certification/Test_TC_BIND_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_BIND_2_1.yaml @@ -95,7 +95,7 @@ tests: - label: "TH1 enables DUT as Controller" verification: | - verification step to be updated. + disabled: true - label: "DUT is triggered to send On command to its binding node entries" diff --git a/src/app/tests/suites/certification/Test_TC_BIND_2_2.yaml b/src/app/tests/suites/certification/Test_TC_BIND_2_2.yaml index e55907df9aaf6f..c7a463b52543b1 100644 --- a/src/app/tests/suites/certification/Test_TC_BIND_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_BIND_2_2.yaml @@ -60,7 +60,7 @@ tests: - label: "TH1 enables DUT as Controller" verification: | - verification step to be updated. + disabled: true - label: "Commission TH2 to TH1s fabric (Node ID = 2)" diff --git a/src/app/tests/suites/certification/Test_TC_BIND_2_3.yaml b/src/app/tests/suites/certification/Test_TC_BIND_2_3.yaml index 3457cdc91e536e..870f3a188ac896 100644 --- a/src/app/tests/suites/certification/Test_TC_BIND_2_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_BIND_2_3.yaml @@ -60,7 +60,7 @@ tests: - label: "TH1 enables DUT as Controller" verification: | - verification step to be updated. + disabled: true - label: "Commission TH2 to TH1s fabric (Node ID = 2)" @@ -238,7 +238,7 @@ tests: - label: "TH1 sets up group settings on DUT" verification: | - verification step to be updated. + disabled: true - label: diff --git a/src/app/tests/suites/certification/Test_TC_BINFO_2_1.yaml b/src/app/tests/suites/certification/Test_TC_BINFO_2_1.yaml index 66119c8d9b517a..bef34663834d7d 100644 --- a/src/app/tests/suites/certification/Test_TC_BINFO_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_BINFO_2_1.yaml @@ -39,6 +39,7 @@ tests: verification: | While commissioning TH Saves the CountryCode Information from SetRegulatoryConfig command + ./chip-tool pairing ble-wifi 1 GRLPrivate_EXT matter123 20202021 3840 TH END: @@ -48,6 +49,15 @@ tests: DUT END: [1641381202.306840][4431:4431] CHIP:DL: NVS set: chip-config/regulatory-location = 0 (0x0) + + After pairing, Verify the countrycode Information by reading location atrribute from TH to DUT. + ./chip-tool basic read location 1 0 + + On TH, Verify that TH reads Location from the DUT successfully, the name should be string and length is less than or equal to 2 bytes. + [1656495999.760797][2249:2254] CHIP:DMG: } + [1656495999.761084][2249:2254] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0006 DataVersion: 941124320 + [1656495999.761187][2249:2254] CHIP:TOO: Location: XX + [1656495999.761371][2249:2254] CHIP:EM: Sending Standalone Ack for MessageCounter:7663506 on exchange 28126i cluster: "LogCommands" command: "UserPrompt" PICS: PICS_USER_PROMPT diff --git a/src/app/tests/suites/certification/Test_TC_BR_4.yaml b/src/app/tests/suites/certification/Test_TC_BR_4.yaml index 0effe409a9420b..298ed854fb7598 100644 --- a/src/app/tests/suites/certification/Test_TC_BR_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_BR_4.yaml @@ -34,7 +34,6 @@ tests: 1. Test Harness simulating a bridge with some bridged devices; can use the bridge-app for this purpose 2.DUT (client and commissioner) - disabled: true - label: @@ -752,7 +751,7 @@ tests: [1659972886.386056][3652:3652] CHIP:DMG: Cluster 1d, Attribute 3 is dirty disabled: true - - label: "" + - label: "Verify DUT contains the (supported) devices from the above list" PICS: MCORE.DEVLIST.UseDevices verification: | Verify DUT contains the (supported) devices from the above list @@ -1404,7 +1403,10 @@ tests: [1659972886.386056][3652:3652] CHIP:DMG: Cluster 1d, Attribute 3 is dirty disabled: true - - label: "" + - label: + "Verify DUT has (during step 1a) read the NodeLabel attribute from the + Bridged Device Basic Information cluster on various endpoints ,Verify + DUT contains the names for the (supported) devices from the above list" PICS: MCORE.DEVLIST.UseDeviceNames verification: | NodeLabel is supported for endpoints 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 @@ -1707,7 +1709,10 @@ tests: [1659973028.617572][3652:3652] CHIP:DMG: Cluster 39, Attribute 5 is dirty disabled: true - - label: "" + - label: + "Verify DUT has read or reads OnOff attribute from the On/Off cluster + for the various endpoints containing an On/Off light ,Verify DUT + contains the state for the (supported) devices from the above list" PICS: MCORE.DEVLIST.UseDeviceState verification: | Read onoff attribute from OnOff cluster with applicable EP (refer step 1a ) @@ -1768,7 +1773,12 @@ tests: [1659973152.264922][3652:3652] CHIP:DMG: Cluster 6, Attribute 0 is dirty disabled: true - - label: "" + - label: + "Verify DUT has read or reads MeasuredValue attribute from the + Temperature Measurement cluster for the various endpoints containing a + Temperature Sensor (or receives updates because of a previously set up + subscription) ,Verify DUT contains the state for the (supported) + device from the above list" PICS: MCORE.DEVLIST.UseDeviceState verification: | ./chip-tool temperaturemeasurement read measured-value 1 4 @@ -1816,7 +1826,11 @@ tests: [1659351542.393552][12212:12217] CHIP:EM: Sending Standalone Ack for MessageCounter:120981971 on exchange 25924i disabled: true - - label: "" + - label: + "Verify DUT has read or reads BatChargeLevel attribute from the Power + Source cluster from the relevant endpoint (or receives updates because + of a previously set up subscription) ,Verify DUT contains the state of + the battery of the (supported) devices from the above list" PICS: MCORE.DEVLIST.UseBatInfo verification: | ./chip-tool powersource read bat-charge-level 1 9 @@ -1845,11 +1859,6 @@ tests: [1659973227.631262][3652:3652] CHIP:DMG: Cluster 402, Attribute 0 is dirty disabled: true - - label: "" - verification: | - verification step to be updated. - disabled: true - - label: "Use the DUT to change the on/off state of one or more of the bridged On/Off lights" @@ -1880,11 +1889,6 @@ tests: [1659973152.264922][3652:3652] CHIP:DMG: Cluster 6, Attribute 0 is dirty disabled: true - - label: "" - verification: | - verification step to be updated. - disabled: true - - label: "Use TH/bridge-app to rename a bridged light (use key b in the console to bridge-app to rename Light 1 to Light 1b)" @@ -1946,7 +1950,7 @@ tests: [1659973028.617572][3652:3652] CHIP:DMG: Cluster 39, Attribute 5 is dirty disabled: true - - label: "" + - label: "Verify DUT contains the added device in the list of devices" PICS: MCORE.DEVLIST.UseDeviceNames verification: | Verify on DUT(chip-tool) Log @@ -2066,7 +2070,7 @@ tests: [1659972694.733520][3652:3652] CHIP:DMG: AccessControl: allowed disabled: true - - label: "" + - label: "Verify DUT contains the added device in the list of devices" PICS: MCORE.DEVLIST.UseDevices verification: | Verify on DUT(chip-tool) Log diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_12.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_12.yaml index c736e2199f821e..e846b0783df6c3 100644 --- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_12.yaml +++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_12.yaml @@ -41,8 +41,7 @@ tests: - label: "DUT_CR1 starts a commissioning process with TH_CE" PICS: CADMIN.C verification: | - "1. Provision the device using your DUT controller (use above instructions) , - " + "1. Provision the TH_CE (all-cluster-app) device using DUT_CR1 (chip-tool ) on the raspi" disabled: true - label: @@ -51,29 +50,34 @@ tests: TH_CR3 Commissions with TH_CE" PICS: CADMIN.C.C00.Tx verification: | - On your first controller, open commissioning window using ECM + On DUT_CR1 send the below command + + Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers + - Below is the example is using chip tool as controller ./chip-tool pairing open-commissioning-window 1 1 300 1000 3840 - [1635874557.409509][4549:4554] CHIP:SC: Success status report received. Session was established - [1635874557.409553][4549:4554] CHIP:IN: New secure session created for device 0x0000000000000001, key 76!! - [1635874557.409649][4549:4554] CHIP:CTL: OpenCommissioningWindow for device ID 1 - [1635874557.416929][4549:4554] CHIP:DMG: ICR moving to [AddingComm] - [1635874557.417092][4549:4554] CHIP:DMG: ICR moving to [AddedComma] - [1635874557.417215][4549:4554] CHIP:IN: Prepared encrypted message 0xaaaac5947d10 to 0x0000000000000001 of type 0x8 and protocolId (0, 1) on exchange 5541i with MessageCounter:0. - [1635874557.417271][4549:4554] CHIP:IN: Sending encrypted msg 0xaaaac5947d10 with MessageCounter:0 to 0x0000000000000001 at monotonic time: 16129075 msec + + Verify the Open commisioning window on the TH_CE(all-cluster-app) Log: + + [1660904553.796857][3537:3537] CHIP:DMG: Received command for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0000 + [1660904553.796951][3537:3537] CHIP:ZCL: Received command to open commissioning window + [1660904553.797255][3537:3537] CHIP:IN: SecureSession[0xaaab142ef7f0]: Allocated Type:1 LSID:34523 + + Verify Manual pairing code on DUT_CR1(chip-tool) Log + + 0x0000000000000001 at monotonic time: 16129075 msec [1635874557.417449][4549:4554] CHIP:DMG: ICR moving to [CommandSen] [1635874557.417505][4549:4554] CHIP:CTL: Manual pairing code: [35484132896] [1635874557.417577][4549:4554] CHIP:CTL: SetupQRCode: [MT:00000CQM00AT-F5A510] - On 3rd controller using chip tool connect using manual code + On TH_CR2 send the below command ./chip-tool pairing code 1 35484132896 --commissioner-name gamma - Verify you got below message + Verify you got below message on TH_CE(all-clusters-app) log Device commissioning completed with success disabled: true @@ -83,29 +87,26 @@ tests: TH_CR2 Commissions with TH_CE" PICS: CADMIN.C.C00.Tx verification: | - On your first controller, open commissioning window using ECM + On DUT_CR1 send the below command + + Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers + - Below is the example is using chip tool as controller ./chip-tool pairing open-commissioning-window 1 1 300 1000 3840 - [1635874557.409509][4549:4554] CHIP:SC: Success status report received. Session was established - [1635874557.409553][4549:4554] CHIP:IN: New secure session created for device 0x0000000000000001, key 76!! - [1635874557.409649][4549:4554] CHIP:CTL: OpenCommissioningWindow for device ID 1 - [1635874557.416929][4549:4554] CHIP:DMG: ICR moving to [AddingComm] - [1635874557.417092][4549:4554] CHIP:DMG: ICR moving to [AddedComma] - [1635874557.417215][4549:4554] CHIP:IN: Prepared encrypted message 0xaaaac5947d10 to 0x0000000000000001 of type 0x8 and protocolId (0, 1) on exchange 5541i with MessageCounter:0. - [1635874557.417271][4549:4554] CHIP:IN: Sending encrypted msg 0xaaaac5947d10 with MessageCounter:0 to 0x0000000000000001 at monotonic time: 16129075 msec + Verify Manual pairing code on TH_CR2(chip-tool) Log + + 0x0000000000000001 at monotonic time: 16129075 msec [1635874557.417449][4549:4554] CHIP:DMG: ICR moving to [CommandSen] [1635874557.417505][4549:4554] CHIP:CTL: Manual pairing code: [35484132896] [1635874557.417577][4549:4554] CHIP:CTL: SetupQRCode: [MT:00000CQM00AT-F5A510] - On 2nd controller using chip tool connect using manual code ./chip-tool pairing code 2 35484132896 --commissioner-name beta - Verify you got below message + Verify you got below message on TH1(all-clusters-app) log Device commissioning completed with success disabled: true @@ -114,11 +115,15 @@ tests: commissioning timeout of PIXIT.CADMIN.CwDuration seconds using ECM" PICS: CADMIN.C.C00.Tx verification: | - On your first controller, open commissioning window using ECM + On DUT_CR1 send the below command + + Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers + - Below is the example is using chip tool as controller ./chip-tool pairing open-commissioning-window 1 1 300 1000 3840 + Verify Manual pairing code on DUT_CR1(CHIP-TOOL) Log + [1635874557.409509][4549:4554] CHIP:SC: Success status report received. Session was established [1635874557.409553][4549:4554] CHIP:IN: New secure session created for device 0x0000000000000001, key 76!! [1635874557.409649][4549:4554] CHIP:CTL: OpenCommissioningWindow for device ID 1 @@ -137,36 +142,14 @@ tests: attribute" PICS: CADMIN.C.A0000 verification: | - On first controller read window status + On DUT_CR1 send the below command + + Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers ./chip-tool administratorcommissioning read window-status 1 0 - [1658838248.886555][9273:9278] CHIP:DMG: ReportDataMessage = - [1658838248.886599][9273:9278] CHIP:DMG: { - [1658838248.886634][9273:9278] CHIP:DMG: AttributeReportIBs = - [1658838248.886683][9273:9278] CHIP:DMG: [ - [1658838248.886722][9273:9278] CHIP:DMG: AttributeReportIB = - [1658838248.886774][9273:9278] CHIP:DMG: { - [1658838248.886816][9273:9278] CHIP:DMG: AttributeDataIB = - [1658838248.886872][9273:9278] CHIP:DMG: { - [1658838248.886925][9273:9278] CHIP:DMG: DataVersion = 0x906dac1f, - [1658838248.886981][9273:9278] CHIP:DMG: AttributePathIB = - [1658838248.887036][9273:9278] CHIP:DMG: { - [1658838248.887086][9273:9278] CHIP:DMG: Endpoint = 0x0, - [1658838248.887146][9273:9278] CHIP:DMG: Cluster = 0x3c, - [1658838248.887208][9273:9278] CHIP:DMG: Attribute = 0x0000_0000, - [1658838248.887256][9273:9278] CHIP:DMG: } - [1658838248.887316][9273:9278] CHIP:DMG: - [1658838248.887367][9273:9278] CHIP:DMG: Data = 1, - [1658838248.887417][9273:9278] CHIP:DMG: }, - [1658838248.887469][9273:9278] CHIP:DMG: - [1658838248.887514][9273:9278] CHIP:DMG: }, - [1658838248.887562][9273:9278] CHIP:DMG: - [1658838248.887597][9273:9278] CHIP:DMG: ], - [1658838248.887630][9273:9278] CHIP:DMG: - [1658838248.887658][9273:9278] CHIP:DMG: SuppressResponse = true, - [1658838248.887687][9273:9278] CHIP:DMG: InteractionModelRevision = 1 - [1658838248.887740][9273:9278] CHIP:DMG: } + Verify on DUT_CR1(CHIP-TOOL) log successfully reads the WindowStatus + [1658838248.887888][9273:9278] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003C Attribute 0x0000_0000 DataVersion: 2423106591 [1658838248.887959][9273:9278] CHIP:TOO: WindowStatus: 1 [1658838248.888038][9273:9278] CHIP:EM: Sending Standalone Ack for MessageCounter:253317720 on exchange 63644i @@ -179,25 +162,16 @@ tests: using ECM" PICS: CADMIN.C.C00.Tx verification: | - On your first controller, open commissioning window using ECM before the timer expiry from the above step + On DUT_CR1 send the below command + + Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers + - Below is the example is using chip tool as controller ./chip-tool pairing open-commissioning-window 1 1 300 1000 3840 - CHIP:DMG: InvokeResponseMessage = - [1650527622.373450][15824:15829] CHIP:DMG: { - [1650527622.373531][15824:15829] CHIP:DMG: suppressResponse = false, - [1650527622.373628][15824:15829] CHIP:DMG: InvokeResponseIBs = - [1650527622.373734][15824:15829] CHIP:DMG: [ - [1650527622.373817][15824:15829] CHIP:DMG: InvokeResponseIB = - [1650527622.373913][15824:15829] CHIP:DMG: { - [1650527622.374001][15824:15829] CHIP:DMG: CommandStatusIB = - [1650527622.374087][15824:15829] CHIP:DMG: { - [1650527622.374182][15824:15829] CHIP:DMG: CommandPathIB = - [1650527622.374296][15824:15829] CHIP:DMG: { - [1650527622.374382][15824:15829] CHIP:DMG: EndpointId = 0x0, - [1650527622.374490][15824:15829] CHIP:DMG: ClusterId = 0x3c, - [1650527622.374593][15824:15829] CHIP:DMG: CommandId = 0x1, + Verify that the TH_CE is rejecting the opening of second commissioning session with the response status 0x01 failure (TH (all-clusters-app) Log) + + [1650527622.374682][15824:15829] CHIP:DMG: }, [1650527622.374799][15824:15829] CHIP:DMG: [1650527622.374896][15824:15829] CHIP:DMG: StatusIB = @@ -207,22 +181,13 @@ tests: [1650527622.375320][15824:15829] CHIP:DMG: }, [1650527622.375426][15824:15829] CHIP:DMG: [1650527622.375527][15824:15829] CHIP:DMG: }, - [1650527622.375616][15824:15829] CHIP:DMG: - [1650527622.375704][15824:15829] CHIP:DMG: }, - [1650527622.375786][15824:15829] CHIP:DMG: - [1650527622.375864][15824:15829] CHIP:DMG: ], - [1650527622.375940][15824:15829] CHIP:DMG: - [1650527622.376000][15824:15829] CHIP:DMG: InteractionModelRevision = 1 - [1650527622.376058][15824:15829] CHIP:DMG: }, - [1650527622.376202][15824:15829] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0001 Status=0x1 - [1650527622.376278][15824:15829] CHIP:TOO: Error: IM Error 0x00000601: Cluster-specific error: 0x01 disabled: true - label: "Wait for the expiration of PIXIT.CADMIN.CwDuration seconds that was set in step 4" verification: | - verification step to be updated. + Wait for the expiration of PIXIT.CADMIN.CwDuration seconds that was set in step 4 disabled: true - label: @@ -231,27 +196,16 @@ tests: BCM" PICS: CADMIN.C.C01.Tx verification: | - On your first controller, open commissioning window using BCM + On DUT_CR1 send the below command + + Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers + - Below is the example when using chip tool as controller ./chip-tool administratorcommissioning open-basic-commissioning-window 500 1 0 --timedInteractionTimeoutMs 1000 + Verify success response On DUT_CR1(CHIP-TOOL) Log - CHIP:DMG: InvokeResponseMessage = - [1650278416.248379][11064:11069] CHIP:DMG: { - [1650278416.248436][11064:11069] CHIP:DMG: suppressResponse = false, - [1650278416.248495][11064:11069] CHIP:DMG: InvokeResponseIBs = - [1650278416.248570][11064:11069] CHIP:DMG: [ - [1650278416.248630][11064:11069] CHIP:DMG: InvokeResponseIB = - [1650278416.248718][11064:11069] CHIP:DMG: { - [1650278416.248783][11064:11069] CHIP:DMG: CommandStatusIB = - [1650278416.248860][11064:11069] CHIP:DMG: { - [1650278416.248931][11064:11069] CHIP:DMG: CommandPathIB = - [1650278416.249011][11064:11069] CHIP:DMG: { - [1650278416.249100][11064:11069] CHIP:DMG: EndpointId = 0x0, - [1650278416.249186][11064:11069] CHIP:DMG: ClusterId = 0x3c, - [1650278416.249268][11064:11069] CHIP:DMG: CommandId = 0x1, [1650278416.249347][11064:11069] CHIP:DMG: }, [1650278416.249430][11064:11069] CHIP:DMG: [1650278416.249501][11064:11069] CHIP:DMG: StatusIB = @@ -260,15 +214,6 @@ tests: [1650278416.249738][11064:11069] CHIP:DMG: }, [1650278416.249823][11064:11069] CHIP:DMG: [1650278416.249889][11064:11069] CHIP:DMG: }, - [1650278416.249969][11064:11069] CHIP:DMG: - [1650278416.250035][11064:11069] CHIP:DMG: }, - [1650278416.250113][11064:11069] CHIP:DMG: - [1650278416.250169][11064:11069] CHIP:DMG: ], - [1650278416.250241][11064:11069] CHIP:DMG: - [1650278416.250298][11064:11069] CHIP:DMG: InteractionModelRevision = 1 - [1650278416.250355][11064:11069] CHIP:DMG: }, - [1650278416.250535][11064:11069] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0001 Status=0x0 - [1650278416.250634][11064:11069] CHIP:DMG: ICR moving to [AwaitingDe] disabled: true - label: @@ -277,36 +222,15 @@ tests: attribute" PICS: CADMIN.C.A0000 verification: | - On first controller read window status + On DUT_CR1 send the below command + + Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers ./chip-tool administratorcommissioning read window-status 1 0 - [1658838248.886555][9273:9278] CHIP:DMG: ReportDataMessage = - [1658838248.886599][9273:9278] CHIP:DMG: { - [1658838248.886634][9273:9278] CHIP:DMG: AttributeReportIBs = - [1658838248.886683][9273:9278] CHIP:DMG: [ - [1658838248.886722][9273:9278] CHIP:DMG: AttributeReportIB = - [1658838248.886774][9273:9278] CHIP:DMG: { - [1658838248.886816][9273:9278] CHIP:DMG: AttributeDataIB = - [1658838248.886872][9273:9278] CHIP:DMG: { - [1658838248.886925][9273:9278] CHIP:DMG: DataVersion = 0x906dac1f, - [1658838248.886981][9273:9278] CHIP:DMG: AttributePathIB = - [1658838248.887036][9273:9278] CHIP:DMG: { - [1658838248.887086][9273:9278] CHIP:DMG: Endpoint = 0x0, - [1658838248.887146][9273:9278] CHIP:DMG: Cluster = 0x3c, - [1658838248.887208][9273:9278] CHIP:DMG: Attribute = 0x0000_0000, - [1658838248.887256][9273:9278] CHIP:DMG: } - [1658838248.887316][9273:9278] CHIP:DMG: - [1658838248.887367][9273:9278] CHIP:DMG: Data = 1, - [1658838248.887417][9273:9278] CHIP:DMG: }, - [1658838248.887469][9273:9278] CHIP:DMG: - [1658838248.887514][9273:9278] CHIP:DMG: }, - [1658838248.887562][9273:9278] CHIP:DMG: - [1658838248.887597][9273:9278] CHIP:DMG: ], - [1658838248.887630][9273:9278] CHIP:DMG: - [1658838248.887658][9273:9278] CHIP:DMG: SuppressResponse = true, - [1658838248.887687][9273:9278] CHIP:DMG: InteractionModelRevision = 1 - [1658838248.887740][9273:9278] CHIP:DMG: } + Verify on DUT_CR1(CHIP-TOOL) log successfully reads the WindowStatus + + [1658838248.887888][9273:9278] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003C Attribute 0x0000_0000 DataVersion: 2423106591 [1658838248.887959][9273:9278] CHIP:TOO: WindowStatus: 1 [1658838248.888038][9273:9278] CHIP:EM: Sending Standalone Ack for MessageCounter:253317720 on exchange 63644i @@ -319,49 +243,28 @@ tests: using BCM" PICS: CADMIN.C.C01.Tx verification: | - On third controller open commissioning window verify status code 1 + On TH_CR3 send the below command + + Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers + ./chip-tool administratorcommissioning open-basic-commissioning-window 500 3 0 --timedInteractionTimeoutMs 1000 --commissioner-name gamma - [1658838344.191922][9291:9296] CHIP:DMG: InvokeResponseMessage = - [1658838344.191947][9291:9296] CHIP:DMG: { - [1658838344.191971][9291:9296] CHIP:DMG: suppressResponse = false, - [1658838344.192003][9291:9296] CHIP:DMG: InvokeResponseIBs = - [1658838344.192035][9291:9296] CHIP:DMG: [ - [1658838344.192059][9291:9296] CHIP:DMG: InvokeResponseIB = - [1658838344.192091][9291:9296] CHIP:DMG: { - [1658838344.192116][9291:9296] CHIP:DMG: CommandStatusIB = - [1658838344.192149][9291:9296] CHIP:DMG: { - [1658838344.192181][9291:9296] CHIP:DMG: CommandPathIB = - [1658838344.192212][9291:9296] CHIP:DMG: { - [1658838344.192251][9291:9296] CHIP:DMG: EndpointId = 0x0, - [1658838344.192290][9291:9296] CHIP:DMG: ClusterId = 0x3c, - [1658838344.192328][9291:9296] CHIP:DMG: CommandId = 0x1, - [1658838344.192364][9291:9296] CHIP:DMG: }, - [1658838344.192401][9291:9296] CHIP:DMG: + Verify that the TH_CE is rejecting the opening of second commissioning session with the response status 0x01 failure (TH (all-clusters-app) Log) + [1658838344.192430][9291:9296] CHIP:DMG: StatusIB = [1658838344.192461][9291:9296] CHIP:DMG: { [1658838344.192500][9291:9296] CHIP:DMG: status = 0x01 (FAILURE), [1658838344.192538][9291:9296] CHIP:DMG: cluster-status = 0x1, [1658838344.192574][9291:9296] CHIP:DMG: }, [1658838344.192611][9291:9296] CHIP:DMG: - [1658838344.192640][9291:9296] CHIP:DMG: }, - [1658838344.192673][9291:9296] CHIP:DMG: - [1658838344.192698][9291:9296] CHIP:DMG: }, - [1658838344.192728][9291:9296] CHIP:DMG: - [1658838344.192752][9291:9296] CHIP:DMG: ], - [1658838344.192782][9291:9296] CHIP:DMG: - [1658838344.192805][9291:9296] CHIP:DMG: InteractionModelRevision = 1 - [1658838344.192828][9291:9296] CHIP:DMG: }, - [1658838344.192887][9291:9296] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0001 Status=0x1 - [1658838344.192922][9291:9296] CHIP:TOO: Error: IM Error 0x00000601: Cluster-specific error: 0x01 disabled: true - label: "Wait for the expiration of PIXIT.CADMIN.CwDuration seconds that was set in step 8" verification: | - verification step to be updated. + Wait for the expiration of PIXIT.CADMIN.CwDuration seconds that was set in step 8 disabled: true - label: @@ -369,25 +272,15 @@ tests: commissioning timeout of PIXIT.CADMIN.CwDuration seconds using BCM" PICS: CADMIN.C.C01.Tx verification: | - On your first controller, open commissioning window using BCM + On DUT_CR1 send the below command + + Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers - Below is the example when using chip tool as controller ./chip-tool administratorcommissioning open-basic-commissioning-window 500 2 0 --timedInteractionTimeoutMs 1000 - CHIP:DMG: InvokeResponseMessage = - [1650278416.248379][11064:11069] CHIP:DMG: { - [1650278416.248436][11064:11069] CHIP:DMG: suppressResponse = false, - [1650278416.248495][11064:11069] CHIP:DMG: InvokeResponseIBs = - [1650278416.248570][11064:11069] CHIP:DMG: [ - [1650278416.248630][11064:11069] CHIP:DMG: InvokeResponseIB = - [1650278416.248718][11064:11069] CHIP:DMG: { - [1650278416.248783][11064:11069] CHIP:DMG: CommandStatusIB = - [1650278416.248860][11064:11069] CHIP:DMG: { - [1650278416.248931][11064:11069] CHIP:DMG: CommandPathIB = - [1650278416.249011][11064:11069] CHIP:DMG: { - [1650278416.249100][11064:11069] CHIP:DMG: EndpointId = 0x0, - [1650278416.249186][11064:11069] CHIP:DMG: ClusterId = 0x3c, - [1650278416.249268][11064:11069] CHIP:DMG: CommandId = 0x1, + Verify success response On DUT_CR1(CHIP-TOOL) Log + + [1650278416.249347][11064:11069] CHIP:DMG: }, [1650278416.249430][11064:11069] CHIP:DMG: [1650278416.249501][11064:11069] CHIP:DMG: StatusIB = @@ -396,15 +289,6 @@ tests: [1650278416.249738][11064:11069] CHIP:DMG: }, [1650278416.249823][11064:11069] CHIP:DMG: [1650278416.249889][11064:11069] CHIP:DMG: }, - [1650278416.249969][11064:11069] CHIP:DMG: - [1650278416.250035][11064:11069] CHIP:DMG: }, - [1650278416.250113][11064:11069] CHIP:DMG: - [1650278416.250169][11064:11069] CHIP:DMG: ], - [1650278416.250241][11064:11069] CHIP:DMG: - [1650278416.250298][11064:11069] CHIP:DMG: InteractionModelRevision = 1 - [1650278416.250355][11064:11069] CHIP:DMG: }, - [1650278416.250535][11064:11069] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0001 Status=0x0 - [1650278416.250634][11064:11069] CHIP:DMG: ICR moving to [AwaitingDe] disabled: true - label: @@ -414,27 +298,15 @@ tests: seconds using BCM" PICS: CADMIN.C.C01.Tx verification: | - On the 2nd controller using chip tool, open commissioning window using BCM before the timer expiry from above step - - ./chip-tool administratorcommissioning open-basic-commissioning-window 500 2 0 --timedInteractionTimeoutMs 1000 --commissioner-name beta + On TH_CR2 send the below command + Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers + ./chip-tool administratorcommissioning open-basic-commissioning-window 500 2 0 --timedInteractionTimeoutMs 1000 --commissioner-name beta + Verify that the TH_CE is rejecting the opening of second commissioning session with the response status 0x01 failure (TH (all-clusters-app) Log) - CHIP:DMG: InvokeResponseMessage = - [1650527622.373450][15824:15829] CHIP:DMG: { - [1650527622.373531][15824:15829] CHIP:DMG: suppressResponse = false, - [1650527622.373628][15824:15829] CHIP:DMG: InvokeResponseIBs = - [1650527622.373734][15824:15829] CHIP:DMG: [ - [1650527622.373817][15824:15829] CHIP:DMG: InvokeResponseIB = - [1650527622.373913][15824:15829] CHIP:DMG: { - [1650527622.374001][15824:15829] CHIP:DMG: CommandStatusIB = - [1650527622.374087][15824:15829] CHIP:DMG: { - [1650527622.374182][15824:15829] CHIP:DMG: CommandPathIB = - [1650527622.374296][15824:15829] CHIP:DMG: { - [1650527622.374382][15824:15829] CHIP:DMG: EndpointId = 0x0, - [1650527622.374490][15824:15829] CHIP:DMG: ClusterId = 0x3c, - [1650527622.374593][15824:15829] CHIP:DMG: CommandId = 0x1, + , [1650527622.374682][15824:15829] CHIP:DMG: }, [1650527622.374799][15824:15829] CHIP:DMG: [1650527622.374896][15824:15829] CHIP:DMG: StatusIB = @@ -444,24 +316,18 @@ tests: [1650527622.375320][15824:15829] CHIP:DMG: }, [1650527622.375426][15824:15829] CHIP:DMG: [1650527622.375527][15824:15829] CHIP:DMG: }, - [1650527622.375616][15824:15829] CHIP:DMG: - [1650527622.375704][15824:15829] CHIP:DMG: }, - [1650527622.375786][15824:15829] CHIP:DMG: - [1650527622.375864][15824:15829] CHIP:DMG: ], - [1650527622.375940][15824:15829] CHIP:DMG: - [1650527622.376000][15824:15829] CHIP:DMG: InteractionModelRevision = 1 - [1650527622.376058][15824:15829] CHIP:DMG: }, - [1650527622.376202][15824:15829] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0001 Status=0x1 - [1650527622.376278][15824:15829] CHIP:TOO: Error: IM Error 0x00000601: Cluster-specific error: 0x01 disabled: true - label: "DUT_CR1 sends command to TH_CE to read WindowStatus attribute" PICS: CADMIN.C.A0000 verification: | - On first controller read window status + On DUT_CR1 send the below command + + Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers ./chip-tool administratorcommissioning read window-status 1 0 + Verify on DUT_CR1(CHIP-TOOL) log successfully reads the WindowStatus [1658838248.887888][9273:9278] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003C Attribute 0x0000_0000 DataVersion: 2423106591 [1658838248.887959][9273:9278] CHIP:TOO: WindowStatus: 1 @@ -471,10 +337,14 @@ tests: - label: "DUT_CR1 sends command to TH_CE to read AdminFabricIndex attribute" PICS: CADMIN.C.A0001 verification: | - On first controller read AdminFabricIndex + On DUT_CR1 send the below command + + Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers ./chip-tool administratorcommissioning read admin-fabric-index 1 0 + Verify on DUT_CR1(CHIP-TOOL) log successfully reads the AdminFabricIndex + [1658838491.852418][9309:9314] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003C Attribute 0x0000_0001 DataVersion: 2423106591 [1658838491.852516][9309:9314] CHIP:TOO: AdminFabricIndex: 1 [1658838491.852595][9309:9314] CHIP:EM: Sending Standalone Ack for MessageCounter:72459812 on exchange 35132i @@ -483,10 +353,14 @@ tests: - label: "DUT_CR1 sends command to TH_CE to read AdminVendorId attribute" PICS: CADMIN.C.A0002 verification: | - On first controller read AdminVendorId + On DUT_CR1 send the below command + + Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers ./chip-tool administratorcommissioning read admin-vendor-id 1 0 + Verify on DUT_CR1(CHIP-TOOL) log successfully reads the AdminVendorId + [1658838521.588942][9317:9322] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003C Attribute 0x0000_0002 DataVersion: 2423106591 [1658838521.589005][9317:9322] CHIP:TOO: AdminVendorId: 0 [1658838521.589079][9317:9322] CHIP:EM: Sending Standalone Ack for MessageCounter:217165763 on exchange 55683i diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_17.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_17.yaml index fecdf6fc80af4d..1ba1ab6e992c8b 100644 --- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_17.yaml +++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_17.yaml @@ -300,13 +300,13 @@ tests: commissioning timeout of PIXIT.CADMIN.CwDuration seconds using ECM" PICS: CADMIN.C.C00.Tx verification: | - On first controller chip tool, open commissioning window using ECM + On DUT_CR1 (chip tool) , open commissioning window using ECM - Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers + Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers ./chip-tool pairing open-commissioning-window 1 1 300 1000 3840 - Verify Manual pairing code on TH1(all-clusters-app) Log + Verify Manual pairing code on DUT_CR1(chip-tool) Log [1635925713.966786][9695:9700] CHIP:SC: Success status report received. Session was established @@ -327,7 +327,7 @@ tests: verification: | On TH_CR2 using chip tool connect to the accessory - Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers + Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers ./chip-tool pairing code 1 36217551633 --commissioner-name beta @@ -342,7 +342,7 @@ tests: verification: | On TH_CR2 , read fabrics list - Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers + Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers ./chip-tool operationalcredentials read fabrics 1234 0 --fabric-filtered 0 --commissioner-name beta diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_2.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_2.yaml index 7696714ea2df48..2ee488565564ac 100644 --- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_2.yaml @@ -286,14 +286,15 @@ tests: Information Clusters NodeLabel mandatory attribute" PICS: BINFO.C.A0005 verification: | - On second controller read, write attribute and then read attribute to and from TH_CE + On DUT_CR2 read, write attribute and then read attribute to and from TH_CE Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers + On DUT_CR2 send the below command ./chip-tool basic write node-label te5new 2 0 --commissioner-name beta - On TH2(all-clusters-app) Log + Verify the success response On DUT_CR2(Chip-tool) Log CHIP:DMG: WriteResponseMessage = @@ -326,7 +327,7 @@ tests: ./chip-tool basic read node-label 2 0 --commissioner-name beta - On TH2(all-clusters-app) Log + Verify the NodeLabel response On DUT_CR2(Chip-tool) Log CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 3061847068 diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_8.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_8.yaml index b5bec5f1454f45..242b9b19e7b367 100644 --- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_8.yaml +++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_8.yaml @@ -321,7 +321,7 @@ tests: ./chip-tool pairing onnetwork 3 20202021 --commissioner-name gamma - verify you got the following message in the TH_CR3(all-clusters-app) log + verify you got the following message in the TH_CR3(Chip-tool) log CHIP:SC: PASESession timed out while waiting for a response from the peer. Expected message type was 33 CHIP:TOO: Secure Pairing Failed diff --git a/src/app/tests/suites/certification/Test_TC_CC_2_2.yaml b/src/app/tests/suites/certification/Test_TC_CC_2_2.yaml index 1633c8b1f41e04..f39cdea4238875 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_2_2.yaml @@ -31,7 +31,7 @@ tests: - label: "Commission TH to DUT" verification: | - verification step to be updated. + disabled: true - label: "DUT reads from the TH the (0x0000) CurrentHue attribute" diff --git a/src/app/tests/suites/certification/Test_TC_CC_3_1.yaml b/src/app/tests/suites/certification/Test_TC_CC_3_1.yaml index a22b906e0b6a99..897c1a0ead771b 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_3_1.yaml @@ -21,7 +21,7 @@ config: nodeId: 0x12344321 cluster: "Color Control" endpoint: 1 - timeout: 150 + timeout: 200 tests: - label: "Wait for the commissioned device to be retrieved" @@ -135,7 +135,9 @@ tests: command: "readAttribute" attribute: "CurrentHue" response: - value: 120 + constraints: + minValue: 102 + maxValue: 120 - label: "Wait 5s" cluster: "DelayCommands" diff --git a/src/app/tests/suites/certification/Test_TC_CC_3_4.yaml b/src/app/tests/suites/certification/Test_TC_CC_3_4.yaml index eddc65458d3002..d8acbf87ed991d 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_3_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_3_4.yaml @@ -29,6 +29,15 @@ tests: For DUT as client test cases, Chip-tool command used below are an example to verify the functionality. For certification test, we expect DUT should have a capability or way to run the equivalent command. disabled: true + - label: "Precondition" + verification: | + 1. Commission DUT to TH + + 2. Set DUT OnOff to On + + 3. DUT supports CC.C.F00(HS) + disabled: true + - label: "DUT sends MoveToHue command to TH" PICS: CC.C.C00.Rsp verification: | diff --git a/src/app/tests/suites/certification/Test_TC_CC_5_1.yaml b/src/app/tests/suites/certification/Test_TC_CC_5_1.yaml index e55fd7d4fc45c2..dbcdd80a8c09d3 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_5_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_5_1.yaml @@ -189,6 +189,11 @@ tests: response: value: 0 + - label: "TH sends On command to DUT" + PICS: OO.S.C01.Rsp + cluster: "On/Off" + command: "On" + - label: "TH sends a MoveToColor command to the DUT with ColorX = 32768/0x8000 (x=0.5) (purple) ColorY = 19660/0x4CCC (y=0.3) TransitionTime = 0 diff --git a/src/app/tests/suites/certification/Test_TC_CC_6_3.yaml b/src/app/tests/suites/certification/Test_TC_CC_6_3.yaml index 7a6236647b0019..4d88f7fd6dfb7d 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_6_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_6_3.yaml @@ -244,13 +244,13 @@ tests: minValue: ColorTempPhysicalMinMiredsValue maxValue: ColorTemperatureMiredsStep3b - - label: "Wait 10s" + - label: "Wait 5s" cluster: "DelayCommands" command: "WaitForMs" arguments: values: - name: "ms" - value: 10000 + value: 5000 - label: "TH reads ColorTemperatureMireds attribute from DUT." PICS: CC.S.F04 && CC.S.A0007 && CC.S.C4c.Rsp diff --git a/src/app/tests/suites/certification/Test_TC_CC_6_4.yaml b/src/app/tests/suites/certification/Test_TC_CC_6_4.yaml index 19ec1699bb490f..734c0d62d389ba 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_6_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_6_4.yaml @@ -29,6 +29,15 @@ tests: For DUT as client test cases, Chip-tool command used below are an example to verify the functionality. For certification test, we expect DUT should have a capability or way to run the equivalent command. disabled: true + - label: "Precondition" + verification: | + 1. Commission DUT to TH + + 2. Set DUT OnOff to On + + 3. DUT supports CC.C.F04(CT) + disabled: true + - label: "* TH provides a server implementation of Color Control with F04(CT)=true and reasonable values of ColorTempPhysicalMinMireds (e.g. @@ -407,13 +416,3 @@ tests: [1659955633.976650][2718:2718] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=v [1659955633.976696][2718:2718] CHIP:DMG: AccessControl: allowed disabled: true - - - label: "" - verification: | - verification step to be updated. - disabled: true - - - label: "" - verification: | - verification step to be updated. - disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_CC_7_1.yaml b/src/app/tests/suites/certification/Test_TC_CC_7_1.yaml index 5245c74c1b6ab4..6b1fb45985681a 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_7_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_7_1.yaml @@ -21,7 +21,7 @@ config: nodeId: 0x12344321 cluster: "Color Control" endpoint: 1 - timeout: 150 + timeout: 200 tests: - label: "Wait for the commissioned device to be retrieved" diff --git a/src/app/tests/suites/certification/Test_TC_CGEN_2_2.yaml b/src/app/tests/suites/certification/Test_TC_CGEN_2_2.yaml index 1660f93e10be43..7b1c3292a7b051 100644 --- a/src/app/tests/suites/certification/Test_TC_CGEN_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_CGEN_2_2.yaml @@ -30,7 +30,7 @@ tests: numTrustedRootsOriginal" verification: | ./chip-tool operationalcredentials read trusted-root-certificates 1 0 - On TH1 verify the TrustedRootCertificates entries from DUT + On TH1 verify the TrustedRootCertificates entries from DUT and saves the number of list items as numTrustedRootsOriginal [1658482014.176273][26852:26857] CHIP:DMG: } [1658482014.176359][26852:26857] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0004 DataVersion: 527687668 @@ -45,7 +45,7 @@ tests: PICS: CGEN.S.A0001 verification: | ./chip-tool generalcommissioning read basic-commissioning-info 1 0 - On TH1 verify the BasicCommissioningInfo attribute from DUT + On TH1 verify the BasicCommissioningInfo attribute from DUT and saves the MaxCumulativeFailsafeSeconds as maxFailsafe [1658482413.950617][27013:27018] CHIP:DMG: } [1658482413.950753][27013:27018] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Attribute 0x0000_0001 DataVersion: 2195123768 @@ -63,7 +63,7 @@ tests: PICS: CGEN.S.C00.Rsp && CGEN.S.C01.Tx verification: | ./chip-tool generalcommissioning arm-fail-safe 900 1 1 0 - On TH1 verify the ArmFailSafe command from DUT + On TH1 Verify that the DUT responds with ArmFailSafeResponse with ErrorCode as "OK"(0) and DebugText argument is of type string with max length 512 or empty [1658482454.092676][27036:27041] CHIP:DMG: }, [1658482454.092739][27036:27041] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001 @@ -81,7 +81,7 @@ tests: verification: | ./chip-tool generalcommissioning read breadcrumb 1 0 - On TH1 Verify the breadcrumb attribute value + On TH1 Verify that the breadcrumb attribute value is 1 [1658482504.991161][27058:27064] CHIP:DMG: } [1658482504.991205][27058:27064] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Attribute 0x0000_0000 DataVersion: 2195123769 [1658482504.991215][27058:27064] CHIP:TOO: Breadcrumb: 1 @@ -134,7 +134,7 @@ tests: "TH1 waits for PIXIT.CGEN.FailsafeExpiryLengthSeconds to ensure the failsafe timer has expired" verification: | - The expiry length is mentioned in above step as 900 secs so wait till 900secs and proced for next step + The expiry length is mentioned in above step as 900 secs so wait till 900secs and proceed for next step disabled: true - label: @@ -142,7 +142,7 @@ tests: Operational Credentials cluster" verification: | ./chip-tool operationalcredentials read trusted-root-certificates 1 0 - On TH1 verify the TrustedRootCertificates entries from DUT + On TH1 Verify that the number of items in the returned list is numTrustedRootsOriginal [1658483361.121153][27343:27348] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0004 DataVersion: 527687668 [1658483361.121212][27343:27348] CHIP:TOO: TrustedRootCertificates: 1 entries [1658483361.121257][27343:27348] CHIP:TOO: [1]: 1530010100240201370324140018260480228127260580254D3A370624140018240701240801300941045B7F0549925832A9A1294607ADC4695EA3477D3DC9E584431F53A60FC57629C6A616814389C479D3E059D931600F62CA328087462582A350AD015B32756DDC69370A3501290118240260300414A1BBCB2500D57101023ACB4AFD7EBD4FC0487AF3300514A1BBCB2500D57101023ACB4AFD7EBD4FC0487AF318300B40E878725378AEA74A5F6CB6267CB9F7ACD0DACF26741FB24356379D850DD5F23A746281C845FD76D89E97AB188E9BF8A98047B43E3E868A5A8B8E50BAE62F116F18 @@ -154,7 +154,7 @@ tests: verification: | ./chip-tool generalcommissioning read breadcrumb 1 0 - On TH1 Verify the breadcrumb attribute value + On TH1 Verify that the breadcrumb attribute is 0 [1658483428.627422][27375:27380] CHIP:DMG: } [1658483428.627566][27375:27380] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Attribute 0x0000_0000 DataVersion: 2195123770 [1658483428.627610][27375:27380] CHIP:TOO: Breadcrumb: 0 @@ -163,11 +163,9 @@ tests: - label: "TH1 repeats steps 3 through 5" verification: | - TH1 repeats steps 3 through 5 - To repeat Step 3 please send below mentioned command ./chip-tool generalcommissioning arm-fail-safe 900 1 1 0 - On TH1 verify that TH reads ArmFailSafe command from DUT + On TH1 verify the ArmFailSafeResponse from DUT [1658482454.092676][27036:27041] CHIP:DMG: }, [1658482454.092739][27036:27041] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001 @@ -182,7 +180,7 @@ tests: To repeat Step 4 please send below mentioned command ./chip-tool generalcommissioning read breadcrumb 1 0 - On TH1 Verify that the breadcrumb attribute value + On TH1 Verify that the breadcrumb attribute value as 1 [1658482504.991161][27058:27064] CHIP:DMG: } [1658482504.991205][27058:27064] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Attribute 0x0000_0000 DataVersion: 2195123769 [1658482504.991215][27058:27064] CHIP:TOO: Breadcrumb: 1 @@ -217,7 +215,7 @@ tests: PICS: CGEN.S.C00.Rsp && CGEN.S.C01.Tx verification: | ./chip-tool generalcommissioning arm-fail-safe 0 1 1 0 - On TH1 verify the ArmFailSafeResponse with ErrorCode as "OK"(0) and DebugText argument is of type string with max length 512 or empty from DUT + On TH1 Verify that the DUT responds with ArmFailSafeResponse with ErrorCode as "OK"(0) and DebugText argument is of type string with max length 512 or empty [1658483503.637026][27397:27402] CHIP:DMG: }, [1658483503.637054][27397:27402] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001 [1658483503.637074][27397:27402] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0001 @@ -231,7 +229,6 @@ tests: - label: "Repeat steps 8 through 9" verification: | - Repeat steps 8 through 9 To repeat Step 8 please send below mentioned command ./chip-tool operationalcredentials read trusted-root-certificates 1 0 On TH1 verify the TrustedRootCertificates entries from DUT @@ -242,7 +239,7 @@ tests: To repeat Step 9 please send below mentioned command ./chip-tool generalcommissioning read breadcrumb 1 0 - On TH1 Verify the breadcrumb attribute value + On TH1 Verify the breadcrumb attribute value as 0 [1658483428.627422][27375:27380] CHIP:DMG: } [1658483428.627566][27375:27380] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Attribute 0x0000_0000 DataVersion: 2195123770 [1658483428.627610][27375:27380] CHIP:TOO: Breadcrumb: 0 @@ -269,7 +266,7 @@ tests: PICS: CGEN.S.C00.Rsp && CGEN.S.C01.Tx verification: | ./chip-tool generalcommissioning arm-fail-safe 900 1 1 0 - On TH1 verify that ArmFailSafe command from DUT + On TH1 Verify that the DUT responds with ArmFailSafeResponse with ErrorCode as BusyWithOtherAdmin(4) [1658483622.896405][27446:27451] CHIP:DMG: }, [1658483622.896466][27446:27451] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001 [1658483622.896509][27446:27451] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0001 @@ -390,7 +387,7 @@ tests: establishing a CASE connection, but DOES NOT send the CommissioningComplete command" verification: | - While pairing between DUT and TH2, On TH2 verify that the CASE establishment successful respose from DUT + While pairing between DUT and TH2, On TH2 verify that the CASE established successfully from DUT [1658483765.375804][8082:8087] CHIP:DMG: }, [1658483765.375942][8082:8087] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008 [1658483765.376024][8082:8087] CHIP:CTL: Device returned status 0 on receiving the NOC @@ -418,13 +415,21 @@ tests: cluster using a non-fabric-filtered read" verification: | ./chip-tool operationalcredentials read nocs 1 0 - On TH1 verify the nocs entries from DUT - [1658484226.587652][27658:27663] CHIP:DMG: } - [1658484226.587884][27658:27663] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0004 DataVersion: 527687672 - [1658484226.587936][27658:27663] CHIP:TOO: TrustedRootCertificates: 2 entries - [1658484226.587965][27658:27663] CHIP:TOO: [1]: 1530010100240201370324140018260480228127260580254D3A370624140018240701240801300941045B7F0549925832A9A1294607ADC4695EA3477D3DC9E584431F53A60FC57629C6A616814389C479D3E059D931600F62CA328087462582A350AD015B32756DDC69370A3501290118240260300414A1BBCB2500D57101023ACB4AFD7EBD4FC0487AF3300514A1BBCB2500D57101023ACB4AFD7EBD4FC0487AF318300B40E878725378AEA74A5F6CB6267CB9F7ACD0DACF26741FB24356379D850DD5F23A746281C845FD76D89E97AB188E9BF8A98047B43E3E868A5A8B8E50BAE62F116F18 - [1658484226.587994][27658:27663] CHIP:TOO: [2]: 1530010100240201370324140018260480228127260580254D3A370624140018240701240801300941042B0716ED651EBABF1B37198D6722B01C40B61ADBA286FA0BAEC566068BB98B1B752264B4510716473E7CD6CBFE771733254B6489BF02AF1EF9C448EA88F17629370A3501290118240260300414386906595DA80026C699034E368C4BF528F581AE300514386906595DA80026C699034E368C4BF528F581AE18300B404BFA1D1897E64C216DC7003245C5FB781B168A7BF152A4114017AFB8A19CE8271E22612CFBFCDC74DDFFE41683CE644B7E8F7DBE36833D91B5B233D853E47F0018 - [1658484226.588062][27658:27663] CHIP:EM: Sending Standalone Ack for MessageCounter:261685492 on exchange 62042i + On TH1 verify the nocs entries from DUT and Verify that the returned list matches nocs + [1658484050.459056][27576:27582] CHIP:DMG: } + [1658484050.459316][27576:27582] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0000 DataVersion: 527687672 + [1658484050.459362][27576:27582] CHIP:TOO: NOCs: 2 entries + [1658484050.459394][27576:27582] CHIP:TOO: [1]: { + [1658484050.459420][27576:27582] CHIP:TOO: Noc: 1530010101240201370324130118260480228127260580254D3A37062415012411011824070124080130094104D1FEC456CB358665A14971F896E876442C90E881FB9ED2CF54628F0DDF6298A0BBB4DCF1156F8A7CA469B9CB1EDFEA2138EF9C0EAC4111CF073A60EAF870AEB0370A3501280118240201360304020401183004149B8576578FF95883D7BCEBCD09C4708B29FC6210300514B92621DEFAD8BB81798C14070F4F90955057B41518300B405D4940E87ABE12A37EB8F32F251E8085A64BEB818B1A5954B568D22816534E8049CCF6A9D8FC65F5794A2BF8F138D2821284452DE96F27FC651014AF259C066D18 + [1658484050.459458][27576:27582] CHIP:TOO: Icac: 1530010100240201370324140018260480228127260580254D3A370624130118240701240801300941040DAF5C326E671D0956DE7D39ACD3D07EC88D668754941B689576A904A91D42B2706599463826738C42D692831A46C74D71CA58288AB5DECD6ABCDDABC81A78A7370A3501290118240260300414B92621DEFAD8BB81798C14070F4F90955057B415300514A1BBCB2500D57101023ACB4AFD7EBD4FC0487AF318300B40449C941A0F5388E41E9E598B021BDA6833C2F6CEDFF77F02D27ED431D70564289AAAACC6718C398759B1D692CEE20CF179694883A6A4740F00E30EC816AE208618 + [1658484050.459476][27576:27582] CHIP:TOO: FabricIndex: 1 + [1658484050.459488][27576:27582] CHIP:TOO: } + [1658484050.459505][27576:27582] CHIP:TOO: [2]: { + [1658484050.459517][27576:27582] CHIP:TOO: Noc: + [1658484050.459528][27576:27582] CHIP:TOO: Icac: null + [1658484050.459540][27576:27582] CHIP:TOO: FabricIndex: 2 + [1658484050.459551][27576:27582] CHIP:TOO: } + [1658484050.459609][27576:27582] CHIP:EM: Sending Standalone Ack for MessageCounter:155357005 on exchange 49985i disabled: true - label: @@ -432,7 +437,7 @@ tests: cluster using a non-fabric-filtered read" verification: | ./chip-tool operationalcredentials read fabrics 1 0 --fabric-filtered 0 - On TH1 verify the fabrics list from DUT + On TH1 verify the fabrics list from DUT and Verify that the returned list matches fabrics [1658484405.562192][27710:27716] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0001 DataVersion: 527687672 [1658484405.562321][27710:27716] CHIP:TOO: Fabrics: 2 entries [1658484405.562395][27710:27716] CHIP:TOO: [1]: { @@ -459,7 +464,7 @@ tests: Operational Credentials cluster" verification: | ./chip-tool operationalcredentials read trusted-root-certificates 1 0 - On TH1 verify the TrustedRootCertificates entries from DUT + On TH1 verify the TrustedRootCertificates entries from DUT and Verify that the returned list matches trustedroots [1658484601.144043][28501:28506] CHIP:DMG: InteractionModelRevision = 1 [1658484601.144050][28501:28506] CHIP:DMG: } [1658484601.144213][28501:28506] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0004 DataVersion: 527687672 @@ -496,6 +501,7 @@ tests: 4. ./chip-cert gen-cert --type r --subject-chip-id CACACACA00000001 --valid-from "2020-10-15 14:23:43" --lifetime 7305 --out-key Chip-Root-Key.txt --out Chip-Root-Cert.txt --out-format chip-hex 5. cat Chip-Root-Cert.txt + While adding new add-trusted-root-certificate please use the above generated new root key ./chip-tool operationalcredentials add-trusted-root-certificate 04614D01D2897082D7F85832CE00AC787A5A221A6F7B19C4202C069E3D70DDC615E5B9436919266360AC847F2FAB3EAEE3902B43812A13D18C061CC5028EADB775583DCB1008E4CEBFF810EEB2BC60FF7A3CF954C57101798443DA39E75F5FFDEA 2 0 --commissioner-name beta On TH2 verify that DUT responds with FAILSAFE_REQUIRED @@ -512,20 +518,26 @@ tests: cluster using a non-fabric-filtered read" verification: | ./chip-tool operationalcredentials read fabrics 1 0 --fabric-filtered 0 - On TH1 verify the fabrics list from DUT - [1658484969.071455][28631:28636] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0000 DataVersion: 527687672 - [1658484969.071527][28631:28636] CHIP:TOO: NOCs: 2 entries - [1658484969.071587][28631:28636] CHIP:TOO: [1]: { - [1658484969.071625][28631:28636] CHIP:TOO: Noc: 1530010101240201370324130118260480228127260580254D3A37062415012411011824070124080130094104D1FEC456CB358665A14971F896E876442C90E881FB9ED2CF54628F0DDF6298A0BBB4DCF1156F8A7CA469B9CB1EDFEA2138EF9C0EAC4111CF073A60EAF870AEB0370A3501280118240201360304020401183004149B8576578FF95883D7BCEBCD09C4708B29FC6210300514B92621DEFAD8BB81798C14070F4F90955057B41518300B405D4940E87ABE12A37EB8F32F251E8085A64BEB818B1A5954B568D22816534E8049CCF6A9D8FC65F5794A2BF8F138D2821284452DE96F27FC651014AF259C066D18 - [1658484969.071669][28631:28636] CHIP:TOO: Icac: 1530010100240201370324140018260480228127260580254D3A370624130118240701240801300941040DAF5C326E671D0956DE7D39ACD3D07EC88D668754941B689576A904A91D42B2706599463826738C42D692831A46C74D71CA58288AB5DECD6ABCDDABC81A78A7370A3501290118240260300414B92621DEFAD8BB81798C14070F4F90955057B415300514A1BBCB2500D57101023ACB4AFD7EBD4FC0487AF318300B40449C941A0F5388E41E9E598B021BDA6833C2F6CEDFF77F02D27ED431D70564289AAAACC6718C398759B1D692CEE20CF179694883A6A4740F00E30EC816AE208618 - [1658484969.071696][28631:28636] CHIP:TOO: FabricIndex: 1 - [1658484969.071712][28631:28636] CHIP:TOO: } - [1658484969.071734][28631:28636] CHIP:TOO: [2]: { - [1658484969.071750][28631:28636] CHIP:TOO: Noc: - [1658484969.071766][28631:28636] CHIP:TOO: Icac: null - [1658484969.071782][28631:28636] CHIP:TOO: FabricIndex: 2 - [1658484969.071796][28631:28636] CHIP:TOO: } - [1658484969.071889][28631:28636] CHIP:EM: Sending Standalone Ack for MessageCounter:202454119 on exchange 59946i + On TH1 verify the fabrics list from DUT and Verify that the returned list includes an additional entry for TH2 when compared to fabrics + [1658484405.562192][27710:27716] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0001 DataVersion: 527687672 + [1658484405.562321][27710:27716] CHIP:TOO: Fabrics: 2 entries + [1658484405.562395][27710:27716] CHIP:TOO: [1]: { + [1658484405.562428][27710:27716] CHIP:TOO: RootPublicKey: 045B7F0549925832A9A1294607ADC4695EA3477D3DC9E584431F53A60FC57629C6A616814389C479D3E059D931600F62CA328087462582A350AD015B32756DDC69 + [1658484405.562467][27710:27716] CHIP:TOO: VendorId: 65521 + [1658484405.562487][27710:27716] CHIP:TOO: FabricId: 1 + [1658484405.562505][27710:27716] CHIP:TOO: NodeId: 1 + [1658484405.562523][27710:27716] CHIP:TOO: Label: + [1658484405.562543][27710:27716] CHIP:TOO: FabricIndex: 1 + [1658484405.562561][27710:27716] CHIP:TOO: } + [1658484405.562594][27710:27716] CHIP:TOO: [2]: { + [1658484405.562621][27710:27716] CHIP:TOO: RootPublicKey: 042B0716ED651EBABF1B37198D6722B01C40B61ADBA286FA0BAEC566068BB98B1B752264B4510716473E7CD6CBFE771733254B6489BF02AF1EF9C448EA88F17629 + [1658484405.562643][27710:27716] CHIP:TOO: VendorId: 65521 + [1658484405.562662][27710:27716] CHIP:TOO: FabricId: 1 + [1658484405.562686][27710:27716] CHIP:TOO: NodeId: 2 + [1658484405.562735][27710:27716] CHIP:TOO: Label: + [1658484405.562753][27710:27716] CHIP:TOO: FabricIndex: 2 + [1658484405.562771][27710:27716] CHIP:TOO: } + [1658484405.562881][27710:27716] CHIP:EM: Sending Standalone Ack for MessageCounter:161805931 on exchange 9158i disabled: true - label: @@ -534,8 +546,8 @@ tests: value as 1" PICS: CGEN.S.C00.Rsp && CGEN.S.C01.Tx verification: | - ./chip-tool generalcommissioning arm-fail-safe 60 1 1 0 - On TH1 verify the ArmFailSafe command from DUT + ./chip-tool generalcommissioning arm-fail-safe 900 1 1 0 + On TH1 Verify that DUT responds with ArmFailSafeResponse with ErrorCode as "OK"(0) and DebugText argument is of type string with max length 512 or empty [1658485224.066397][28732:28737] CHIP:DMG: InteractionModelRevision = 1 [1658485224.066407][28732:28737] CHIP:DMG: }, [1658485224.066441][28732:28737] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001 @@ -553,6 +565,18 @@ tests: TH1. TH1 sends an AddTrustedRootCertificate command to the Node Operational Credentials cluster to install this new certificate" verification: | + To generate TrustedRootCertificate, need to buld chip-cert in connectedhomeip by giving below mentioned commands + 1. gn gen --check out/debug + 2. ninja -v -C out/debug chip-cert + Once build completes + 3. cd out/debug + 4. ./chip-cert gen-cert --type r --subject-chip-id CACACACA00000001 --valid-from "2020-10-15 14:23:43" --lifetime 7305 --out-key Chip-Root-Key.txt --out Chip-Root-Cert.txt --out-format chip-hex + 5. cat Chip-Root-Cert.txt + + + While adding new add-trusted-root-certificate please use the above generated new root key + + ./chip-tool operationalcredentials add-trusted-root-certificate hex:1530010828c376ebc17f21512402013703271401000000cacacaca182604ef171b2726056eb5b94c3706271401000000cacacaca182407012408013009410452c19fd9d329a738fd65722a8309fa68bcaa9ffe87d8114b802c922e5066d0b2f0573b89b38bf98fc9c424ab8ffdabcb18d42e623d82a02d0ca0c062ccadb4bc370a350129011824026030041457934de5405e9a40eacb86ee647e583141ae78f430051457934de5405e9a40eacb86ee647e583141ae78f418300b40a0b0d57bddbc7bcf44480a8b7bd0231d54ccacd68d90efb67b7aa3206adbd268725092992a0388c8e934504178613c5b932d422eed7463f38fd82aaa429b574a18 1 0 On TH1 verify that DUT responds as success @@ -570,7 +594,7 @@ tests: verification: | ./chip-tool operationalcredentials read trusted-root-certificates 1 0 - On TH1 verify the TrustedRootCertificates entries from DUT + On TH1 verify the TrustedRootCertificates entries from DUT and Verify that the number of items in the returned list is numTrustedRootsOriginal + 1 [1658485696.739931][28920:28925] CHIP:DMG: InteractionModelRevision = 1 [1658485696.739936][28920:28925] CHIP:DMG: } [1658485696.740122][28920:28925] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0004 DataVersion: 527687672 @@ -609,7 +633,7 @@ tests: Operational Credentials cluster" verification: | ./chip-tool operationalcredentials read trusted-root-certificates 1 0 - On TH1 verify that TH reads TrustedRootCertificates entries from DUT + On TH1 verify that TH reads TrustedRootCertificates entries from DUT and Verify that the number of entries in the returned list is still numTrustedRootsOriginal + 1 [1658486366.493185][29315:29320] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0004 DataVersion: 527687672 [1658486366.493236][29315:29320] CHIP:TOO: TrustedRootCertificates: 2 entries [1658486366.493266][29315:29320] CHIP:TOO: [1]: 1530010100240201370324140018260480228127260580254D3A370624140018240701240801300941045B7F0549925832A9A1294607ADC4695EA3477D3DC9E584431F53A60FC57629C6A616814389C479D3E059D931600F62CA328087462582A350AD015B32756DDC69370A3501290118240260300414A1BBCB2500D57101023ACB4AFD7EBD4FC0487AF3300514A1BBCB2500D57101023ACB4AFD7EBD4FC0487AF318300B40E878725378AEA74A5F6CB6267CB9F7ACD0DACF26741FB24356379D850DD5F23A746281C845FD76D89E97AB188E9BF8A98047B43E3E868A5A8B8E50BAE62F116F18 @@ -624,7 +648,7 @@ tests: PICS: CGEN.S.C00.Rsp && CGEN.S.C01.Tx verification: | ./chip-tool generalcommissioning arm-fail-safe 900 1 2 0 --commissioner-name beta - On TH2 verify the ArmFailSafe command from DUT + On TH2 Verify that the DUT responds with ArmFailSafeResponse with ErrorCode as BusyWithOtherAdmin [1658486289.473526][8200:8205] CHIP:DMG: InteractionModelRevision = 1 [1658486289.473563][8200:8205] CHIP:DMG: }, [1658486289.473639][8200:8205] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001 @@ -660,7 +684,7 @@ tests: PICS: CGEN.S.C00.Rsp verification: | ./chip-tool generalcommissioning arm-fail-safe 900 1 1 0 - On TH1 verify the ArmFailSafe command from DUT + On TH1 Verify that the DUT responds with ArmFailSafeResponse with ErrorCode as "OK"(0) and DebugText argument is of type string with max length 512 or empty [1658486418.024554][29343:29348] CHIP:DMG: InteractionModelRevision = 1 [1658486418.024559][29343:29348] CHIP:DMG: }, [1658486418.024588][29343:29348] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001 @@ -692,7 +716,7 @@ tests: 4. ./chip-cert gen-cert --type r --subject-chip-id CACACACA00000001 --valid-from "2020-10-15 14:23:43" --lifetime 7305 --out-key Chip-Root-Key.txt --out Chip-Root-Cert.txt --out-format chip-hex 5. cat Chip-Root-Cert.txt - + While adding new add-trusted-root-certificate please use the above generated new root key ./chip-tool operationalcredentials add-trusted-root-certificate hex:1530010828c376ebc17f21512402013703271401000000cacacaca182604ef171b2726056eb5b94c3706271401000000cacacaca182407012408013009410452c19fd9d329a738fd65722a8309fa68bcaa9ffe87d8114b802c922e5066d0b2f0573b89b38bf98fc9c424ab8ffdabcb18d42e623d82a02d0ca0c062ccadb4bc370a350129011824026030041457934de5405e9a40eacb86ee647e583141ae78f430051457934de5405e9a40eacb86ee647e583141ae78f418300b40a0b0d57bddbc7bcf44480a8b7bd0231d54ccacd68d90efb67b7aa3206adbd268725092992a0388c8e934504178613c5b932d422eed7463f38fd82aaa429b574a18 1 0 @@ -708,7 +732,7 @@ tests: Operational Credentials cluster" verification: | ./chip-tool operationalcredentials read trusted-root-certificates 1 0 - On TH1 verify the TrustedRootCertificates entries from DUT + On TH1 Verify that the number of items in the returned list is numTrustedRootsOriginal + 1 [1658487613.357548][30232:30237] CHIP:DMG: } [1658487613.358000][30232:30237] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0004 DataVersion: 527687672 @@ -734,7 +758,7 @@ tests: PICS: CGEN.S.C00.Rsp verification: | ./chip-tool generalcommissioning arm-fail-safe 900 0 1 0 - On TH1 verify the ArmFailSafe command from DUT + On TH1 Verify that the DUT responds with ArmFailSafeResponse with ErrorCode as "OK"(0) and DebugText argument is of type string with max length 512 or empty [1658487663.593485][30268:30273] CHIP:DMG: InteractionModelRevision = 1 [1658487663.593506][30268:30273] CHIP:DMG: }, @@ -762,7 +786,7 @@ tests: Operational Credentials cluster" verification: | ./chip-tool operationalcredentials read trusted-root-certificates 1 0 - On TH1 verify the TrustedRootCertificates entries from DUT + On TH1 Verify that the number of items in the returned list is numTrustedRootsOriginal [1658489869.278413][31188:31193] CHIP:DMG: } [1658489869.278997][31188:31193] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0004 DataVersion: 527687672 [1658489869.279090][31188:31193] CHIP:TOO: TrustedRootCertificates: 2 entries diff --git a/src/app/tests/suites/certification/Test_TC_CGEN_2_4.yaml b/src/app/tests/suites/certification/Test_TC_CGEN_2_4.yaml index 7c9a3cff918b98..7cfc6e6f1fb871 100644 --- a/src/app/tests/suites/certification/Test_TC_CGEN_2_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_CGEN_2_4.yaml @@ -28,7 +28,7 @@ config: tests: - label: "Start the commissioning process of TH1 on DUT" verification: | - verification step to be updated. + disabled: true - label: @@ -36,12 +36,12 @@ tests: DUT" PICS: CGEN.S.C04.Rsp && CGEN.S.C05.Tx verification: | - Not testable as the execution is in PASE session + Out of scope for V1.0 disabled: true - label: "Complete the Commission for TH1 and DUT" verification: | - verification step to be updated. + disabled: true - label: diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_11.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_11.yaml index 968242ff11c7db..c96b2cd8d500c4 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_4_11.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_4_11.yaml @@ -26,6 +26,61 @@ config: endpoint: 0 tests: + - label: "Commission TH and DUT over BLE to setup the Wi-Fi" + verification: | + All the below commands are to check the Pre-Condition note mentioned in D column. + disabled: true + + - label: + "The cluster Identifier 49 (0x0031) is present in the ServerList + attribute" + verification: | + ./chip-tool descriptor read server-list 1 0 + + Verify the "descriptor" on the TH(Chip-tool) log + + [1653478221.662178][27661:27666] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_0001 DataVersion: 1626448966 + [1653478221.662314][27661:27666] CHIP:TOO: server list: 26 entries + [1653478221.662350][27661:27666] CHIP:TOO: [1]: 3 + [1653478221.662376][27661:27666] CHIP:TOO: [2]: 4 + [1653478221.662401][27661:27666] CHIP:TOO: [3]: 29 + [1653478221.662426][27661:27666] CHIP:TOO: [4]: 30 + [1653478221.662450][27661:27666] CHIP:TOO: [5]: 31 + [1653478221.662474][27661:27666] CHIP:TOO: [6]: 40 + [1653478221.662499][27661:27666] CHIP:TOO: [7]: 42 + [1653478221.662523][27661:27666] CHIP:TOO: [8]: 43 + [1653478221.662548][27661:27666] CHIP:TOO: [9]: 44 + [1653478221.662572][27661:27666] CHIP:TOO: [10]: 45 + [1653478221.662596][27661:27666] CHIP:TOO: [11]: 46 + [1653478221.662621][27661:27666] CHIP:TOO: [12]: 47 + [1653478221.662645][27661:27666] CHIP:TOO: [13]: 48 + [1653478221.662669][27661:27666] CHIP:TOO: [14]: 49 + [1653478221.662693][27661:27666] CHIP:TOO: [15]: 50 + [1653478221.662717][27661:27666] CHIP:TOO: [16]: 51 + [1653478221.662742][27661:27666] CHIP:TOO: [17]: 52 + [1653478221.662766][27661:27666] CHIP:TOO: [18]: 53 + [1653478221.662791][27661:27666] CHIP:TOO: [19]: 54 + [1653478221.662815][27661:27666] CHIP:TOO: [20]: 55 + [1653478221.662839][27661:27666] CHIP:TOO: [21]: 60 + [1653478221.662863][27661:27666] CHIP:TOO: [22]: 62 + [1653478221.662888][27661:27666] CHIP:TOO: [23]: 63 + [1653478221.662912][27661:27666] CHIP:TOO: [24]: 64 + [1653478221.662937][27661:27666] CHIP:TOO: [25]: 65 + [1653478221.662962][27661:27666] CHIP:TOO: [26]: 1029 + disabled: true + + - label: "The FeatureMap attribute value is 1" + verification: | + ./chip-tool networkcommissioning read feature-map 1 0 + + Verify the "feature-map" on the TH(Chip-tool) log + + [1653478255.044168][27668:27673] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_FFFC DataVersion: 3424382863 + [1653478255.044240][27668:27673] CHIP:TOO: FeatureMap: 1 + [1653478255.044352][27668:27673] CHIP:EM: Sending Standalone Ack for MessageCounter:8977728 on exchange 59777i + [1653478255.044428][27668:27673] CHIP:IN: Prepared secure message 0xffffa77ed958 to 0x0000000000000001 (1) of type 0x10 and protocolId (0, 0) on exchange 5 + disabled: true + - label: "TH sends ArmFailSafe command to the DUT" verification: | ./chip-tool generalcommissioning arm-fail-safe 900 1 1 0 @@ -70,7 +125,7 @@ tests: PIXIT.CNET.WIFI_ 1ST_ACCESSPOINT _SSID and Breadcrumb field set to 1" PICS: CNET.S.C04.Rsp && CNET.S.C05.Tx verification: | - ./chip-tool networkcommissioning remove-network hex: 1 0 + ./chip-tool networkcommissioning remove-network hex: 1 0 Below is an example: @@ -123,12 +178,12 @@ tests: disabled: true - label: - "TH sends ConnectNetwork command to the DUT with NetworkID - field set to PIXIT.CNET.WIFI_ 2ND_ACCESSPOIN T_SSID - and Breadcrumb field set to 2" + "TH sends ConnectNetwork command to the DUT with NetworkID field set + to PIXIT.CNET.WIFI_ 2ND_ACCESSPOIN T_SSID and Breadcrumb field set to + 2" PICS: CNET.S.C06.Rsp verification: | - ./chip-tool networkcommissioning connect-network hex: 1 0 + ./chip-tool networkcommissioning connect-network hex: 1 0 Below is an example: @@ -150,7 +205,7 @@ tests: "TH changes its WiFi connection to PIXIT.CNET.WIFI_2ND_ACCESSPOINT_SSID" verification: | - verification step to be updated. + Make sure TH also joins the 2nd Wifi network to have a connectivity to the DUT. disabled: true - label: @@ -188,6 +243,8 @@ tests: fail-safe and is expected to cause the changes of configuration to NetworkCommissi oning cluster done so far to be reverted." verification: | + Mark as not applicable and proceed to next step + ./chip-tool generalcommissioning arm-fail-safe 0 0 1 0 Verify "ArmFailSafeResponse" on the TH(Chip-tool) Log: @@ -204,13 +261,15 @@ tests: "TH changes its WiFi connection to PIXIT.CNET.WIFI_ 1ST_ACCESSPOINT _SSID" verification: | - verification step to be updated. + Mark as not applicable and proceed to next step disabled: true - label: "TH discovers and connects to DUT on the PIXIT.CNET.WIFI_ 1ST_ACCESSPOINT _SSID operational network" verification: | + Mark as not applicable and proceed to next step + ./chip-tool networkcommissioning read networks 1 0 Verify "Networks entiries and its status" on the TH(Chip-tool) Log: @@ -224,7 +283,9 @@ tests: "TH sends ArmFailSafe command to the DUT with ExpiryLengthSeco nds set to 900" verification: | - ./chip-tool generalcommissioning arm-fail-safe 900 0 1 0 + Mark as not applicable and proceed to next step + + ./chip-tool generalcommissioning arm-fail-safe 900 0 1 0 Verify "ArmFailSafeResponse" on the TH(Chip-tool) Log: @@ -242,7 +303,9 @@ tests: and Breadcrumb field set to 1" PICS: CNET.S.C04.Rsp && CNET.S.C05.Tx verification: | - ./chip-tool networkcommissioning remove-network hex: 1 0 + Mark as not applicable and proceed to next step + + ./chip-tool networkcommissioning remove-network hex: 1 0 Below is an example: ./chip-tool networkcommissioning remove-network hex:47524C50726976617465 1 0 --Breadcrumb 1 @@ -265,7 +328,9 @@ tests: Breadcrumb field set to 1" PICS: CNET.S.C02.Rsp && CNET.S.C05.Tx verification: | - ./chip-tool networkcommissioning add-or-update-wi-fi-network-network hex: 1 0 + Mark as not applicable and proceed to next step + + ./chip-tool networkcommissioning add-or-update-wi-fi-network-network hex: 1 0 Below is an example: ./chip-tool networkcommissioning add-or-update-wi-fi-network Sbee_Moto Sunsuraj 1 0 --Breadcrumb 1 ( second network) diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_14.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_14.yaml index db445de96a72be..e8aad2ab6e3875 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_4_14.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_4_14.yaml @@ -97,6 +97,8 @@ tests: "TH sends ArmFailSafe command to the DUT with ExpiryLengthSeco nds set to 900" verification: | + ./chip-tool generalcommissioning arm-fail-safe 900 0 1 0 + The test case is not verifiable in RPI platform. As MaxNetworks value is 1 but expected is 4 ( Pre-Condition) disabled: true @@ -106,6 +108,8 @@ tests: entries as NumNetworks" PICS: CNET.S.A0001 verification: | + ./chip-tool network-commissioning read networks 1 0 + The test case is not verifiable in RPI platform. As MaxNetworks value is 1 but expected is 4 ( Pre-Condition) disabled: true @@ -123,6 +127,8 @@ tests: "TH calculates the midpoint of the network list as floor((MaxNetwor ksValue + 1)/2) and saves as Midpoint" verification: | + ./chip-tool networkcommissioning add-or-update-thread-network hex:1011101122222229 1 0 --Breadcrumb 1 + The test case is not verifiable in RPI platform. As MaxNetworks value is 1 but expected is 4 ( Pre-Condition) disabled: true @@ -131,6 +137,9 @@ tests: "TH sends ArmFailSafe command to the DUT with the ExpiryLengthSeco nds field set to 900" verification: | + ./chip-tool generalcommissioning arm-fail-safe 900 0 1 0 + + The test case is not verifiable in RPI platform. As MaxNetworks value is 1 but expected is 4 ( Pre-Condition) disabled: true @@ -142,6 +151,8 @@ tests: credentials are NOT required to be connectable." PICS: CNET.S.C02.Rsp && CNET.S.C05.Tx verification: | + ./chip-tool networkcommissioning add-or-update-thread-network hex:1011101122222229 1 0 --Breadcrumb 1 + The test case is not verifiable in RPI platform. As MaxNetworks value is 1 but expected is 4 ( Pre-Condition) disabled: true @@ -151,6 +162,8 @@ tests: as OriginalNetworkL ist" PICS: CNET.S.A0001 verification: | + ./chip-tool networkcommissioning read networks 1 0 + The test case is not verifiable in RPI platform. As MaxNetworks value is 1 but expected is 4 ( Pre-Condition) disabled: true @@ -162,6 +175,8 @@ tests: is MaxNetwo rksValue 3. Breadcrum b is 2" PICS: CNET.S.C08.Rsp && CNET.S.C05.Tx verification: | + ./chip-tool network-commissioning read networks 1 0 + The test case is not verifiable in RPI platform. As MaxNetworks value is 1 but expected is 4 ( Pre-Condition) disabled: true @@ -169,6 +184,8 @@ tests: - label: "TH reads Breadcumb attribute from the General Commissioning Cluster" verification: | + ./chip-tool generalcommissioning read breadcrumb 1 0 + The test case is not verifiable in RPI platform. As MaxNetworks value is 1 but expected is 4 ( Pre-Condition) disabled: true @@ -187,6 +204,8 @@ tests: - label: "TH reads Breadcumb attribute from the General Commissioning Cluster" verification: | + ./chip-tool generalcommissioning read breadcrumb 1 0 + The test case is not verifiable in RPI platform. As MaxNetworks value is 1 but expected is 4 ( Pre-Condition) disabled: true @@ -198,6 +217,8 @@ tests: is Midpoint 3. Breadcrum b is 2" PICS: CNET.S.C08.Rsp && CNET.S.C05.Tx verification: | + ./chip-tool networkcommissioning reorder-network hex:1011101122222229 1 0 --Breadcrumb 1 + The test case is not verifiable in RPI platform. As MaxNetworks value is 1 but expected is 4 ( Pre-Condition) disabled: true @@ -206,6 +227,8 @@ tests: "TH reads Breadcumb attribute from the General Commissioning Cluster" verification: | + ./chip-tool generalcommissioning read breadcrumb 1 0 + The test case is not verifiable in RPI platform. As MaxNetworks value is 1 but expected is 4 ( Pre-Condition) disabled: true @@ -213,6 +236,8 @@ tests: - label: "TH reads Networks attribute list from the DUT" PICS: CNET.S.A0001 verification: | + ./chip-tool network-commissioning read networks 1 0 + The test case is not verifiable in RPI platform. As MaxNetworks value is 1 but expected is 4 ( Pre-Condition) disabled: true @@ -221,6 +246,8 @@ tests: "TH sends ArmFailSafe command to the DUT with ExpiryLengthSeco nds set to 0" verification: | + ./chip-tool generalcommissioning arm-fail-safe 0 0 1 0 + The test case is not verifiable in RPI platform. As MaxNetworks value is 1 but expected is 4 ( Pre-Condition) disabled: true @@ -228,6 +255,8 @@ tests: - label: "TH reads Networks attribute list from the DUT" PICS: CNET.S.A0001 verification: | + ./chip-tool network-commissioning read networks 1 0 + The test case is not verifiable in RPI platform. As MaxNetworks value is 1 but expected is 4 ( Pre-Condition) disabled: true @@ -236,6 +265,9 @@ tests: "TH sends ArmFailSafe command to the DUT with ExpiryLengthSeco nds set to 900" verification: | + ./chip-tool generalcommissioning arm-fail-safe 900 0 1 0 + + The test case is not verifiable in RPI platform. As MaxNetworks value is 1 but expected is 4 ( Pre-Condition) disabled: true @@ -265,6 +297,8 @@ tests: - label: "TH sends the CommissioningCo mplete command to the DUT" verification: | + ./chip-tool generalcommissioning CommissioningComplete 1 0 + The test case is not verifiable in RPI platform. As MaxNetworks value is 1 but expected is 4 ( Pre-Condition) disabled: true @@ -273,6 +307,8 @@ tests: "TH sends ArmFailSafe command to the DUT with ExpiryLengthSeco nds set to 0" verification: | + ./chip-tool generalcommissioning arm-fail-safe 0 0 1 0 + The test case is not verifiable in RPI platform. As MaxNetworks value is 1 but expected is 4 ( Pre-Condition) disabled: true @@ -280,6 +316,8 @@ tests: - label: "TH reads Networks attribute list from the DUT" PICS: CNET.S.A0001 verification: | + ./chip-tool network-commissioning read networks 1 0 + The test case is not verifiable in RPI platform. As MaxNetworks value is 1 but expected is 4 ( Pre-Condition) disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_2.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_2.yaml index 1314b35ff91704..c60e429d5b53b4 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_4_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_4_2.yaml @@ -14,7 +14,8 @@ # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: - 12.4.1. [TC-CNET-4.1] [Wi-Fi] Verification for attributes check [DUT-Server] + 12.4.2. [TC-CNET-4.2] [Thread] Verification for attributes check + [DUT-Server] PICS: - CNET.S.F01 diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_22.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_22.yaml index 0d5946a130707a..7be01ff5a7fe9d 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_4_22.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_4_22.yaml @@ -28,26 +28,26 @@ config: tests: - label: "DUT supports CNET.S.F01(TH)" verification: | - verification step to be updated. + disabled: true - label: "DUT has a Network Commissioning cluster on endpoint PIXIT.CNET.ENDPOINT_THREAD with FeatureMap attribute of 2" verification: | - verification step to be updated. + disabled: true - label: "DUT is commissioned on PIXIT.CNET.THREAD_1ST_OPERATIONALDATASET" verification: | - verification step to be updated. + disabled: true - label: "TH can communicate with the DUT on PIXIT.CNET.THREAD_1ST_OPERATIONALDATASET" verification: | - verification step to be updated. + disabled: true - label: diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_5.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_5.yaml index 5ca63fec18f1fc..f74c55e8283bfa 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_4_5.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_4_5.yaml @@ -35,7 +35,7 @@ tests: "The cluster Identifier 49 (0x0031) is present in the ServerList attribute" verification: | - verification step to be updated. + disabled: true - label: "The FeatureMap attribute value is 1" diff --git a/src/app/tests/suites/certification/Test_TC_DA_1_5.yaml b/src/app/tests/suites/certification/Test_TC_DA_1_5.yaml index 717ee8f06dc1d0..19cb85a9ef2784 100644 --- a/src/app/tests/suites/certification/Test_TC_DA_1_5.yaml +++ b/src/app/tests/suites/certification/Test_TC_DA_1_5.yaml @@ -101,19 +101,21 @@ tests: CSRNonce is saved as csr_nonce_returned if present, vendor_reserved fields are saved as vendor1, vendor2 and vendor3" verification: | - verification step to be updated. disabled: true - label: "TH1 creates nocsr_tbs = nosr_elements_message || attestation_challenge" verification: | - verification step to be updated. + disabled: true - - label: "" + - label: + "if vendor_reserved fields are present in the noscr_elements_message, + TH1 verifies that attestation_challenge does not appear in any of the + vendor fields" verification: | - verification step to be updated. + disabled: true - label: diff --git a/src/app/tests/suites/certification/Test_TC_DA_1_7.yaml b/src/app/tests/suites/certification/Test_TC_DA_1_7.yaml index f0e874045bb00b..124b0f9e0134ea 100644 --- a/src/app/tests/suites/certification/Test_TC_DA_1_7.yaml +++ b/src/app/tests/suites/certification/Test_TC_DA_1_7.yaml @@ -24,9 +24,9 @@ config: endpoint: 0 tests: - - label: "Pre-Conditions TH only has official PAAs from DCL" + - label: "Pre-Conditions" verification: | - verification step to be updated. + TH only has official PAAs from DCL disabled: true - label: "Commission DUT1 to TH fabric" diff --git a/src/app/tests/suites/certification/Test_TC_DESC_2_2.yaml b/src/app/tests/suites/certification/Test_TC_DESC_2_2.yaml index 3a880dd487816d..b31816c2524a44 100644 --- a/src/app/tests/suites/certification/Test_TC_DESC_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_DESC_2_2.yaml @@ -29,6 +29,11 @@ tests: Chip-tool command used below are an example to verify the DUT as client test cases. For certification test, we expect DUT should have a capability or way to run the equivalent command. disabled: true + - label: "Pre-Conditions" + verification: | + Commission TH to DUT + disabled: true + - label: "DUT reads DeviceTypeList from TH." PICS: DESC.C.A0000 verification: | @@ -38,12 +43,23 @@ tests: verify the " device-list response" on the TH (all-cluster-app) log: - [1657095358.858070][3443:3448] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 2880250959 - [1657095358.858130][3443:3448] CHIP:TOO: device list: 1 entries - [1657095358.858213][3443:3448] CHIP:TOO: [1]: { - [1657095358.858255][3443:3448] CHIP:TOO: Type: 22 - [1657095358.858283][3443:3448] CHIP:TOO: Revision: 1 - [1657095358.858310][3443:3448] CHIP:TOO: } + [1660049876.238277][36511:36511] CHIP:IM: Received Read request + [1660049876.238408][36511:36511] CHIP:DMG: ReadRequestMessage = + [1660049876.238477][36511:36511] CHIP:DMG: { + [1660049876.238525][36511:36511] CHIP:DMG: AttributePathIBs = + [1660049876.238602][36511:36511] CHIP:DMG: [ + [1660049876.238677][36511:36511] CHIP:DMG: AttributePathIB = + [1660049876.238766][36511:36511] CHIP:DMG: { + [1660049876.238857][36511:36511] CHIP:DMG: Endpoint = 0x0, + [1660049876.238963][36511:36511] CHIP:DMG: Cluster = 0x1d, + [1660049876.239062][36511:36511] CHIP:DMG: Attribute = 0x0000_0000, + [1660049876.239156][36511:36511] CHIP:DMG: } + [1660049876.239246][36511:36511] CHIP:DMG: + [1660049876.239331][36511:36511] CHIP:DMG: ], + [1660049876.239408][36511:36511] CHIP:DMG: + [1660049876.239490][36511:36511] CHIP:DMG: isFabricFiltered = true, + [1660049876.239568][36511:36511] CHIP:DMG: InteractionModelRevision = 1 + [1660049876.239639][36511:36511] CHIP:DMG: }, disabled: true - label: "DUT reads ServerList from the TH" @@ -54,33 +70,23 @@ tests: verify the " server-list response" on the TH (all-cluster-app) log: [1657095388.496869][3451:3456] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_0001 DataVersion: 2880250959 - [1657095388.496964][3451:3456] CHIP:TOO: server list: 26 entries - [1657095388.496996][3451:3456] CHIP:TOO: [1]: 3 - [1657095388.497023][3451:3456] CHIP:TOO: [2]: 4 - [1657095388.497049][3451:3456] CHIP:TOO: [3]: 29 - [1657095388.497074][3451:3456] CHIP:TOO: [4]: 30 - [1657095388.497098][3451:3456] CHIP:TOO: [5]: 31 - [1657095388.497123][3451:3456] CHIP:TOO: [6]: 40 - [1657095388.497147][3451:3456] CHIP:TOO: [7]: 42 - [1657095388.497172][3451:3456] CHIP:TOO: [8]: 43 - [1657095388.497197][3451:3456] CHIP:TOO: [9]: 44 - [1657095388.497221][3451:3456] CHIP:TOO: [10]: 45 - [1657095388.497246][3451:3456] CHIP:TOO: [11]: 46 - [1657095388.497271][3451:3456] CHIP:TOO: [12]: 47 - [1657095388.497295][3451:3456] CHIP:TOO: [13]: 48 - [1657095388.497320][3451:3456] CHIP:TOO: [14]: 49 - [1657095388.497344][3451:3456] CHIP:TOO: [15]: 50 - [1657095388.497369][3451:3456] CHIP:TOO: [16]: 51 - [1657095388.497394][3451:3456] CHIP:TOO: [17]: 52 - [1657095388.497418][3451:3456] CHIP:TOO: [18]: 53 - [1657095388.497443][3451:3456] CHIP:TOO: [19]: 54 - [1657095388.497468][3451:3456] CHIP:TOO: [20]: 55 - [1657095388.497493][3451:3456] CHIP:TOO: [21]: 60 - [1657095388.497517][3451:3456] CHIP:TOO: [22]: 62 - [1657095388.497542][3451:3456] CHIP:TOO: [23]: 63 - [1657095388.497567][3451:3456] CHIP:TOO: [24]: 64 - [1657095388.497591][3451:3456] CHIP:TOO: [25]: 65 - [1657095388.497616][3451:3456] CHIP:TOO: [26]: 1029 + [1660049905.629940][36511:36511] CHIP:IM: Received Read request + [1660049905.630388][36511:36511] CHIP:DMG: ReadRequestMessage = + [1660049905.630834][36511:36511] CHIP:DMG: { + [1660049905.631175][36511:36511] CHIP:DMG: AttributePathIBs = + [1660049905.631815][36511:36511] CHIP:DMG: [ + [1660049905.632509][36511:36511] CHIP:DMG: AttributePathIB = + [1660049905.633291][36511:36511] CHIP:DMG: { + [1660049905.634105][36511:36511] CHIP:DMG: Endpoint = 0x0, + [1660049905.634422][36511:36511] CHIP:DMG: Cluster = 0x1d, + [1660049905.634714][36511:36511] CHIP:DMG: Attribute = 0x0000_0001, + [1660049905.635065][36511:36511] CHIP:DMG: } + [1660049905.635366][36511:36511] CHIP:DMG: + [1660049905.635466][36511:36511] CHIP:DMG: ], + [1660049905.635925][36511:36511] CHIP:DMG: + [1660049905.636339][36511:36511] CHIP:DMG: isFabricFiltered = true, + [1660049905.636431][36511:36511] CHIP:DMG: InteractionModelRevision = 1 + [1660049905.636651][36511:36511] CHIP:DMG: }, disabled: true - label: "DUT reads ClientList from the TH" @@ -89,10 +95,23 @@ tests: ./chip-tool descriptor read client-list 1 0 verify the " client-list response" on the TH (all-cluster-app) log: - - [1657095415.492647][3459:3464] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_0002 DataVersion: 2880250959 - [1657095415.492717][3459:3464] CHIP:TOO: client list: 1 entries - [1657095415.492749][3459:3464] CHIP:TOO: [1]: 41 + [1660049929.094511][36511:36511] CHIP:IM: Received Read request + [1660049929.094621][36511:36511] CHIP:DMG: ReadRequestMessage = + [1660049929.094659][36511:36511] CHIP:DMG: { + [1660049929.094680][36511:36511] CHIP:DMG: AttributePathIBs = + [1660049929.094706][36511:36511] CHIP:DMG: [ + [1660049929.094729][36511:36511] CHIP:DMG: AttributePathIB = + [1660049929.094761][36511:36511] CHIP:DMG: { + [1660049929.094788][36511:36511] CHIP:DMG: Endpoint = 0x0, + [1660049929.094821][36511:36511] CHIP:DMG: Cluster = 0x1d, + [1660049929.094855][36511:36511] CHIP:DMG: Attribute = 0x0000_0002, + [1660049929.094886][36511:36511] CHIP:DMG: } + [1660049929.094914][36511:36511] CHIP:DMG: + [1660049929.094940][36511:36511] CHIP:DMG: ], + [1660049929.094966][36511:36511] CHIP:DMG: + [1660049929.094993][36511:36511] CHIP:DMG: isFabricFiltered = true, + [1660049929.095019][36511:36511] CHIP:DMG: InteractionModelRevision = 1 + [1660049929.095041][36511:36511] CHIP:DMG: }, disabled: true - label: "DUT reads PartsList from the TH" @@ -102,8 +121,21 @@ tests: verify the " parts-list response" on the TH (all-cluster-app) log: - [1657095439.967554][3470:3475] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 2880250959 - [1657095439.967633][3470:3475] CHIP:TOO: parts list: 2 entries - [1657095439.967668][3470:3475] CHIP:TOO: [1]: 1 - [1657095439.967697][3470:3475] CHIP:TOO: [2]: 2 + [1660049948.708577][36511:36511] CHIP:IM: Received Read request + [1660049948.708668][36511:36511] CHIP:DMG: ReadRequestMessage = + [1660049948.708701][36511:36511] CHIP:DMG: { + [1660049948.708723][36511:36511] CHIP:DMG: AttributePathIBs = + [1660049948.708748][36511:36511] CHIP:DMG: [ + [1660049948.708771][36511:36511] CHIP:DMG: AttributePathIB = + [1660049948.708832][36511:36511] CHIP:DMG: { + [1660049948.708925][36511:36511] CHIP:DMG: Endpoint = 0x0, + [1660049948.709818][36511:36511] CHIP:DMG: Cluster = 0x1d, + [1660049948.710771][36511:36511] CHIP:DMG: Attribute = 0x0000_0003, + [1660049948.711682][36511:36511] CHIP:DMG: } + [1660049948.712502][36511:36511] CHIP:DMG: + [1660049948.713252][36511:36511] CHIP:DMG: ], + [1660049948.713823][36511:36511] CHIP:DMG: + [1660049948.714389][36511:36511] CHIP:DMG: isFabricFiltered = true, + [1660049948.714998][36511:36511] CHIP:DMG: InteractionModelRevision = 1 + [1660049948.715573][36511:36511] CHIP:DMG: }, disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DGGEN_2_1.yaml b/src/app/tests/suites/certification/Test_TC_DGGEN_2_1.yaml index 671b6cb71c911e..288434637e8088 100644 --- a/src/app/tests/suites/certification/Test_TC_DGGEN_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGGEN_2_1.yaml @@ -154,9 +154,63 @@ tests: - label: "TH reads ActiveHardwareFaults attribute value from DUT." verification: | ./chip-tool generaldiagnostics read active-hardware-faults 1 0 + On TH(chip-tool), verify that ActiveHardwareFaults attribute the attribute response should be empty. But when a hardware fault occurs, the return attribute value must match the value listed in the HardwareFault ENUM table 11.11.6.1 + [1654682785.894724][33006:33011] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0005 DataVersion: 804003636 [1654682785.894846][33006:33011] CHIP:TOO: ActiveHardwareFaults: 0 entries [1654682785.894952][33006:33011] CHIP:EM: Sending Standalone Ack for MessageCounter:30803984 on exchange 62441i + + + Please use Interactive mode to Verify subscription test cases + Here the command to enter interactive mode:-- ./chip-tool interactive start + + Verify in TH(chip-tool) log + + [1657539676.878976][10068:10073] CHIP:DMG: ReportDataMessage = + [1657539676.879047][10068:10073] CHIP:DMG: { + [1657539676.879109][10068:10073] CHIP:DMG: SubscriptionId = 0xd985fd71, + [1657539676.879215][10068:10073] CHIP:DMG: AttributeReportIBs = + [1657539676.879302][10068:10073] CHIP:DMG: [ + [1657539676.879366][10068:10073] CHIP:DMG: AttributeReportIB = + [1657539676.879490][10068:10073] CHIP:DMG: { + [1657539676.879588][10068:10073] CHIP:DMG: AttributeDataIB = + [1657539676.879833][10068:10073] CHIP:DMG: { + [1657539676.879952][10068:10073] CHIP:DMG: DataVersion = 0x3dc6b482, + [1657539676.880061][10068:10073] CHIP:DMG: AttributePathIB = + [1657539676.880175][10068:10073] CHIP:DMG: { + [1657539676.880291][10068:10073] CHIP:DMG: Endpoint = 0x0, + [1657539676.880410][10068:10073] CHIP:DMG: Cluster = 0x33, + [1657539676.880528][10068:10073] CHIP:DMG: Attribute = 0x0000_0005, + [1657539676.880639][10068:10073] CHIP:DMG: } + [1657539676.880758][10068:10073] CHIP:DMG: + [1657539676.880870][10068:10073] CHIP:DMG: Data = [ + [1657539676.880981][10068:10073] CHIP:DMG: + [1657539676.881097][10068:10073] CHIP:DMG: ], + [1657539676.881205][10068:10073] CHIP:DMG: }, + [1657539676.881321][10068:10073] CHIP:DMG: + [1657539676.881415][10068:10073] CHIP:DMG: }, + [1657539676.881523][10068:10073] CHIP:DMG: + [1657539676.881589][10068:10073] CHIP:DMG: ], + [1657539676.881667][10068:10073] CHIP:DMG: + [1657539676.881728][10068:10073] CHIP:DMG: InteractionModelRevision = 1 + [1657539676.881816][10068:10073] CHIP:DMG: } + [1657539676.882117][10068:10073] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0005 DataVersion: 1036432514 + [1657539676.882225][10068:10073] CHIP:TOO: ActiveHardwareFaults: 0 entries + [1657539676.882319][10068:10073] CHIP:DMG: MoveToState ReadClient[0xffff70009ef0]: Moving to [AwaitingSu] + [1657539676.882445][10068:10073] CHIP:EM: Piggybacking Ack for MessageCounter:144228832 on exchange: 14723i + [1657539676.882594][10068:10073] CHIP:IN: Prepared secure message 0xffff700046b8 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 14723i with MessageCounter:6634271. + [1657539676.882686][10068:10073] CHIP:IN: Sending encrypted msg 0xffff700046b8 with MessageCounter:6634271 to 0x0000000000000001 (1) at monotonic time: 00000000016FEF43 msec + [1657539676.884825][10068:10073] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:144228833 on exchange 14723i + [1657539676.884920][10068:10073] CHIP:EM: Found matching exchange: 14723i, Delegate: 0xffff70009ef0 + [1657539676.885002][10068:10073] CHIP:EM: Rxd Ack; Removing MessageCounter:6634271 from Retrans Table on exchange 14723i + [1657539676.885062][10068:10073] CHIP:EM: Removed CHIP MessageCounter:6634271 from RetransTable on exchange 14723i + [1657539676.885171][10068:10073] CHIP:DMG: SubscribeResponseMessage = + [1657539676.885237][10068:10073] CHIP:DMG: { + [1657539676.885298][10068:10073] CHIP:DMG: SubscriptionId = 0xd985fd71, + [1657539676.885407][10068:10073] CHIP:DMG: MaxInterval = 0x64, + [1657539676.885477][10068:10073] CHIP:DMG: InteractionModelRevision = 1 + [1657539676.885549][10068:10073] CHIP:DMG: } + [1657539676.885617][10068:10073] CHIP:DMG: Subscription established with SubscriptionID = 0xd985fd71 MinInterval = 20s MaxInterval = 100s Peer = 01:0000000000000001 cluster: "LogCommands" command: "UserPrompt" PICS: PICS_USER_PROMPT && DGGEN.S.A0005 @@ -170,13 +224,17 @@ tests: - label: "TH reads ActiveRadioFaults attribute value from DUT." verification: | ./chip-tool generaldiagnostics read active-radio-faults 1 0 + On TH(chip-tool), verify that ActiveRadioFaults attribute response should be empty. But when a radio fault occurs, the return attribute value must match the value listed in the RadioFault ENUM table. 11.11.6.2. + [1654682886.109092][33026:33031] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0006 DataVersion: 804003636 [1654682886.109197][33026:33031] CHIP:TOO: ActiveRadioFaults: 0 entries [1654682886.109321][33026:33031] CHIP:EM: Sending Standalone Ack for MessageCounter:174138703 on exchange 49820i + Please use Interactive mode to Verify subscription test cases + Here the command to enter interactive mode:-- ./chip-tool interactive start + generaldiagnostics subscribe active-radio-faults 100 1000 1 0 - ./chip-tool generaldiagnostics subscribe active-radio-faults 100 1000 1 0 - + Verify in TH(chip-tool) Log [1654682933.931539][33037:33042] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0006 DataVersion: 804003636 [1654682933.931617][33037:33042] CHIP:TOO: ActiveRadioFaults: 0 entries [1654682933.931659][33037:33042] CHIP:DMG: MoveToState ReadClient[0xffff7c0042e0]: Moving to [AwaitingSu] @@ -209,9 +267,35 @@ tests: verification: | ./chip-tool generaldiagnostics read active-network-faults 1 0 + On TH(chip-tool), verify that ActiveNetworkFaults attribute value attribute response should be empty. But when a network fault occurs, the return attribute value must match the value listed in the NetworkFault ENUM table 11.11.6.3 + [1654683004.591353][33044:33049] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0007 DataVersion: 804003636 [1654683004.591438][33044:33049] CHIP:TOO: ActiveNetworkFaults: 0 entries [1654683004.591526][33044:33049] CHIP:EM: Sending Standalone Ack for MessageCounter:113863817 on exchange 44900i + + Please use Interactive mode to Verify subscription test cases + Here the command to enter interactive mode:-- ./chip-tool interactive start + generaldiagnostics subscribe active-network-faults 100 1000 1 0 + + Verify on TH(chip-tool) + [1654683075.593822][33054:33059] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0007 DataVersion: 804003636 + [1654683075.593966][33054:33059] CHIP:TOO: ActiveNetworkFaults: 0 entries + [1654683075.594038][33054:33059] CHIP:DMG: MoveToState ReadClient[0xffff80004340]: Moving to [AwaitingSu] + [1654683075.594125][33054:33059] CHIP:EM: Piggybacking Ack for MessageCounter:222691244 on exchange: 29895i + [1654683075.594231][33054:33059] CHIP:IN: Prepared secure message 0xaaaadcf2ae78 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 29895i with MessageCounter:9439431. + [1654683075.594299][33054:33059] CHIP:IN: Sending encrypted msg 0xaaaadcf2ae78 with MessageCounter:9439431 to 0x0000000000000001 (1) at monotonic time: 0000000000CFB459 msec + [1654683075.595402][33054:33059] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:222691245 on exchange 29895i + [1654683075.595461][33054:33059] CHIP:EM: Found matching exchange: 29895i, Delegate: 0xffff80004340 + [1654683075.595522][33054:33059] CHIP:EM: Rxd Ack; Removing MessageCounter:9439431 from Retrans Table on exchange 29895i + [1654683075.595568][33054:33059] CHIP:EM: Removed CHIP MessageCounter:9439431 from RetransTable on exchange 29895i + [1654683075.595649][33054:33059] CHIP:DMG: SubscribeResponseMessage = + [1654683075.595700][33054:33059] CHIP:DMG: { + [1654683075.595743][33054:33059] CHIP:DMG: SubscriptionId = 0x41507073, + [1654683075.595792][33054:33059] CHIP:DMG: MinIntervalFloorSeconds = 0x64, + [1654683075.595840][33054:33059] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, + [1654683075.595886][33054:33059] CHIP:DMG: InteractionModelRevision = 1 + [1654683075.595929][33054:33059] CHIP:DMG: } + [1654683075.595984][33054:33059] CHIP:DMG: Subscription established with SubscriptionID = 0x41507073 MinInterval = 100s MaxInterval = 1000s Peer = 01:0000000000000001 cluster: "LogCommands" command: "UserPrompt" PICS: PICS_USER_PROMPT && DGGEN.S.A0007 @@ -221,3 +305,21 @@ tests: value: "Please enter 'y' for success" - name: "expectedValue" value: "y" + + - label: "TH reads TestEventTriggersEnabled attribute value" + verification: | + ./chip-tool generaldiagnostics read test-event-triggers-enabled 1 0 + On TH (chip-tool), verify that TestEventTriggersEnabled attribute value should be data type bool + + [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 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && DGGEN.S.A0008 + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_DGSW_2_2.yaml b/src/app/tests/suites/certification/Test_TC_DGSW_2_2.yaml index 69103872c6d0b7..65c69c5a7a461a 100644 --- a/src/app/tests/suites/certification/Test_TC_DGSW_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGSW_2_2.yaml @@ -37,22 +37,33 @@ tests: "Reads a list of SoftwareFault struct from DUT and data type in each field of the struct must match the value listed in spec" verification: | - Not implemented in SDK - /chip-tool softwarediagnostics read-event software-fault 1 0 + Provision DUT and TH. - CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Event 0x0000_0000 - [1649682271.390023][9722:9727] CHIP:TOO: Event number: 4 - [16 - 49682271.390072][9722:9727] CHIP:TOO: Priority: Info - [1649682271.390120][9722:9727] CHIP:TOO: Timestamp: 30512303 - [1649682271.390253][9722:9727] CHIP:TOO: SoftwareFault: { - [1649682271.390304][9722:9727] CHIP:TOO: SoftwareFault: { - [1649682271.390365][9722:9727] CHIP:TOO: Id: 11927 - [1649682271.390413][9722:9727] CHIP:TOO: Name: 11927 - [1649682271.390464][9722:9727] CHIP:TOO: FaultRecording: 4661756C745265636F7264696E67 - [1649682271.390516][9722:9727] CHIP:TOO: } - [1649682271.390562][9722:9727] CHIP:TOO: } - [1649682271.390714][9722:9727] CHIP:EM: Sending Standalone Ack for MessageCounter:4574884 on exchange 14495i + On Raspi platform To trigger the event give the below command by opening an another terminal in DUT (Below is the example command developed in all-clusters-app to generate the event, Vendor Dut should have capability to generate this event) + + echo '{"Name":"SoftwareFault"}' > /tmp/chip_all_clusters_fifo- (PID of all-clusters-app by using command provided in note above) + + + On TH Send the below command + + 2. ./chip-tool softwarediagnostics read-event software-fault 1 0 + + Verify SoftwareFault Struct is listed that is Softwarefault, ID, Name, Fault recording should be present in struct and Priority should be Info in TH(chip-tool) Log + + [1655375196.291424][35133:35138] CHIP:DMG: SuppressResponse = true, + [1655375196.291478][35133:35138] CHIP:DMG: InteractionModelRevision = 1 + [1655375196.291527][35133:35138] CHIP:DMG: } + [1655375196.291829][35133:35138] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Event 0x0000_0000 + [1655375196.291882][35133:35138] CHIP:TOO: Event number: 6 + [1655375196.291931][35133:35138] CHIP:TOO: Priority: Info + [1655375196.291978][35133:35138] CHIP:TOO: Timestamp: 6164894 + [1655375196.292119][35133:35138] CHIP:TOO: SoftwareFault: { + [1655375196.292173][35133:35138] CHIP:TOO: SoftwareFault: { + [1655375196.292235][35133:35138] CHIP:TOO: Id: 2677 + [1655375196.292287][35133:35138] CHIP:TOO: Name: 2677 + [1655375196.292341][35133:35138] CHIP:TOO: FaultRecording: 546875204A756E2031362031303A32363A313420323032320A + [1655375196.292391][35133:35138] CHIP:TOO: } + [1655375196.292438][35133:35138] CHIP:TOO: } cluster: "LogCommands" command: "UserPrompt" PICS: PICS_USER_PROMPT && DGSW.S.E00 diff --git a/src/app/tests/suites/certification/Test_TC_DRLK_2_10.yaml b/src/app/tests/suites/certification/Test_TC_DRLK_2_10.yaml index fd9b809155774e..7039726d2ab189 100644 --- a/src/app/tests/suites/certification/Test_TC_DRLK_2_10.yaml +++ b/src/app/tests/suites/certification/Test_TC_DRLK_2_10.yaml @@ -44,11 +44,11 @@ tests: scenario)" PICS: DRLK.S.E00 && DRLK.S.DetectLockJammed verification: | - To trigger the event give below command by opening an another terminal of DUT + To trigger the event give the below command by opening an another terminal in DUT (Below is the example command developed in lock-app to generate the event, Vendor Dut should have capability to generate this event) - echo "{"Cmd": "SendDoorLockAlarm", "Params": { "EndpointId": 1, "AlarmCode": 0 } }" > /tmp/chip_lock_app_fifo- (PID of lock-app) + echo '{"Cmd": "SendDoorLockAlarm", "Params": { "EndpointId": 1, "AlarmCode": 0 } }' > /tmp/chip_lock_app_fifo- (PID of lock-app) For example : - echo "{"Cmd": "SendDoorLockAlarm", "Params": { "EndpointId": 1, "AlarmCode": 0 } }" > /tmp/chip_lock_app_fifo-3940 + echo '{"Cmd": "SendDoorLockAlarm", "Params": { "EndpointId": 1, "AlarmCode": 0 } }' > /tmp/chip_lock_app_fifo-3940 (PID may vary based on the actual DUT) disabled: true - label: "TH reads the DoorLockAlarm event from DUT" @@ -70,8 +70,8 @@ tests: - label: "Trigger the DUT to generate DoorStateChange Event" PICS: DRLK.S.F05 && DRLK.S.E01 verification: | - To trigger the event give below command in another terminal of DUT - echo "{"Cmd": "SetDoorState", "Params": { "EndpointId": 1, "DoorState": 1 } }" > /tmp/chip_lock_app_fifo-4055 (4055 - value changes) + To trigger the event give the below command in another terminal of DUT + echo '{"Cmd": "SetDoorState", "Params": { "EndpointId": 1, "DoorState": 1 } }' > /tmp/chip_lock_app_fifo-4055 (4055 - value changes) disabled: true - label: "TH reads the DoorStateChange event from DUT" @@ -101,7 +101,7 @@ tests: [1656497453.684077][25847:25853] CHIP:DMG: status = 0x00 (SUCCESS), - ./chip-tool doorlock set-credential 0 "{ "credentialType" : 1 , "credentialIndex" : 1 }" 123456 1 0 0 1 1 --timedInteractionTimeoutMs 1000 + ./chip-tool doorlock set-credential 0 '{ "credentialType" : 1 , "credentialIndex" : 1 }' 123456 1 0 0 1 1 --timedInteractionTimeoutMs 1000 Verify "DUT sends SUCCESS response" on the TH(Chip-tool) Log: @@ -518,7 +518,7 @@ tests: 123456 UserIndex as 1 UserStatus as 0 UserType as 0" PICS: DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx verification: | - ./chip-tool doorlock clear-credential "{ "credentialType" : 1 , "credentialIndex" : 1 }" 1 1 --timedInteractionTimeoutMs 1000 + ./chip-tool doorlock clear-credential '{ "credentialType" : 1 , "credentialIndex" : 1 }' 1 1 --timedInteractionTimeoutMs 1000 Verify "DUT sends SUCCESS response" on the TH(Chip-tool) Log: @@ -540,7 +540,7 @@ tests: [1659778601.601785][3414:3419] CHIP:DMG: }, [1659778601.601823][3414:3419] CHIP:DMG: - ./chip-tool doorlock set-credential 0 "{ "credentialType" : 1 , "credentialIndex" : 1 }" 123456 1 0 0 1 1 --timedInteractionTimeoutMs 1000 + ./chip-tool doorlock set-credential 0 '{ "credentialType" : 1 , "credentialIndex" : 1 }' 123456 1 0 0 1 1 --timedInteractionTimeoutMs 1000 Verify "DUT sends Set Credential Response command with status as SUCCESS" on the TH(Chip-tool) Log: @@ -593,7 +593,7 @@ tests: - label: "TH sends Clear Credential Command to DUT" PICS: DRLK.S.C26.Rsp verification: | - ./chip-tool doorlock clear-credential "{ "credentialType" : 1 , "credentialIndex" : 1 }" 1 1 --timedInteractionTimeoutMs 1000 + ./chip-tool doorlock clear-credential '{ "credentialType" : 1 , "credentialIndex" : 1 }' 1 1 --timedInteractionTimeoutMs 1000 Verify "DUT sends SUCCESS response" on the TH(Chip-tool) Log: diff --git a/src/app/tests/suites/certification/Test_TC_DRLK_3_2.yaml b/src/app/tests/suites/certification/Test_TC_DRLK_3_2.yaml index 9913e84fb2f000..e8b0fc81e46332 100644 --- a/src/app/tests/suites/certification/Test_TC_DRLK_3_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_DRLK_3_2.yaml @@ -29,6 +29,13 @@ tests: For DUT as client test cases, Chip-tool command used below are an example to verify the functionality. For certification test, we expect DUT should have a capability or way to run the equivalent command. disabled: true + - label: "Note" + verification: | + 1. TH is commissioned with the DUT + + 2.Steps 4- 12 need a User added to the lock + disabled: true + - label: "DUT sends Lock Door command to TH." PICS: DRLK.C.C00.Tx verification: | 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 f7a6ebbc7eeb10..2252e4fa8d01bb 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 @@ -15,6 +15,9 @@ name: 3.3.1. [TC-IDM-3.1] Write Request Action from DUT to TH. [{DUT_Client}] +PICS: + - MCORE.IDM.C.WriteRequest + config: nodeId: 0x12344321 cluster: "Basic" diff --git a/src/app/tests/suites/certification/Test_TC_I_1_1.yaml b/src/app/tests/suites/certification/Test_TC_I_1_1.yaml index 8531e6d8a1cc9e..b9bd3c92c77d24 100644 --- a/src/app/tests/suites/certification/Test_TC_I_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_I_1_1.yaml @@ -40,7 +40,6 @@ tests: type: int16u - label: "TH reads the FeatureMap attribute from the DUT" - PICS: " !I.S.F00 " command: "readAttribute" attribute: "FeatureMap" response: @@ -48,14 +47,15 @@ tests: constraints: type: bitmap32 - - label: "TH reads the FeatureMap attribute from the DUT" - PICS: I.S.F00 - command: "readAttribute" - attribute: "FeatureMap" - response: - value: 1 - constraints: - type: bitmap32 + #Commenting out the step FeatureMap attribute feature PICS I.S.F00(QRY) which is out of scope for matter V1.0 + #- label: "TH reads the FeatureMap attribute from the DUT" + # PICS: I.S.F00 + # command: "readAttribute" + # attribute: "FeatureMap" + # response: + # value: 1 + # constraints: + # type: bitmap32 - label: "Read the global attribute: AttributeList" command: "readAttribute" @@ -82,14 +82,15 @@ tests: type: list contains: [64] - - label: "Read the optional attribute(IdentifyQuery) in AcceptedCommandList" - PICS: I.C.C01.Tx - command: "readAttribute" - attribute: "AcceptedCommandList" - response: - constraints: - type: list - contains: [1] + #Commenting out the step IdentifyQuery (0x01) is not supported by Matter 1.0. + #- label: "Read the optional attribute(IdentifyQuery) in AcceptedCommandList" + # PICS: I.C.C01.Tx + # command: "readAttribute" + # attribute: "AcceptedCommandList" + # response: + # constraints: + # type: list + # contains: [1] - label: "Read the global attribute: GeneratedCommandList" command: "readAttribute" @@ -98,17 +99,17 @@ tests: value: [] constraints: type: list - - - label: - "Read the optional attribute(IdentifyQueryResponse) in - GeneratedCommandList" - PICS: I.S.C00.Tx - command: "readAttribute" - attribute: "GeneratedCommandList" - response: - value: [0] - constraints: - type: list + #Commenting out the step IdentifyQueryResponse (0x00) is not supported by Matter 1.0 + #- label: + # "Read the optional command(IdentifyQueryResponse) in + # GeneratedCommandList" + # PICS: I.S.C00.Tx + # command: "readAttribute" + # attribute: "GeneratedCommandList" + # response: + # value: [0] + # constraints: + # type: list #Commenting out the step EventList attribute which is out of scope for matter V1.0 #- label: # "Read EventList attribute from the DUT and Verify that the DUT diff --git a/src/app/tests/suites/certification/Test_TC_LVL_2_3.yaml b/src/app/tests/suites/certification/Test_TC_LVL_2_3.yaml index 061f1b8d05ac29..41342ece3a99b4 100644 --- a/src/app/tests/suites/certification/Test_TC_LVL_2_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_LVL_2_3.yaml @@ -638,9 +638,9 @@ tests: TH all-clusters-minimal-app does not support optional attributes To verify this behaviour send the below mentioned commands and check the result as unsupported attribute - ./chip-tool levelcontrol write on-off-transition-time 5 1 1 - ./chip-tool levelcontrol write on-transition-time 5 1 1 - ./chip-tool levelcontrol write off-transition-time 5 1 1 - ./chip-tool levelcontrol write default-move-rate 5 1 1 - ./chip-tool levelcontrol write start-up-current-level 5 1 1 + ./chip-tool levelcontrol write on-off-transition-time 5 1 1 + ./chip-tool levelcontrol write on-transition-time 5 1 1 + ./chip-tool levelcontrol write off-transition-time 5 1 1 + ./chip-tool levelcontrol write default-move-rate 5 1 1 + ./chip-tool levelcontrol write start-up-current-level 5 1 1 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_LVL_3_1.yaml b/src/app/tests/suites/certification/Test_TC_LVL_3_1.yaml index 507813609a736f..cff9707bda319c 100644 --- a/src/app/tests/suites/certification/Test_TC_LVL_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LVL_3_1.yaml @@ -128,7 +128,7 @@ tests: "TH sends a MoveToLevel command to the DUT with Level = 200 and TransitionTime = 300 (30 s). This means the level should increase by 150 units in 30s, so 5 units/s" - PICS: LVL.S.C00.Rsp && LVL.S.M.VarRate + PICS: LVL.S.C00.Rsp command: "MoveToLevel" arguments: values: @@ -142,6 +142,7 @@ tests: value: 0 - label: "Wait 10000ms" + PICS: LVL.S.M.VarRate cluster: "DelayCommands" command: "WaitForMs" arguments: @@ -159,6 +160,7 @@ tests: maxValue: 115 - label: "Wait 10000ms" + PICS: LVL.S.M.VarRate cluster: "DelayCommands" command: "WaitForMs" arguments: @@ -176,6 +178,7 @@ tests: maxValue: 173 - label: "Wait 10000ms" + PICS: LVL.S.M.VarRate cluster: "DelayCommands" command: "WaitForMs" arguments: @@ -193,6 +196,7 @@ tests: maxValue: 200 - label: "Wait 5000ms" + PICS: LVL.S.M.VarRate cluster: "DelayCommands" command: "WaitForMs" arguments: diff --git a/src/app/tests/suites/certification/Test_TC_LVL_5_1.yaml b/src/app/tests/suites/certification/Test_TC_LVL_5_1.yaml index 4febf9ad1e5248..7b7a7d695644d6 100644 --- a/src/app/tests/suites/certification/Test_TC_LVL_5_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LVL_5_1.yaml @@ -122,7 +122,7 @@ tests: - label: "TH sends a Step command to the DUT with StepMode =0x00 (up), StepSize =150 and TransitionTime =300" - PICS: LVL.S.C02.Rsp && LVL.S.M.VarRate + PICS: LVL.S.C02.Rsp command: "Step" arguments: values: @@ -138,6 +138,7 @@ tests: value: 0 - label: "Wait 10s" + PICS: LVL.S.M.VarRate cluster: "DelayCommands" command: "WaitForMs" arguments: @@ -155,6 +156,7 @@ tests: maxValue: 115 - label: "Wait 10s" + PICS: LVL.S.M.VarRate cluster: "DelayCommands" command: "WaitForMs" arguments: @@ -172,6 +174,7 @@ tests: maxValue: 173 - label: "Wait 10s" + PICS: LVL.S.M.VarRate cluster: "DelayCommands" command: "WaitForMs" arguments: @@ -189,6 +192,7 @@ tests: maxValue: 200 - label: "Wait 5000ms" + PICS: LVL.S.M.VarRate cluster: "DelayCommands" command: "WaitForMs" arguments: diff --git a/src/app/tests/suites/certification/Test_TC_LVL_6_1.yaml b/src/app/tests/suites/certification/Test_TC_LVL_6_1.yaml index e9793c96a37ea0..f6ef1f8840db76 100644 --- a/src/app/tests/suites/certification/Test_TC_LVL_6_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LVL_6_1.yaml @@ -31,19 +31,6 @@ tests: - name: "nodeId" value: nodeId - - label: "Precondition Send On Command" - cluster: "On/Off" - PICS: OO.S.C01.Rsp - command: "On" - - - label: "Check on/off attribute value is true after on command" - cluster: "On/Off" - PICS: OO.S.A0000 - command: "readAttribute" - attribute: "OnOff" - response: - value: 1 - #Adding below step resolve the issue https://github.com/CHIP-Specifications/chip-certification-tool/issues/499 - label: "Precondition: write default value of OnOffTransitionTime attribute" 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 3e4d2cc36f7f1f..92d237f11cc5d2 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 @@ -24,6 +24,11 @@ config: endpoint: 0 tests: + - label: "Note" + verification: | + To execute this test case set onmode to any integer value because as default it value has null. + disabled: true + - label: "TH reads the OnMode attribute from the DUT" PICS: MOD.S.A0005 && MOD.S.F00 verification: | 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 index fd5883aecea22f..e7dc212c8685c5 100644 --- a/src/app/tests/suites/certification/Test_TC_MOD_3_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_MOD_3_4.yaml @@ -28,16 +28,7 @@ config: tests: - label: "Note" verification: | - To Execute the TC-MOD-3.4 test case using reboot in raspi device we followed the below suggested way: - - 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 - - - step-1: create a file using touch command , something like touch mytest.txt - step-2: chmod 777 mytest.txt - step-3: 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. + To execute this test case set onmode to any integer value because as default it value has null. disabled: true - label: "TH reads the StartUpMode attribute from the DUT" diff --git a/src/app/tests/suites/certification/Test_TC_OCC_2_2.yaml b/src/app/tests/suites/certification/Test_TC_OCC_2_2.yaml index 6fed52808eb096..94f483cd93ea9f 100644 --- a/src/app/tests/suites/certification/Test_TC_OCC_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_OCC_2_2.yaml @@ -31,7 +31,7 @@ tests: - label: "Commission DUT to TH" verification: | - verification step to be updated. + disabled: true - label: "DUT reads from the TH the (0x0000) Occupancy attribute" diff --git a/src/app/tests/suites/certification/Test_TC_OPCREDS_3_1.yaml b/src/app/tests/suites/certification/Test_TC_OPCREDS_3_1.yaml index 7e59af1e090f4f..bdf23dd6402339 100644 --- a/src/app/tests/suites/certification/Test_TC_OPCREDS_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_OPCREDS_3_1.yaml @@ -26,6 +26,14 @@ config: endpoint: 0 tests: + - label: "Pre-Conditions" + verification: | + 1. PAI, DAC certificates are obtained and validated against externally obtained PAA certificate + 2. This test case assumes that during Commissioning AddNOC will be sent with ICACValue + 3. TH2 is set up with at least one valid CASE Authenticated Tag specified in its NOC, saved as CAT_TH2 + 4. Read SupportedFabrics attributes from the DUT and saves as NumSupportedFabrics . Ensure there are NumSupportedFabrics test harness instances that can each commission the DUT + disabled: true + - label: "Factory Reset DUT (to ensure NOC list is empty at the beginning of the following steps)" diff --git a/src/app/tests/suites/ciTests.json b/src/app/tests/suites/ciTests.json index b8864448e0902b..2243d7c4c48a61 100644 --- a/src/app/tests/suites/ciTests.json +++ b/src/app/tests/suites/ciTests.json @@ -67,7 +67,7 @@ "Test_TC_LVL_6_1" ], "LocalizationConfiguration": ["Test_TC_LCFG_1_1"], - "TimeFormatLocalization": ["Test_TC_LTIME_1_1"], + "TimeFormatLocalization": ["Test_TC_LTIME_1_2"], "UnitLocalization": ["Test_TC_LUNIT_1_1"], "UserLabel": [ "Test_TC_ULABEL_1_1", diff --git a/src/app/tests/suites/manualTests.json b/src/app/tests/suites/manualTests.json index 0dbf826cca2bee..5078d593deb35a 100644 --- a/src/app/tests/suites/manualTests.json +++ b/src/app/tests/suites/manualTests.json @@ -296,7 +296,7 @@ "Test_TC_ACT_3_2" ], "TimeFormatLocalization": [ - "Test_TC_LTIME_1_2", + "Test_TC_LTIME_1_1", "Test_TC_LTIME_2_1", "Test_TC_LTIME_3_1" ], diff --git a/zzz_generated/chip-tool/zap-generated/test/Commands.h b/zzz_generated/chip-tool/zap-generated/test/Commands.h index 63ba78c9d957e9..d7454337957b28 100644 --- a/zzz_generated/chip-tool/zap-generated/test/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/test/Commands.h @@ -93,7 +93,7 @@ class TestList : public Command printf("Test_TC_LVL_6_1\n"); printf("Test_TC_LCFG_1_1\n"); printf("Test_TC_LUNIT_1_1\n"); - printf("Test_TC_LTIME_1_1\n"); + printf("Test_TC_LTIME_1_2\n"); printf("Test_TC_LOWPOWER_1_1\n"); printf("Test_TC_KEYPADINPUT_1_2\n"); printf("Test_TC_APPLAUNCHER_1_3\n"); @@ -545,7 +545,7 @@ class ManualTestList : public Command printf("Test_TC_ACT_2_2\n"); printf("Test_TC_ACT_3_1\n"); printf("Test_TC_ACT_3_2\n"); - printf("Test_TC_LTIME_1_2\n"); + printf("Test_TC_LTIME_1_1\n"); printf("Test_TC_LTIME_2_1\n"); printf("Test_TC_LTIME_3_1\n"); printf("Test_TC_LUNIT_1_2\n"); @@ -6920,7 +6920,7 @@ class Test_TC_CC_4_4Suite : public TestCommand class Test_TC_CC_5_1Suite : public TestCommand { public: - Test_TC_CC_5_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CC_5_1", 58, credsIssuerConfig) + Test_TC_CC_5_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CC_5_1", 59, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -7069,9 +7069,12 @@ class Test_TC_CC_5_1Suite : public TestCommand break; case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; break; case 21: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -7079,7 +7082,7 @@ class Test_TC_CC_5_1Suite : public TestCommand VerifyOrReturn(CheckValue("currentX", value, 32768U)); } break; - case 22: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -7087,17 +7090,17 @@ class Test_TC_CC_5_1Suite : public TestCommand VerifyOrReturn(CheckValue("currentY", value, 19660U)); } break; - case 23: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; break; case 26: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -7105,7 +7108,7 @@ class Test_TC_CC_5_1Suite : public TestCommand VerifyOrReturn(CheckValue("currentX", value, 32768U)); } break; - case 27: + case 28: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -7113,14 +7116,14 @@ class Test_TC_CC_5_1Suite : public TestCommand VerifyOrReturn(CheckValue("currentY", value, 19660U)); } break; - case 28: + case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 29: + case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 30: + case 31: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -7128,7 +7131,7 @@ class Test_TC_CC_5_1Suite : public TestCommand VerifyOrReturn(CheckValue("currentX", value, 32768U)); } break; - case 31: + case 32: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -7136,14 +7139,14 @@ class Test_TC_CC_5_1Suite : public TestCommand VerifyOrReturn(CheckValue("currentY", value, 19660U)); } break; - case 32: + case 33: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 33: + case 34: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 34: + case 35: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -7151,7 +7154,7 @@ class Test_TC_CC_5_1Suite : public TestCommand VerifyOrReturn(CheckValue("currentX", value, 26214U)); } break; - case 35: + case 36: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -7159,10 +7162,10 @@ class Test_TC_CC_5_1Suite : public TestCommand VerifyOrReturn(CheckValue("currentY", value, 32768U)); } break; - case 36: + case 37: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 37: + case 38: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -7170,17 +7173,17 @@ class Test_TC_CC_5_1Suite : public TestCommand VerifyOrReturn(CheckValue("options", value, 1U)); } break; - case 38: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; case 39: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 40: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; break; case 41: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 42: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -7188,7 +7191,7 @@ class Test_TC_CC_5_1Suite : public TestCommand VerifyOrReturn(CheckValue("currentX", value, 32768U)); } break; - case 42: + case 43: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -7196,17 +7199,17 @@ class Test_TC_CC_5_1Suite : public TestCommand VerifyOrReturn(CheckValue("currentY", value, 19660U)); } break; - case 43: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; case 44: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 45: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; break; case 46: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 47: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -7214,7 +7217,7 @@ class Test_TC_CC_5_1Suite : public TestCommand VerifyOrReturn(CheckValue("currentX", value, 13107U)); } break; - case 47: + case 48: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -7222,14 +7225,14 @@ class Test_TC_CC_5_1Suite : public TestCommand VerifyOrReturn(CheckValue("currentY", value, 13107U)); } break; - case 48: + case 49: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 49: + case 50: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 50: + case 51: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -7237,7 +7240,7 @@ class Test_TC_CC_5_1Suite : public TestCommand VerifyOrReturn(CheckValue("currentX", value, 13107U)); } break; - case 51: + case 52: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -7245,14 +7248,14 @@ class Test_TC_CC_5_1Suite : public TestCommand VerifyOrReturn(CheckValue("currentY", value, 13107U)); } break; - case 52: + case 53: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 53: + case 54: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 54: + case 55: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -7260,7 +7263,7 @@ class Test_TC_CC_5_1Suite : public TestCommand VerifyOrReturn(CheckValue("currentX", value, 26214U)); } break; - case 55: + case 56: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -7268,7 +7271,7 @@ class Test_TC_CC_5_1Suite : public TestCommand VerifyOrReturn(CheckValue("currentY", value, 32768U)); } break; - case 56: + case 57: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -7277,7 +7280,7 @@ class Test_TC_CC_5_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 2U)); } break; - case 57: + case 58: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -7452,7 +7455,16 @@ class Test_TC_CC_5_1Suite : public TestCommand chip::NullOptional); } case 19: { - LogStep(19, + LogStep(19, "TH sends On command to DUT"); + VerifyOrDo(!ShouldSkip("OO.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::OnOff::Commands::On::Type value; + return SendCommand(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Commands::On::Id, value, chip::NullOptional + + ); + } + case 20: { + LogStep(20, "TH sends a MoveToColor command to the DUT with ColorX = 32768/0x8000 (x=0.5) (purple) ColorY = 19660/0x4CCC " "(y=0.3) TransitionTime = 0 (immediate)"); VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -7468,27 +7480,27 @@ class Test_TC_CC_5_1Suite : public TestCommand ); } - case 20: { - LogStep(20, "Wait 100ms"); + case 21: { + LogStep(21, "Wait 100ms"); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 100UL; return WaitForMs(kIdentityAlpha, value); } - case 21: { - LogStep(21, "TH reads CurrentX attribute from DUT"); + case 22: { + LogStep(22, "TH reads CurrentX attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0003 && CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id, true, chip::NullOptional); } - case 22: { - LogStep(22, "TH reads CurrentY attribute from DUT"); + case 23: { + LogStep(23, "TH reads CurrentY attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0004 && CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, "TH sends Off command to DUT"); + case 24: { + LogStep(24, "TH sends Off command to DUT"); VerifyOrDo(!ShouldSkip("OO.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::OnOff::Commands::Off::Type value; @@ -7496,8 +7508,8 @@ class Test_TC_CC_5_1Suite : public TestCommand ); } - case 24: { - LogStep(24, + case 25: { + LogStep(25, "TH sends MoveToColor command to DUT, with ColorX = 13107/0x3333 ColorY = 13107/0x3333 TransitionTime = 0 " "(immediate)"); VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -7513,27 +7525,27 @@ class Test_TC_CC_5_1Suite : public TestCommand ); } - case 25: { - LogStep(25, "Wait 100ms"); + case 26: { + LogStep(26, "Wait 100ms"); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 100UL; return WaitForMs(kIdentityAlpha, value); } - case 26: { - LogStep(26, "TH reads CurrentX attribute from DUT"); + case 27: { + LogStep(27, "TH reads CurrentX attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0003 && CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id, true, chip::NullOptional); } - case 27: { - LogStep(27, "TH reads CurrentY attribute from DUT"); + case 28: { + LogStep(28, "TH reads CurrentY attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0004 && CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id, true, chip::NullOptional); } - case 28: { - LogStep(28, + case 29: { + LogStep(29, "TH sends MoveToColor command to DUT, with ColorX = 13107/0x3333 ColorY = 32768/0x8000 TransitionTime = 0 " "(immediate)"); VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -7549,27 +7561,27 @@ class Test_TC_CC_5_1Suite : public TestCommand ); } - case 29: { - LogStep(29, "Wait 100ms"); + case 30: { + LogStep(30, "Wait 100ms"); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 100UL; return WaitForMs(kIdentityAlpha, value); } - case 30: { - LogStep(30, "TH reads CurrentX attribute from DUT"); + case 31: { + LogStep(31, "TH reads CurrentX attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0003 && CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id, true, chip::NullOptional); } - case 31: { - LogStep(31, "TH reads CurrentY attribute from DUT"); + case 32: { + LogStep(32, "TH reads CurrentY attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0004 && CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id, true, chip::NullOptional); } - case 32: { - LogStep(32, + case 33: { + LogStep(33, "TH sends MoveToColor command to DUT, with ColorX = 26214/0x6666 ColorY = 32768/0x8000 TransitionTime = 0 " "(immediate)"); VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -7585,27 +7597,27 @@ class Test_TC_CC_5_1Suite : public TestCommand ); } - case 33: { - LogStep(33, "Wait 100ms"); + case 34: { + LogStep(34, "Wait 100ms"); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 100UL; return WaitForMs(kIdentityAlpha, value); } - case 34: { - LogStep(34, "TH reads CurrentX attribute from DUT"); + case 35: { + LogStep(35, "TH reads CurrentX attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0003 && CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id, true, chip::NullOptional); } - case 35: { - LogStep(35, "TH reads CurrentY attribute from DUT"); + case 36: { + LogStep(36, "TH reads CurrentY attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0004 && CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id, true, chip::NullOptional); } - case 36: { - LogStep(36, "TH writes 1 to the Options attribute"); + case 37: { + LogStep(37, "TH writes 1 to the Options attribute"); VerifyOrDo(!ShouldSkip("CC.S.A000f"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; uint8_t value; @@ -7613,14 +7625,14 @@ class Test_TC_CC_5_1Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::Options::Id, value, chip::NullOptional, chip::NullOptional); } - case 37: { - LogStep(37, "TH read Options attribute"); + case 38: { + LogStep(38, "TH read Options attribute"); VerifyOrDo(!ShouldSkip("CC.S.A000f"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::Options::Id, true, chip::NullOptional); } - case 38: { - LogStep(38, "TH sends On command to DUT"); + case 39: { + LogStep(39, "TH sends On command to DUT"); VerifyOrDo(!ShouldSkip("OO.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::OnOff::Commands::On::Type value; @@ -7628,8 +7640,8 @@ class Test_TC_CC_5_1Suite : public TestCommand ); } - case 39: { - LogStep(39, + case 40: { + LogStep(40, "TH sends MoveToColor command to DUT, with ColorX = 32768/0x8000 ColorY = 19660/0x4CCC TransitionTime = 0 " "(immediate)"); VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -7645,27 +7657,27 @@ class Test_TC_CC_5_1Suite : public TestCommand ); } - case 40: { - LogStep(40, "Wait 100ms"); + case 41: { + LogStep(41, "Wait 100ms"); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 100UL; return WaitForMs(kIdentityAlpha, value); } - case 41: { - LogStep(41, "TH reads CurrentX attribute from DUT"); + case 42: { + LogStep(42, "TH reads CurrentX attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0003 && CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id, true, chip::NullOptional); } - case 42: { - LogStep(42, "TH reads CurrentY attribute from DUT"); + case 43: { + LogStep(43, "TH reads CurrentY attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0004 && CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id, true, chip::NullOptional); } - case 43: { - LogStep(43, "TH sends Off command to DUT"); + case 44: { + LogStep(44, "TH sends Off command to DUT"); VerifyOrDo(!ShouldSkip("OO.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::OnOff::Commands::Off::Type value; @@ -7673,8 +7685,8 @@ class Test_TC_CC_5_1Suite : public TestCommand ); } - case 44: { - LogStep(44, + case 45: { + LogStep(45, "TH sends MoveToColor command to DUT, with ColorX = 13107/0x3333 ColorY = 13107/0x3333 TransitionTime = 0 " "(immediate)"); VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -7690,27 +7702,27 @@ class Test_TC_CC_5_1Suite : public TestCommand ); } - case 45: { - LogStep(45, "Wait 100ms"); + case 46: { + LogStep(46, "Wait 100ms"); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 100UL; return WaitForMs(kIdentityAlpha, value); } - case 46: { - LogStep(46, "TH reads CurrentX attribute from DUT"); + case 47: { + LogStep(47, "TH reads CurrentX attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0003 && CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id, true, chip::NullOptional); } - case 47: { - LogStep(47, "TH reads CurrentY attribute from DUT"); + case 48: { + LogStep(48, "TH reads CurrentY attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0004 && CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id, true, chip::NullOptional); } - case 48: { - LogStep(48, + case 49: { + LogStep(49, "TH sends MoveToColor command to DUT, with ColorX = 13107/0x3333 ColorY = 32768/0x8000 TransitionTime = 0 " "(immediate)"); VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -7726,27 +7738,27 @@ class Test_TC_CC_5_1Suite : public TestCommand ); } - case 49: { - LogStep(49, "Wait 100ms"); + case 50: { + LogStep(50, "Wait 100ms"); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 100UL; return WaitForMs(kIdentityAlpha, value); } - case 50: { - LogStep(50, "TH reads CurrentX attribute from DUT"); + case 51: { + LogStep(51, "TH reads CurrentX attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0003 && CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id, true, chip::NullOptional); } - case 51: { - LogStep(51, "TH reads CurrentY attribute from DUT"); + case 52: { + LogStep(52, "TH reads CurrentY attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0004 && CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id, true, chip::NullOptional); } - case 52: { - LogStep(52, + case 53: { + LogStep(53, "TH sends MoveToColor command to DUT, with ColorX = 26214/0x6666 ColorY = 32768/0x8000 TransitionTime = 0 " "(immediate)"); VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -7762,33 +7774,33 @@ class Test_TC_CC_5_1Suite : public TestCommand ); } - case 53: { - LogStep(53, "Wait 100ms"); + case 54: { + LogStep(54, "Wait 100ms"); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 100UL; return WaitForMs(kIdentityAlpha, value); } - case 54: { - LogStep(54, "TH reads CurrentX attribute from DUT"); + case 55: { + LogStep(55, "TH reads CurrentX attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0003 && CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id, true, chip::NullOptional); } - case 55: { - LogStep(55, "TH reads CurrentY attribute from DUT"); + case 56: { + LogStep(56, "TH reads CurrentY attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0004 && CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id, true, chip::NullOptional); } - case 56: { - LogStep(56, "TH reads ColorMode attribute from DUT"); + case 57: { + LogStep(57, "TH reads ColorMode attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorMode::Id, true, chip::NullOptional); } - case 57: { - LogStep(57, "TH reads EnhancedColorMode attribute from DUT"); + case 58: { + LogStep(58, "TH reads EnhancedColorMode attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorMode::Id, true, chip::NullOptional); @@ -9754,10 +9766,10 @@ class Test_TC_CC_6_3Suite : public TestCommand true, chip::NullOptional); } case 20: { - LogStep(20, "Wait 10s"); + LogStep(20, "Wait 5s"); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; - value.ms = 10000UL; + value.ms = 5000UL; return WaitForMs(kIdentityAlpha, value); } case 21: { @@ -15555,7 +15567,7 @@ class Test_TC_DGGEN_1_1Suite : public TestCommand class Test_TC_DGGEN_2_1Suite : public TestCommand { public: - Test_TC_DGGEN_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGGEN_2_1", 17, credsIssuerConfig) + Test_TC_DGGEN_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGGEN_2_1", 18, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -15683,6 +15695,10 @@ class Test_TC_DGGEN_2_1Suite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; + case 17: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -15834,6 +15850,16 @@ class Test_TC_DGGEN_2_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } + case 17: { + LogStep(17, "TH reads TestEventTriggersEnabled attribute value"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DGGEN.S.A0008"), 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; } @@ -15842,7 +15868,7 @@ class Test_TC_DGGEN_2_1Suite : public TestCommand class Test_TC_I_1_1Suite : public TestCommand { public: - Test_TC_I_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_I_1_1", 10, credsIssuerConfig) + Test_TC_I_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_I_1_1", 7, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -15898,15 +15924,6 @@ class Test_TC_I_1_1Suite : public TestCommand } break; case 3: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("featureMap", value, 1UL)); - VerifyOrReturn(CheckConstraintType("value", "bitmap32", "bitmap32")); - } - break; - case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -15921,7 +15938,7 @@ class Test_TC_I_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; - case 5: + case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -15930,7 +15947,7 @@ class Test_TC_I_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 6: + case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -15939,16 +15956,7 @@ class Test_TC_I_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 64UL)); } break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - } - break; - case 8: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -15960,20 +15968,6 @@ class Test_TC_I_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNextListItemDecodes("generatedCommandList", iter_0, 0)); - VerifyOrReturn(CheckValue("generatedCommandList[0]", iter_0.GetValue(), 0UL)); - VerifyOrReturn(CheckNoMoreListItems("generatedCommandList", iter_0, 1)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -16003,46 +15997,27 @@ class Test_TC_I_1_1Suite : public TestCommand } case 2: { LogStep(2, "TH reads the FeatureMap attribute from the DUT"); - VerifyOrDo(!ShouldSkip(" !I.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Identify::Id, Identify::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 3: { - LogStep(3, "TH reads the FeatureMap attribute from the DUT"); - VerifyOrDo(!ShouldSkip("I.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Identify::Id, Identify::Attributes::FeatureMap::Id, true, - chip::NullOptional); - } - case 4: { - LogStep(4, "Read the global attribute: AttributeList"); + LogStep(3, "Read the global attribute: AttributeList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Identify::Id, Identify::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 5: { - LogStep(5, "Read the global attribute: AcceptedCommandList"); + case 4: { + LogStep(4, "Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Identify::Id, Identify::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 6: { - LogStep(6, "Read the optional command(TriggerEffect) in AcceptedCommandList"); + case 5: { + LogStep(5, "Read the optional command(TriggerEffect) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("I.C.C40.Tx"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Identify::Id, Identify::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 7: { - LogStep(7, "Read the optional attribute(IdentifyQuery) in AcceptedCommandList"); - VerifyOrDo(!ShouldSkip("I.C.C01.Tx"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Identify::Id, Identify::Attributes::AcceptedCommandList::Id, true, - chip::NullOptional); - } - case 8: { - LogStep(8, "Read the global attribute: GeneratedCommandList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Identify::Id, Identify::Attributes::GeneratedCommandList::Id, true, - chip::NullOptional); - } - case 9: { - LogStep(9, "Read the optional attribute(IdentifyQueryResponse) in GeneratedCommandList"); - VerifyOrDo(!ShouldSkip("I.S.C00.Tx"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 6: { + LogStep(6, "Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Identify::Id, Identify::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } @@ -18759,7 +18734,7 @@ class Test_TC_LVL_3_1Suite : public TestCommand LogStep(12, "TH sends a MoveToLevel command to the DUT with Level = 200 and TransitionTime = 300 (30 s). This means the " "level should increase by 150 units in 30s, so 5 units/s"); - VerifyOrDo(!ShouldSkip("LVL.S.C00.Rsp && LVL.S.M.VarRate"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("LVL.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LevelControl::Commands::MoveToLevel::Type value; value.level = 200U; @@ -18774,6 +18749,7 @@ class Test_TC_LVL_3_1Suite : public TestCommand } case 13: { LogStep(13, "Wait 10000ms"); + VerifyOrDo(!ShouldSkip("LVL.S.M.VarRate"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 10000UL; @@ -18788,6 +18764,7 @@ class Test_TC_LVL_3_1Suite : public TestCommand } case 15: { LogStep(15, "Wait 10000ms"); + VerifyOrDo(!ShouldSkip("LVL.S.M.VarRate"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 10000UL; @@ -18802,6 +18779,7 @@ class Test_TC_LVL_3_1Suite : public TestCommand } case 17: { LogStep(17, "Wait 10000ms"); + VerifyOrDo(!ShouldSkip("LVL.S.M.VarRate"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 10000UL; @@ -18816,6 +18794,7 @@ class Test_TC_LVL_3_1Suite : public TestCommand } case 19: { LogStep(19, "Wait 5000ms"); + VerifyOrDo(!ShouldSkip("LVL.S.M.VarRate"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 5000UL; @@ -19763,7 +19742,7 @@ class Test_TC_LVL_5_1Suite : public TestCommand } case 11: { LogStep(11, "TH sends a Step command to the DUT with StepMode =0x00 (up), StepSize =150 and TransitionTime =300"); - VerifyOrDo(!ShouldSkip("LVL.S.C02.Rsp && LVL.S.M.VarRate"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("LVL.S.C02.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LevelControl::Commands::Step::Type value; value.stepMode = static_cast(0); @@ -19779,6 +19758,7 @@ class Test_TC_LVL_5_1Suite : public TestCommand } case 12: { LogStep(12, "Wait 10s"); + VerifyOrDo(!ShouldSkip("LVL.S.M.VarRate"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 10000UL; @@ -19793,6 +19773,7 @@ class Test_TC_LVL_5_1Suite : public TestCommand } case 14: { LogStep(14, "Wait 10s"); + VerifyOrDo(!ShouldSkip("LVL.S.M.VarRate"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 10000UL; @@ -19807,6 +19788,7 @@ class Test_TC_LVL_5_1Suite : public TestCommand } case 16: { LogStep(16, "Wait 10s"); + VerifyOrDo(!ShouldSkip("LVL.S.M.VarRate"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 10000UL; @@ -19821,6 +19803,7 @@ class Test_TC_LVL_5_1Suite : public TestCommand } case 18: { LogStep(18, "Wait 5000ms"); + VerifyOrDo(!ShouldSkip("LVL.S.M.VarRate"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 5000UL; @@ -19862,7 +19845,7 @@ class Test_TC_LVL_5_1Suite : public TestCommand class Test_TC_LVL_6_1Suite : public TestCommand { public: - Test_TC_LVL_6_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_LVL_6_1", 20, credsIssuerConfig) + Test_TC_LVL_6_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_LVL_6_1", 18, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -19904,11 +19887,6 @@ class Test_TC_LVL_6_1Suite : public TestCommand break; case 2: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - bool value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("onOff", value, 1)); - } break; case 3: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -19917,12 +19895,6 @@ class Test_TC_LVL_6_1Suite : public TestCommand 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)); { chip::app::DataModel::Nullable value; @@ -19931,21 +19903,21 @@ class Test_TC_LVL_6_1Suite : public TestCommand VerifyOrReturn(CheckValue("currentLevel.Value()", value.Value(), 50U)); } break; - case 8: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 9: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 10: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 11: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 12: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -19954,21 +19926,21 @@ class Test_TC_LVL_6_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 86U)); } break; - case 13: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 14: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 15: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 16: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 17: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -19977,10 +19949,10 @@ class Test_TC_LVL_6_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 115U)); } break; - case 18: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 19: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { bool value; @@ -20011,21 +19983,7 @@ class Test_TC_LVL_6_1Suite : public TestCommand return WaitForCommissionee(kIdentityAlpha, value); } case 1: { - LogStep(1, "Precondition Send On Command"); - VerifyOrDo(!ShouldSkip("OO.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::OnOff::Commands::On::Type value; - return SendCommand(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Commands::On::Id, value, chip::NullOptional - - ); - } - case 2: { - LogStep(2, "Check on/off attribute value is true after on command"); - VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional); - } - case 3: { - LogStep(3, "Precondition: write default value of OnOffTransitionTime attribute"); + LogStep(1, "Precondition: write default value of OnOffTransitionTime attribute"); VerifyOrDo(!ShouldSkip("LVL.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; uint16_t value; @@ -20033,8 +19991,8 @@ class Test_TC_LVL_6_1Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::OnOffTransitionTime::Id, value, chip::NullOptional, chip::NullOptional); } - case 4: { - LogStep(4, "TH writes 0 to the Options attribute"); + case 2: { + LogStep(2, "TH writes 0 to the Options attribute"); VerifyOrDo(!ShouldSkip("LVL.S.A000f"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; uint8_t value; @@ -20042,8 +20000,8 @@ class Test_TC_LVL_6_1Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::Options::Id, value, chip::NullOptional, chip::NullOptional); } - case 5: { - LogStep(5, "TH sends On command to DUT"); + case 3: { + LogStep(3, "TH sends On command to DUT"); VerifyOrDo(!ShouldSkip("OO.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::OnOff::Commands::On::Type value; @@ -20051,8 +20009,8 @@ class Test_TC_LVL_6_1Suite : public TestCommand ); } - case 6: { - LogStep(6, "TH sends a MoveToLevel command to DUT, with Level =50 and TransitionTime =0 (immediate)"); + case 4: { + LogStep(4, "TH sends a MoveToLevel command to DUT, with Level =50 and TransitionTime =0 (immediate)"); VerifyOrDo(!ShouldSkip("LVL.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LevelControl::Commands::MoveToLevel::Type value; @@ -20066,14 +20024,14 @@ class Test_TC_LVL_6_1Suite : public TestCommand ); } - case 7: { - LogStep(7, "TH reads CurrentLevel attribute from DUT"); + case 5: { + LogStep(5, "TH reads CurrentLevel attribute from DUT"); VerifyOrDo(!ShouldSkip("LVL.S.A0000 && LVL.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::CurrentLevel::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, + case 6: { + LogStep(6, "TH sends a Move command to the DUT, with the MoveMode field set to 0x00 (move up) and the Rate field set to " "0x05 (5 units/s)"); VerifyOrDo(!ShouldSkip("LVL.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -20089,15 +20047,15 @@ class Test_TC_LVL_6_1Suite : public TestCommand ); } - case 9: { - LogStep(9, "Wait 5000ms"); + case 7: { + LogStep(7, "Wait 5000ms"); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 5000UL; return WaitForMs(kIdentityAlpha, value); } - case 10: { - LogStep(10, "Sends stop command to DUT"); + case 8: { + LogStep(8, "Sends stop command to DUT"); VerifyOrDo(!ShouldSkip("LVL.S.C03.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LevelControl::Commands::Stop::Type value; @@ -20108,8 +20066,8 @@ class Test_TC_LVL_6_1Suite : public TestCommand ); } - case 11: { - LogStep(11, "Physically verify that the device has stopped transitioning"); + case 9: { + LogStep(9, "Physically verify that the device has stopped transitioning"); VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && LVL.S.C03.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -20118,15 +20076,15 @@ class Test_TC_LVL_6_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 12: { - LogStep(12, "TH reads CurrentLevel attribute from DUT"); + case 10: { + LogStep(10, "TH reads CurrentLevel attribute from DUT"); VerifyOrDo(!ShouldSkip("LVL.S.C01.Rsp && LVL.S.C03.Rsp && LVL.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::CurrentLevel::Id, true, chip::NullOptional); } - case 13: { - LogStep(13, + case 11: { + LogStep(11, "TH sends a Move command to the DUT, with the MoveMode field set to 0x00 (move up) and the Rate field set to " "0x05 (5 units/s)"); VerifyOrDo(!ShouldSkip("LVL.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -20142,15 +20100,15 @@ class Test_TC_LVL_6_1Suite : public TestCommand ); } - case 14: { - LogStep(14, "Wait 5000ms"); + case 12: { + LogStep(12, "Wait 5000ms"); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 5000UL; return WaitForMs(kIdentityAlpha, value); } - case 15: { - LogStep(15, "TH sends a StopWithOnOff command to the DUT"); + case 13: { + LogStep(13, "TH sends a StopWithOnOff command to the DUT"); VerifyOrDo(!ShouldSkip("LVL.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LevelControl::Commands::StopWithOnOff::Type value; @@ -20161,8 +20119,8 @@ class Test_TC_LVL_6_1Suite : public TestCommand ); } - case 16: { - LogStep(16, "Physically verify that the device has stopped transitioning"); + case 14: { + LogStep(14, "Physically verify that the device has stopped transitioning"); VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && LVL.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -20171,15 +20129,15 @@ class Test_TC_LVL_6_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 17: { - LogStep(17, "Reads CurrentLevel attribute from DUT"); + case 15: { + LogStep(15, "Reads CurrentLevel attribute from DUT"); VerifyOrDo(!ShouldSkip("LVL.S.C01.Rsp && LVL.S.C07.Rsp && LVL.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::CurrentLevel::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, "Precondition send Off Command"); + case 16: { + LogStep(16, "Precondition send Off Command"); VerifyOrDo(!ShouldSkip("OO.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::OnOff::Commands::Off::Type value; @@ -20187,8 +20145,8 @@ class Test_TC_LVL_6_1Suite : public TestCommand ); } - case 19: { - LogStep(19, "Check on/off attribute value is false after off command"); + case 17: { + LogStep(17, "Check on/off attribute value is false after off command"); VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional); } @@ -20402,10 +20360,10 @@ class Test_TC_LUNIT_1_1Suite : public TestCommand } }; -class Test_TC_LTIME_1_1Suite : public TestCommand +class Test_TC_LTIME_1_2Suite : public TestCommand { public: - Test_TC_LTIME_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_LTIME_1_1", 0, credsIssuerConfig) + Test_TC_LTIME_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_LTIME_1_2", 8, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -20413,7 +20371,7 @@ class Test_TC_LTIME_1_1Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_LTIME_1_1Suite() {} + ~Test_TC_LTIME_1_2Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -20438,6 +20396,85 @@ class Test_TC_LTIME_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)); + { + uint16_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("clusterRevision", value, 1U)); + VerifyOrReturn(CheckConstraintType("value", "int16u", "int16u")); + } + break; + case 2: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + uint32_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "bitmap32", "bitmap32")); + VerifyOrReturn(CheckConstraintMinValue("value", value, 0UL)); + VerifyOrReturn(CheckConstraintMaxValue("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))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } + break; + case 4: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + } + break; + case 5: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + } + break; + case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("acceptedCommandList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("generatedCommandList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -20453,6 +20490,55 @@ class Test_TC_LTIME_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, "TH reads the ClusterRevision from DUT"); + VerifyOrDo(!ShouldSkip("LTIME.S.Afffd"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, + TimeFormatLocalization::Attributes::ClusterRevision::Id, true, chip::NullOptional); + } + case 2: { + LogStep(2, "TH reads the FeatureMap from DUT"); + VerifyOrDo(!ShouldSkip("LTIME.S.Afffc"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, + TimeFormatLocalization::Attributes::FeatureMap::Id, true, chip::NullOptional); + } + case 3: { + LogStep(3, "TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("LTIME.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, + TimeFormatLocalization::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 4: { + LogStep(4, "TH reads optional attribute(ActiveCalendarType) in AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("LTIME.S.Afffb && LTIME.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, + TimeFormatLocalization::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 5: { + LogStep(5, "TH reads optional attribute(SupportedCalendarTypes) in AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("LTIME.S.Afffb && LTIME.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, + TimeFormatLocalization::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 6: { + LogStep(6, "TH reads AcceptedCommandList from DUT"); + VerifyOrDo(!ShouldSkip("LTIME.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, + TimeFormatLocalization::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + } + case 7: { + LogStep(7, "TH reads GeneratedCommandList from DUT"); + VerifyOrDo(!ShouldSkip("LTIME.S.Afff8"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, + TimeFormatLocalization::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); + } } return CHIP_NO_ERROR; } @@ -91832,7 +91918,7 @@ class Test_TC_CC_3_1Suite : public TestCommand ~Test_TC_CC_3_1Suite() {} - chip::System::Clock::Timeout GetWaitDuration() const override { return chip::System::Clock::Seconds16(mTimeout.ValueOr(150)); } + chip::System::Clock::Timeout GetWaitDuration() const override { return chip::System::Clock::Seconds16(mTimeout.ValueOr(200)); } private: chip::Optional mNodeId; @@ -91907,7 +91993,8 @@ class Test_TC_CC_3_1Suite : public TestCommand { uint8_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("currentHue", value, 120U)); + VerifyOrReturn(CheckConstraintMinValue("value", value, 102U)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 120U)); } break; case 12: @@ -92586,7 +92673,7 @@ class Test_TC_CC_7_1Suite : public TestCommand ~Test_TC_CC_7_1Suite() {} - chip::System::Clock::Timeout GetWaitDuration() const override { return chip::System::Clock::Seconds16(mTimeout.ValueOr(150)); } + chip::System::Clock::Timeout GetWaitDuration() const override { return chip::System::Clock::Seconds16(mTimeout.ValueOr(200)); } private: chip::Optional mNodeId; @@ -99512,10 +99599,10 @@ class Test_TC_ACT_3_2Suite : public TestCommand } }; -class Test_TC_LTIME_1_2Suite : public TestCommand +class Test_TC_LTIME_1_1Suite : public TestCommand { public: - Test_TC_LTIME_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_LTIME_1_2", 8, credsIssuerConfig) + Test_TC_LTIME_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_LTIME_1_1", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -99523,7 +99610,7 @@ class Test_TC_LTIME_1_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_LTIME_1_2Suite() {} + ~Test_TC_LTIME_1_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -99548,85 +99635,6 @@ class Test_TC_LTIME_1_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)); - { - uint16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("clusterRevision", value, 1U)); - VerifyOrReturn(CheckConstraintType("value", "int16u", "int16u")); - } - break; - case 2: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "bitmap32", "bitmap32")); - VerifyOrReturn(CheckConstraintMinValue("value", value, 0UL)); - VerifyOrReturn(CheckConstraintMaxValue("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))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - } - break; - case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - } - break; - case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("acceptedCommandList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("generatedCommandList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -99642,55 +99650,6 @@ class Test_TC_LTIME_1_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, "TH reads the ClusterRevision from DUT"); - VerifyOrDo(!ShouldSkip("LTIME.S.Afffd"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, - TimeFormatLocalization::Attributes::ClusterRevision::Id, true, chip::NullOptional); - } - case 2: { - LogStep(2, "TH reads the FeatureMap from DUT"); - VerifyOrDo(!ShouldSkip("LTIME.S.Afffc"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, - TimeFormatLocalization::Attributes::FeatureMap::Id, true, chip::NullOptional); - } - case 3: { - LogStep(3, "TH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("LTIME.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, - TimeFormatLocalization::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 4: { - LogStep(4, "TH reads optional attribute(ActiveCalendarType) in AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("LTIME.S.Afffb && LTIME.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, - TimeFormatLocalization::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 5: { - LogStep(5, "TH reads optional attribute(SupportedCalendarTypes) in AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("LTIME.S.Afffb && LTIME.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, - TimeFormatLocalization::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 6: { - LogStep(6, "TH reads AcceptedCommandList from DUT"); - VerifyOrDo(!ShouldSkip("LTIME.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, - TimeFormatLocalization::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); - } - case 7: { - LogStep(7, "TH reads GeneratedCommandList from DUT"); - VerifyOrDo(!ShouldSkip("LTIME.S.Afff8"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, - TimeFormatLocalization::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); - } } return CHIP_NO_ERROR; } @@ -101578,7 +101537,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), make_unique(credsIssuerConfig), @@ -102019,7 +101978,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), make_unique(credsIssuerConfig), diff --git a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h index 7933636c51a006..6753959a72761a 100644 --- a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h +++ b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h @@ -86,7 +86,7 @@ class TestList : public Command { printf("Test_TC_LVL_6_1\n"); printf("Test_TC_LCFG_1_1\n"); printf("Test_TC_LUNIT_1_1\n"); - printf("Test_TC_LTIME_1_1\n"); + printf("Test_TC_LTIME_1_2\n"); printf("Test_TC_LOWPOWER_1_1\n"); printf("Test_TC_KEYPADINPUT_1_2\n"); printf("Test_TC_APPLAUNCHER_1_3\n"); @@ -11733,300 +11733,308 @@ class Test_TC_CC_5_1 : public TestCommandBridge { err = TestThReadOptionsAttribute_18(); break; case 19: + ChipLogProgress(chipTool, " ***** Test Step 19 : TH sends On command to DUT\n"); + if (ShouldSkip("OO.S.C01.Rsp")) { + NextTest(); + return; + } + err = TestThSendsOnCommandToDut_19(); + break; + case 20: ChipLogProgress(chipTool, - " ***** Test Step 19 : TH sends a MoveToColor command to the DUT with ColorX = 32768/0x8000 (x=0.5) (purple) " + " ***** Test Step 20 : TH sends a MoveToColor command to the DUT with ColorX = 32768/0x8000 (x=0.5) (purple) " "ColorY = 19660/0x4CCC (y=0.3) TransitionTime = 0 (immediate)\n"); if (ShouldSkip("CC.S.F03 && CC.S.C07.Rsp")) { NextTest(); return; } - err = TestThSendsAMoveToColorCommandToTheDutWithColorX327680x8000X05PurpleColorY196600x4CCCY03TransitionTime0Immediate_19(); - break; - case 20: - ChipLogProgress(chipTool, " ***** Test Step 20 : Wait 100ms\n"); - err = TestWait100ms_20(); + err = TestThSendsAMoveToColorCommandToTheDutWithColorX327680x8000X05PurpleColorY196600x4CCCY03TransitionTime0Immediate_20(); break; case 21: - ChipLogProgress(chipTool, " ***** Test Step 21 : TH reads CurrentX attribute from DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 21 : Wait 100ms\n"); + err = TestWait100ms_21(); + break; + case 22: + ChipLogProgress(chipTool, " ***** Test Step 22 : TH reads CurrentX attribute from DUT\n"); if (ShouldSkip("CC.S.F03 && CC.S.A0003 && CC.S.C07.Rsp")) { NextTest(); return; } - err = TestThReadsCurrentXAttributeFromDut_21(); + err = TestThReadsCurrentXAttributeFromDut_22(); break; - case 22: - ChipLogProgress(chipTool, " ***** Test Step 22 : TH reads CurrentY attribute from DUT\n"); + case 23: + ChipLogProgress(chipTool, " ***** Test Step 23 : TH reads CurrentY attribute from DUT\n"); if (ShouldSkip("CC.S.F03 && CC.S.A0004 && CC.S.C07.Rsp")) { NextTest(); return; } - err = TestThReadsCurrentYAttributeFromDut_22(); + err = TestThReadsCurrentYAttributeFromDut_23(); break; - case 23: - ChipLogProgress(chipTool, " ***** Test Step 23 : TH sends Off command to DUT\n"); + case 24: + ChipLogProgress(chipTool, " ***** Test Step 24 : TH sends Off command to DUT\n"); if (ShouldSkip("OO.S.C00.Rsp")) { NextTest(); return; } - err = TestThSendsOffCommandToDut_23(); + err = TestThSendsOffCommandToDut_24(); break; - case 24: + case 25: ChipLogProgress(chipTool, - " ***** Test Step 24 : TH sends MoveToColor command to DUT, with ColorX = 13107/0x3333 ColorY = 13107/0x3333 " + " ***** Test Step 25 : TH sends MoveToColor command to DUT, with ColorX = 13107/0x3333 ColorY = 13107/0x3333 " "TransitionTime = 0 (immediate)\n"); if (ShouldSkip("CC.S.F03 && CC.S.C07.Rsp")) { NextTest(); return; } - err = TestThSendsMoveToColorCommandToDutWithColorX131070x3333ColorY131070x3333TransitionTime0Immediate_24(); - break; - case 25: - ChipLogProgress(chipTool, " ***** Test Step 25 : Wait 100ms\n"); - err = TestWait100ms_25(); + err = TestThSendsMoveToColorCommandToDutWithColorX131070x3333ColorY131070x3333TransitionTime0Immediate_25(); break; case 26: - ChipLogProgress(chipTool, " ***** Test Step 26 : TH reads CurrentX attribute from DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 26 : Wait 100ms\n"); + err = TestWait100ms_26(); + break; + case 27: + ChipLogProgress(chipTool, " ***** Test Step 27 : TH reads CurrentX attribute from DUT\n"); if (ShouldSkip("CC.S.F03 && CC.S.A0003 && CC.S.C07.Rsp")) { NextTest(); return; } - err = TestThReadsCurrentXAttributeFromDut_26(); + err = TestThReadsCurrentXAttributeFromDut_27(); break; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : TH reads CurrentY attribute from DUT\n"); + case 28: + ChipLogProgress(chipTool, " ***** Test Step 28 : TH reads CurrentY attribute from DUT\n"); if (ShouldSkip("CC.S.F03 && CC.S.A0004 && CC.S.C07.Rsp")) { NextTest(); return; } - err = TestThReadsCurrentYAttributeFromDut_27(); + err = TestThReadsCurrentYAttributeFromDut_28(); break; - case 28: + case 29: ChipLogProgress(chipTool, - " ***** Test Step 28 : TH sends MoveToColor command to DUT, with ColorX = 13107/0x3333 ColorY = 32768/0x8000 " + " ***** Test Step 29 : TH sends MoveToColor command to DUT, with ColorX = 13107/0x3333 ColorY = 32768/0x8000 " "TransitionTime = 0 (immediate)\n"); if (ShouldSkip("CC.S.F03 && CC.S.C07.Rsp")) { NextTest(); return; } - err = TestThSendsMoveToColorCommandToDutWithColorX131070x3333ColorY327680x8000TransitionTime0Immediate_28(); - break; - case 29: - ChipLogProgress(chipTool, " ***** Test Step 29 : Wait 100ms\n"); - err = TestWait100ms_29(); + err = TestThSendsMoveToColorCommandToDutWithColorX131070x3333ColorY327680x8000TransitionTime0Immediate_29(); break; case 30: - ChipLogProgress(chipTool, " ***** Test Step 30 : TH reads CurrentX attribute from DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 30 : Wait 100ms\n"); + err = TestWait100ms_30(); + break; + case 31: + ChipLogProgress(chipTool, " ***** Test Step 31 : TH reads CurrentX attribute from DUT\n"); if (ShouldSkip("CC.S.F03 && CC.S.A0003 && CC.S.C07.Rsp")) { NextTest(); return; } - err = TestThReadsCurrentXAttributeFromDut_30(); + err = TestThReadsCurrentXAttributeFromDut_31(); break; - case 31: - ChipLogProgress(chipTool, " ***** Test Step 31 : TH reads CurrentY attribute from DUT\n"); + case 32: + ChipLogProgress(chipTool, " ***** Test Step 32 : TH reads CurrentY attribute from DUT\n"); if (ShouldSkip("CC.S.F03 && CC.S.A0004 && CC.S.C07.Rsp")) { NextTest(); return; } - err = TestThReadsCurrentYAttributeFromDut_31(); + err = TestThReadsCurrentYAttributeFromDut_32(); break; - case 32: + case 33: ChipLogProgress(chipTool, - " ***** Test Step 32 : TH sends MoveToColor command to DUT, with ColorX = 26214/0x6666 ColorY = 32768/0x8000 " + " ***** Test Step 33 : TH sends MoveToColor command to DUT, with ColorX = 26214/0x6666 ColorY = 32768/0x8000 " "TransitionTime = 0 (immediate)\n"); if (ShouldSkip("CC.S.F03 && CC.S.C07.Rsp")) { NextTest(); return; } - err = TestThSendsMoveToColorCommandToDutWithColorX262140x6666ColorY327680x8000TransitionTime0Immediate_32(); - break; - case 33: - ChipLogProgress(chipTool, " ***** Test Step 33 : Wait 100ms\n"); - err = TestWait100ms_33(); + err = TestThSendsMoveToColorCommandToDutWithColorX262140x6666ColorY327680x8000TransitionTime0Immediate_33(); break; case 34: - ChipLogProgress(chipTool, " ***** Test Step 34 : TH reads CurrentX attribute from DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 34 : Wait 100ms\n"); + err = TestWait100ms_34(); + break; + case 35: + ChipLogProgress(chipTool, " ***** Test Step 35 : TH reads CurrentX attribute from DUT\n"); if (ShouldSkip("CC.S.F03 && CC.S.A0003 && CC.S.C07.Rsp")) { NextTest(); return; } - err = TestThReadsCurrentXAttributeFromDut_34(); + err = TestThReadsCurrentXAttributeFromDut_35(); break; - case 35: - ChipLogProgress(chipTool, " ***** Test Step 35 : TH reads CurrentY attribute from DUT\n"); + case 36: + ChipLogProgress(chipTool, " ***** Test Step 36 : TH reads CurrentY attribute from DUT\n"); if (ShouldSkip("CC.S.F03 && CC.S.A0004 && CC.S.C07.Rsp")) { NextTest(); return; } - err = TestThReadsCurrentYAttributeFromDut_35(); + err = TestThReadsCurrentYAttributeFromDut_36(); break; - case 36: - ChipLogProgress(chipTool, " ***** Test Step 36 : TH writes 1 to the Options attribute\n"); + case 37: + ChipLogProgress(chipTool, " ***** Test Step 37 : TH writes 1 to the Options attribute\n"); if (ShouldSkip("CC.S.A000f")) { NextTest(); return; } - err = TestThWrites1ToTheOptionsAttribute_36(); + err = TestThWrites1ToTheOptionsAttribute_37(); break; - case 37: - ChipLogProgress(chipTool, " ***** Test Step 37 : TH read Options attribute\n"); + case 38: + ChipLogProgress(chipTool, " ***** Test Step 38 : TH read Options attribute\n"); if (ShouldSkip("CC.S.A000f")) { NextTest(); return; } - err = TestThReadOptionsAttribute_37(); + err = TestThReadOptionsAttribute_38(); break; - case 38: - ChipLogProgress(chipTool, " ***** Test Step 38 : TH sends On command to DUT\n"); + case 39: + ChipLogProgress(chipTool, " ***** Test Step 39 : TH sends On command to DUT\n"); if (ShouldSkip("OO.S.C01.Rsp")) { NextTest(); return; } - err = TestThSendsOnCommandToDut_38(); + err = TestThSendsOnCommandToDut_39(); break; - case 39: + case 40: ChipLogProgress(chipTool, - " ***** Test Step 39 : TH sends MoveToColor command to DUT, with ColorX = 32768/0x8000 ColorY = 19660/0x4CCC " + " ***** Test Step 40 : TH sends MoveToColor command to DUT, with ColorX = 32768/0x8000 ColorY = 19660/0x4CCC " "TransitionTime = 0 (immediate)\n"); if (ShouldSkip("CC.S.F03 && CC.S.C07.Rsp")) { NextTest(); return; } - err = TestThSendsMoveToColorCommandToDutWithColorX327680x8000ColorY196600x4CCCTransitionTime0Immediate_39(); - break; - case 40: - ChipLogProgress(chipTool, " ***** Test Step 40 : Wait 100ms\n"); - err = TestWait100ms_40(); + err = TestThSendsMoveToColorCommandToDutWithColorX327680x8000ColorY196600x4CCCTransitionTime0Immediate_40(); break; case 41: - ChipLogProgress(chipTool, " ***** Test Step 41 : TH reads CurrentX attribute from DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 41 : Wait 100ms\n"); + err = TestWait100ms_41(); + break; + case 42: + ChipLogProgress(chipTool, " ***** Test Step 42 : TH reads CurrentX attribute from DUT\n"); if (ShouldSkip("CC.S.F03 && CC.S.A0003 && CC.S.C07.Rsp")) { NextTest(); return; } - err = TestThReadsCurrentXAttributeFromDut_41(); + err = TestThReadsCurrentXAttributeFromDut_42(); break; - case 42: - ChipLogProgress(chipTool, " ***** Test Step 42 : TH reads CurrentY attribute from DUT\n"); + case 43: + ChipLogProgress(chipTool, " ***** Test Step 43 : TH reads CurrentY attribute from DUT\n"); if (ShouldSkip("CC.S.F03 && CC.S.A0004 && CC.S.C07.Rsp")) { NextTest(); return; } - err = TestThReadsCurrentYAttributeFromDut_42(); + err = TestThReadsCurrentYAttributeFromDut_43(); break; - case 43: - ChipLogProgress(chipTool, " ***** Test Step 43 : TH sends Off command to DUT\n"); + case 44: + ChipLogProgress(chipTool, " ***** Test Step 44 : TH sends Off command to DUT\n"); if (ShouldSkip("OO.S.C00.Rsp")) { NextTest(); return; } - err = TestThSendsOffCommandToDut_43(); + err = TestThSendsOffCommandToDut_44(); break; - case 44: + case 45: ChipLogProgress(chipTool, - " ***** Test Step 44 : TH sends MoveToColor command to DUT, with ColorX = 13107/0x3333 ColorY = 13107/0x3333 " + " ***** Test Step 45 : TH sends MoveToColor command to DUT, with ColorX = 13107/0x3333 ColorY = 13107/0x3333 " "TransitionTime = 0 (immediate)\n"); if (ShouldSkip("CC.S.F03 && CC.S.C07.Rsp")) { NextTest(); return; } - err = TestThSendsMoveToColorCommandToDutWithColorX131070x3333ColorY131070x3333TransitionTime0Immediate_44(); - break; - case 45: - ChipLogProgress(chipTool, " ***** Test Step 45 : Wait 100ms\n"); - err = TestWait100ms_45(); + err = TestThSendsMoveToColorCommandToDutWithColorX131070x3333ColorY131070x3333TransitionTime0Immediate_45(); break; case 46: - ChipLogProgress(chipTool, " ***** Test Step 46 : TH reads CurrentX attribute from DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 46 : Wait 100ms\n"); + err = TestWait100ms_46(); + break; + case 47: + ChipLogProgress(chipTool, " ***** Test Step 47 : TH reads CurrentX attribute from DUT\n"); if (ShouldSkip("CC.S.F03 && CC.S.A0003 && CC.S.C07.Rsp")) { NextTest(); return; } - err = TestThReadsCurrentXAttributeFromDut_46(); + err = TestThReadsCurrentXAttributeFromDut_47(); break; - case 47: - ChipLogProgress(chipTool, " ***** Test Step 47 : TH reads CurrentY attribute from DUT\n"); + case 48: + ChipLogProgress(chipTool, " ***** Test Step 48 : TH reads CurrentY attribute from DUT\n"); if (ShouldSkip("CC.S.F03 && CC.S.A0004 && CC.S.C07.Rsp")) { NextTest(); return; } - err = TestThReadsCurrentYAttributeFromDut_47(); + err = TestThReadsCurrentYAttributeFromDut_48(); break; - case 48: + case 49: ChipLogProgress(chipTool, - " ***** Test Step 48 : TH sends MoveToColor command to DUT, with ColorX = 13107/0x3333 ColorY = 32768/0x8000 " + " ***** Test Step 49 : TH sends MoveToColor command to DUT, with ColorX = 13107/0x3333 ColorY = 32768/0x8000 " "TransitionTime = 0 (immediate)\n"); if (ShouldSkip("CC.S.F03 && CC.S.C07.Rsp")) { NextTest(); return; } - err = TestThSendsMoveToColorCommandToDutWithColorX131070x3333ColorY327680x8000TransitionTime0Immediate_48(); - break; - case 49: - ChipLogProgress(chipTool, " ***** Test Step 49 : Wait 100ms\n"); - err = TestWait100ms_49(); + err = TestThSendsMoveToColorCommandToDutWithColorX131070x3333ColorY327680x8000TransitionTime0Immediate_49(); break; case 50: - ChipLogProgress(chipTool, " ***** Test Step 50 : TH reads CurrentX attribute from DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 50 : Wait 100ms\n"); + err = TestWait100ms_50(); + break; + case 51: + ChipLogProgress(chipTool, " ***** Test Step 51 : TH reads CurrentX attribute from DUT\n"); if (ShouldSkip("CC.S.F03 && CC.S.A0003 && CC.S.C07.Rsp")) { NextTest(); return; } - err = TestThReadsCurrentXAttributeFromDut_50(); + err = TestThReadsCurrentXAttributeFromDut_51(); break; - case 51: - ChipLogProgress(chipTool, " ***** Test Step 51 : TH reads CurrentY attribute from DUT\n"); + case 52: + ChipLogProgress(chipTool, " ***** Test Step 52 : TH reads CurrentY attribute from DUT\n"); if (ShouldSkip("CC.S.F03 && CC.S.A0004 && CC.S.C07.Rsp")) { NextTest(); return; } - err = TestThReadsCurrentYAttributeFromDut_51(); + err = TestThReadsCurrentYAttributeFromDut_52(); break; - case 52: + case 53: ChipLogProgress(chipTool, - " ***** Test Step 52 : TH sends MoveToColor command to DUT, with ColorX = 26214/0x6666 ColorY = 32768/0x8000 " + " ***** Test Step 53 : TH sends MoveToColor command to DUT, with ColorX = 26214/0x6666 ColorY = 32768/0x8000 " "TransitionTime = 0 (immediate)\n"); if (ShouldSkip("CC.S.F03 && CC.S.C07.Rsp")) { NextTest(); return; } - err = TestThSendsMoveToColorCommandToDutWithColorX262140x6666ColorY327680x8000TransitionTime0Immediate_52(); - break; - case 53: - ChipLogProgress(chipTool, " ***** Test Step 53 : Wait 100ms\n"); - err = TestWait100ms_53(); + err = TestThSendsMoveToColorCommandToDutWithColorX262140x6666ColorY327680x8000TransitionTime0Immediate_53(); break; case 54: - ChipLogProgress(chipTool, " ***** Test Step 54 : TH reads CurrentX attribute from DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 54 : Wait 100ms\n"); + err = TestWait100ms_54(); + break; + case 55: + ChipLogProgress(chipTool, " ***** Test Step 55 : TH reads CurrentX attribute from DUT\n"); if (ShouldSkip("CC.S.F03 && CC.S.A0003 && CC.S.C07.Rsp")) { NextTest(); return; } - err = TestThReadsCurrentXAttributeFromDut_54(); + err = TestThReadsCurrentXAttributeFromDut_55(); break; - case 55: - ChipLogProgress(chipTool, " ***** Test Step 55 : TH reads CurrentY attribute from DUT\n"); + case 56: + ChipLogProgress(chipTool, " ***** Test Step 56 : TH reads CurrentY attribute from DUT\n"); if (ShouldSkip("CC.S.F03 && CC.S.A0004 && CC.S.C07.Rsp")) { NextTest(); return; } - err = TestThReadsCurrentYAttributeFromDut_55(); + err = TestThReadsCurrentYAttributeFromDut_56(); break; - case 56: - ChipLogProgress(chipTool, " ***** Test Step 56 : TH reads ColorMode attribute from DUT\n"); + case 57: + ChipLogProgress(chipTool, " ***** Test Step 57 : TH reads ColorMode attribute from DUT\n"); if (ShouldSkip("CC.S.F00 && CC.S.A0008")) { NextTest(); return; } - err = TestThReadsColorModeAttributeFromDut_56(); + err = TestThReadsColorModeAttributeFromDut_57(); break; - case 57: - ChipLogProgress(chipTool, " ***** Test Step 57 : TH reads EnhancedColorMode attribute from DUT\n"); + case 58: + ChipLogProgress(chipTool, " ***** Test Step 58 : TH reads EnhancedColorMode attribute from DUT\n"); if (ShouldSkip("CC.S.F00 && CC.S.A4001")) { NextTest(); return; } - err = TestThReadsEnhancedColorModeAttributeFromDut_57(); + err = TestThReadsEnhancedColorModeAttributeFromDut_58(); break; } @@ -12213,6 +12221,9 @@ class Test_TC_CC_5_1 : public TestCommandBridge { case 57: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 58: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -12226,7 +12237,7 @@ class Test_TC_CC_5_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 58; + const uint16_t mTestCount = 59; chip::Optional mNodeId; chip::Optional mCluster; @@ -12593,97 +12604,14 @@ class Test_TC_CC_5_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThSendsAMoveToColorCommandToTheDutWithColorX327680x8000X05PurpleColorY196600x4CCCY03TransitionTime0Immediate_19() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - __auto_type * params = [[MTRColorControlClusterMoveToColorParams alloc] init]; - params.colorX = [NSNumber numberWithUnsignedShort:32768U]; - params.colorY = [NSNumber numberWithUnsignedShort:19660U]; - params.transitionTime = [NSNumber numberWithUnsignedShort:0U]; - params.optionsMask = [NSNumber numberWithUnsignedChar:0U]; - params.optionsOverride = [NSNumber numberWithUnsignedChar:0U]; - [cluster moveToColorWithParams:params - completionHandler:^(NSError * _Nullable err) { - NSLog(@"TH sends a MoveToColor command to the DUT with ColorX = 32768/0x8000 (x=0.5) (purple) ColorY = " - @"19660/0x4CCC (y=0.3) TransitionTime = 0 (immediate) Error: %@", - err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestWait100ms_20() - { - chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; - value.ms = 100UL; - return WaitForMs("alpha", value); - } - - CHIP_ERROR TestThReadsCurrentXAttributeFromDut_21() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeCurrentXWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"TH reads CurrentX attribute from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - id actualValue = value; - VerifyOrReturn(CheckValue("CurrentX", actualValue, 32768U)); - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestThReadsCurrentYAttributeFromDut_22() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeCurrentYWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"TH reads CurrentY attribute from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - id actualValue = value; - VerifyOrReturn(CheckValue("CurrentY", actualValue, 19660U)); - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestThSendsOffCommandToDut_23() + CHIP_ERROR TestThSendsOnCommandToDut_19() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterOnOff * cluster = [[MTRBaseClusterOnOff alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster offWithCompletionHandler:^(NSError * _Nullable err) { - NSLog(@"TH sends Off command to DUT Error: %@", err); + [cluster onWithCompletionHandler:^(NSError * _Nullable err) { + NSLog(@"TH sends On command to DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -12693,7 +12621,7 @@ class Test_TC_CC_5_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThSendsMoveToColorCommandToDutWithColorX131070x3333ColorY131070x3333TransitionTime0Immediate_24() + CHIP_ERROR TestThSendsAMoveToColorCommandToTheDutWithColorX327680x8000X05PurpleColorY196600x4CCCY03TransitionTime0Immediate_20() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -12702,15 +12630,15 @@ class Test_TC_CC_5_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); __auto_type * params = [[MTRColorControlClusterMoveToColorParams alloc] init]; - params.colorX = [NSNumber numberWithUnsignedShort:13107U]; - params.colorY = [NSNumber numberWithUnsignedShort:13107U]; + params.colorX = [NSNumber numberWithUnsignedShort:32768U]; + params.colorY = [NSNumber numberWithUnsignedShort:19660U]; params.transitionTime = [NSNumber numberWithUnsignedShort:0U]; params.optionsMask = [NSNumber numberWithUnsignedChar:0U]; params.optionsOverride = [NSNumber numberWithUnsignedChar:0U]; [cluster moveToColorWithParams:params completionHandler:^(NSError * _Nullable err) { - NSLog(@"TH sends MoveToColor command to DUT, with ColorX = 13107/0x3333 ColorY = 13107/0x3333 " - @"TransitionTime = 0 (immediate) Error: %@", + NSLog(@"TH sends a MoveToColor command to the DUT with ColorX = 32768/0x8000 (x=0.5) (purple) ColorY = " + @"19660/0x4CCC (y=0.3) TransitionTime = 0 (immediate) Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -12721,14 +12649,14 @@ class Test_TC_CC_5_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWait100ms_25() + CHIP_ERROR TestWait100ms_21() { chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 100UL; return WaitForMs("alpha", value); } - CHIP_ERROR TestThReadsCurrentXAttributeFromDut_26() + CHIP_ERROR TestThReadsCurrentXAttributeFromDut_22() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -12752,7 +12680,7 @@ class Test_TC_CC_5_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThReadsCurrentYAttributeFromDut_27() + CHIP_ERROR TestThReadsCurrentYAttributeFromDut_23() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -12776,90 +12704,24 @@ class Test_TC_CC_5_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThSendsMoveToColorCommandToDutWithColorX131070x3333ColorY327680x8000TransitionTime0Immediate_28() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - __auto_type * params = [[MTRColorControlClusterMoveToColorParams alloc] init]; - params.colorX = [NSNumber numberWithUnsignedShort:13107U]; - params.colorY = [NSNumber numberWithUnsignedShort:32768U]; - params.transitionTime = [NSNumber numberWithUnsignedShort:0U]; - params.optionsMask = [NSNumber numberWithUnsignedChar:1U]; - params.optionsOverride = [NSNumber numberWithUnsignedChar:0U]; - [cluster moveToColorWithParams:params - completionHandler:^(NSError * _Nullable err) { - NSLog(@"TH sends MoveToColor command to DUT, with ColorX = 13107/0x3333 ColorY = 32768/0x8000 " - @"TransitionTime = 0 (immediate) Error: %@", - err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestWait100ms_29() - { - chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; - value.ms = 100UL; - return WaitForMs("alpha", value); - } - - CHIP_ERROR TestThReadsCurrentXAttributeFromDut_30() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeCurrentXWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"TH reads CurrentX attribute from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - id actualValue = value; - VerifyOrReturn(CheckValue("CurrentX", actualValue, 32768U)); - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestThReadsCurrentYAttributeFromDut_31() + CHIP_ERROR TestThSendsOffCommandToDut_24() { MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; + MTRBaseClusterOnOff * cluster = [[MTRBaseClusterOnOff alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeCurrentYWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"TH reads CurrentY attribute from DUT Error: %@", err); + [cluster offWithCompletionHandler:^(NSError * _Nullable err) { + NSLog(@"TH sends Off command to DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - { - id actualValue = value; - VerifyOrReturn(CheckValue("CurrentY", actualValue, 19660U)); - } - NextTest(); }]; return CHIP_NO_ERROR; } - CHIP_ERROR TestThSendsMoveToColorCommandToDutWithColorX262140x6666ColorY327680x8000TransitionTime0Immediate_32() + CHIP_ERROR TestThSendsMoveToColorCommandToDutWithColorX131070x3333ColorY131070x3333TransitionTime0Immediate_25() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -12868,14 +12730,14 @@ class Test_TC_CC_5_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); __auto_type * params = [[MTRColorControlClusterMoveToColorParams alloc] init]; - params.colorX = [NSNumber numberWithUnsignedShort:26214U]; - params.colorY = [NSNumber numberWithUnsignedShort:32768U]; + params.colorX = [NSNumber numberWithUnsignedShort:13107U]; + params.colorY = [NSNumber numberWithUnsignedShort:13107U]; params.transitionTime = [NSNumber numberWithUnsignedShort:0U]; - params.optionsMask = [NSNumber numberWithUnsignedChar:1U]; - params.optionsOverride = [NSNumber numberWithUnsignedChar:1U]; + params.optionsMask = [NSNumber numberWithUnsignedChar:0U]; + params.optionsOverride = [NSNumber numberWithUnsignedChar:0U]; [cluster moveToColorWithParams:params completionHandler:^(NSError * _Nullable err) { - NSLog(@"TH sends MoveToColor command to DUT, with ColorX = 26214/0x6666 ColorY = 32768/0x8000 " + NSLog(@"TH sends MoveToColor command to DUT, with ColorX = 13107/0x3333 ColorY = 13107/0x3333 " @"TransitionTime = 0 (immediate) Error: %@", err); @@ -12887,14 +12749,14 @@ class Test_TC_CC_5_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWait100ms_33() + CHIP_ERROR TestWait100ms_26() { chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 100UL; return WaitForMs("alpha", value); } - CHIP_ERROR TestThReadsCurrentXAttributeFromDut_34() + CHIP_ERROR TestThReadsCurrentXAttributeFromDut_27() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -12909,7 +12771,7 @@ class Test_TC_CC_5_1 : public TestCommandBridge { { id actualValue = value; - VerifyOrReturn(CheckValue("CurrentX", actualValue, 26214U)); + VerifyOrReturn(CheckValue("CurrentX", actualValue, 32768U)); } NextTest(); @@ -12918,7 +12780,173 @@ class Test_TC_CC_5_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThReadsCurrentYAttributeFromDut_35() + CHIP_ERROR TestThReadsCurrentYAttributeFromDut_28() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device + endpoint:1 + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeCurrentYWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads CurrentY attribute from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + { + id actualValue = value; + VerifyOrReturn(CheckValue("CurrentY", actualValue, 19660U)); + } + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThSendsMoveToColorCommandToDutWithColorX131070x3333ColorY327680x8000TransitionTime0Immediate_29() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device + endpoint:1 + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + __auto_type * params = [[MTRColorControlClusterMoveToColorParams alloc] init]; + params.colorX = [NSNumber numberWithUnsignedShort:13107U]; + params.colorY = [NSNumber numberWithUnsignedShort:32768U]; + params.transitionTime = [NSNumber numberWithUnsignedShort:0U]; + params.optionsMask = [NSNumber numberWithUnsignedChar:1U]; + params.optionsOverride = [NSNumber numberWithUnsignedChar:0U]; + [cluster moveToColorWithParams:params + completionHandler:^(NSError * _Nullable err) { + NSLog(@"TH sends MoveToColor command to DUT, with ColorX = 13107/0x3333 ColorY = 32768/0x8000 " + @"TransitionTime = 0 (immediate) Error: %@", + err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestWait100ms_30() + { + chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; + value.ms = 100UL; + return WaitForMs("alpha", value); + } + + CHIP_ERROR TestThReadsCurrentXAttributeFromDut_31() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device + endpoint:1 + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeCurrentXWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads CurrentX attribute from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + { + id actualValue = value; + VerifyOrReturn(CheckValue("CurrentX", actualValue, 32768U)); + } + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThReadsCurrentYAttributeFromDut_32() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device + endpoint:1 + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeCurrentYWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads CurrentY attribute from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + { + id actualValue = value; + VerifyOrReturn(CheckValue("CurrentY", actualValue, 19660U)); + } + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThSendsMoveToColorCommandToDutWithColorX262140x6666ColorY327680x8000TransitionTime0Immediate_33() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device + endpoint:1 + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + __auto_type * params = [[MTRColorControlClusterMoveToColorParams alloc] init]; + params.colorX = [NSNumber numberWithUnsignedShort:26214U]; + params.colorY = [NSNumber numberWithUnsignedShort:32768U]; + params.transitionTime = [NSNumber numberWithUnsignedShort:0U]; + params.optionsMask = [NSNumber numberWithUnsignedChar:1U]; + params.optionsOverride = [NSNumber numberWithUnsignedChar:1U]; + [cluster moveToColorWithParams:params + completionHandler:^(NSError * _Nullable err) { + NSLog(@"TH sends MoveToColor command to DUT, with ColorX = 26214/0x6666 ColorY = 32768/0x8000 " + @"TransitionTime = 0 (immediate) Error: %@", + err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestWait100ms_34() + { + chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; + value.ms = 100UL; + return WaitForMs("alpha", value); + } + + CHIP_ERROR TestThReadsCurrentXAttributeFromDut_35() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device + endpoint:1 + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeCurrentXWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads CurrentX attribute from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + { + id actualValue = value; + VerifyOrReturn(CheckValue("CurrentX", actualValue, 26214U)); + } + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThReadsCurrentYAttributeFromDut_36() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -12942,7 +12970,7 @@ class Test_TC_CC_5_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThWrites1ToTheOptionsAttribute_36() + CHIP_ERROR TestThWrites1ToTheOptionsAttribute_37() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -12964,7 +12992,7 @@ class Test_TC_CC_5_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThReadOptionsAttribute_37() + CHIP_ERROR TestThReadOptionsAttribute_38() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -12988,7 +13016,7 @@ class Test_TC_CC_5_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThSendsOnCommandToDut_38() + CHIP_ERROR TestThSendsOnCommandToDut_39() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterOnOff * cluster = [[MTRBaseClusterOnOff alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; @@ -13005,7 +13033,7 @@ class Test_TC_CC_5_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThSendsMoveToColorCommandToDutWithColorX327680x8000ColorY196600x4CCCTransitionTime0Immediate_39() + CHIP_ERROR TestThSendsMoveToColorCommandToDutWithColorX327680x8000ColorY196600x4CCCTransitionTime0Immediate_40() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -13033,14 +13061,14 @@ class Test_TC_CC_5_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWait100ms_40() + CHIP_ERROR TestWait100ms_41() { chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 100UL; return WaitForMs("alpha", value); } - CHIP_ERROR TestThReadsCurrentXAttributeFromDut_41() + CHIP_ERROR TestThReadsCurrentXAttributeFromDut_42() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -13064,7 +13092,7 @@ class Test_TC_CC_5_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThReadsCurrentYAttributeFromDut_42() + CHIP_ERROR TestThReadsCurrentYAttributeFromDut_43() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -13088,7 +13116,7 @@ class Test_TC_CC_5_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThSendsOffCommandToDut_43() + CHIP_ERROR TestThSendsOffCommandToDut_44() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterOnOff * cluster = [[MTRBaseClusterOnOff alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; @@ -13105,7 +13133,7 @@ class Test_TC_CC_5_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThSendsMoveToColorCommandToDutWithColorX131070x3333ColorY131070x3333TransitionTime0Immediate_44() + CHIP_ERROR TestThSendsMoveToColorCommandToDutWithColorX131070x3333ColorY131070x3333TransitionTime0Immediate_45() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -13133,14 +13161,14 @@ class Test_TC_CC_5_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWait100ms_45() + CHIP_ERROR TestWait100ms_46() { chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 100UL; return WaitForMs("alpha", value); } - CHIP_ERROR TestThReadsCurrentXAttributeFromDut_46() + CHIP_ERROR TestThReadsCurrentXAttributeFromDut_47() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -13164,7 +13192,7 @@ class Test_TC_CC_5_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThReadsCurrentYAttributeFromDut_47() + CHIP_ERROR TestThReadsCurrentYAttributeFromDut_48() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -13188,7 +13216,7 @@ class Test_TC_CC_5_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThSendsMoveToColorCommandToDutWithColorX131070x3333ColorY327680x8000TransitionTime0Immediate_48() + CHIP_ERROR TestThSendsMoveToColorCommandToDutWithColorX131070x3333ColorY327680x8000TransitionTime0Immediate_49() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -13216,14 +13244,14 @@ class Test_TC_CC_5_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWait100ms_49() + CHIP_ERROR TestWait100ms_50() { chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 100UL; return WaitForMs("alpha", value); } - CHIP_ERROR TestThReadsCurrentXAttributeFromDut_50() + CHIP_ERROR TestThReadsCurrentXAttributeFromDut_51() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -13247,7 +13275,7 @@ class Test_TC_CC_5_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThReadsCurrentYAttributeFromDut_51() + CHIP_ERROR TestThReadsCurrentYAttributeFromDut_52() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -13271,7 +13299,7 @@ class Test_TC_CC_5_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThSendsMoveToColorCommandToDutWithColorX262140x6666ColorY327680x8000TransitionTime0Immediate_52() + CHIP_ERROR TestThSendsMoveToColorCommandToDutWithColorX262140x6666ColorY327680x8000TransitionTime0Immediate_53() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -13299,14 +13327,14 @@ class Test_TC_CC_5_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWait100ms_53() + CHIP_ERROR TestWait100ms_54() { chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 100UL; return WaitForMs("alpha", value); } - CHIP_ERROR TestThReadsCurrentXAttributeFromDut_54() + CHIP_ERROR TestThReadsCurrentXAttributeFromDut_55() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -13330,7 +13358,7 @@ class Test_TC_CC_5_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThReadsCurrentYAttributeFromDut_55() + CHIP_ERROR TestThReadsCurrentYAttributeFromDut_56() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -13354,7 +13382,7 @@ class Test_TC_CC_5_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThReadsColorModeAttributeFromDut_56() + CHIP_ERROR TestThReadsColorModeAttributeFromDut_57() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -13376,7 +13404,7 @@ class Test_TC_CC_5_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThReadsEnhancedColorModeAttributeFromDut_57() + CHIP_ERROR TestThReadsEnhancedColorModeAttributeFromDut_58() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterColorControl * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device @@ -21565,6 +21593,14 @@ class Test_TC_DGGEN_2_1 : public TestCommandBridge { } err = TestThReadsActiveNetworkFaultsAttributeValueFromDut_16(); break; + case 17: + ChipLogProgress(chipTool, " ***** Test Step 17 : TH reads TestEventTriggersEnabled attribute value\n"); + if (ShouldSkip("PICS_USER_PROMPT && DGGEN.S.A0008")) { + NextTest(); + return; + } + err = TestThReadsTestEventTriggersEnabledAttributeValue_17(); + break; } if (CHIP_NO_ERROR != err) { @@ -21627,6 +21663,9 @@ class Test_TC_DGGEN_2_1 : public TestCommandBridge { case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 17: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -21640,7 +21679,7 @@ class Test_TC_DGGEN_2_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 17; + const uint16_t mTestCount = 18; chip::Optional mNodeId; chip::Optional mCluster; @@ -21852,6 +21891,15 @@ class Test_TC_DGGEN_2_1 : public TestCommandBridge { value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt("alpha", value); } + + CHIP_ERROR TestThReadsTestEventTriggersEnabledAttributeValue_17() + { + 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_I_1_1 : public TestCommandBridge { @@ -21902,56 +21950,27 @@ class Test_TC_I_1_1 : public TestCommandBridge { break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : TH reads the FeatureMap attribute from the DUT\n"); - if (ShouldSkip(" !I.S.F00 ")) { - NextTest(); - return; - } err = TestThReadsTheFeatureMapAttributeFromTheDut_2(); break; case 3: - ChipLogProgress(chipTool, " ***** Test Step 3 : TH reads the FeatureMap attribute from the DUT\n"); - if (ShouldSkip("I.S.F00")) { - NextTest(); - return; - } - err = TestThReadsTheFeatureMapAttributeFromTheDut_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: AttributeList\n"); - err = TestReadTheGlobalAttributeAttributeList_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: AcceptedCommandList\n"); - err = TestReadTheGlobalAttributeAcceptedCommandList_5(); - break; - case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Read the optional command(TriggerEffect) in AcceptedCommandList\n"); + ChipLogProgress(chipTool, " ***** Test Step 5 : Read the optional command(TriggerEffect) in AcceptedCommandList\n"); if (ShouldSkip("I.C.C40.Tx")) { NextTest(); return; } - err = TestReadTheOptionalCommandTriggerEffectInAcceptedCommandList_6(); - break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Read the optional attribute(IdentifyQuery) in AcceptedCommandList\n"); - if (ShouldSkip("I.C.C01.Tx")) { - NextTest(); - return; - } - err = TestReadTheOptionalAttributeIdentifyQueryInAcceptedCommandList_7(); - break; - case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Read the global attribute: GeneratedCommandList\n"); - err = TestReadTheGlobalAttributeGeneratedCommandList_8(); + err = TestReadTheOptionalCommandTriggerEffectInAcceptedCommandList_5(); break; - case 9: - ChipLogProgress( - chipTool, " ***** Test Step 9 : Read the optional attribute(IdentifyQueryResponse) in GeneratedCommandList\n"); - if (ShouldSkip("I.S.C00.Tx")) { - NextTest(); - return; - } - err = TestReadTheOptionalAttributeIdentifyQueryResponseInGeneratedCommandList_9(); + case 6: + ChipLogProgress(chipTool, " ***** Test Step 6 : Read the global attribute: GeneratedCommandList\n"); + err = TestReadTheGlobalAttributeGeneratedCommandList_6(); break; } @@ -21985,15 +22004,6 @@ class Test_TC_I_1_1 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -22007,7 +22017,7 @@ class Test_TC_I_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 10; + const uint16_t mTestCount = 7; chip::Optional mNodeId; chip::Optional mCluster; @@ -22067,30 +22077,7 @@ class Test_TC_I_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThReadsTheFeatureMapAttributeFromTheDut_3() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterIdentify * cluster = [[MTRBaseClusterIdentify alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeFeatureMapWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"TH reads the FeatureMap attribute from the DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - id actualValue = value; - VerifyOrReturn(CheckValue("FeatureMap", actualValue, 1UL)); - } - - VerifyOrReturn(CheckConstraintType("featureMap", "bitmap32", "bitmap32")); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadTheGlobalAttributeAttributeList_4() + CHIP_ERROR TestReadTheGlobalAttributeAttributeList_3() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterIdentify * cluster = [[MTRBaseClusterIdentify alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; @@ -22116,7 +22103,7 @@ class Test_TC_I_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheGlobalAttributeAcceptedCommandList_5() + CHIP_ERROR TestReadTheGlobalAttributeAcceptedCommandList_4() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterIdentify * cluster = [[MTRBaseClusterIdentify alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; @@ -22136,7 +22123,7 @@ class Test_TC_I_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheOptionalCommandTriggerEffectInAcceptedCommandList_6() + CHIP_ERROR TestReadTheOptionalCommandTriggerEffectInAcceptedCommandList_5() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterIdentify * cluster = [[MTRBaseClusterIdentify alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; @@ -22156,27 +22143,7 @@ class Test_TC_I_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheOptionalAttributeIdentifyQueryInAcceptedCommandList_7() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterIdentify * cluster = [[MTRBaseClusterIdentify alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAcceptedCommandListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the optional attribute(IdentifyQuery) in AcceptedCommandList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("acceptedCommandList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 1UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadTheGlobalAttributeGeneratedCommandList_8() + CHIP_ERROR TestReadTheGlobalAttributeGeneratedCommandList_6() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterIdentify * cluster = [[MTRBaseClusterIdentify alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; @@ -22198,30 +22165,6 @@ class Test_TC_I_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - - CHIP_ERROR TestReadTheOptionalAttributeIdentifyQueryResponseInGeneratedCommandList_9() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterIdentify * cluster = [[MTRBaseClusterIdentify alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeGeneratedCommandListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the optional attribute(IdentifyQueryResponse) in GeneratedCommandList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - id actualValue = value; - VerifyOrReturn(CheckValue("GeneratedCommandList", [actualValue count], static_cast(1))); - VerifyOrReturn(CheckValue("", actualValue[0], 0UL)); - } - - VerifyOrReturn(CheckConstraintType("generatedCommandList", "list", "list")); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } }; class Test_TC_I_2_1 : public TestCommandBridge { @@ -26658,7 +26601,7 @@ class Test_TC_LVL_3_1 : public TestCommandBridge { ChipLogProgress(chipTool, " ***** Test Step 12 : TH sends a MoveToLevel command to the DUT with Level = 200 and TransitionTime = 300 (30 s). " "This means the level should increase by 150 units in 30s, so 5 units/s\n"); - if (ShouldSkip("LVL.S.C00.Rsp && LVL.S.M.VarRate")) { + if (ShouldSkip("LVL.S.C00.Rsp")) { NextTest(); return; } @@ -26666,6 +26609,10 @@ class Test_TC_LVL_3_1 : public TestCommandBridge { break; case 13: ChipLogProgress(chipTool, " ***** Test Step 13 : Wait 10000ms\n"); + if (ShouldSkip("LVL.S.M.VarRate")) { + NextTest(); + return; + } err = TestWait10000ms_13(); break; case 14: @@ -26678,6 +26625,10 @@ class Test_TC_LVL_3_1 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : Wait 10000ms\n"); + if (ShouldSkip("LVL.S.M.VarRate")) { + NextTest(); + return; + } err = TestWait10000ms_15(); break; case 16: @@ -26690,6 +26641,10 @@ class Test_TC_LVL_3_1 : public TestCommandBridge { break; case 17: ChipLogProgress(chipTool, " ***** Test Step 17 : Wait 10000ms\n"); + if (ShouldSkip("LVL.S.M.VarRate")) { + NextTest(); + return; + } err = TestWait10000ms_17(); break; case 18: @@ -26702,6 +26657,10 @@ class Test_TC_LVL_3_1 : public TestCommandBridge { break; case 19: ChipLogProgress(chipTool, " ***** Test Step 19 : Wait 5000ms\n"); + if (ShouldSkip("LVL.S.M.VarRate")) { + NextTest(); + return; + } err = TestWait5000ms_19(); break; case 20: @@ -29037,7 +28996,7 @@ class Test_TC_LVL_5_1 : public TestCommandBridge { ChipLogProgress(chipTool, " ***** Test Step 11 : TH sends a Step command to the DUT with StepMode =0x00 (up), StepSize =150 and " "TransitionTime =300\n"); - if (ShouldSkip("LVL.S.C02.Rsp && LVL.S.M.VarRate")) { + if (ShouldSkip("LVL.S.C02.Rsp")) { NextTest(); return; } @@ -29045,6 +29004,10 @@ class Test_TC_LVL_5_1 : public TestCommandBridge { break; case 12: ChipLogProgress(chipTool, " ***** Test Step 12 : Wait 10s\n"); + if (ShouldSkip("LVL.S.M.VarRate")) { + NextTest(); + return; + } err = TestWait10s_12(); break; case 13: @@ -29057,6 +29020,10 @@ class Test_TC_LVL_5_1 : public TestCommandBridge { break; case 14: ChipLogProgress(chipTool, " ***** Test Step 14 : Wait 10s\n"); + if (ShouldSkip("LVL.S.M.VarRate")) { + NextTest(); + return; + } err = TestWait10s_14(); break; case 15: @@ -29069,6 +29036,10 @@ class Test_TC_LVL_5_1 : public TestCommandBridge { break; case 16: ChipLogProgress(chipTool, " ***** Test Step 16 : Wait 10s\n"); + if (ShouldSkip("LVL.S.M.VarRate")) { + NextTest(); + return; + } err = TestWait10s_16(); break; case 17: @@ -29081,6 +29052,10 @@ class Test_TC_LVL_5_1 : public TestCommandBridge { break; case 18: ChipLogProgress(chipTool, " ***** Test Step 18 : Wait 5000ms\n"); + if (ShouldSkip("LVL.S.M.VarRate")) { + NextTest(); + return; + } err = TestWait5000ms_18(); break; case 19: @@ -29707,153 +29682,137 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { err = TestWaitForTheCommissionedDeviceToBeRetrieved_0(); break; case 1: - ChipLogProgress(chipTool, " ***** Test Step 1 : Precondition Send On Command\n"); - if (ShouldSkip("OO.S.C01.Rsp")) { - NextTest(); - return; - } - err = TestPreconditionSendOnCommand_1(); - break; - case 2: - ChipLogProgress(chipTool, " ***** Test Step 2 : Check on/off attribute value is true after on command\n"); - if (ShouldSkip("OO.S.A0000")) { - NextTest(); - return; - } - err = TestCheckOnOffAttributeValueIsTrueAfterOnCommand_2(); - break; - case 3: - ChipLogProgress(chipTool, " ***** Test Step 3 : Precondition: write default value of OnOffTransitionTime attribute\n"); + ChipLogProgress(chipTool, " ***** Test Step 1 : Precondition: write default value of OnOffTransitionTime attribute\n"); if (ShouldSkip("LVL.S.A0013")) { NextTest(); return; } - err = TestPreconditionWriteDefaultValueOfOnOffTransitionTimeAttribute_3(); + err = TestPreconditionWriteDefaultValueOfOnOffTransitionTimeAttribute_1(); break; - case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : TH writes 0 to the Options attribute\n"); + case 2: + ChipLogProgress(chipTool, " ***** Test Step 2 : TH writes 0 to the Options attribute\n"); if (ShouldSkip("LVL.S.A000f")) { NextTest(); return; } - err = TestThWrites0ToTheOptionsAttribute_4(); + err = TestThWrites0ToTheOptionsAttribute_2(); break; - case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : TH sends On command to DUT\n"); + case 3: + ChipLogProgress(chipTool, " ***** Test Step 3 : TH sends On command to DUT\n"); if (ShouldSkip("OO.S.C01.Rsp")) { NextTest(); return; } - err = TestThSendsOnCommandToDut_5(); + err = TestThSendsOnCommandToDut_3(); break; - case 6: + case 4: ChipLogProgress(chipTool, - " ***** Test Step 6 : TH sends a MoveToLevel command to DUT, with Level =50 and TransitionTime =0 (immediate)\n"); + " ***** Test Step 4 : TH sends a MoveToLevel command to DUT, with Level =50 and TransitionTime =0 (immediate)\n"); if (ShouldSkip("LVL.S.C00.Rsp")) { NextTest(); return; } - err = TestThSendsAMoveToLevelCommandToDutWithLevel50AndTransitionTime0Immediate_6(); + err = TestThSendsAMoveToLevelCommandToDutWithLevel50AndTransitionTime0Immediate_4(); break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : TH reads CurrentLevel attribute from DUT\n"); + case 5: + ChipLogProgress(chipTool, " ***** Test Step 5 : TH reads CurrentLevel attribute from DUT\n"); if (ShouldSkip("LVL.S.A0000 && LVL.S.C00.Rsp")) { NextTest(); return; } - err = TestThReadsCurrentLevelAttributeFromDut_7(); + err = TestThReadsCurrentLevelAttributeFromDut_5(); break; - case 8: + case 6: ChipLogProgress(chipTool, - " ***** Test Step 8 : TH sends a Move command to the DUT, with the MoveMode field set to 0x00 (move up) and the " + " ***** Test Step 6 : TH sends a Move command to the DUT, with the MoveMode field set to 0x00 (move up) and the " "Rate field set to 0x05 (5 units/s)\n"); if (ShouldSkip("LVL.S.C01.Rsp")) { NextTest(); return; } - err = TestThSendsAMoveCommandToTheDutWithTheMoveModeFieldSetTo0x00MoveUpAndTheRateFieldSetTo0x055UnitsS_8(); + err = TestThSendsAMoveCommandToTheDutWithTheMoveModeFieldSetTo0x00MoveUpAndTheRateFieldSetTo0x055UnitsS_6(); break; - case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Wait 5000ms\n"); - err = TestWait5000ms_9(); + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Wait 5000ms\n"); + err = TestWait5000ms_7(); break; - case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Sends stop command to DUT\n"); + case 8: + ChipLogProgress(chipTool, " ***** Test Step 8 : Sends stop command to DUT\n"); if (ShouldSkip("LVL.S.C03.Rsp")) { NextTest(); return; } - err = TestSendsStopCommandToDut_10(); + err = TestSendsStopCommandToDut_8(); break; - case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Physically verify that the device has stopped transitioning\n"); + case 9: + ChipLogProgress(chipTool, " ***** Test Step 9 : Physically verify that the device has stopped transitioning\n"); if (ShouldSkip("PICS_USER_PROMPT && LVL.S.C03.Rsp")) { NextTest(); return; } - err = TestPhysicallyVerifyThatTheDeviceHasStoppedTransitioning_11(); + err = TestPhysicallyVerifyThatTheDeviceHasStoppedTransitioning_9(); break; - case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : TH reads CurrentLevel attribute from DUT\n"); + case 10: + ChipLogProgress(chipTool, " ***** Test Step 10 : TH reads CurrentLevel attribute from DUT\n"); if (ShouldSkip("LVL.S.C01.Rsp && LVL.S.C03.Rsp && LVL.S.A0000")) { NextTest(); return; } - err = TestThReadsCurrentLevelAttributeFromDut_12(); + err = TestThReadsCurrentLevelAttributeFromDut_10(); break; - case 13: + case 11: ChipLogProgress(chipTool, - " ***** Test Step 13 : TH sends a Move command to the DUT, with the MoveMode field set to 0x00 (move up) and the " + " ***** Test Step 11 : TH sends a Move command to the DUT, with the MoveMode field set to 0x00 (move up) and the " "Rate field set to 0x05 (5 units/s)\n"); if (ShouldSkip("LVL.S.C01.Rsp")) { NextTest(); return; } - err = TestThSendsAMoveCommandToTheDutWithTheMoveModeFieldSetTo0x00MoveUpAndTheRateFieldSetTo0x055UnitsS_13(); + err = TestThSendsAMoveCommandToTheDutWithTheMoveModeFieldSetTo0x00MoveUpAndTheRateFieldSetTo0x055UnitsS_11(); break; - case 14: - ChipLogProgress(chipTool, " ***** Test Step 14 : Wait 5000ms\n"); - err = TestWait5000ms_14(); + case 12: + ChipLogProgress(chipTool, " ***** Test Step 12 : Wait 5000ms\n"); + err = TestWait5000ms_12(); break; - case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : TH sends a StopWithOnOff command to the DUT\n"); + case 13: + ChipLogProgress(chipTool, " ***** Test Step 13 : TH sends a StopWithOnOff command to the DUT\n"); if (ShouldSkip("LVL.S.C07.Rsp")) { NextTest(); return; } - err = TestThSendsAStopWithOnOffCommandToTheDut_15(); + err = TestThSendsAStopWithOnOffCommandToTheDut_13(); break; - case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Physically verify that the device has stopped transitioning\n"); + case 14: + ChipLogProgress(chipTool, " ***** Test Step 14 : Physically verify that the device has stopped transitioning\n"); if (ShouldSkip("PICS_USER_PROMPT && LVL.S.C07.Rsp")) { NextTest(); return; } - err = TestPhysicallyVerifyThatTheDeviceHasStoppedTransitioning_16(); + err = TestPhysicallyVerifyThatTheDeviceHasStoppedTransitioning_14(); break; - case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : Reads CurrentLevel attribute from DUT\n"); + case 15: + ChipLogProgress(chipTool, " ***** Test Step 15 : Reads CurrentLevel attribute from DUT\n"); if (ShouldSkip("LVL.S.C01.Rsp && LVL.S.C07.Rsp && LVL.S.A0000")) { NextTest(); return; } - err = TestReadsCurrentLevelAttributeFromDut_17(); + err = TestReadsCurrentLevelAttributeFromDut_15(); break; - case 18: - ChipLogProgress(chipTool, " ***** Test Step 18 : Precondition send Off Command\n"); + case 16: + ChipLogProgress(chipTool, " ***** Test Step 16 : Precondition send Off Command\n"); if (ShouldSkip("OO.S.C00.Rsp")) { NextTest(); return; } - err = TestPreconditionSendOffCommand_18(); + err = TestPreconditionSendOffCommand_16(); break; - case 19: - ChipLogProgress(chipTool, " ***** Test Step 19 : Check on/off attribute value is false after off command\n"); + case 17: + ChipLogProgress(chipTool, " ***** Test Step 17 : Check on/off attribute value is false after off command\n"); if (ShouldSkip("OO.S.A0000")) { NextTest(); return; } - err = TestCheckOnOffAttributeValueIsFalseAfterOffCommand_19(); + err = TestCheckOnOffAttributeValueIsFalseAfterOffCommand_17(); break; } @@ -29920,12 +29879,6 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 18: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 19: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -29939,7 +29892,7 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 20; + const uint16_t mTestCount = 18; chip::Optional mNodeId; chip::Optional mCluster; @@ -29953,46 +29906,7 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { return WaitForCommissionee("alpha", value); } - CHIP_ERROR TestPreconditionSendOnCommand_1() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterOnOff * cluster = [[MTRBaseClusterOnOff alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster onWithCompletionHandler:^(NSError * _Nullable err) { - NSLog(@"Precondition Send On Command Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestCheckOnOffAttributeValueIsTrueAfterOnCommand_2() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterOnOff * cluster = [[MTRBaseClusterOnOff alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeOnOffWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Check on/off attribute value is true after on command Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - id actualValue = value; - VerifyOrReturn(CheckValue("OnOff", actualValue, 1)); - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestPreconditionWriteDefaultValueOfOnOffTransitionTimeAttribute_3() + CHIP_ERROR TestPreconditionWriteDefaultValueOfOnOffTransitionTimeAttribute_1() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterLevelControl * cluster = [[MTRBaseClusterLevelControl alloc] initWithDevice:device @@ -30015,7 +29929,7 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThWrites0ToTheOptionsAttribute_4() + CHIP_ERROR TestThWrites0ToTheOptionsAttribute_2() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterLevelControl * cluster = [[MTRBaseClusterLevelControl alloc] initWithDevice:device @@ -30037,7 +29951,7 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThSendsOnCommandToDut_5() + CHIP_ERROR TestThSendsOnCommandToDut_3() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterOnOff * cluster = [[MTRBaseClusterOnOff alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; @@ -30054,7 +29968,7 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThSendsAMoveToLevelCommandToDutWithLevel50AndTransitionTime0Immediate_6() + CHIP_ERROR TestThSendsAMoveToLevelCommandToDutWithLevel50AndTransitionTime0Immediate_4() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterLevelControl * cluster = [[MTRBaseClusterLevelControl alloc] initWithDevice:device @@ -30080,7 +29994,7 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThReadsCurrentLevelAttributeFromDut_7() + CHIP_ERROR TestThReadsCurrentLevelAttributeFromDut_5() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterLevelControl * cluster = [[MTRBaseClusterLevelControl alloc] initWithDevice:device @@ -30105,7 +30019,7 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThSendsAMoveCommandToTheDutWithTheMoveModeFieldSetTo0x00MoveUpAndTheRateFieldSetTo0x055UnitsS_8() + CHIP_ERROR TestThSendsAMoveCommandToTheDutWithTheMoveModeFieldSetTo0x00MoveUpAndTheRateFieldSetTo0x055UnitsS_6() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterLevelControl * cluster = [[MTRBaseClusterLevelControl alloc] initWithDevice:device @@ -30132,14 +30046,14 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWait5000ms_9() + CHIP_ERROR TestWait5000ms_7() { chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 5000UL; return WaitForMs("alpha", value); } - CHIP_ERROR TestSendsStopCommandToDut_10() + CHIP_ERROR TestSendsStopCommandToDut_8() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterLevelControl * cluster = [[MTRBaseClusterLevelControl alloc] initWithDevice:device @@ -30162,7 +30076,7 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestPhysicallyVerifyThatTheDeviceHasStoppedTransitioning_11() + CHIP_ERROR TestPhysicallyVerifyThatTheDeviceHasStoppedTransitioning_9() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -30171,7 +30085,7 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestThReadsCurrentLevelAttributeFromDut_12() + CHIP_ERROR TestThReadsCurrentLevelAttributeFromDut_10() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterLevelControl * cluster = [[MTRBaseClusterLevelControl alloc] initWithDevice:device @@ -30196,7 +30110,7 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThSendsAMoveCommandToTheDutWithTheMoveModeFieldSetTo0x00MoveUpAndTheRateFieldSetTo0x055UnitsS_13() + CHIP_ERROR TestThSendsAMoveCommandToTheDutWithTheMoveModeFieldSetTo0x00MoveUpAndTheRateFieldSetTo0x055UnitsS_11() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterLevelControl * cluster = [[MTRBaseClusterLevelControl alloc] initWithDevice:device @@ -30223,14 +30137,14 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWait5000ms_14() + CHIP_ERROR TestWait5000ms_12() { chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 5000UL; return WaitForMs("alpha", value); } - CHIP_ERROR TestThSendsAStopWithOnOffCommandToTheDut_15() + CHIP_ERROR TestThSendsAStopWithOnOffCommandToTheDut_13() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterLevelControl * cluster = [[MTRBaseClusterLevelControl alloc] initWithDevice:device @@ -30253,7 +30167,7 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestPhysicallyVerifyThatTheDeviceHasStoppedTransitioning_16() + CHIP_ERROR TestPhysicallyVerifyThatTheDeviceHasStoppedTransitioning_14() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -30262,7 +30176,7 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestReadsCurrentLevelAttributeFromDut_17() + CHIP_ERROR TestReadsCurrentLevelAttributeFromDut_15() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterLevelControl * cluster = [[MTRBaseClusterLevelControl alloc] initWithDevice:device @@ -30287,7 +30201,7 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestPreconditionSendOffCommand_18() + CHIP_ERROR TestPreconditionSendOffCommand_16() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterOnOff * cluster = [[MTRBaseClusterOnOff alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; @@ -30304,7 +30218,7 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestCheckOnOffAttributeValueIsFalseAfterOffCommand_19() + CHIP_ERROR TestCheckOnOffAttributeValueIsFalseAfterOffCommand_17() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterOnOff * cluster = [[MTRBaseClusterOnOff alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; @@ -30639,11 +30553,11 @@ class Test_TC_LUNIT_1_1 : public TestCommandBridge { chip::Optional mTimeout; }; -class Test_TC_LTIME_1_1 : public TestCommandBridge { +class Test_TC_LTIME_1_2 : public TestCommandBridge { public: // NOLINTBEGIN(clang-analyzer-nullability.NullPassedToNonnull): Test constructor nullability not enforced - Test_TC_LTIME_1_1() - : TestCommandBridge("Test_TC_LTIME_1_1") + Test_TC_LTIME_1_2() + : TestCommandBridge("Test_TC_LTIME_1_2") , mTestIndex(0) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); @@ -30653,7 +30567,7 @@ class Test_TC_LTIME_1_1 : public TestCommandBridge { } // NOLINTEND(clang-analyzer-nullability.NullPassedToNonnull) - ~Test_TC_LTIME_1_1() {} + ~Test_TC_LTIME_1_2() {} /////////// TestCommand Interface ///////// void NextTest() override @@ -30661,11 +30575,11 @@ class Test_TC_LTIME_1_1 : public TestCommandBridge { CHIP_ERROR err = CHIP_NO_ERROR; if (0 == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Start: Test_TC_LTIME_1_1\n"); + ChipLogProgress(chipTool, " **** Test Start: Test_TC_LTIME_1_2\n"); } if (mTestCount == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Complete: Test_TC_LTIME_1_1\n"); + ChipLogProgress(chipTool, " **** Test Complete: Test_TC_LTIME_1_2\n"); SetCommandExitStatus(CHIP_NO_ERROR); return; } @@ -30677,6 +30591,68 @@ class Test_TC_LTIME_1_1 : public TestCommandBridge { // 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 : TH reads the ClusterRevision from DUT\n"); + if (ShouldSkip("LTIME.S.Afffd")) { + NextTest(); + return; + } + err = TestThReadsTheClusterRevisionFromDut_1(); + break; + case 2: + ChipLogProgress(chipTool, " ***** Test Step 2 : TH reads the FeatureMap from DUT\n"); + if (ShouldSkip("LTIME.S.Afffc")) { + NextTest(); + return; + } + err = TestThReadsTheFeatureMapFromDut_2(); + break; + case 3: + ChipLogProgress(chipTool, " ***** Test Step 3 : TH reads AttributeList from DUT\n"); + if (ShouldSkip("LTIME.S.Afffb")) { + NextTest(); + return; + } + err = TestThReadsAttributeListFromDut_3(); + break; + case 4: + ChipLogProgress( + chipTool, " ***** Test Step 4 : TH reads optional attribute(ActiveCalendarType) in AttributeList from DUT\n"); + if (ShouldSkip("LTIME.S.Afffb && LTIME.S.A0001")) { + NextTest(); + return; + } + err = TestThReadsOptionalAttributeActiveCalendarTypeInAttributeListFromDut_4(); + break; + case 5: + ChipLogProgress( + chipTool, " ***** Test Step 5 : TH reads optional attribute(SupportedCalendarTypes) in AttributeList from DUT\n"); + if (ShouldSkip("LTIME.S.Afffb && LTIME.S.A0002")) { + NextTest(); + return; + } + err = TestThReadsOptionalAttributeSupportedCalendarTypesInAttributeListFromDut_5(); + break; + case 6: + ChipLogProgress(chipTool, " ***** Test Step 6 : TH reads AcceptedCommandList from DUT\n"); + if (ShouldSkip("LTIME.S.Afff9")) { + NextTest(); + return; + } + err = TestThReadsAcceptedCommandListFromDut_6(); + break; + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : TH reads GeneratedCommandList from DUT\n"); + if (ShouldSkip("LTIME.S.Afff8")) { + NextTest(); + return; + } + err = TestThReadsGeneratedCommandListFromDut_7(); + break; } if (CHIP_NO_ERROR != err) { @@ -30688,6 +30664,30 @@ class Test_TC_LTIME_1_1 : public TestCommandBridge { 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; } // Go on to the next test. @@ -30701,12 +30701,181 @@ class Test_TC_LTIME_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 0; + const uint16_t mTestCount = 8; 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 TestThReadsTheClusterRevisionFromDut_1() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterTimeFormatLocalization * cluster = + [[MTRBaseClusterTimeFormatLocalization alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeClusterRevisionWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads the ClusterRevision from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + { + id actualValue = value; + VerifyOrReturn(CheckValue("ClusterRevision", actualValue, 1U)); + } + + VerifyOrReturn(CheckConstraintType("clusterRevision", "int16u", "int16u")); + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThReadsTheFeatureMapFromDut_2() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterTimeFormatLocalization * cluster = + [[MTRBaseClusterTimeFormatLocalization alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeFeatureMapWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads the FeatureMap from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("featureMap", "bitmap32", "bitmap32")); + VerifyOrReturn(CheckConstraintMinValue("featureMap", [value unsignedIntValue], 0UL)); + VerifyOrReturn(CheckConstraintMaxValue("featureMap", [value unsignedIntValue], 1UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThReadsAttributeListFromDut_3() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterTimeFormatLocalization * cluster = + [[MTRBaseClusterTimeFormatLocalization alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads AttributeList from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThReadsOptionalAttributeActiveCalendarTypeInAttributeListFromDut_4() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterTimeFormatLocalization * cluster = + [[MTRBaseClusterTimeFormatLocalization alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads optional attribute(ActiveCalendarType) in AttributeList from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThReadsOptionalAttributeSupportedCalendarTypesInAttributeListFromDut_5() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterTimeFormatLocalization * cluster = + [[MTRBaseClusterTimeFormatLocalization alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads optional attribute(SupportedCalendarTypes) in AttributeList from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThReadsAcceptedCommandListFromDut_6() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterTimeFormatLocalization * cluster = + [[MTRBaseClusterTimeFormatLocalization alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAcceptedCommandListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads AcceptedCommandList from DUT 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", "list")); + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestThReadsGeneratedCommandListFromDut_7() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterTimeFormatLocalization * cluster = + [[MTRBaseClusterTimeFormatLocalization alloc] initWithDevice:device endpoint:0 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeGeneratedCommandListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"TH reads GeneratedCommandList from DUT 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", "list")); + NextTest(); + }]; + + return CHIP_NO_ERROR; + } }; class Test_TC_LOWPOWER_1_1 : public TestCommandBridge { @@ -125105,7 +125274,7 @@ void registerCommandsTests(Commands & commands) make_unique(), make_unique(), make_unique(), - make_unique(), + make_unique(), make_unique(), make_unique(), make_unique(),