diff --git a/src/app/tests/suites/certification/PICS.yaml b/src/app/tests/suites/certification/PICS.yaml index 575080f2c546b3..ddcda6eb8271ed 100644 --- a/src/app/tests/suites/certification/PICS.yaml +++ b/src/app/tests/suites/certification/PICS.yaml @@ -807,6 +807,9 @@ PICS: - label: "Does the device implement the ACCapacityFormat attribute?" id: TSTAT.S.A0047 + - label: "Is the MinSetpointDeadBand attribute writeable?" + id: TSTAT.S.M.MinSetpointDeadBandWritable + #Thermostat commands - label: "Does the device implement the SetpointRaiseLower command?" id: TSTAT.S.C00.Rsp diff --git a/src/app/tests/suites/certification/Test_TC_AUDIOOUTPUT_7_1.yaml b/src/app/tests/suites/certification/Test_TC_AUDIOOUTPUT_7_1.yaml index 11acc9cbfe052a..6d3044f51fab3a 100644 --- a/src/app/tests/suites/certification/Test_TC_AUDIOOUTPUT_7_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_AUDIOOUTPUT_7_1.yaml @@ -21,6 +21,9 @@ config: nodeId: 0x12344321 cluster: "Audio Output" endpoint: 1 + Index: + type: int8u + defaultValue: 1 tests: - label: "Wait for the commissioned device to be retrieved" @@ -45,11 +48,11 @@ tests: arguments: values: - name: "Index" - value: 1 + value: Index - label: "Reads the CurrentOutput attribute" PICS: AUDIOOUTPUT.S.A0001 && AUDIOOUTPUT.S.C00.Rsp command: "readAttribute" attribute: "CurrentOutput" response: - value: 1 + value: Index diff --git a/src/app/tests/suites/certification/Test_TC_AUDIOOUTPUT_7_2.yaml b/src/app/tests/suites/certification/Test_TC_AUDIOOUTPUT_7_2.yaml index af85db13de73a4..9547f863dc1b23 100644 --- a/src/app/tests/suites/certification/Test_TC_AUDIOOUTPUT_7_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_AUDIOOUTPUT_7_2.yaml @@ -21,6 +21,9 @@ config: nodeId: 0x12344321 cluster: "Audio Output" endpoint: 1 + Index: + type: int8u + defaultValue: 1 tests: - label: "Wait for the commissioned device to be retrieved" @@ -46,7 +49,7 @@ tests: arguments: values: - name: "Index" - value: 1 + value: Index - name: "name" value: "CertTest" 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 44c5e8f25aea2d..56996da12951aa 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 @@ -648,6 +648,7 @@ tests: response: value: UniqueIDValue + #This step implicitly validating the attribute(CapabilityMinima)constraints, as long as the payload is being parsed successfully - label: "TH reads CapabilityMinima attribute from the DUT." PICS: BINFO.S.A0013 command: "readAttribute" @@ -655,19 +656,6 @@ tests: response: saveAs: CapabilityMinimaValue - - label: - "Step 56 is implicitly validating the attribute(CapabilityMinima) - constraints, as long as the payload is being parsed successfully" - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && BINFO.S.A0013 - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" - - label: "TH writes CapabilityMinima from the DUT." PICS: BINFO.S.A0013 command: "writeAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_11.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_11.yaml index f9768b43d93817..eee3a87604bb41 100644 --- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_11.yaml +++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_11.yaml @@ -217,6 +217,7 @@ tests: value: "SPAKE2P Key Salt" response: error: FAILURE + clusterError: 2 - label: "TH_CR1 reads the list of Fabrics on DUT_CE" cluster: "Operational Credentials" @@ -297,6 +298,7 @@ tests: value: discriminator response: error: FAILURE + clusterError: 2 - label: "Wait for the expiration of PIXIT.CADMIN.CwDuration seconds that was @@ -353,3 +355,4 @@ tests: value: discriminator response: error: FAILURE + clusterError: 2 diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_13.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_13.yaml index 448772975c016a..83ef331cee1d76 100644 --- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_13.yaml +++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_13.yaml @@ -294,6 +294,7 @@ tests: value: "SPAKE2P Key Salt" response: error: FAILURE + clusterError: 2 - label: "TH_CR1 reads the list of Fabrics on DUT_CE" identity: "alpha" @@ -395,6 +396,7 @@ tests: value: "SPAKE2P Key Salt" response: error: FAILURE + clusterError: 2 - label: "TH_CR1 reads the list of Fabrics on DUT_CE" identity: "alpha" @@ -460,6 +462,7 @@ tests: value: "SPAKE2P Key Salt" response: error: FAILURE + clusterError: 2 - label: "Wait for the expiration of PIXIT.CADMIN.CwDuration seconds" cluster: "DelayCommands" diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_15.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_15.yaml index 32cf96c99568d7..211fc1315a994c 100644 --- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_15.yaml +++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_15.yaml @@ -228,6 +228,36 @@ tests: constraints: type: list + #Check for DNS-SD advertisement is not possible in YAML + - label: + "Verify DUT_CE is now discoverable over DNS-SD with 2 Operational + service records (_matter._tcp SRV records)." + verification: | + Execute the below command in any linux platform or in TH_CR1 + grl@grl-ThinkPad-L480:~/may16_cntrl03/connectedhomeip/examples/chip-tool/out/debug$ avahi-browse -rt _matter._tcp + + wlp5s0 IPv6 8E50A59FAF52A809-0000000000000001 _matter._tcp local + + wlp5s0 IPv6 03E707466A904C7E-0000000000000003 _matter._tcp local + = wlp5s0 IPv6 8E50A59FAF52A809-0000000000000001 _matter._tcp local + hostname = [E45F010F27530000.local] + address = [fe80::e65f:1ff:fe0f:2753] + port = [5540] + txt = ["T=1" "SAI=300" "SII=5000"] + = wlp5s0 IPv6 03E707466A904C7E-0000000000000003 _matter._tcp local + hostname = [E45F010F27530000.local] + address = [fe80::e65f:1ff:fe0f:2753] + port = [5540] + txt = ["T=1" "SAI=300" "SII=5000"] + grl@grl-ThinkPad-L480:~/may16_cntrl03/connectedhomeip/examples/chip-tool/out/debug$ + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_SKIP_SAMPLE_APP + arguments: + values: + - name: "message" + value: "enter 'y' after success" + - name: "expectedValue" + value: "y" + - label: "TH_CR1 opens a commissioning window on DUT_CE using ECM" identity: "alpha" PICS: CADMIN.S.C00.Rsp diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_3.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_3.yaml index 86bdb60ead19b6..c2bd4f4e8394f1 100644 --- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_3.yaml @@ -148,13 +148,46 @@ tests: - name: "nodeId" value: nodeId2 + #Check for DNS-SD advertisement is not possible in YAML + - label: + "Verify DUT_CE is now discoverable over DNS-SD with two SRV Records" + verification: | + On TH_CR2 send the below command + + Verify if the DUT_CE is broadcasting using + + ubuntu@ubuntu:~/may16_cntrl/connectedhomeip/examples/chip-tool/out/debug$ avahi-browse -rt _matter._tcp + + eth0 IPv6 9B9C01C971F4119F-0000000000000001 _matter._tcp local + + eth0 IPv6 C8A60CCA27F33379-0000000000000002 _matter._tcp local + = eth0 IPv6 9B9C01C971F4119F-0000000000000001 _matter._tcp local + hostname = [E45F010F27530000.local] + address = [fe80::e65f:1ff:fe0f:2753] + port = [5540] + txt = ["T=1" "SAI=300" "SII=5000"] + = eth0 IPv6 C8A60CCA27F33379-0000000000000002 _matter._tcp local + hostname = [E45F010F27530000.local] + address = [fe80::e65f:1ff:fe0f:2753] + port = [5540] + txt = ["T=1" "SAI=300" "SII=5000"] + ubuntu@ubuntu:~/may16_cntrl/connectedhomeip/examples/chip-tool/out/debug$ + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_SKIP_SAMPLE_APP + arguments: + values: + - name: "message" + value: "enter 'y' after success" + - name: "expectedValue" + value: "y" + - label: "TH_CR1 reads the list of Fabrics on DUT_CE" command: "readAttribute" cluster: "Operational Credentials" attribute: "Fabrics" PICS: OPCREDS.S.A0001 + fabricFiltered: false response: - value: [{ Label: "", nodeId: nodeId }] + value: [{ Label: "", nodeId: nodeId }, { Label: "", nodeId: nodeId2 }] constraints: type: list @@ -287,3 +320,4 @@ tests: value: payload response: error: FAILURE + clusterError: 9 diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_4.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_4.yaml index 8e97818764bb3f..abcb35415ab4fa 100644 --- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_4.yaml @@ -138,13 +138,45 @@ tests: - name: "nodeId" value: nodeId2 + #Check for DNS-SD advertisement is not possible in YAML + - label: + "Verify DUT_CE is now discoverable over DNS-SD with two SRV Records" + verification: | + On TH_CR2 send the below command + + Verify if the DUT_CE is broadcasting using + + ubuntu@ubuntu:~/may16_cntrl2/connectedhomeip/examples/chip-tool/out/debug$ avahi-browse -rt _matter._tcp + + eth0 IPv6 C8A60CCA27F33379-0000000000000002 _matter._tcp local + + eth0 IPv6 3C26C93CF201458F-0000000000000001 _matter._tcp local + = eth0 IPv6 C8A60CCA27F33379-0000000000000002 _matter._tcp local + hostname = [E45F010F27530000.local] + address = [fe80::e65f:1ff:fe0f:2753] + port = [5540] + txt = ["T=1" "SAI=300" "SII=5000"] + = eth0 IPv6 3C26C93CF201458F-0000000000000001 _matter._tcp local + hostname = [E45F010F27530000.local] + address = [fe80::e65f:1ff:fe0f:2753] + port = [5540] + txt = ["T=1" "SAI=300" "SII=5000"] + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_SKIP_SAMPLE_APP + arguments: + values: + - name: "message" + value: "enter 'y' after success" + - name: "expectedValue" + value: "y" + - label: "TH_CR1 reads the list of Fabrics on DUT_CE" command: "readAttribute" cluster: "Operational Credentials" PICS: OPCREDS.S.A0001 attribute: "Fabrics" + fabricFiltered: false response: - value: [{ Label: "", nodeId: nodeId }] + value: [{ Label: "", nodeId: nodeId }, { Label: "", nodeId: nodeId2 }] constraints: type: list @@ -154,8 +186,9 @@ tests: cluster: "Operational Credentials" attribute: "Fabrics" PICS: OPCREDS.S.A0001 + fabricFiltered: false response: - value: [{ Label: "", nodeId: nodeId2 }] + value: [{ Label: "", nodeId: nodeId }, { Label: "", nodeId: nodeId2 }] constraints: type: list @@ -264,3 +297,4 @@ tests: value: payload response: error: FAILURE + clusterError: 9 diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_5.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_5.yaml index 59b582fedb35a9..240b0eadfebe19 100644 --- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_5.yaml +++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_5.yaml @@ -218,6 +218,7 @@ tests: value: "SPAKE2P Key Salt" response: error: FAILURE + clusterError: 3 - label: "TH_CR1 opens a new commissioning window on DUT_CE using ECM" cluster: "AdministratorCommissioning" @@ -270,6 +271,16 @@ tests: - name: "payload" value: payload + - label: "DUT_CE is commissioned by TH_CR2" + identity: "beta" + cluster: "DelayCommands" + command: "WaitForCommissionee" + PICS: CADMIN.S + arguments: + values: + - name: "nodeId" + value: nodeId2 + - label: "TH_CR1 tries to revoke the commissioning window on DUT_CE using RevokeCommissioning command" diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_6.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_6.yaml index 50f37c402ac0a9..f7b1df9d4c8116 100644 --- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_6.yaml +++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_6.yaml @@ -207,6 +207,7 @@ tests: value: 180 response: error: FAILURE + clusterError: 2 - label: "TH_CR2 starts a commissioning process on DUT_CE" identity: "beta" @@ -238,6 +239,7 @@ tests: timedInteractionTimeoutMs: 10000 response: error: FAILURE + clusterError: 4 - label: "TH_CR3 starts a commissioning process with DUT_CE" identity: "gamma" diff --git a/src/app/tests/suites/certification/Test_TC_CC_2_1.yaml b/src/app/tests/suites/certification/Test_TC_CC_2_1.yaml index 00f7eb26fb905f..e727cac51c23de 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_2_1.yaml @@ -200,7 +200,8 @@ tests: minValue: 0 maxValue: 65535 - - label: "TH reads FeatureMap attribute from DUT" + - label: + "Saving for comparision in step 19 reads FeatureMap attribute from DUT" command: "readAttribute" attribute: "FeatureMap" response: @@ -275,7 +276,8 @@ tests: verification: | ./chip-tool colorcontrol read primary1x 1 1 - Verify in TH Logs: + Verify response contains an uint16 in TH(chip-tool) Logs: + CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0011 DataVersion: 540305990 [1651483665.109697][3245:3250] CHIP:TOO: primary 1 x: 0 [1651483665.109797][3245:3250] CHIP:EM: Sending Standalone Ack for MessageCounter:12731123 on exchange 55053i @@ -296,7 +298,8 @@ tests: verification: | ./chip-tool colorcontrol read primary1y 1 1 - Verify in TH Logs: + Verify response contains an uint16 in TH(chip-tool) Logs: + CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0012 DataVersion: 540305990 [1651483698.733322][3253:3259] CHIP:TOO: primary 1 y: 0 [1651483698.733420][3253:3259] CHIP:EM: Sending Standalone Ack for MessageCounter:7863787 on exchange 13103i @@ -316,7 +319,8 @@ tests: verification: | ./chip-tool colorcontrol read primary1intensity 1 1 - Verify in TH Logs: + Verify response contains an uint8 in TH(chip-tool) Logs: + CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0013 DataVersion: 540305990 [1651483742.297459][3263:3268] CHIP:TOO: primary 1 intensity: 0 [1651483742.297558][3263:3268] CHIP:EM: Sending Standalone Ack for MessageCounter:10210809 on exchange 7007i @@ -337,7 +341,8 @@ tests: verification: | ./chip-tool colorcontrol read primary2x 1 1 - Verify in TH Logs: + Verify response contains an uint16 in TH(chip-tool) Logs: + CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0015 DataVersion: 540305990 [1651483777.233498][3270:3275] CHIP:TOO: primary 2 x: 0 [1651483777.233614][3270:3275] CHIP:EM: Sending Standalone Ack for MessageCounter:1684573 on exchange 21377i @@ -358,7 +363,8 @@ tests: verification: | ./chip-tool colorcontrol read primary2y 1 1 - Verify in TH Logs: + Verify response contains an uint16 in TH(chip-tool) Logs: + CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0016 DataVersion: 540305990 [1651483805.650796][3279:3284] CHIP:TOO: primary 2 y: 0 [1651483805.650942][3279:3284] CHIP:EM: Sending Standalone Ack for MessageCounter:16277541 on exchange 10435i @@ -378,7 +384,8 @@ tests: verification: | ./chip-tool colorcontrol read primary2intensity 1 1 - Verify in TH Logs: + Verify response contains an uint8 in TH(chip-tool) Logs: + CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0017 DataVersion: 540305990 [1651483834.596380][3285:3290] CHIP:TOO: primary 2 intensity: 0 [1651483834.596470][3285:3290] CHIP:EM: Sending Standalone Ack for MessageCounter:5986355 on exchange 855i @@ -399,7 +406,8 @@ tests: verification: | ./chip-tool colorcontrol read primary3x 1 1 - Verify in TH Logs: + Verify response contains an uint16 in TH(chip-tool) Logs: + CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0019 DataVersion: 540305990 [1651483937.072323][3298:3303] CHIP:TOO: primary 3 x: 0 [1651483937.072405][3298:3303] CHIP:EM: Sending Standalone Ack for MessageCounter:6092298 on exchange 12519i @@ -420,7 +428,8 @@ tests: verification: | ./chip-tool colorcontrol read primary3y 1 1 - Verify in TH Logs: + Verify response contains an uint16 in TH(chip-tool) Logs: + CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_001A DataVersion: 540305990 [1651483967.386334][3305:3310] CHIP:TOO: primary 3 y: 0 [1651483967.386427][3305:3310] CHIP:EM: Sending Standalone Ack for MessageCounter:3329418 on exchange 11657i @@ -440,10 +449,11 @@ tests: verification: | ./chip-tool colorcontrol read primary3intensity 1 1 - Verify in TH Logs: - CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_001B DataVersion: 540305990 - [1651484113.812178][3316:3321] CHIP:TOO: primary 3 intensity: 0 - [1651484113.812270][3316:3321] CHIP:EM: Sending Standalone Ack for MessageCounter:41658 on exchange 9618i + Verify response contains an uint8 in TH(chip-tool) Logs: + + CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_001B DataVersion: 540305990 + [1651484113.812178][3316:3321] CHIP:TOO: primary 3 intensity: 0 + [1651484113.812270][3316:3321] CHIP:EM: Sending Standalone Ack for MessageCounter:41658 on exchange 9618i cluster: "LogCommands" command: "UserPrompt" PICS: PICS_USER_PROMPT && CC.S.A001b @@ -462,7 +472,8 @@ tests: verification: | ./chip-tool colorcontrol read primary4x 1 1 - Verify in TH Logs: + Verify response contains an uint16 in TH(chip-tool) Logs: + CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0020 DataVersion: 540305990 [1651484143.778301][3324:3329] CHIP:TOO: primary 4 x: 0 [1651484143.778392][3324:3329] CHIP:EM: Sending Standalone Ack for MessageCounter:2094184 on exchange 50270i @@ -483,7 +494,8 @@ tests: verification: | ./chip-tool colorcontrol read primary4y 1 1 - Verify in TH Logs: + Verify response contains an uint16 in TH(chip-tool) Logs: + CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0021 DataVersion: 540305990 [1651484171.921901][3334:3339] CHIP:TOO: primary 4 y: 0 [1651484171.921984][3334:3339] CHIP:EM: Sending Standalone Ack for MessageCounter:3701827 on exchange 16726i @@ -503,7 +515,8 @@ tests: verification: | ./chip-tool colorcontrol read primary4intensity 1 1 - Verify in TH Logs: + Verify response contains an uint8 in TH(chip-tool) Logs: + CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0022 DataVersion: 540305990 [1651484198.443415][3341:3346] CHIP:TOO: primary 4 intensity: 0 [1651484198.443528][3341:3346] CHIP:EM: Sending Standalone Ack for MessageCounter:1740063 on exchange 36245i @@ -524,7 +537,8 @@ tests: verification: | ./chip-tool colorcontrol read primary5x 1 1 - Verify in TH Logs: + Verify response contains an uint16 in TH(chip-tool) Logs: + CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0024 DataVersion: 540305990 [1651484241.467661][3350:3355] CHIP:TOO: primary 5 x: 0 [1651484241.467788][3350:3355] CHIP:EM: Sending Standalone Ack for MessageCounter:5350139 on exchange 63040i @@ -545,7 +559,8 @@ tests: verification: | ./chip-tool colorcontrol read primary5y 1 1 - Verify in TH Logs: + Verify response contains an uint16 in TH(chip-tool) Logs: + CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0025 DataVersion: 540305990 [1651484286.709863][3358:3363] CHIP:TOO: primary 5 y: 0 [1651484286.709964][3358:3363] CHIP:EM: Sending Standalone Ack for MessageCounter:7199124 on exchange 47604i @@ -565,7 +580,8 @@ tests: verification: | ./chip-tool colorcontrol read primary5intensity 1 1 - Verify in TH Logs: + Verify response contains an uint8 in TH(chip-tool) Logs: + CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0026 DataVersion: 540305990 [1651484304.715731][3365:3370] CHIP:TOO: primary 5 intensity: 0 [1651484304.715829][3365:3370] CHIP:EM: Sending Standalone Ack for MessageCounter:8654922 on exchange 29272i @@ -586,7 +602,8 @@ tests: verification: | ./chip-tool colorcontrol read primary6x 1 1 - Verify in TH Logs: + Verify response contains an uint16 in TH(chip-tool) Logs: + CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0028 DataVersion: 540305990 [1651484349.601181][3372:3377] CHIP:TOO: primary 6 x: 0 [1651484349.601269][3372:3377] CHIP:EM: Sending Standalone Ack for MessageCounter:13704291 on exchange 30507i @@ -607,10 +624,11 @@ tests: verification: | ./chip-tool colorcontrol read primary6y 1 1 - Verify in TH Logs: - CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0028 DataVersion: 540305990 - [1651484349.601181][3372:3377] CHIP:TOO: primary 6 x: 0 - [1651484349.601269][3372:3377] CHIP:EM: Sending Standalone Ack for MessageCounter:13704291 on exchange 30507i + Verify response contains an uint16 in TH(chip-tool) Logs: + + [1663318323.234522][132277:132282] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0029 DataVersion: 3053940635 + [1663318323.234951][132277:132282] CHIP:TOO: Primary6Y: 0 + [1663318323.235117][132277:132282] CHIP:EM: Sending Standalone Ack for MessageCounter:208977845 on exchange 35151i cluster: "LogCommands" command: "UserPrompt" PICS: PICS_USER_PROMPT && CC.S.A0029 @@ -627,7 +645,8 @@ tests: verification: | ./chip-tool colorcontrol read primary6intensity 1 1 - Verify in TH Logs: + Verify response contains an uint8 in TH(chip-tool) Logs: + CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_002A DataVersion: 540305990 [1651484392.490974][3378:3383] CHIP:TOO: primary 6 intensity: 0 [1651484392.491074][3378:3383] CHIP:EM: Sending Standalone Ack for MessageCounter:2427165 on exchange 17769i 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 75d1d44691c3d7..4fd29a27fefcc2 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 @@ -206,6 +206,7 @@ tests: - name: "ms" value: 10000 + #https://github.com/CHIP-Specifications/chip-test-scripts/issues/416#issuecomment-1228072461 - label: "TH reads CurrentHue attribute from DUT" PICS: CC.S.F00 && CC.S.A0000 && PICS_SKIP_SAMPLE_APP verification: | diff --git a/src/app/tests/suites/certification/Test_TC_CC_4_2.yaml b/src/app/tests/suites/certification/Test_TC_CC_4_2.yaml index 6900437b6e6ec8..3046f0c291afb8 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_4_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_4_2.yaml @@ -44,7 +44,7 @@ tests: command: "On" - label: - "TH sends MoveToSaturation command to DUT with Saturation=60 and + "TH sends MoveToSaturation command to DUT with Saturation=150 and TransitionTime=0 (immediately)" PICS: CC.S.F00 && CC.S.C03.Rsp command: "MoveToSaturation" 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 c0a4a743fc8d51..5b2104adfbe3c4 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 @@ -545,7 +545,7 @@ tests: value: 32768 - label: "TH reads ColorMode attribute from DUT" - PICS: CC.S.F00 && CC.S.A0008 + PICS: CC.S.F03 && CC.S.A0008 command: "readAttribute" attribute: "ColorMode" response: @@ -555,7 +555,7 @@ tests: maxValue: 2 - label: "TH reads EnhancedColorMode attribute from DUT" - PICS: CC.S.F00 && CC.S.A4001 + PICS: CC.S.F03 && CC.S.A4001 command: "readAttribute" attribute: "EnhancedColorMode" response: diff --git a/src/app/tests/suites/certification/Test_TC_CC_5_2.yaml b/src/app/tests/suites/certification/Test_TC_CC_5_2.yaml index 6b5f1ae7dd2745..0a63b4bbb8ad15 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_5_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_5_2.yaml @@ -194,7 +194,7 @@ tests: maxValue: 33350 - label: "TH reads ColorMode attribute from DUT" - PICS: CC.S.F00 && CC.S.A0008 + PICS: CC.S.F03 && CC.S.A0008 command: "readAttribute" attribute: "ColorMode" response: @@ -204,7 +204,7 @@ tests: maxValue: 2 - label: "TH reads EnhancedColorMode attribute from DUT" - PICS: CC.S.F00 && CC.S.A4001 + PICS: CC.S.F03 && CC.S.A4001 command: "readAttribute" attribute: "EnhancedColorMode" response: diff --git a/src/app/tests/suites/certification/Test_TC_CC_5_3.yaml b/src/app/tests/suites/certification/Test_TC_CC_5_3.yaml index d8c70d8aff562a..2d7666ae2c1302 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_5_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_5_3.yaml @@ -162,7 +162,7 @@ tests: value: 14000 - label: "TH reads ColorMode attribute from DUT" - PICS: CC.S.F00 && CC.S.A0008 + PICS: CC.S.F03 && CC.S.A0008 command: "readAttribute" attribute: "ColorMode" response: @@ -172,7 +172,7 @@ tests: maxValue: 2 - label: "TH reads EnhancedColorMode attribute from DUT" - PICS: CC.S.F00 && CC.S.A4001 + PICS: CC.S.F03 && CC.S.A4001 command: "readAttribute" attribute: "EnhancedColorMode" response: diff --git a/src/app/tests/suites/certification/Test_TC_CC_7_1.yaml b/src/app/tests/suites/certification/Test_TC_CC_7_1.yaml index 37fe8950d16cfb..cd1d77fe118493 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 @@ -485,7 +485,7 @@ tests: value: 6000 - label: "TH reads ColorMode attribute from DUT" - PICS: CC.S.F00 && CC.S.A0008 + PICS: CC.S.F01 && CC.S.A0008 command: "readAttribute" attribute: "ColorMode" response: @@ -495,7 +495,7 @@ tests: maxValue: 2 - label: "TH reads EnhancedColorMode attribute from DUT" - PICS: CC.S.F00 && CC.S.A4001 + PICS: CC.S.F01 && CC.S.A4001 command: "readAttribute" attribute: "EnhancedColorMode" response: diff --git a/src/app/tests/suites/certification/Test_TC_CC_7_2.yaml b/src/app/tests/suites/certification/Test_TC_CC_7_2.yaml index 5bfaf14f00d2dd..ffdf358fdcb89e 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_7_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_7_2.yaml @@ -298,7 +298,7 @@ tests: maxValue: 11500 - label: "TH reads ColorMode attribute from DUT" - PICS: CC.S.F00 && CC.S.A0008 + PICS: CC.S.F01 && CC.S.A0008 command: "readAttribute" attribute: "ColorMode" response: @@ -308,7 +308,7 @@ tests: maxValue: 2 - label: "TH reads EnhancedColorMode attribute from DUT" - PICS: CC.S.F00 && CC.S.A4001 + PICS: CC.S.F01 && CC.S.A4001 command: "readAttribute" attribute: "EnhancedColorMode" response: diff --git a/src/app/tests/suites/certification/Test_TC_CC_7_3.yaml b/src/app/tests/suites/certification/Test_TC_CC_7_3.yaml index 78346f32187569..ea5d91a7ec3b97 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_7_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_7_3.yaml @@ -264,7 +264,7 @@ tests: value: 6000 - label: "TH reads ColorMode attribute from DUT" - PICS: CC.S.F00 && CC.S.A0008 + PICS: CC.S.F01 && CC.S.A0008 command: "readAttribute" attribute: "ColorMode" response: @@ -274,7 +274,7 @@ tests: maxValue: 2 - label: "TH reads EnhancedColorMode attribute from DUT" - PICS: CC.S.F00 && CC.S.A4001 + PICS: CC.S.F01 && CC.S.A4001 command: "readAttribute" attribute: "EnhancedColorMode" response: diff --git a/src/app/tests/suites/certification/Test_TC_CC_7_4.yaml b/src/app/tests/suites/certification/Test_TC_CC_7_4.yaml index 2737e0c1125a9a..8a0496c3b5e520 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_7_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_7_4.yaml @@ -180,7 +180,7 @@ tests: value: 80 - label: "TH reads ColorMode attribute from DUT" - PICS: CC.S.F00 && CC.S.A0008 + PICS: CC.S.F01 && CC.S.A0008 command: "readAttribute" attribute: "ColorMode" response: @@ -190,7 +190,7 @@ tests: maxValue: 2 - label: "TH reads EnhancedColorMode attribute from DUT" - PICS: CC.S.F00 && CC.S.A4001 + PICS: CC.S.F01 && CC.S.A4001 command: "readAttribute" attribute: "EnhancedColorMode" response: diff --git a/src/app/tests/suites/certification/Test_TC_CC_8_1.yaml b/src/app/tests/suites/certification/Test_TC_CC_8_1.yaml index c443ad18ce9b48..e46ff7bd26cba8 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_8_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_8_1.yaml @@ -109,7 +109,7 @@ tests: attribute: "CurrentHue" response: constraints: - minValue: 215 + minValue: 216 maxValue: 254 - label: "Wait 2s" @@ -126,7 +126,7 @@ tests: attribute: "CurrentHue" response: constraints: - minValue: 215 + minValue: 216 maxValue: 254 - label: @@ -210,9 +210,7 @@ tests: command: "readAttribute" attribute: "CurrentSaturation" response: - constraints: - minValue: CurrentSaturationValue - maxValue: 230 + value: CurrentSaturationValue - label: "TH reads ColorTempPhysicalMinMireds attribute from DUT" PICS: CC.S.A400b @@ -311,9 +309,7 @@ tests: response: saveAs: ColorTemperatureMiredsStep4f constraints: - minValue: - ( ColorTempPhysicalMaxMireds + ColorTempPhysicalMinMireds ) / - 2 + minValue: ColorTempPhysicalMinMireds maxValue: ColorTempPhysicalMaxMireds - label: "Wait 2s" @@ -414,9 +410,7 @@ tests: PICS: CC.S.A4000 && CC.S.C47.Rsp attribute: "EnhancedCurrentHue" response: - constraints: - minValue: EnhancedCurrentHueValue - maxValue: 28750 + value: EnhancedCurrentHueValue - label: "Turn Off light that we turned on" PICS: OO.S.C00.Rsp diff --git a/src/app/tests/suites/certification/Test_TC_CC_9_1.yaml b/src/app/tests/suites/certification/Test_TC_CC_9_1.yaml index 6213ccbe3131ce..100282fa8ca82c 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_9_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_9_1.yaml @@ -232,7 +232,9 @@ tests: - name: "ms" value: 30000 - - label: "Read ColorLoopStartEnhancedHue attribute from DUT" + - label: + "Saving value for comparison in step 8d read ColorLoopStartEnhancedHue + attribute from DUT" command: "readAttribute" attribute: "ColorLoopStartEnhancedHue" PICS: CC.S.F02 && CC.S.F01 && CC.S.A4005 && CC.S.C44.Rsp @@ -296,7 +298,9 @@ tests: response: value: 0 - - label: "Read ColorLoopStoredEnhancedHue attribute from DUT." + - label: + "Saving value for comparison in step 6c read + ColorLoopStoredEnhancedHue attribute from DUT." command: "readAttribute" attribute: "ColorLoopStoredEnhancedHue" PICS: CC.S.F02 && CC.S.F01 && CC.S.A4006 && CC.S.C44.Rsp @@ -385,7 +389,9 @@ tests: - name: "ms" value: 30000 - - label: "Read ColorLoopStartEnhancedHue attribute from DUT" + - label: + "Saving value for comparision in step 8d read + ColorLoopStartEnhancedHue attribute from DUT" command: "readAttribute" attribute: "ColorLoopStartEnhancedHue" PICS: CC.S.F02 && CC.S.F01 && CC.S.A4005 && CC.S.C44.Rsp @@ -449,7 +455,9 @@ tests: response: value: 0 - - label: "Read ColorLoopStoredEnhancedHue attribute from DUT" + - label: + "Saving value for comparision in step 9c read + ColorLoopStoredEnhancedHue attribute from DUT" command: "readAttribute" attribute: "ColorLoopStoredEnhancedHue" PICS: CC.S.F02 && CC.S.F01 && CC.S.A4006 && CC.S.C44.Rsp @@ -571,7 +579,9 @@ tests: - name: "ms" value: 30000 - - label: "Read ColorLoopStartEnhancedHue attribute from DUT" + - label: + "Saving value for comparision in step 12d read + ColorLoopStartEnhancedHue attribute from DUT" command: "readAttribute" attribute: "ColorLoopStartEnhancedHue" PICS: CC.S.F02 && CC.S.F01 && CC.S.A4005 && CC.S.C44.Rsp @@ -635,7 +645,9 @@ tests: response: value: 0 - - label: "Read ColorLoopStoredEnhancedHue attribute from DUT." + - label: + "Saving value for comparision in step 13c read + ColorLoopStoredEnhancedHue attribute from DUT." command: "readAttribute" attribute: "ColorLoopStoredEnhancedHue" PICS: CC.S.F02 && CC.S.F01 && CC.S.A4006 && CC.S.C44.Rsp @@ -724,7 +736,9 @@ tests: - name: "ms" value: 30000 - - label: "Read ColorLoopStartEnhancedHue attribute from DUT" + - label: + "Saving value for comparision in step 15d read + ColorLoopStartEnhancedHue attribute from DUT" command: "readAttribute" attribute: "ColorLoopStartEnhancedHue" PICS: CC.S.F02 && CC.S.F01 && CC.S.A4005 && CC.S.C44.Rsp @@ -788,7 +802,9 @@ tests: response: value: 0 - - label: "Read ColorLoopStoredEnhancedHue attribute from DUT." + - label: + "Saving value for comparision in step 16b read + ColorLoopStoredEnhancedHue attribute from DUT." command: "readAttribute" attribute: "ColorLoopStoredEnhancedHue" PICS: CC.S.F02 && CC.S.F01 && CC.S.A4006 && CC.S.C44.Rsp diff --git a/src/app/tests/suites/certification/Test_TC_CC_9_2.yaml b/src/app/tests/suites/certification/Test_TC_CC_9_2.yaml index 040c71deb68111..d1888a163da632 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_9_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_9_2.yaml @@ -168,7 +168,9 @@ tests: - name: "ms" value: 30000 - - label: "Read ColorLoopStartEnhancedHue attribute from DUT." + - label: + "Saving value for comparision read ColorLoopStartEnhancedHue attribute + from DUT." command: "readAttribute" attribute: "ColorLoopStartEnhancedHue" PICS: CC.S.F01 && CC.S.F02 && CC.S.A4005 && CC.S.C44.Rsp @@ -241,7 +243,9 @@ tests: - name: "ms" value: 30000 - - label: "Read ColorLoopStartEnhancedHue attribute from DUT." + - label: + "Saving value for comparision read ColorLoopStartEnhancedHue attribute + from DUT." command: "readAttribute" attribute: "ColorLoopStartEnhancedHue" PICS: CC.S.F01 && CC.S.F02 && CC.S.A4005 && CC.S.C44.Rsp @@ -305,7 +309,9 @@ tests: response: value: 0 - - label: "Read ColorLoopStoredEnhancedHue attribute from DUT." + - label: + "Saving value for comparision read ColorLoopStoredEnhancedHue + attribute from DUT." command: "readAttribute" PICS: CC.S.F01 && CC.S.F02 && CC.S.A4006 && CC.S.C44.Rsp attribute: "ColorLoopStoredEnhancedHue" diff --git a/src/app/tests/suites/certification/Test_TC_CC_9_3.yaml b/src/app/tests/suites/certification/Test_TC_CC_9_3.yaml index d777b6ec241235..94ce6ce1962e50 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_9_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_9_3.yaml @@ -167,7 +167,9 @@ tests: - name: "ms" value: 30000 - - label: "Read ColorLoopStartEnhancedHue attribute from DUT." + - label: + "Saving value for comparision read ColorLoopStartEnhancedHue attribute + from DUT." command: "readAttribute" attribute: "ColorLoopStartEnhancedHue" PICS: CC.S.F01 && CC.S.F02 && CC.S.A4005 && CC.S.C44.Rsp @@ -296,7 +298,9 @@ tests: response: value: 0 - - label: "Read ColorLoopStoredEnhancedHue attribute from DUT." + - label: + "Saving value for comparision read ColorLoopStoredEnhancedHue + attribute from DUT." command: "readAttribute" attribute: "ColorLoopStoredEnhancedHue" PICS: CC.S.F01 && CC.S.F02 && CC.S.A4006 && CC.S.C44.Rsp diff --git a/src/app/tests/suites/certification/Test_TC_MEDIAINPUT_1_4.yaml b/src/app/tests/suites/certification/Test_TC_MEDIAINPUT_1_4.yaml index ab201ba3625811..797e74b9fb52a7 100644 --- a/src/app/tests/suites/certification/Test_TC_MEDIAINPUT_1_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_MEDIAINPUT_1_4.yaml @@ -42,13 +42,22 @@ tests: type: int16u - label: "Read the global attribute: FeatureMap" + PICS: " !MEDIAINPUT.S.NU " command: "readAttribute" attribute: "FeatureMap" response: + value: 0 constraints: type: bitmap32 - minValue: 0 - maxValue: 1 + + - label: "Given MEDIAINPUT.S.NU ensure featuremap has the correct bit set" + PICS: MEDIAINPUT.S.NU + command: "readAttribute" + attribute: "FeatureMap" + response: + constraints: + type: bitmap32 + hasMasksSet: [0x1] - label: "Read the global attribute: AttributeList" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_6_3.yaml b/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_6_3.yaml index 96e11ccf86c241..59c9aa6d93ea1a 100644 --- a/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_6_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_6_3.yaml @@ -175,3 +175,14 @@ tests: values: - name: "status" value: 5 + + - label: "verify that the media has not moved." + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && MEDIAPLAYBACK.S.C0B.Rsp + arguments: + values: + - name: "message" + value: "Please enter 'y' if media has not moved" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_6_4.yaml b/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_6_4.yaml index a86fcaa2bb053d..d6c24703932310 100644 --- a/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_6_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_6_4.yaml @@ -63,6 +63,17 @@ tests: - name: "status" value: 0 + - label: "verify that the media state is playing" + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && MEDIAPLAYBACK.S.C07.Rsp + arguments: + values: + - name: "message" + value: "Please enter 'y' if media state is playing" + - name: "expectedValue" + value: "y" + - label: "Reads the CurrentState attribute" PICS: MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C07.Rsp command: "readAttribute" @@ -85,6 +96,17 @@ tests: - name: "status" value: 0 + - label: "verify that the media play speed has increased." + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && MEDIAPLAYBACK.S.C07.Rsp + arguments: + values: + - name: "message" + value: "Please enter 'y' if media play speed has increased." + - name: "expectedValue" + value: "y" + - label: "Reads the PlaybackSpeed attribute from the DUT" PICS: MEDIAPLAYBACK.S.A0004 && MEDIAPLAYBACK.S.C07.Rsp command: "readAttribute" @@ -100,6 +122,17 @@ tests: - name: "status" value: 0 + - label: "verify that the media play has reversed direction." + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && MEDIAPLAYBACK.S.C06.Rsp + arguments: + values: + - name: "message" + value: "Please enter 'y' if media play has reversed direction" + - name: "expectedValue" + value: "y" + - label: "Reads the CurrentState attribute" PICS: MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C06.Rsp command: "readAttribute" @@ -132,6 +165,21 @@ tests: - name: "status" value: 0 + - label: + "verify that the media play speed has increased in the reverse + direction." + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && MEDIAPLAYBACK.S.C06.Rsp + arguments: + values: + - name: "message" + value: + "Please enter 'y' if media play speed has increased in the + reverse direction" + - name: "expectedValue" + value: "y" + #Issue 19800 - label: "Reads the PlaybackSpeed attribute from the DUT" verification: | @@ -157,6 +205,21 @@ tests: - name: "status" value: 0 + - label: + "verify that the media is has resumed playing forward at the default + speed." + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && MEDIAPLAYBACK.S.C00.Rsp + arguments: + values: + - name: "message" + value: + "Please enter 'y' if media is has resumed playing forward at + the default speed" + - name: "expectedValue" + value: "y" + - label: "Reads the PlaybackSpeed attribute from the DUT" command: "readAttribute" attribute: "PlaybackSpeed" diff --git a/src/app/tests/suites/certification/Test_TC_TSTAT_2_2.yaml b/src/app/tests/suites/certification/Test_TC_TSTAT_2_2.yaml index ab656491823c5b..ab5fc6acb42b17 100644 --- a/src/app/tests/suites/certification/Test_TC_TSTAT_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_TSTAT_2_2.yaml @@ -209,7 +209,6 @@ tests: attribute: "UnoccupiedCoolingSetpoint" PICS: TSTAT.S.F02 && TSTAT.S.F01 response: - value: 2600 constraints: type: int16s minValue: 1600 @@ -280,7 +279,6 @@ tests: attribute: "UnoccupiedHeatingSetpoint" PICS: TSTAT.S.F02 && TSTAT.S.F00 response: - value: 2000 constraints: type: int16s minValue: 700 @@ -289,7 +287,6 @@ tests: - label: "Writes a value back that is different but valid for UnoccupiedHeatingSetpoint attribute" - command: "writeAttribute" attribute: "UnoccupiedHeatingSetpoint" PICS: TSTAT.S.F02 && TSTAT.S.F00 @@ -352,7 +349,6 @@ tests: attribute: "MinHeatSetpointLimit" PICS: TSTAT.S.F00 && TSTAT.S.A0015 response: - value: 700 constraints: type: int16s minValue: 700 @@ -432,7 +428,6 @@ tests: attribute: "MaxHeatSetpointLimit" PICS: TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05 response: - value: 3000 constraints: type: int16s minValue: 700 @@ -523,7 +518,6 @@ tests: attribute: "MinCoolSetpointLimit" PICS: TSTAT.S.F01 && TSTAT.S.A0017 response: - value: 1600 constraints: type: int16s minValue: 1600 @@ -602,7 +596,6 @@ tests: attribute: "MaxCoolSetpointLimit" PICS: TSTAT.S.F01 && TSTAT.S.A0018 response: - value: 3200 constraints: type: int16s minValue: 1600 @@ -675,14 +668,14 @@ tests: - label: "Writes (sets back)default value of MaxHeatSetpointLimit" command: "writeAttribute" attribute: "MaxHeatSetpointLimit" - PICS: TSTAT.S.F01 && TSTAT.S.A0016 &&!TSTAT.S.F05 + PICS: TSTAT.S.F01 && TSTAT.S.A0016 && !TSTAT.S.F05 arguments: value: 3000 - label: "Writes MaxHeatSetpointLimit That meets the deadband of 2.5C" command: "writeAttribute" attribute: "MaxHeatSetpointLimit" - PICS: TSTAT.S.F01 && TSTAT.S.A0016 &&!TSTAT.S.F05 + PICS: TSTAT.S.F01 && TSTAT.S.A0016 && !TSTAT.S.F05 arguments: value: 2950 @@ -707,7 +700,6 @@ tests: attribute: "MinSetpointDeadBand" PICS: TSTAT.S.F05 response: - value: 25 constraints: type: int8s minValue: 0 @@ -718,7 +710,7 @@ tests: MinSetpointDeadBand attribute" command: "writeAttribute" attribute: "MinSetpointDeadBand" - PICS: TSTAT.S.F05 + PICS: TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable arguments: value: 5 @@ -727,14 +719,14 @@ tests: MinSetpointDeadBand attribute" command: "readAttribute" attribute: "MinSetpointDeadBand" - PICS: TSTAT.S.F05 + PICS: TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable response: value: 5 - label: "Writes the value below MinSetpointDeadBand" command: "writeAttribute" attribute: "MinSetpointDeadBand" - PICS: TSTAT.S.F05 + PICS: TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable arguments: value: -1 response: @@ -743,7 +735,7 @@ tests: - label: "Writes the value above MinSetpointDeadBand " command: "writeAttribute" attribute: "MinSetpointDeadBand" - PICS: TSTAT.S.F05 + PICS: TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable arguments: value: 30 response: @@ -752,14 +744,14 @@ tests: - label: "Writes the min limit of MinSetpointDeadBand" command: "writeAttribute" attribute: "MinSetpointDeadBand" - PICS: TSTAT.S.F05 + PICS: TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable arguments: value: 0 - label: "Writes the max limit of MinSetpointDeadBand" command: "writeAttribute" attribute: "MinSetpointDeadBand" - PICS: TSTAT.S.F05 + PICS: TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable arguments: value: 25 diff --git a/src/app/tests/suites/certification/ci-pics-values b/src/app/tests/suites/certification/ci-pics-values index 9930fc5b2bc112..f7ea6ee0e55372 100644 --- a/src/app/tests/suites/certification/ci-pics-values +++ b/src/app/tests/suites/certification/ci-pics-values @@ -1496,6 +1496,7 @@ TSTAT.S.A0044=0 TSTAT.S.A0045=0 TSTAT.S.A0046=0 TSTAT.S.A0047=0 +TSTAT.S.M.MinSetpointDeadBandWritable=1 #Server commands TSTAT.S.C00.Rsp=1 diff --git a/zzz_generated/chip-tool/zap-generated/test/Commands.h b/zzz_generated/chip-tool/zap-generated/test/Commands.h index 570fd45aea3fab..0102b13479ac3c 100644 --- a/zzz_generated/chip-tool/zap-generated/test/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/test/Commands.h @@ -4153,7 +4153,7 @@ class Test_TC_CC_2_1Suite : public TestCommand ColorControl::Attributes::ColorLoopStoredEnhancedHue::Id, true, chip::NullOptional); } case 18: { - LogStep(18, "TH reads FeatureMap attribute from DUT"); + LogStep(18, "Saving for comparision in step 19 reads FeatureMap attribute from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::FeatureMap::Id, true, chip::NullOptional); } @@ -5932,7 +5932,7 @@ class Test_TC_CC_4_2Suite : public TestCommand ); } case 3: { - LogStep(3, "TH sends MoveToSaturation command to DUT with Saturation=60 and TransitionTime=0 (immediately)"); + LogStep(3, "TH sends MoveToSaturation command to DUT with Saturation=150 and TransitionTime=0 (immediately)"); VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.C03.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::ColorControl::Commands::MoveToSaturation::Type value; @@ -7899,13 +7899,13 @@ class Test_TC_CC_5_1Suite : public TestCommand } case 57: { LogStep(57, "TH reads ColorMode attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorMode::Id, true, chip::NullOptional); } case 58: { LogStep(58, "TH reads EnhancedColorMode attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedColorMode::Id, true, chip::NullOptional); } @@ -8252,13 +8252,13 @@ class Test_TC_CC_5_2Suite : public TestCommand } case 18: { LogStep(18, "TH reads ColorMode attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorMode::Id, true, chip::NullOptional); } case 19: { LogStep(19, "TH reads EnhancedColorMode attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedColorMode::Id, true, chip::NullOptional); } @@ -8568,13 +8568,13 @@ class Test_TC_CC_5_3Suite : public TestCommand } case 15: { LogStep(15, "TH reads ColorMode attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorMode::Id, true, chip::NullOptional); } case 16: { LogStep(16, "TH reads EnhancedColorMode attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F03 && CC.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedColorMode::Id, true, chip::NullOptional); } @@ -10366,13 +10366,13 @@ class Test_TC_CC_7_2Suite : public TestCommand } case 27: { LogStep(27, "TH reads ColorMode attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorMode::Id, true, chip::NullOptional); } case 28: { LogStep(28, "TH reads EnhancedColorMode attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedColorMode::Id, true, chip::NullOptional); } @@ -10821,13 +10821,13 @@ class Test_TC_CC_7_3Suite : public TestCommand } case 25: { LogStep(25, "TH reads ColorMode attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorMode::Id, true, chip::NullOptional); } case 26: { LogStep(26, "TH reads EnhancedColorMode attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedColorMode::Id, true, chip::NullOptional); } @@ -11171,13 +11171,13 @@ class Test_TC_CC_7_4Suite : public TestCommand } case 17: { LogStep(17, "TH reads ColorMode attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorMode::Id, true, chip::NullOptional); } case 18: { LogStep(18, "TH reads EnhancedColorMode attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedColorMode::Id, true, chip::NullOptional); } @@ -11274,7 +11274,7 @@ class Test_TC_CC_8_1Suite : public TestCommand { uint8_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintMinValue("value", value, 215U)); + VerifyOrReturn(CheckConstraintMinValue("value", value, 216U)); VerifyOrReturn(CheckConstraintMaxValue("value", value, 254U)); } break; @@ -11287,7 +11287,7 @@ class Test_TC_CC_8_1Suite : public TestCommand { uint8_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintMinValue("value", value, 215U)); + VerifyOrReturn(CheckConstraintMinValue("value", value, 216U)); VerifyOrReturn(CheckConstraintMaxValue("value", value, 254U)); } break; @@ -11327,8 +11327,7 @@ class Test_TC_CC_8_1Suite : public TestCommand { uint8_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintMinValue("value", value, CurrentSaturationValue)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 230U)); + VerifyOrReturn(CheckValue("currentSaturation", value, CurrentSaturationValue)); } break; case 19: @@ -11375,8 +11374,7 @@ class Test_TC_CC_8_1Suite : public TestCommand { uint16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn( - CheckConstraintMinValue("value", value, (ColorTempPhysicalMaxMireds + ColorTempPhysicalMinMireds) / 2)); + VerifyOrReturn(CheckConstraintMinValue("value", value, ColorTempPhysicalMinMireds)); VerifyOrReturn(CheckConstraintMaxValue("value", value, ColorTempPhysicalMaxMireds)); ColorTemperatureMiredsStep4f = value; } @@ -11429,8 +11427,7 @@ class Test_TC_CC_8_1Suite : public TestCommand { uint16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintMinValue("value", value, EnhancedCurrentHueValue)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 28750U)); + VerifyOrReturn(CheckValue("enhancedCurrentHue", value, EnhancedCurrentHueValue)); } break; case 37: @@ -12259,7 +12256,7 @@ class Test_TC_BINFO_1_1Suite : public TestCommand class Test_TC_BINFO_2_1Suite : public TestCommand { public: - Test_TC_BINFO_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BINFO_2_1", 69, credsIssuerConfig) + Test_TC_BINFO_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BINFO_2_1", 68, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -12888,13 +12885,9 @@ class Test_TC_BINFO_2_1Suite : public TestCommand } break; case 66: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 67: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_WRITE)); break; - case 68: + case 67: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::Basic::Structs::CapabilityMinimaStruct::DecodableType value; @@ -13403,19 +13396,7 @@ class Test_TC_BINFO_2_1Suite : public TestCommand chip::NullOptional); } case 66: { - LogStep(66, - "Step 56 is implicitly validating the attribute(CapabilityMinima) constraints, as long as the payload is being " - "parsed successfully"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && BINFO.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 67: { - LogStep(67, "TH writes CapabilityMinima from the DUT."); + LogStep(66, "TH writes CapabilityMinima from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::Basic::Structs::CapabilityMinimaStruct::Type value; @@ -13426,8 +13407,8 @@ class Test_TC_BINFO_2_1Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::CapabilityMinima::Id, value, chip::NullOptional, chip::NullOptional); } - case 68: { - LogStep(68, "TH reads CapabilityMinima attribute from the DUT."); + case 67: { + LogStep(67, "TH reads CapabilityMinima attribute from the DUT."); VerifyOrDo(!ShouldSkip("BINFO.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::CapabilityMinima::Id, true, chip::NullOptional); @@ -21578,7 +21559,7 @@ class Test_TC_MEDIAINPUT_1_4Suite : public TestCommand { public: Test_TC_MEDIAINPUT_1_4Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_MEDIAINPUT_1_4", 8, credsIssuerConfig) + TestCommand("Test_TC_MEDIAINPUT_1_4", 9, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -21629,12 +21610,20 @@ class Test_TC_MEDIAINPUT_1_4Suite : public TestCommand { uint32_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("featureMap", value, 0UL)); 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)); + { + uint32_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "bitmap32", "bitmap32")); + VerifyOrReturn(CheckConstraintHasMasksSet("value", value, 1UL)); + } + break; + case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -21647,7 +21636,7 @@ class Test_TC_MEDIAINPUT_1_4Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; - case 4: + case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -21656,7 +21645,7 @@ class Test_TC_MEDIAINPUT_1_4Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 5: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -21665,7 +21654,7 @@ class Test_TC_MEDIAINPUT_1_4Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 6: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -21677,7 +21666,7 @@ class Test_TC_MEDIAINPUT_1_4Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 7: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -21718,33 +21707,40 @@ class Test_TC_MEDIAINPUT_1_4Suite : public TestCommand } case 2: { LogStep(2, "Read the global attribute: FeatureMap"); + VerifyOrDo(!ShouldSkip(" !MEDIAINPUT.S.NU "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaInput::Id, MediaInput::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 3: { - LogStep(3, "Read the global attribute: AttributeList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaInput::Id, MediaInput::Attributes::AttributeList::Id, true, + LogStep(3, "Given MEDIAINPUT.S.NU ensure featuremap has the correct bit set"); + VerifyOrDo(!ShouldSkip("MEDIAINPUT.S.NU"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaInput::Id, MediaInput::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Read the optional attribute(InputList) in AttributeList"); - VerifyOrDo(!ShouldSkip("MEDIAINPUT.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Read the global attribute: AttributeList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaInput::Id, MediaInput::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Read the optional attribute(CurrentInput) in AttributeList"); - VerifyOrDo(!ShouldSkip("MEDIAINPUT.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Read the optional attribute(InputList) in AttributeList"); + VerifyOrDo(!ShouldSkip("MEDIAINPUT.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaInput::Id, MediaInput::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Read the global attribute: AcceptedCommandList"); + LogStep(6, "Read the optional attribute(CurrentInput) in AttributeList"); + VerifyOrDo(!ShouldSkip("MEDIAINPUT.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaInput::Id, MediaInput::Attributes::AttributeList::Id, true, + chip::NullOptional); + } + case 7: { + LogStep(7, "Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaInput::Id, MediaInput::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 7: { - LogStep(7, "Read the global attribute: GeneratedCommandList"); + case 8: { + LogStep(8, "Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaInput::Id, MediaInput::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } @@ -25832,7 +25828,7 @@ class Test_TC_MEDIAPLAYBACK_6_3Suite : public TestCommand { public: Test_TC_MEDIAPLAYBACK_6_3Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_MEDIAPLAYBACK_6_3", 10, credsIssuerConfig) + TestCommand("Test_TC_MEDIAPLAYBACK_6_3", 11, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -25923,6 +25919,10 @@ class Test_TC_MEDIAPLAYBACK_6_3Suite : public TestCommand VerifyOrReturn(CheckValue("status", value.status, 5U)); } break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -26035,6 +26035,16 @@ class Test_TC_MEDIAPLAYBACK_6_3Suite : public TestCommand ); } + case 10: { + LogStep(10, "verify that the media has not moved."); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C0B.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' if media has not movedgarbage: not in length on purpose", 39); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -26044,7 +26054,7 @@ class Test_TC_MEDIAPLAYBACK_6_4Suite : public TestCommand { public: Test_TC_MEDIAPLAYBACK_6_4Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_MEDIAPLAYBACK_6_4", 18, credsIssuerConfig) + TestCommand("Test_TC_MEDIAPLAYBACK_6_4", 23, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -26114,6 +26124,10 @@ class Test_TC_MEDIAPLAYBACK_6_4Suite : public TestCommand } break; case 5: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::MediaPlayback::PlaybackStateEnum value; @@ -26121,7 +26135,7 @@ class Test_TC_MEDIAPLAYBACK_6_4Suite : public TestCommand VerifyOrReturn(CheckValue("currentState", value, 0U)); } break; - case 6: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { float value; @@ -26129,7 +26143,7 @@ class Test_TC_MEDIAPLAYBACK_6_4Suite : public TestCommand VerifyOrReturn(CheckValue("playbackSpeed", value, 1.0f)); } break; - case 7: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; @@ -26137,7 +26151,11 @@ class Test_TC_MEDIAPLAYBACK_6_4Suite : public TestCommand VerifyOrReturn(CheckValue("status", value.status, 0U)); } break; - case 8: + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { float value; @@ -26145,7 +26163,7 @@ class Test_TC_MEDIAPLAYBACK_6_4Suite : public TestCommand VerifyOrReturn(CheckValue("playbackSpeed", value, 2.0f)); } break; - case 9: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; @@ -26153,7 +26171,11 @@ class Test_TC_MEDIAPLAYBACK_6_4Suite : public TestCommand VerifyOrReturn(CheckValue("status", value.status, 0U)); } break; - case 10: + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::MediaPlayback::PlaybackStateEnum value; @@ -26161,11 +26183,11 @@ class Test_TC_MEDIAPLAYBACK_6_4Suite : public TestCommand VerifyOrReturn(CheckValue("currentState", value, 0U)); } break; - case 11: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 12: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; @@ -26173,11 +26195,15 @@ class Test_TC_MEDIAPLAYBACK_6_4Suite : public TestCommand VerifyOrReturn(CheckValue("status", value.status, 0U)); } break; - case 13: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 14: + case 17: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType value; @@ -26185,7 +26211,11 @@ class Test_TC_MEDIAPLAYBACK_6_4Suite : public TestCommand VerifyOrReturn(CheckValue("status", value.status, 0U)); } break; - case 15: + case 19: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { float value; @@ -26193,11 +26223,11 @@ class Test_TC_MEDIAPLAYBACK_6_4Suite : public TestCommand VerifyOrReturn(CheckValue("playbackSpeed", value, 1.0f)); } break; - case 16: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 17: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -26258,21 +26288,32 @@ class Test_TC_MEDIAPLAYBACK_6_4Suite : public TestCommand ); } case 5: { - LogStep(5, "Reads the CurrentState attribute"); + LogStep(5, "verify that the media state is playing"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = + chip::Span("Please enter 'y' if media state is playinggarbage: not in length on purpose", 42); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 6: { + LogStep(6, "Reads the CurrentState attribute"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::CurrentState::Id, true, chip::NullOptional); } - case 6: { - LogStep(6, "Reads the PlaybackSpeed attribute from the DUT"); + case 7: { + LogStep(7, "Reads the PlaybackSpeed attribute from the DUT"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0004 && MEDIAPLAYBACK.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::PlaybackSpeed::Id, true, chip::NullOptional); } - case 7: { - LogStep(7, "Sends a FastForward command"); + case 8: { + LogStep(8, "Sends a FastForward command"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::MediaPlayback::Commands::FastForward::Type value; @@ -26281,15 +26322,26 @@ class Test_TC_MEDIAPLAYBACK_6_4Suite : public TestCommand ); } - case 8: { - LogStep(8, "Reads the PlaybackSpeed attribute from the DUT"); + case 9: { + LogStep(9, "verify that the media play speed has increased."); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = + chip::Span("Please enter 'y' if media play speed has increased.garbage: not in length on purpose", 51); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 10: { + LogStep(10, "Reads the PlaybackSpeed attribute from the DUT"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0004 && MEDIAPLAYBACK.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::PlaybackSpeed::Id, true, chip::NullOptional); } - case 9: { - LogStep(9, "Sends a Rewind command to the DUT"); + case 11: { + LogStep(11, "Sends a Rewind command to the DUT"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C06.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::MediaPlayback::Commands::Rewind::Type value; @@ -26298,15 +26350,26 @@ class Test_TC_MEDIAPLAYBACK_6_4Suite : public TestCommand ); } - case 10: { - LogStep(10, "Reads the CurrentState attribute"); + case 12: { + LogStep(12, "verify that the media play has reversed direction."); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C06.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span( + "Please enter 'y' if media play has reversed directiongarbage: not in length on purpose", 53); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 13: { + LogStep(13, "Reads the CurrentState attribute"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C06.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::CurrentState::Id, true, chip::NullOptional); } - case 11: { - LogStep(11, "Reads the PlaybackSpeed attribute from the DUT"); + case 14: { + LogStep(14, "Reads the PlaybackSpeed attribute from the DUT"); VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.A0004 && MEDIAPLAYBACK.S.C06.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; @@ -26317,8 +26380,8 @@ class Test_TC_MEDIAPLAYBACK_6_4Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 12: { - LogStep(12, "Sends a Rewind command to the DUT"); + case 15: { + LogStep(15, "Sends a Rewind command to the DUT"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C06.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::MediaPlayback::Commands::Rewind::Type value; @@ -26327,8 +26390,19 @@ class Test_TC_MEDIAPLAYBACK_6_4Suite : public TestCommand ); } - case 13: { - LogStep(13, "Reads the PlaybackSpeed attribute from the DUT"); + case 16: { + LogStep(16, "verify that the media play speed has increased in the reverse direction."); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C06.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span( + "Please enter 'y' if media play speed has increased in the reverse directiongarbage: not in length on purpose", 75); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 17: { + LogStep(17, "Reads the PlaybackSpeed attribute from the DUT"); VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.A0004 && MEDIAPLAYBACK.S.C06.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; @@ -26339,8 +26413,8 @@ class Test_TC_MEDIAPLAYBACK_6_4Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 14: { - LogStep(14, "Sends a Play command"); + case 18: { + LogStep(18, "Sends a Play command"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::MediaPlayback::Commands::Play::Type value; @@ -26349,15 +26423,27 @@ class Test_TC_MEDIAPLAYBACK_6_4Suite : public TestCommand ); } - case 15: { - LogStep(15, "Reads the PlaybackSpeed attribute from the DUT"); + case 19: { + LogStep(19, "verify that the media is has resumed playing forward at the default speed."); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span( + "Please enter 'y' if media is has resumed playing forward at the default speedgarbage: not in length on purpose", + 77); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 20: { + LogStep(20, "Reads the PlaybackSpeed attribute from the DUT"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0004 && MEDIAPLAYBACK.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::PlaybackSpeed::Id, true, chip::NullOptional); } - case 16: { - LogStep(16, "Sends consecutive FastForward commands"); + case 21: { + LogStep(21, "Sends consecutive FastForward commands"); VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -26366,8 +26452,8 @@ class Test_TC_MEDIAPLAYBACK_6_4Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 17: { - LogStep(17, "Sends consecutive Rewind commands"); + case 22: { + LogStep(22, "Sends consecutive Rewind commands"); VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C06.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -26390,6 +26476,7 @@ class Test_TC_AUDIOOUTPUT_7_1Suite : public TestCommand AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("Index", 0, UINT8_MAX, &mIndex); AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } @@ -26404,6 +26491,7 @@ class Test_TC_AUDIOOUTPUT_7_1Suite : public TestCommand chip::Optional mNodeId; chip::Optional mCluster; chip::Optional mEndpoint; + chip::Optional mIndex; chip::Optional mTimeout; chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } @@ -26438,7 +26526,7 @@ class Test_TC_AUDIOOUTPUT_7_1Suite : public TestCommand { uint8_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("currentOutput", value, 1U)); + VerifyOrReturn(CheckValue("currentOutput", value, mIndex.HasValue() ? mIndex.Value() : 1U)); } break; default: @@ -26474,7 +26562,7 @@ class Test_TC_AUDIOOUTPUT_7_1Suite : public TestCommand VerifyOrDo(!ShouldSkip("AUDIOOUTPUT.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::AudioOutput::Commands::SelectOutput::Type value; - value.index = 1U; + value.index = mIndex.HasValue() ? mIndex.Value() : 1U; return SendCommand(kIdentityAlpha, GetEndpoint(1), AudioOutput::Id, AudioOutput::Commands::SelectOutput::Id, value, chip::NullOptional @@ -26500,6 +26588,7 @@ class Test_TC_AUDIOOUTPUT_7_2Suite : public TestCommand AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("Index", 0, UINT8_MAX, &mIndex); AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } @@ -26514,6 +26603,7 @@ class Test_TC_AUDIOOUTPUT_7_2Suite : public TestCommand chip::Optional mNodeId; chip::Optional mCluster; chip::Optional mEndpoint; + chip::Optional mIndex; chip::Optional mTimeout; chip::app::DataModel::DecodableList audioOutputListValues; @@ -26583,7 +26673,7 @@ class Test_TC_AUDIOOUTPUT_7_2Suite : public TestCommand VerifyOrDo(!ShouldSkip("AUDIOOUTPUT.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::AudioOutput::Commands::RenameOutput::Type value; - value.index = 1U; + value.index = mIndex.HasValue() ? mIndex.Value() : 1U; value.name = chip::Span("CertTestgarbage: not in length on purpose", 8); return SendCommand(kIdentityAlpha, GetEndpoint(1), AudioOutput::Id, AudioOutput::Commands::RenameOutput::Id, value, chip::NullOptional @@ -34494,7 +34584,6 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand { int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("unoccupiedCoolingSetpoint", value, 2600)); VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); VerifyOrReturn(CheckConstraintMinValue("value", value, 1600)); VerifyOrReturn(CheckConstraintMaxValue("value", value, 3200)); @@ -34528,7 +34617,6 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand { int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("unoccupiedHeatingSetpoint", value, 2000)); VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); VerifyOrReturn(CheckConstraintMinValue("value", value, 700)); VerifyOrReturn(CheckConstraintMaxValue("value", value, 3000)); @@ -34562,7 +34650,6 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand { int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("minHeatSetpointLimit", value, 700)); VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); VerifyOrReturn(CheckConstraintMinValue("value", value, 700)); VerifyOrReturn(CheckConstraintMaxValue("value", value, 3000)); @@ -34599,7 +34686,6 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand { int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("maxHeatSetpointLimit", value, 3000)); VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); VerifyOrReturn(CheckConstraintMinValue("value", value, 700)); VerifyOrReturn(CheckConstraintMaxValue("value", value, 3000)); @@ -34639,7 +34725,6 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand { int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("minCoolSetpointLimit", value, 1600)); VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); VerifyOrReturn(CheckConstraintMinValue("value", value, 1600)); VerifyOrReturn(CheckConstraintMaxValue("value", value, 3200)); @@ -34676,7 +34761,6 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand { int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("maxCoolSetpointLimit", value, 3200)); VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); VerifyOrReturn(CheckConstraintMinValue("value", value, 1600)); VerifyOrReturn(CheckConstraintMaxValue("value", value, 3200)); @@ -34725,7 +34809,6 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand { int8_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("minSetpointDeadBand", value, 25)); VerifyOrReturn(CheckConstraintType("value", "int8s", "int8s")); VerifyOrReturn(CheckConstraintMinValue("value", value, 0)); VerifyOrReturn(CheckConstraintMaxValue("value", value, 25)); @@ -35459,7 +35542,7 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 65: { LogStep(65, "Writes (sets back)default value of MaxHeatSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0016 &&!TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0016 && !TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 3000; @@ -35468,7 +35551,7 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 66: { LogStep(66, "Writes MaxHeatSetpointLimit That meets the deadband of 2.5C"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0016 &&!TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0016 && !TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 2950; @@ -35501,7 +35584,8 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 70: { LogStep(70, "Writes a value back that is different but valid for MinSetpointDeadBand attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int8_t value; value = 5; @@ -35510,13 +35594,15 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 71: { LogStep(71, "Reads it back again to confirm the successful write of MinSetpointDeadBand attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinSetpointDeadBand::Id, true, chip::NullOptional); } case 72: { LogStep(72, "Writes the value below MinSetpointDeadBand"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int8_t value; value = -1; @@ -35525,7 +35611,8 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 73: { LogStep(73, "Writes the value above MinSetpointDeadBand "); - VerifyOrDo(!ShouldSkip("TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int8_t value; value = 30; @@ -35534,7 +35621,8 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 74: { LogStep(74, "Writes the min limit of MinSetpointDeadBand"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int8_t value; value = 0; @@ -35543,7 +35631,8 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 75: { LogStep(75, "Writes the max limit of MinSetpointDeadBand"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int8_t value; value = 25; @@ -83665,6 +83754,8 @@ class Test_TC_CADMIN_1_11Suite : public TestCommand break; case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); + VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.HasValue(), true)); + VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.Value(), 2)); break; case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -83699,6 +83790,8 @@ class Test_TC_CADMIN_1_11Suite : public TestCommand break; case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); + VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.HasValue(), true)); + VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.Value(), 2)); break; case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -83729,6 +83822,8 @@ class Test_TC_CADMIN_1_11Suite : public TestCommand break; case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); + VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.HasValue(), true)); + VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.Value(), 2)); break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); @@ -84126,7 +84221,7 @@ class Test_TC_CADMIN_1_15Suite : public TestCommand { public: Test_TC_CADMIN_1_15Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_CADMIN_1_15", 18, credsIssuerConfig) + TestCommand("Test_TC_CADMIN_1_15", 19, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("nodeId2", 0, UINT64_MAX, &mNodeId2); @@ -84260,16 +84355,20 @@ class Test_TC_CADMIN_1_15Suite : public TestCommand break; case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; break; case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; break; case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; case 17: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList< @@ -84459,7 +84558,18 @@ class Test_TC_CADMIN_1_15Suite : public TestCommand OperationalCredentials::Attributes::Fabrics::Id, false, chip::NullOptional); } case 14: { - LogStep(14, "TH_CR1 opens a commissioning window on DUT_CE using ECM"); + LogStep(14, + "Verify DUT_CE is now discoverable over DNS-SD with 2 Operational service records (_matter._tcp SRV records)."); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("enter 'y' after successgarbage: not in length on purpose", 23); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 15: { + LogStep(15, "TH_CR1 opens a commissioning window on DUT_CE using ECM"); VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value; @@ -84482,8 +84592,8 @@ class Test_TC_CADMIN_1_15Suite : public TestCommand ); } - case 15: { - LogStep(15, "TH_CR2 starts a commissioning process with DUT_CE"); + case 16: { + LogStep(16, "TH_CR2 starts a commissioning process with DUT_CE"); VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value; @@ -84491,16 +84601,16 @@ class Test_TC_CADMIN_1_15Suite : public TestCommand value.payload = mPayload.HasValue() ? mPayload.Value() : chip::Span("MT:-24J0AFN00KA0648G00", 22); return PairWithCode(kIdentityBeta, value); } - case 16: { - LogStep(16, "DUT_CE is commissioned to TH_CR2"); + case 17: { + LogStep(17, "DUT_CE is commissioned to TH_CR2"); VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; value.nodeId = mNodeId2.HasValue() ? mNodeId2.Value() : 51966ULL; return WaitForCommissionee(kIdentityBeta, value); } - case 17: { - LogStep(17, "TH_CR1 reads the list of Fabrics on DUT_CE"); + case 18: { + LogStep(18, "TH_CR1 reads the list of Fabrics on DUT_CE"); VerifyOrDo(!ShouldSkip("OPCREDS.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), OperationalCredentials::Id, OperationalCredentials::Attributes::Fabrics::Id, false, chip::NullOptional); @@ -85439,7 +85549,7 @@ class Test_TC_CADMIN_1_22Suite : public TestCommand class Test_TC_CADMIN_1_3Suite : public TestCommand { public: - Test_TC_CADMIN_1_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CADMIN_1_3", 20, credsIssuerConfig) + Test_TC_CADMIN_1_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CADMIN_1_3", 21, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("timeout", 0, UINT16_MAX, &mTimeout); @@ -85516,6 +85626,10 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand shouldContinue = true; break; case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList< @@ -85526,12 +85640,14 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand auto iter_0 = value.begin(); VerifyOrReturn(CheckNextListItemDecodes("fabrics", iter_0, 0)); VerifyOrReturn(CheckValueAsString("fabrics[0].label", iter_0.GetValue().label, chip::CharSpan("", 0))); - VerifyOrReturn(CheckNoMoreListItems("fabrics", iter_0, 1)); + VerifyOrReturn(CheckNextListItemDecodes("fabrics", iter_0, 1)); + VerifyOrReturn(CheckValueAsString("fabrics[1].label", iter_0.GetValue().label, chip::CharSpan("", 0))); + VerifyOrReturn(CheckNoMoreListItems("fabrics", iter_0, 2)); } VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 10: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList< @@ -85549,10 +85665,10 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 11: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 12: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::CharSpan value; @@ -85562,10 +85678,10 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxLength("value", value, 32)); } break; - case 13: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 14: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::CharSpan value; @@ -85575,14 +85691,14 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxLength("value", value, 32)); } break; - case 15: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 16: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 17: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::AdministratorCommissioning::CommissioningWindowStatus value; @@ -85590,11 +85706,13 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand VerifyOrReturn(CheckValue("windowStatus", value, 0U)); } break; - case 18: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 19: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); + VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.HasValue(), true)); + VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.Value(), 9)); shouldContinue = true; break; default: @@ -85705,19 +85823,29 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand return WaitForCommissionee(kIdentityBeta, value); } case 9: { - LogStep(9, "TH_CR1 reads the list of Fabrics on DUT_CE"); + LogStep(9, "Verify DUT_CE is now discoverable over DNS-SD with two SRV Records"); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("enter 'y' after successgarbage: not in length on purpose", 23); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 10: { + LogStep(10, "TH_CR1 reads the list of Fabrics on DUT_CE"); VerifyOrDo(!ShouldSkip("OPCREDS.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), OperationalCredentials::Id, - OperationalCredentials::Attributes::Fabrics::Id, true, chip::NullOptional); + OperationalCredentials::Attributes::Fabrics::Id, false, chip::NullOptional); } - case 10: { - LogStep(10, "TH_CR2 reads the list of Fabrics on DUT_CE"); + case 11: { + LogStep(11, "TH_CR2 reads the list of Fabrics on DUT_CE"); VerifyOrDo(!ShouldSkip("OPCREDS.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityBeta, GetEndpoint(0), OperationalCredentials::Id, OperationalCredentials::Attributes::Fabrics::Id, false, chip::NullOptional); } - case 11: { - LogStep(11, "TH_CR1 writes the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE"); + case 12: { + LogStep(12, "TH_CR1 writes the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE"); VerifyOrDo(!ShouldSkip("OPCREDS.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::CharSpan value; @@ -85725,14 +85853,14 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::NodeLabel::Id, value, chip::NullOptional, chip::NullOptional); } - case 12: { - LogStep(12, "TH_CR1 reads the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE"); + case 13: { + LogStep(13, "TH_CR1 reads the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE"); VerifyOrDo(!ShouldSkip("OPCREDS.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::NodeLabel::Id, true, chip::NullOptional); } - case 13: { - LogStep(13, "TH_CR2 writes the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE"); + case 14: { + LogStep(14, "TH_CR2 writes the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE"); VerifyOrDo(!ShouldSkip("OPCREDS.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::CharSpan value; @@ -85740,14 +85868,14 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand return WriteAttribute(kIdentityBeta, GetEndpoint(0), Basic::Id, Basic::Attributes::NodeLabel::Id, value, chip::NullOptional, chip::NullOptional); } - case 14: { - LogStep(14, "TH_CR2 reads the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE"); + case 15: { + LogStep(15, "TH_CR2 reads the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE"); VerifyOrDo(!ShouldSkip("OPCREDS.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityBeta, GetEndpoint(0), Basic::Id, Basic::Attributes::NodeLabel::Id, true, chip::NullOptional); } - case 15: { - LogStep(15, "TH_CR2 opens a commissioning window on DUT_CE using ECM"); + case 16: { + LogStep(16, "TH_CR2 opens a commissioning window on DUT_CE using ECM"); VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value; @@ -85770,21 +85898,21 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand ); } - case 16: { - LogStep(16, "Wait for the commissioning window in step 13 to timeout"); + case 17: { + LogStep(17, "Wait for the commissioning window in step 13 to timeout"); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 180000UL; return WaitForMs(kIdentityAlpha, value); } - case 17: { - LogStep(17, "TH_CR2 reads the window status to verify the DUT_CE window is closed"); + case 18: { + LogStep(18, "TH_CR2 reads the window status to verify the DUT_CE window is closed"); VerifyOrDo(!ShouldSkip("CADMIN.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id, AdministratorCommissioning::Attributes::WindowStatus::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, "TH_CR2 opens a commissioning window on DUT_CE using ECM"); + case 19: { + LogStep(19, "TH_CR2 opens a commissioning window on DUT_CE using ECM"); VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value; @@ -85807,8 +85935,8 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand ); } - case 19: { - LogStep(19, "TH_CR1 starts a commissioning process with DUT_CE before the timeout from step 12"); + case 20: { + LogStep(20, "TH_CR1 starts a commissioning process with DUT_CE before the timeout from step 12"); VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value; @@ -85824,7 +85952,7 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand class Test_TC_CADMIN_1_4Suite : public TestCommand { public: - Test_TC_CADMIN_1_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CADMIN_1_4", 20, credsIssuerConfig) + Test_TC_CADMIN_1_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CADMIN_1_4", 21, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("timeout", 0, UINT16_MAX, &mTimeout); @@ -85898,6 +86026,10 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand shouldContinue = true; break; case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList< @@ -85908,12 +86040,14 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand auto iter_0 = value.begin(); VerifyOrReturn(CheckNextListItemDecodes("fabrics", iter_0, 0)); VerifyOrReturn(CheckValueAsString("fabrics[0].label", iter_0.GetValue().label, chip::CharSpan("", 0))); - VerifyOrReturn(CheckNoMoreListItems("fabrics", iter_0, 1)); + VerifyOrReturn(CheckNextListItemDecodes("fabrics", iter_0, 1)); + VerifyOrReturn(CheckValueAsString("fabrics[1].label", iter_0.GetValue().label, chip::CharSpan("", 0))); + VerifyOrReturn(CheckNoMoreListItems("fabrics", iter_0, 2)); } VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 10: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList< @@ -85924,15 +86058,17 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand auto iter_0 = value.begin(); VerifyOrReturn(CheckNextListItemDecodes("fabrics", iter_0, 0)); VerifyOrReturn(CheckValueAsString("fabrics[0].label", iter_0.GetValue().label, chip::CharSpan("", 0))); - VerifyOrReturn(CheckNoMoreListItems("fabrics", iter_0, 1)); + VerifyOrReturn(CheckNextListItemDecodes("fabrics", iter_0, 1)); + VerifyOrReturn(CheckValueAsString("fabrics[1].label", iter_0.GetValue().label, chip::CharSpan("", 0))); + VerifyOrReturn(CheckNoMoreListItems("fabrics", iter_0, 2)); } VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 11: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 12: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::CharSpan value; @@ -85942,10 +86078,10 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxLength("value", value, 32)); } break; - case 13: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 14: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::CharSpan value; @@ -85955,14 +86091,14 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxLength("value", value, 32)); } break; - case 15: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 16: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 17: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::AdministratorCommissioning::CommissioningWindowStatus value; @@ -85970,11 +86106,13 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand VerifyOrReturn(CheckValue("windowStatus", value, 0U)); } break; - case 18: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 19: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); + VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.HasValue(), true)); + VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.Value(), 9)); shouldContinue = true; break; default: @@ -86073,19 +86211,29 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand return WaitForCommissionee(kIdentityBeta, value); } case 9: { - LogStep(9, "TH_CR1 reads the list of Fabrics on DUT_CE"); + LogStep(9, "Verify DUT_CE is now discoverable over DNS-SD with two SRV Records"); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("enter 'y' after successgarbage: not in length on purpose", 23); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 10: { + LogStep(10, "TH_CR1 reads the list of Fabrics on DUT_CE"); VerifyOrDo(!ShouldSkip("OPCREDS.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), OperationalCredentials::Id, - OperationalCredentials::Attributes::Fabrics::Id, true, chip::NullOptional); + OperationalCredentials::Attributes::Fabrics::Id, false, chip::NullOptional); } - case 10: { - LogStep(10, "TH_CR2 reads the list of Fabrics on DUT_CE"); + case 11: { + LogStep(11, "TH_CR2 reads the list of Fabrics on DUT_CE"); VerifyOrDo(!ShouldSkip("OPCREDS.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityBeta, GetEndpoint(0), OperationalCredentials::Id, - OperationalCredentials::Attributes::Fabrics::Id, true, chip::NullOptional); + OperationalCredentials::Attributes::Fabrics::Id, false, chip::NullOptional); } - case 11: { - LogStep(11, "TH_CR1 writes the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE"); + case 12: { + LogStep(12, "TH_CR1 writes the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE"); VerifyOrDo(!ShouldSkip("BINFO.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::CharSpan value; @@ -86093,14 +86241,14 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::NodeLabel::Id, value, chip::NullOptional, chip::NullOptional); } - case 12: { - LogStep(12, "TH_CR1 reads the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE"); + case 13: { + LogStep(13, "TH_CR1 reads the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE"); VerifyOrDo(!ShouldSkip("BINFO.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::NodeLabel::Id, true, chip::NullOptional); } - case 13: { - LogStep(13, "TH_CR2 writes the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE"); + case 14: { + LogStep(14, "TH_CR2 writes the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE"); VerifyOrDo(!ShouldSkip("BINFO.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::CharSpan value; @@ -86108,14 +86256,14 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand return WriteAttribute(kIdentityBeta, GetEndpoint(0), Basic::Id, Basic::Attributes::NodeLabel::Id, value, chip::NullOptional, chip::NullOptional); } - case 14: { - LogStep(14, "TH_CR2 reads the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE"); + case 15: { + LogStep(15, "TH_CR2 reads the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE"); VerifyOrDo(!ShouldSkip("BINFO.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityBeta, GetEndpoint(0), Basic::Id, Basic::Attributes::NodeLabel::Id, true, chip::NullOptional); } - case 15: { - LogStep(15, "TH_CR2 opens a commissioning window on DUT_CE using BCM"); + case 16: { + LogStep(16, "TH_CR2 opens a commissioning window on DUT_CE using BCM"); VerifyOrDo(!ShouldSkip("CADMIN.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type value; @@ -86126,21 +86274,21 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand ); } - case 16: { - LogStep(16, "Wait for the commissioning window in step 13 to timeout"); + case 17: { + LogStep(17, "Wait for the commissioning window in step 13 to timeout"); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 180000UL; return WaitForMs(kIdentityAlpha, value); } - case 17: { - LogStep(17, "TH_CR2 reads the window status to verify the DUT_CE window is closed"); + case 18: { + LogStep(18, "TH_CR2 reads the window status to verify the DUT_CE window is closed"); VerifyOrDo(!ShouldSkip("CADMIN.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id, AdministratorCommissioning::Attributes::WindowStatus::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, "TH_CR2 opens a commissioning window on DUT_CE using BCM"); + case 19: { + LogStep(19, "TH_CR2 opens a commissioning window on DUT_CE using BCM"); VerifyOrDo(!ShouldSkip("CADMIN.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type value; @@ -86151,8 +86299,8 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand ); } - case 19: { - LogStep(19, "TH_CR1 starts a commissioning process with DUT_CE before the timeout from step 12"); + case 20: { + LogStep(20, "TH_CR1 starts a commissioning process with DUT_CE before the timeout from step 12"); VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value; @@ -86168,7 +86316,7 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand class Test_TC_CADMIN_1_5Suite : public TestCommand { public: - Test_TC_CADMIN_1_5Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CADMIN_1_5", 19, credsIssuerConfig) + Test_TC_CADMIN_1_5Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CADMIN_1_5", 20, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("timeout", 0, UINT16_MAX, &mTimeout); @@ -86263,6 +86411,8 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand break; case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); + VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.HasValue(), true)); + VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.Value(), 3)); break; case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -86277,11 +86427,15 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand shouldContinue = true; break; case 17: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.HasValue(), true)); VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.Value(), 4)); break; - case 18: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); shouldContinue = true; break; @@ -86527,7 +86681,15 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand return PairWithCode(kIdentityBeta, value); } case 17: { - LogStep(17, "TH_CR1 tries to revoke the commissioning window on DUT_CE using RevokeCommissioning command"); + LogStep(17, "DUT_CE is commissioned by TH_CR2"); + VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; + value.nodeId = mNodeId2.HasValue() ? mNodeId2.Value() : 51966ULL; + return WaitForCommissionee(kIdentityBeta, value); + } + case 18: { + LogStep(18, "TH_CR1 tries to revoke the commissioning window on DUT_CE using RevokeCommissioning command"); VerifyOrDo(!ShouldSkip("CADMIN.S.C02.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::AdministratorCommissioning::Commands::RevokeCommissioning::Type value; @@ -86537,8 +86699,8 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand ); } - case 18: { - LogStep(18, "TH_CR3 starts a commissioning process with DUT_CE"); + case 19: { + LogStep(19, "TH_CR3 starts a commissioning process with DUT_CE"); VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value; @@ -86648,6 +86810,8 @@ class Test_TC_CADMIN_1_6Suite : public TestCommand break; case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); + VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.HasValue(), true)); + VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.Value(), 2)); break; case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -86659,6 +86823,8 @@ class Test_TC_CADMIN_1_6Suite : public TestCommand break; case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); + VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.HasValue(), true)); + VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.Value(), 4)); break; case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); @@ -87844,6 +88010,8 @@ class Test_TC_CADMIN_1_13Suite : public TestCommand break; case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); + VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.HasValue(), true)); + VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.Value(), 2)); break; case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -87886,6 +88054,8 @@ class Test_TC_CADMIN_1_13Suite : public TestCommand break; case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); + VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.HasValue(), true)); + VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.Value(), 2)); break; case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -87916,6 +88086,8 @@ class Test_TC_CADMIN_1_13Suite : public TestCommand break; case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); + VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.HasValue(), true)); + VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.Value(), 2)); break; case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -94594,13 +94766,13 @@ class Test_TC_CC_7_1Suite : public TestCommand } case 47: { LogStep(47, "TH reads ColorMode attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::ColorMode::Id, true, chip::NullOptional); } case 48: { LogStep(48, "TH reads EnhancedColorMode attribute from DUT"); - VerifyOrDo(!ShouldSkip("CC.S.F00 && CC.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EnhancedColorMode::Id, true, chip::NullOptional); } @@ -95322,7 +95494,7 @@ class Test_TC_CC_9_1Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 17: { - LogStep(17, "Read ColorLoopStartEnhancedHue attribute from DUT"); + LogStep(17, "Saving value for comparison in step 8d read ColorLoopStartEnhancedHue attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4005 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, @@ -95376,7 +95548,7 @@ class Test_TC_CC_9_1Suite : public TestCommand true, chip::NullOptional); } case 23: { - LogStep(23, "Read ColorLoopStoredEnhancedHue attribute from DUT."); + LogStep(23, "Saving value for comparison in step 6c read ColorLoopStoredEnhancedHue attribute from DUT."); VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4006 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, @@ -95456,7 +95628,7 @@ class Test_TC_CC_9_1Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 31: { - LogStep(31, "Read ColorLoopStartEnhancedHue attribute from DUT"); + LogStep(31, "Saving value for comparision in step 8d read ColorLoopStartEnhancedHue attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4005 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, @@ -95510,7 +95682,7 @@ class Test_TC_CC_9_1Suite : public TestCommand true, chip::NullOptional); } case 37: { - LogStep(37, "Read ColorLoopStoredEnhancedHue attribute from DUT"); + LogStep(37, "Saving value for comparision in step 9c read ColorLoopStoredEnhancedHue attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4006 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, @@ -95621,7 +95793,7 @@ class Test_TC_CC_9_1Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 48: { - LogStep(48, "Read ColorLoopStartEnhancedHue attribute from DUT"); + LogStep(48, "Saving value for comparision in step 12d read ColorLoopStartEnhancedHue attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4005 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, @@ -95675,7 +95847,7 @@ class Test_TC_CC_9_1Suite : public TestCommand true, chip::NullOptional); } case 54: { - LogStep(54, "Read ColorLoopStoredEnhancedHue attribute from DUT."); + LogStep(54, "Saving value for comparision in step 13c read ColorLoopStoredEnhancedHue attribute from DUT."); VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4006 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, @@ -95755,7 +95927,7 @@ class Test_TC_CC_9_1Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 62: { - LogStep(62, "Read ColorLoopStartEnhancedHue attribute from DUT"); + LogStep(62, "Saving value for comparision in step 15d read ColorLoopStartEnhancedHue attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4005 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, @@ -95809,7 +95981,7 @@ class Test_TC_CC_9_1Suite : public TestCommand true, chip::NullOptional); } case 68: { - LogStep(68, "Read ColorLoopStoredEnhancedHue attribute from DUT."); + LogStep(68, "Saving value for comparision in step 16b read ColorLoopStoredEnhancedHue attribute from DUT."); VerifyOrDo(!ShouldSkip("CC.S.F02 && CC.S.F01 && CC.S.A4006 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, @@ -96222,7 +96394,7 @@ class Test_TC_CC_9_2Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 14: { - LogStep(14, "Read ColorLoopStartEnhancedHue attribute from DUT."); + LogStep(14, "Saving value for comparision read ColorLoopStartEnhancedHue attribute from DUT."); VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4005 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, @@ -96283,7 +96455,7 @@ class Test_TC_CC_9_2Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 21: { - LogStep(21, "Read ColorLoopStartEnhancedHue attribute from DUT."); + LogStep(21, "Saving value for comparision read ColorLoopStartEnhancedHue attribute from DUT."); VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4005 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, @@ -96337,7 +96509,7 @@ class Test_TC_CC_9_2Suite : public TestCommand true, chip::NullOptional); } case 27: { - LogStep(27, "Read ColorLoopStoredEnhancedHue attribute from DUT."); + LogStep(27, "Saving value for comparision read ColorLoopStoredEnhancedHue attribute from DUT."); VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4006 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, @@ -96741,7 +96913,7 @@ class Test_TC_CC_9_3Suite : public TestCommand return WaitForMs(kIdentityAlpha, value); } case 14: { - LogStep(14, "Read ColorLoopStartEnhancedHue attribute from DUT."); + LogStep(14, "Saving value for comparision read ColorLoopStartEnhancedHue attribute from DUT."); VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4005 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, @@ -96847,7 +97019,7 @@ class Test_TC_CC_9_3Suite : public TestCommand true, chip::NullOptional); } case 26: { - LogStep(26, "Read ColorLoopStoredEnhancedHue attribute from DUT."); + LogStep(26, "Saving value for comparision read ColorLoopStoredEnhancedHue attribute from DUT."); VerifyOrDo(!ShouldSkip("CC.S.F01 && CC.S.F02 && CC.S.A4006 && CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, 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 90d230554cc95e..da6945329b3e00 100644 --- a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h +++ b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h @@ -5376,8 +5376,9 @@ class Test_TC_CC_2_1 : public TestCommandBridge { err = TestThReadsColorLoopStoredEnhancedHueAttributeFromDut_17(); break; case 18: - ChipLogProgress(chipTool, " ***** Test Step 18 : TH reads FeatureMap attribute from DUT\n"); - err = TestThReadsFeatureMapAttributeFromDut_18(); + ChipLogProgress( + chipTool, " ***** Test Step 18 : Saving for comparision in step 19 reads FeatureMap attribute from DUT\n"); + err = TestSavingForComparisionInStep19ReadsFeatureMapAttributeFromDut_18(); break; case 19: ChipLogProgress(chipTool, " ***** Test Step 19 : TH reads ColorCapabilities attribute from DUT\n"); @@ -6269,7 +6270,7 @@ class Test_TC_CC_2_1 : public TestCommandBridge { } NSNumber * _Nonnull FeatureMapValue; - CHIP_ERROR TestThReadsFeatureMapAttributeFromDut_18() + CHIP_ERROR TestSavingForComparisionInStep19ReadsFeatureMapAttributeFromDut_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -6277,7 +6278,7 @@ class Test_TC_CC_2_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"TH reads FeatureMap attribute from DUT Error: %@", err); + NSLog(@"Saving for comparision in step 19 reads FeatureMap attribute from DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -9197,13 +9198,13 @@ class Test_TC_CC_4_2 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, - " ***** Test Step 3 : TH sends MoveToSaturation command to DUT with Saturation=60 and TransitionTime=0 " + " ***** Test Step 3 : TH sends MoveToSaturation command to DUT with Saturation=150 and TransitionTime=0 " "(immediately)\n"); if (ShouldSkip("CC.S.F00 && CC.S.C03.Rsp")) { NextTest(); return; } - err = TestThSendsMoveToSaturationCommandToDutWithSaturation60AndTransitionTime0Immediately_3(); + err = TestThSendsMoveToSaturationCommandToDutWithSaturation150AndTransitionTime0Immediately_3(); break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Wait 100ms\n"); @@ -9589,7 +9590,7 @@ class Test_TC_CC_4_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThSendsMoveToSaturationCommandToDutWithSaturation60AndTransitionTime0Immediately_3() + CHIP_ERROR TestThSendsMoveToSaturationCommandToDutWithSaturation150AndTransitionTime0Immediately_3() { MTRBaseDevice * device = GetDevice("alpha"); @@ -9603,7 +9604,7 @@ class Test_TC_CC_4_2 : public TestCommandBridge { params.optionsOverride = [NSNumber numberWithUnsignedChar:0U]; [cluster moveToSaturationWithParams:params completion:^(NSError * _Nullable err) { - NSLog(@"TH sends MoveToSaturation command to DUT with Saturation=60 and TransitionTime=0 " + NSLog(@"TH sends MoveToSaturation command to DUT with Saturation=150 and TransitionTime=0 " @"(immediately) Error: %@", err); @@ -12239,7 +12240,7 @@ class Test_TC_CC_5_1 : public TestCommandBridge { break; case 57: ChipLogProgress(chipTool, " ***** Test Step 57 : TH reads ColorMode attribute from DUT\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0008")) { + if (ShouldSkip("CC.S.F03 && CC.S.A0008")) { NextTest(); return; } @@ -12247,7 +12248,7 @@ class Test_TC_CC_5_1 : public TestCommandBridge { break; case 58: ChipLogProgress(chipTool, " ***** Test Step 58 : TH reads EnhancedColorMode attribute from DUT\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A4001")) { + if (ShouldSkip("CC.S.F03 && CC.S.A4001")) { NextTest(); return; } @@ -13797,7 +13798,7 @@ class Test_TC_CC_5_2 : public TestCommandBridge { break; case 18: ChipLogProgress(chipTool, " ***** Test Step 18 : TH reads ColorMode attribute from DUT\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0008")) { + if (ShouldSkip("CC.S.F03 && CC.S.A0008")) { NextTest(); return; } @@ -13805,7 +13806,7 @@ class Test_TC_CC_5_2 : public TestCommandBridge { break; case 19: ChipLogProgress(chipTool, " ***** Test Step 19 : TH reads EnhancedColorMode attribute from DUT\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A4001")) { + if (ShouldSkip("CC.S.F03 && CC.S.A4001")) { NextTest(); return; } @@ -14490,7 +14491,7 @@ class Test_TC_CC_5_3 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : TH reads ColorMode attribute from DUT\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0008")) { + if (ShouldSkip("CC.S.F03 && CC.S.A0008")) { NextTest(); return; } @@ -14498,7 +14499,7 @@ class Test_TC_CC_5_3 : public TestCommandBridge { break; case 16: ChipLogProgress(chipTool, " ***** Test Step 16 : TH reads EnhancedColorMode attribute from DUT\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A4001")) { + if (ShouldSkip("CC.S.F03 && CC.S.A4001")) { NextTest(); return; } @@ -15844,7 +15845,7 @@ class Test_TC_CC_7_3 : public TestCommandBridge { break; case 25: ChipLogProgress(chipTool, " ***** Test Step 25 : TH reads ColorMode attribute from DUT\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0008")) { + if (ShouldSkip("CC.S.F01 && CC.S.A0008")) { NextTest(); return; } @@ -15852,7 +15853,7 @@ class Test_TC_CC_7_3 : public TestCommandBridge { break; case 26: ChipLogProgress(chipTool, " ***** Test Step 26 : TH reads EnhancedColorMode attribute from DUT\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A4001")) { + if (ShouldSkip("CC.S.F01 && CC.S.A4001")) { NextTest(); return; } @@ -16655,7 +16656,7 @@ class Test_TC_CC_7_4 : public TestCommandBridge { break; case 17: ChipLogProgress(chipTool, " ***** Test Step 17 : TH reads ColorMode attribute from DUT\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A0008")) { + if (ShouldSkip("CC.S.F01 && CC.S.A0008")) { NextTest(); return; } @@ -16663,7 +16664,7 @@ class Test_TC_CC_7_4 : public TestCommandBridge { break; case 18: ChipLogProgress(chipTool, " ***** Test Step 18 : TH reads EnhancedColorMode attribute from DUT\n"); - if (ShouldSkip("CC.S.F00 && CC.S.A4001")) { + if (ShouldSkip("CC.S.F01 && CC.S.A4001")) { NextTest(); return; } @@ -33091,35 +33092,47 @@ class Test_TC_MEDIAINPUT_1_4 : public TestCommandBridge { break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Read the global attribute: FeatureMap\n"); + if (ShouldSkip(" !MEDIAINPUT.S.NU ")) { + NextTest(); + return; + } err = TestReadTheGlobalAttributeFeatureMap_2(); break; case 3: - ChipLogProgress(chipTool, " ***** Test Step 3 : Read the global attribute: AttributeList\n"); - err = TestReadTheGlobalAttributeAttributeList_3(); + ChipLogProgress(chipTool, " ***** Test Step 3 : Given MEDIAINPUT.S.NU ensure featuremap has the correct bit set\n"); + if (ShouldSkip("MEDIAINPUT.S.NU")) { + NextTest(); + return; + } + err = TestGivenMediainputsnuEnsureFeaturemapHasTheCorrectBitSet_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Read the optional attribute(InputList) in AttributeList\n"); + ChipLogProgress(chipTool, " ***** Test Step 4 : Read the global attribute: AttributeList\n"); + err = TestReadTheGlobalAttributeAttributeList_4(); + break; + case 5: + ChipLogProgress(chipTool, " ***** Test Step 5 : Read the optional attribute(InputList) in AttributeList\n"); if (ShouldSkip("MEDIAINPUT.S.A0000")) { NextTest(); return; } - err = TestReadTheOptionalAttributeInputListInAttributeList_4(); + err = TestReadTheOptionalAttributeInputListInAttributeList_5(); break; - case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Read the optional attribute(CurrentInput) in AttributeList\n"); + case 6: + ChipLogProgress(chipTool, " ***** Test Step 6 : Read the optional attribute(CurrentInput) in AttributeList\n"); if (ShouldSkip("MEDIAINPUT.S.A0001")) { NextTest(); return; } - err = TestReadTheOptionalAttributeCurrentInputInAttributeList_5(); - break; - case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Read the global attribute: AcceptedCommandList\n"); - err = TestReadTheGlobalAttributeAcceptedCommandList_6(); + err = TestReadTheOptionalAttributeCurrentInputInAttributeList_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Read the global attribute: GeneratedCommandList\n"); - err = TestReadTheGlobalAttributeGeneratedCommandList_7(); + ChipLogProgress(chipTool, " ***** Test Step 7 : Read the global attribute: AcceptedCommandList\n"); + err = TestReadTheGlobalAttributeAcceptedCommandList_7(); + break; + case 8: + ChipLogProgress(chipTool, " ***** Test Step 8 : Read the global attribute: GeneratedCommandList\n"); + err = TestReadTheGlobalAttributeGeneratedCommandList_8(); break; } @@ -33156,6 +33169,9 @@ class Test_TC_MEDIAINPUT_1_4 : public TestCommandBridge { case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -33169,7 +33185,7 @@ class Test_TC_MEDIAINPUT_1_4 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 8; + const uint16_t mTestCount = 9; chip::Optional mNodeId; chip::Optional mCluster; @@ -33220,17 +33236,38 @@ class Test_TC_MEDIAINPUT_1_4 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + { + id actualValue = value; + VerifyOrReturn(CheckValue("FeatureMap", actualValue, 0UL)); + } + VerifyOrReturn(CheckConstraintType("featureMap", "bitmap32", "bitmap32")); - VerifyOrReturn(CheckConstraintMinValue("featureMap", [value unsignedIntValue], 0UL)); - VerifyOrReturn(CheckConstraintMaxValue("featureMap", [value unsignedIntValue], 1UL)); + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + CHIP_ERROR TestGivenMediainputsnuEnsureFeaturemapHasTheCorrectBitSet_3() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterMediaInput alloc] initWithDevice:device endpoint:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Given MEDIAINPUT.S.NU ensure featuremap has the correct bit set Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("featureMap", "bitmap32", "bitmap32")); NextTest(); }]; return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheGlobalAttributeAttributeList_3() + CHIP_ERROR TestReadTheGlobalAttributeAttributeList_4() { MTRBaseDevice * device = GetDevice("alpha"); @@ -33255,7 +33292,7 @@ class Test_TC_MEDIAINPUT_1_4 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheOptionalAttributeInputListInAttributeList_4() + CHIP_ERROR TestReadTheOptionalAttributeInputListInAttributeList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -33276,7 +33313,7 @@ class Test_TC_MEDIAINPUT_1_4 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheOptionalAttributeCurrentInputInAttributeList_5() + CHIP_ERROR TestReadTheOptionalAttributeCurrentInputInAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -33297,7 +33334,7 @@ class Test_TC_MEDIAINPUT_1_4 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheGlobalAttributeAcceptedCommandList_6() + CHIP_ERROR TestReadTheGlobalAttributeAcceptedCommandList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -33321,7 +33358,7 @@ class Test_TC_MEDIAINPUT_1_4 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheGlobalAttributeGeneratedCommandList_7() + CHIP_ERROR TestReadTheGlobalAttributeGeneratedCommandList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -39827,6 +39864,14 @@ class Test_TC_MEDIAPLAYBACK_6_3 : public TestCommandBridge { } err = TestSendsASeekCommandPositionValueBeyondTheFurthestValidPosition_9(); break; + case 10: + ChipLogProgress(chipTool, " ***** Test Step 10 : verify that the media has not moved.\n"); + if (ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C0B.Rsp")) { + NextTest(); + return; + } + err = TestVerifyThatTheMediaHasNotMoved_10(); + break; } if (CHIP_NO_ERROR != err) { @@ -39868,6 +39913,9 @@ class Test_TC_MEDIAPLAYBACK_6_3 : public TestCommandBridge { case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -39881,7 +39929,7 @@ class Test_TC_MEDIAPLAYBACK_6_3 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 10; + const uint16_t mTestCount = 11; chip::Optional mNodeId; chip::Optional mCluster; @@ -40047,6 +40095,16 @@ class Test_TC_MEDIAPLAYBACK_6_3 : public TestCommandBridge { return CHIP_NO_ERROR; } + + CHIP_ERROR TestVerifyThatTheMediaHasNotMoved_10() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' if media has not movedgarbage: not in length on purpose", 39); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } }; class Test_TC_MEDIAPLAYBACK_6_4 : public TestCommandBridge { @@ -40125,108 +40183,150 @@ class Test_TC_MEDIAPLAYBACK_6_4 : public TestCommandBridge { err = TestSendsAFastForwardCommand_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Reads the CurrentState attribute\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C07.Rsp")) { + ChipLogProgress(chipTool, " ***** Test Step 5 : verify that the media state is playing\n"); + if (ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C07.Rsp")) { NextTest(); return; } - err = TestReadsTheCurrentStateAttribute_5(); + err = TestVerifyThatTheMediaStateIsPlaying_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Reads the PlaybackSpeed attribute from the DUT\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.A0004 && MEDIAPLAYBACK.S.C07.Rsp")) { + ChipLogProgress(chipTool, " ***** Test Step 6 : Reads the CurrentState attribute\n"); + if (ShouldSkip("MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C07.Rsp")) { NextTest(); return; } - err = TestReadsThePlaybackSpeedAttributeFromTheDut_6(); + err = TestReadsTheCurrentStateAttribute_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Sends a FastForward command\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.C07.Rsp")) { + ChipLogProgress(chipTool, " ***** Test Step 7 : Reads the PlaybackSpeed attribute from the DUT\n"); + if (ShouldSkip("MEDIAPLAYBACK.S.A0004 && MEDIAPLAYBACK.S.C07.Rsp")) { NextTest(); return; } - err = TestSendsAFastForwardCommand_7(); + err = TestReadsThePlaybackSpeedAttributeFromTheDut_7(); break; case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Reads the PlaybackSpeed attribute from the DUT\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.A0004 && MEDIAPLAYBACK.S.C07.Rsp")) { + ChipLogProgress(chipTool, " ***** Test Step 8 : Sends a FastForward command\n"); + if (ShouldSkip("MEDIAPLAYBACK.S.C07.Rsp")) { NextTest(); return; } - err = TestReadsThePlaybackSpeedAttributeFromTheDut_8(); + err = TestSendsAFastForwardCommand_8(); break; case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Sends a Rewind command to the DUT\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.C06.Rsp")) { + ChipLogProgress(chipTool, " ***** Test Step 9 : verify that the media play speed has increased.\n"); + if (ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C07.Rsp")) { NextTest(); return; } - err = TestSendsARewindCommandToTheDut_9(); + err = TestVerifyThatTheMediaPlaySpeedHasIncreased_9(); break; case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Reads the CurrentState attribute\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C06.Rsp")) { + ChipLogProgress(chipTool, " ***** Test Step 10 : Reads the PlaybackSpeed attribute from the DUT\n"); + if (ShouldSkip("MEDIAPLAYBACK.S.A0004 && MEDIAPLAYBACK.S.C07.Rsp")) { NextTest(); return; } - err = TestReadsTheCurrentStateAttribute_10(); + err = TestReadsThePlaybackSpeedAttributeFromTheDut_10(); break; case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Reads the PlaybackSpeed attribute from the DUT\n"); - if (ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.A0004 && MEDIAPLAYBACK.S.C06.Rsp")) { + ChipLogProgress(chipTool, " ***** Test Step 11 : Sends a Rewind command to the DUT\n"); + if (ShouldSkip("MEDIAPLAYBACK.S.C06.Rsp")) { NextTest(); return; } - err = TestReadsThePlaybackSpeedAttributeFromTheDut_11(); + err = TestSendsARewindCommandToTheDut_11(); break; case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : Sends a Rewind command to the DUT\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.C06.Rsp")) { + ChipLogProgress(chipTool, " ***** Test Step 12 : verify that the media play has reversed direction.\n"); + if (ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C06.Rsp")) { NextTest(); return; } - err = TestSendsARewindCommandToTheDut_12(); + err = TestVerifyThatTheMediaPlayHasReversedDirection_12(); break; case 13: - ChipLogProgress(chipTool, " ***** Test Step 13 : Reads the PlaybackSpeed attribute from the DUT\n"); - if (ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.A0004 && MEDIAPLAYBACK.S.C06.Rsp")) { + ChipLogProgress(chipTool, " ***** Test Step 13 : Reads the CurrentState attribute\n"); + if (ShouldSkip("MEDIAPLAYBACK.S.A0000 && MEDIAPLAYBACK.S.C06.Rsp")) { NextTest(); return; } - err = TestReadsThePlaybackSpeedAttributeFromTheDut_13(); + err = TestReadsTheCurrentStateAttribute_13(); break; case 14: - ChipLogProgress(chipTool, " ***** Test Step 14 : Sends a Play command\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.C00.Rsp")) { + ChipLogProgress(chipTool, " ***** Test Step 14 : Reads the PlaybackSpeed attribute from the DUT\n"); + if (ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.A0004 && MEDIAPLAYBACK.S.C06.Rsp")) { NextTest(); return; } - err = TestSendsAPlayCommand_14(); + err = TestReadsThePlaybackSpeedAttributeFromTheDut_14(); break; case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : Reads the PlaybackSpeed attribute from the DUT\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.A0004 && MEDIAPLAYBACK.S.C00.Rsp")) { + ChipLogProgress(chipTool, " ***** Test Step 15 : Sends a Rewind command to the DUT\n"); + if (ShouldSkip("MEDIAPLAYBACK.S.C06.Rsp")) { NextTest(); return; } - err = TestReadsThePlaybackSpeedAttributeFromTheDut_15(); + err = TestSendsARewindCommandToTheDut_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Sends consecutive FastForward commands\n"); - if (ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C07.Rsp")) { + ChipLogProgress( + chipTool, " ***** Test Step 16 : verify that the media play speed has increased in the reverse direction.\n"); + if (ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C06.Rsp")) { NextTest(); return; } - err = TestSendsConsecutiveFastForwardCommands_16(); + err = TestVerifyThatTheMediaPlaySpeedHasIncreasedInTheReverseDirection_16(); break; case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : Sends consecutive Rewind commands\n"); + ChipLogProgress(chipTool, " ***** Test Step 17 : Reads the PlaybackSpeed attribute from the DUT\n"); + if (ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.A0004 && MEDIAPLAYBACK.S.C06.Rsp")) { + NextTest(); + return; + } + err = TestReadsThePlaybackSpeedAttributeFromTheDut_17(); + break; + case 18: + ChipLogProgress(chipTool, " ***** Test Step 18 : Sends a Play command\n"); + if (ShouldSkip("MEDIAPLAYBACK.S.C00.Rsp")) { + NextTest(); + return; + } + err = TestSendsAPlayCommand_18(); + break; + case 19: + ChipLogProgress( + chipTool, " ***** Test Step 19 : verify that the media is has resumed playing forward at the default speed.\n"); + if (ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C00.Rsp")) { + NextTest(); + return; + } + err = TestVerifyThatTheMediaIsHasResumedPlayingForwardAtTheDefaultSpeed_19(); + break; + case 20: + ChipLogProgress(chipTool, " ***** Test Step 20 : Reads the PlaybackSpeed attribute from the DUT\n"); + if (ShouldSkip("MEDIAPLAYBACK.S.A0004 && MEDIAPLAYBACK.S.C00.Rsp")) { + NextTest(); + return; + } + err = TestReadsThePlaybackSpeedAttributeFromTheDut_20(); + break; + case 21: + ChipLogProgress(chipTool, " ***** Test Step 21 : Sends consecutive FastForward commands\n"); + if (ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C07.Rsp")) { + NextTest(); + return; + } + err = TestSendsConsecutiveFastForwardCommands_21(); + break; + case 22: + ChipLogProgress(chipTool, " ***** Test Step 22 : Sends consecutive Rewind commands\n"); if (ShouldSkip("PICS_USER_PROMPT && MEDIAPLAYBACK.S.C06.Rsp")) { NextTest(); return; } - err = TestSendsConsecutiveRewindCommands_17(); + err = TestSendsConsecutiveRewindCommands_22(); break; } @@ -40293,6 +40393,21 @@ class Test_TC_MEDIAPLAYBACK_6_4 : 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; + case 20: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 21: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 22: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -40306,7 +40421,7 @@ class Test_TC_MEDIAPLAYBACK_6_4 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 18; + const uint16_t mTestCount = 23; chip::Optional mNodeId; chip::Optional mCluster; @@ -40414,7 +40529,17 @@ class Test_TC_MEDIAPLAYBACK_6_4 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsTheCurrentStateAttribute_5() + CHIP_ERROR TestVerifyThatTheMediaStateIsPlaying_5() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' if media state is playinggarbage: not in length on purpose", 42); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR TestReadsTheCurrentStateAttribute_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40437,7 +40562,7 @@ class Test_TC_MEDIAPLAYBACK_6_4 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsThePlaybackSpeedAttributeFromTheDut_6() + CHIP_ERROR TestReadsThePlaybackSpeedAttributeFromTheDut_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40460,7 +40585,7 @@ class Test_TC_MEDIAPLAYBACK_6_4 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendsAFastForwardCommand_7() + CHIP_ERROR TestSendsAFastForwardCommand_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40484,7 +40609,18 @@ class Test_TC_MEDIAPLAYBACK_6_4 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsThePlaybackSpeedAttributeFromTheDut_8() + CHIP_ERROR TestVerifyThatTheMediaPlaySpeedHasIncreased_9() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message + = chip::Span("Please enter 'y' if media play speed has increased.garbage: not in length on purpose", 51); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR TestReadsThePlaybackSpeedAttributeFromTheDut_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40507,7 +40643,7 @@ class Test_TC_MEDIAPLAYBACK_6_4 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendsARewindCommandToTheDut_9() + CHIP_ERROR TestSendsARewindCommandToTheDut_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40530,7 +40666,18 @@ class Test_TC_MEDIAPLAYBACK_6_4 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsTheCurrentStateAttribute_10() + CHIP_ERROR TestVerifyThatTheMediaPlayHasReversedDirection_12() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message + = chip::Span("Please enter 'y' if media play has reversed directiongarbage: not in length on purpose", 53); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR TestReadsTheCurrentStateAttribute_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40553,7 +40700,7 @@ class Test_TC_MEDIAPLAYBACK_6_4 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsThePlaybackSpeedAttributeFromTheDut_11() + CHIP_ERROR TestReadsThePlaybackSpeedAttributeFromTheDut_14() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -40564,7 +40711,7 @@ class Test_TC_MEDIAPLAYBACK_6_4 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestSendsARewindCommandToTheDut_12() + CHIP_ERROR TestSendsARewindCommandToTheDut_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40587,7 +40734,18 @@ class Test_TC_MEDIAPLAYBACK_6_4 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsThePlaybackSpeedAttributeFromTheDut_13() + CHIP_ERROR TestVerifyThatTheMediaPlaySpeedHasIncreasedInTheReverseDirection_16() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span( + "Please enter 'y' if media play speed has increased in the reverse directiongarbage: not in length on purpose", 75); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR TestReadsThePlaybackSpeedAttributeFromTheDut_17() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -40598,7 +40756,7 @@ class Test_TC_MEDIAPLAYBACK_6_4 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestSendsAPlayCommand_14() + CHIP_ERROR TestSendsAPlayCommand_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40621,7 +40779,18 @@ class Test_TC_MEDIAPLAYBACK_6_4 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsThePlaybackSpeedAttributeFromTheDut_15() + CHIP_ERROR TestVerifyThatTheMediaIsHasResumedPlayingForwardAtTheDefaultSpeed_19() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span( + "Please enter 'y' if media is has resumed playing forward at the default speedgarbage: not in length on purpose", 77); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR TestReadsThePlaybackSpeedAttributeFromTheDut_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40644,7 +40813,7 @@ class Test_TC_MEDIAPLAYBACK_6_4 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendsConsecutiveFastForwardCommands_16() + CHIP_ERROR TestSendsConsecutiveFastForwardCommands_21() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -40654,7 +40823,7 @@ class Test_TC_MEDIAPLAYBACK_6_4 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestSendsConsecutiveRewindCommands_17() + CHIP_ERROR TestSendsConsecutiveRewindCommands_22() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -40675,6 +40844,7 @@ class Test_TC_AUDIOOUTPUT_7_1 : public TestCommandBridge { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("Index", 0, UINT8_MAX, &mIndex); AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } // NOLINTEND(clang-analyzer-nullability.NullPassedToNonnull) @@ -40772,6 +40942,7 @@ class Test_TC_AUDIOOUTPUT_7_1 : public TestCommandBridge { chip::Optional mNodeId; chip::Optional mCluster; chip::Optional mEndpoint; + chip::Optional mIndex; chip::Optional mTimeout; CHIP_ERROR TestWaitForTheCommissionedDeviceToBeRetrieved_0() @@ -40809,7 +40980,7 @@ class Test_TC_AUDIOOUTPUT_7_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); __auto_type * params = [[MTRAudioOutputClusterSelectOutputParams alloc] init]; - params.index = [NSNumber numberWithUnsignedChar:1U]; + params.index = mIndex.HasValue() ? [NSNumber numberWithUnsignedChar:mIndex.Value()] : [NSNumber numberWithUnsignedChar:1U]; [cluster selectOutputWithParams:params completion:^(NSError * _Nullable err) { NSLog(@"Sends a SelectAudioOutput command Error: %@", err); @@ -40836,7 +41007,7 @@ class Test_TC_AUDIOOUTPUT_7_1 : public TestCommandBridge { { id actualValue = value; - VerifyOrReturn(CheckValue("CurrentOutput", actualValue, 1U)); + VerifyOrReturn(CheckValue("CurrentOutput", actualValue, mIndex.HasValue() ? mIndex.Value() : 1U)); } NextTest(); @@ -40856,6 +41027,7 @@ class Test_TC_AUDIOOUTPUT_7_2 : public TestCommandBridge { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("Index", 0, UINT8_MAX, &mIndex); AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } // NOLINTEND(clang-analyzer-nullability.NullPassedToNonnull) @@ -40955,6 +41127,7 @@ class Test_TC_AUDIOOUTPUT_7_2 : public TestCommandBridge { chip::Optional mNodeId; chip::Optional mCluster; chip::Optional mEndpoint; + chip::Optional mIndex; chip::Optional mTimeout; CHIP_ERROR TestWaitForTheCommissionedDeviceToBeRetrieved_0() @@ -40997,7 +41170,7 @@ class Test_TC_AUDIOOUTPUT_7_2 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); __auto_type * params = [[MTRAudioOutputClusterRenameOutputParams alloc] init]; - params.index = [NSNumber numberWithUnsignedChar:1U]; + params.index = mIndex.HasValue() ? [NSNumber numberWithUnsignedChar:mIndex.Value()] : [NSNumber numberWithUnsignedChar:1U]; params.name = @"CertTest"; [cluster renameOutputWithParams:params completion:^(NSError * _Nullable err) { @@ -56182,7 +56355,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { break; case 65: ChipLogProgress(chipTool, " ***** Test Step 65 : Writes (sets back)default value of MaxHeatSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0016 &&!TSTAT.S.F05")) { + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0016 && !TSTAT.S.F05")) { NextTest(); return; } @@ -56190,7 +56363,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { break; case 66: ChipLogProgress(chipTool, " ***** Test Step 66 : Writes MaxHeatSetpointLimit That meets the deadband of 2.5C\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0016 &&!TSTAT.S.F05")) { + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0016 && !TSTAT.S.F05")) { NextTest(); return; } @@ -56225,7 +56398,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { case 70: ChipLogProgress(chipTool, " ***** Test Step 70 : Writes a value back that is different but valid for MinSetpointDeadBand attribute\n"); - if (ShouldSkip("TSTAT.S.F05")) { + if (ShouldSkip("TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable")) { NextTest(); return; } @@ -56234,7 +56407,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { case 71: ChipLogProgress(chipTool, " ***** Test Step 71 : Reads it back again to confirm the successful write of MinSetpointDeadBand attribute\n"); - if (ShouldSkip("TSTAT.S.F05")) { + if (ShouldSkip("TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable")) { NextTest(); return; } @@ -56242,7 +56415,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { break; case 72: ChipLogProgress(chipTool, " ***** Test Step 72 : Writes the value below MinSetpointDeadBand\n"); - if (ShouldSkip("TSTAT.S.F05")) { + if (ShouldSkip("TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable")) { NextTest(); return; } @@ -56250,7 +56423,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { break; case 73: ChipLogProgress(chipTool, " ***** Test Step 73 : Writes the value above MinSetpointDeadBand \n"); - if (ShouldSkip("TSTAT.S.F05")) { + if (ShouldSkip("TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable")) { NextTest(); return; } @@ -56258,7 +56431,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { break; case 74: ChipLogProgress(chipTool, " ***** Test Step 74 : Writes the min limit of MinSetpointDeadBand\n"); - if (ShouldSkip("TSTAT.S.F05")) { + if (ShouldSkip("TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable")) { NextTest(); return; } @@ -56266,7 +56439,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { break; case 75: ChipLogProgress(chipTool, " ***** Test Step 75 : Writes the max limit of MinSetpointDeadBand\n"); - if (ShouldSkip("TSTAT.S.F05")) { + if (ShouldSkip("TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable")) { NextTest(); return; } @@ -57266,11 +57439,6 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - { - id actualValue = value; - VerifyOrReturn(CheckValue("UnoccupiedCoolingSetpoint", actualValue, 2600)); - } - VerifyOrReturn(CheckConstraintType("unoccupiedCoolingSetpoint", "int16s", "int16s")); VerifyOrReturn(CheckConstraintMinValue("unoccupiedCoolingSetpoint", [value shortValue], 1600)); VerifyOrReturn(CheckConstraintMaxValue("unoccupiedCoolingSetpoint", [value shortValue], 3200)); @@ -57441,11 +57609,6 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - { - id actualValue = value; - VerifyOrReturn(CheckValue("UnoccupiedHeatingSetpoint", actualValue, 2000)); - } - VerifyOrReturn(CheckConstraintType("unoccupiedHeatingSetpoint", "int16s", "int16s")); VerifyOrReturn(CheckConstraintMinValue("unoccupiedHeatingSetpoint", [value shortValue], 700)); VerifyOrReturn(CheckConstraintMaxValue("unoccupiedHeatingSetpoint", [value shortValue], 3000)); @@ -57615,11 +57778,6 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - { - id actualValue = value; - VerifyOrReturn(CheckValue("MinHeatSetpointLimit", actualValue, 700)); - } - VerifyOrReturn(CheckConstraintType("minHeatSetpointLimit", "int16s", "int16s")); VerifyOrReturn(CheckConstraintMinValue("minHeatSetpointLimit", [value shortValue], 700)); VerifyOrReturn(CheckConstraintMaxValue("minHeatSetpointLimit", [value shortValue], 3000)); @@ -57816,11 +57974,6 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - { - id actualValue = value; - VerifyOrReturn(CheckValue("MaxHeatSetpointLimit", actualValue, 3000)); - } - VerifyOrReturn(CheckConstraintType("maxHeatSetpointLimit", "int16s", "int16s")); VerifyOrReturn(CheckConstraintMinValue("maxHeatSetpointLimit", [value shortValue], 700)); VerifyOrReturn(CheckConstraintMaxValue("maxHeatSetpointLimit", [value shortValue], 3000)); @@ -58040,11 +58193,6 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - { - id actualValue = value; - VerifyOrReturn(CheckValue("MinCoolSetpointLimit", actualValue, 1600)); - } - VerifyOrReturn(CheckConstraintType("minCoolSetpointLimit", "int16s", "int16s")); VerifyOrReturn(CheckConstraintMinValue("minCoolSetpointLimit", [value shortValue], 1600)); VerifyOrReturn(CheckConstraintMaxValue("minCoolSetpointLimit", [value shortValue], 3200)); @@ -58237,11 +58385,6 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - { - id actualValue = value; - VerifyOrReturn(CheckValue("MaxCoolSetpointLimit", actualValue, 3200)); - } - VerifyOrReturn(CheckConstraintType("maxCoolSetpointLimit", "int16s", "int16s")); VerifyOrReturn(CheckConstraintMinValue("maxCoolSetpointLimit", [value shortValue], 1600)); VerifyOrReturn(CheckConstraintMaxValue("maxCoolSetpointLimit", [value shortValue], 3200)); @@ -58522,11 +58665,6 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - { - id actualValue = value; - VerifyOrReturn(CheckValue("MinSetpointDeadBand", actualValue, 25)); - } - VerifyOrReturn(CheckConstraintType("minSetpointDeadBand", "int8s", "int8s")); VerifyOrReturn(CheckConstraintMinValue("minSetpointDeadBand", [value charValue], 0)); VerifyOrReturn(CheckConstraintMaxValue("minSetpointDeadBand", [value charValue], 25));